From dbda3c75f019a06b070af1262fd20ca638b59490 Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Tue, 1 Oct 2019 00:25:10 +0000 Subject: [PATCH] servo: Merge #5777 - Make Attr::prefix an Atom (from tamird:ICE-attr-prefix-atom); r=jdm Rebase of https://github.com/Ms2ger/servo/commits/ICE-attr-prefix-atom Some of the changes weren't necessary since the internals had been refactored some in the interim. In any case, I was unable to reproduce the ICE reported in https://github.com/rust-lang/rust/issues/18957. Ms2ger Source-Repo: https://github.com/servo/servo Source-Revision: b0a7d1bf865eff7b6ca3bae874004a61c19b3c27 UltraBlame original commit: 4af16b10e9d304b2651a66dcca09f497c38fa55d --- servo/components/script/dom/attr.rs | 28 ++++++++++++--- servo/components/script/dom/bindings/utils.rs | 23 +++---------- servo/components/script/dom/create.rs | 34 +++++++++++++------ servo/components/script/dom/element.rs | 24 ++++--------- servo/components/script/dom/node.rs | 14 ++++---- 5 files changed, 67 insertions(+), 56 deletions(-) diff --git a/servo/components/script/dom/attr.rs b/servo/components/script/dom/attr.rs index 1298fb3936231..5eddeeac48025 100644 --- a/servo/components/script/dom/attr.rs +++ b/servo/components/script/dom/attr.rs @@ -691,7 +691,7 @@ prefix : Option < -DOMString +Atom > owner : @@ -725,7 +725,7 @@ prefix : Option < -DOMString +Atom > owner : @@ -817,7 +817,7 @@ prefix : Option < -DOMString +Atom > owner : @@ -946,7 +946,7 @@ self a Option < -DOMString +Atom > { & @@ -1452,10 +1452,28 @@ DOMString self . prefix +( +) . -clone +as_ref ( ) +. +map +( +| +p +| +( +* +* +p +) +. +to_owned +( +) +) } / / diff --git a/servo/components/script/dom/bindings/utils.rs b/servo/components/script/dom/bindings/utils.rs index 11aa7e9f22d04..703268aac7f6e 100644 --- a/servo/components/script/dom/bindings/utils.rs +++ b/servo/components/script/dom/bindings/utils.rs @@ -124,15 +124,6 @@ use std : : -borrow -: -: -ToOwned -; -use -std -: -: boxed ; use @@ -3150,7 +3141,7 @@ Fallible Namespace Option < -DOMString +Atom > Atom ) @@ -3457,14 +3448,10 @@ p . map ( -| -s -| -s -. -to_owned -( -) +Atom +: +: +from_slice ) Atom : diff --git a/servo/components/script/dom/create.rs b/servo/components/script/dom/create.rs index ba860d36a1403..4b07f2a7d6fcd 100644 --- a/servo/components/script/dom/create.rs +++ b/servo/components/script/dom/create.rs @@ -668,19 +668,13 @@ htmlvideoelement HTMLVideoElement ; use -util -: -: -str -: -: -DOMString -; -use string_cache : : +{ +Atom QualName +} ; use std @@ -702,7 +696,7 @@ prefix : Option < -DOMString +Atom > document : @@ -721,6 +715,26 @@ Temporary Element > { +let +prefix += +prefix +. +map +( +| +p +| +( +* +p +) +. +to_owned +( +) +) +; if name . diff --git a/servo/components/script/dom/element.rs b/servo/components/script/dom/element.rs index e54edea19aa60..3c63b96fe778e 100644 --- a/servo/components/script/dom/element.rs +++ b/servo/components/script/dom/element.rs @@ -1071,7 +1071,7 @@ prefix : Option < -DOMString +Atom > document : @@ -5341,7 +5341,7 @@ prefix : Option < -DOMString +Atom > ) ; @@ -5396,7 +5396,7 @@ prefix : Option < -DOMString +Atom > cb : @@ -6170,7 +6170,7 @@ prefix : Option < -DOMString +Atom > ) { @@ -6294,6 +6294,8 @@ format { } " +& +* * prefix & @@ -6614,7 +6616,7 @@ prefix : Option < -DOMString +Atom > cb : @@ -9375,18 +9377,6 @@ clone ( ) prefix -. -map -( -| -s -| -s -. -to_owned -( -) -) | attr | diff --git a/servo/components/script/dom/node.rs b/servo/components/script/dom/node.rs index 827e10b7063e7..ab8f56231eafb 100644 --- a/servo/components/script/dom/node.rs +++ b/servo/components/script/dom/node.rs @@ -796,7 +796,10 @@ use string_cache : : +{ +Atom QualName +} ; # [ @@ -10706,15 +10709,14 @@ map | p | +Atom +: +: +from_slice ( -* -* +& p ) -. -to_owned -( -) ) document .