aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/attr.rs
Commit message (Collapse)AuthorAgeFilesLines
* Remove use of unstable box syntax.Simon Sapin2017-10-161-8/+12
| | | | | | | | | | | | | | | | | | | | http://www.robohornet.org gives a score of 101.36 on master, and 102.68 with this PR. The latter is slightly better, but probably within noise level. So it looks like this PR does not affect DOM performance. This is expected since `Box::new` is defined as: ```rust impl<T> Box<T> { #[inline(always)] pub fn new(x: T) -> Box<T> { box x } } ``` With inlining, it should compile to the same as box syntax.
* Rename Root<T> to DomRoot<T>Anthony Ramine2017-09-261-4/+4
| | | | | | | In a later PR, DomRoot<T> will become a type alias of Root<Dom<T>>, where Root<T> will be able to handle all the things that need to be rooted that have a stable traceable address that doesn't move for the whole lifetime of the root. Stay tuned.
* Rename DOMRefCell<T> to DomRefCell<T>Anthony Ramine2017-09-261-3/+3
| | | | | | | | I don't want to do such a gratuitous rename, but with all the other types now having "Dom" as part of their name, and especially with "DomOnceCell", I feel like the other cell type that we already have should also follow the convention. That argument loses weight though when we realise there is still DOMString and other things.
* Rename LayoutJS<T> to LayoutDom<T>Anthony Ramine2017-09-261-2/+2
|
* Rename MutNullableJS<T> to MutNullableDom<T>Anthony Ramine2017-09-261-3/+3
|
* Rename dom::bindings::js to dom::bindings::rootAnthony Ramine2017-09-261-1/+1
|
* Handle exceptions during upgradesConnor Brewster2017-08-091-1/+1
|
* Support custom element callback reactionsConnor Brewster2017-07-171-1/+14
|
* Mutation Observer APISumit2017-05-151-0/+8
|
* Upgrade to html5ever 0.16Simon Sapin2017-05-021-1/+1
|
* Make #[dom_struct] a proc_macro attributeAnthony Ramine2017-02-241-0/+1
|
* script: Propagate the attribute into the document's element_attr_will_change ↵Emilio Cobos Álvarez2017-01-301-1/+1
| | | | method.
* Remove HeapGCValueAnthony Ramine2016-12-121-4/+3
| | | | | | It could be used to have mutable JSVal fields without GC barriers. With the removal of that trait, MutHeap and MutNullableHeap can respectively be replaced by MutJS and MutNullableJS.
* Make Attr::prefix return an Option<&Prefix>Anthony Ramine2016-12-011-3/+3
|
* Update to string-cache 0.3Simon Sapin2016-11-031-21/+20
|
* Remove intrinsic Root::r()Anthony Ramine2016-10-111-3/+3
|
* Make reflect_dom_object take a &GlobalScopeAnthony Ramine2016-10-061-2/+1
|
* Revert "Make DOMRefCell use style’s copy of RefCell"Simon Sapin2016-10-041-1/+1
| | | | This reverts commit ec723057b2360446790d436fe5e234d798fb4175.
* Make DOMRefCell use style’s copy of RefCellSimon Sapin2016-08-311-1/+1
|
* Stop re-exporting AttrValue.Ms2ger2016-06-071-1/+1
|
* Removed mutation calls from sync_property_with_attrs_style method in order ↵David Raifaizen2016-05-251-1/+6
| | | | to avoid reparsing serialized output
* Move DOMString back to scriptAnthony Ramine2016-05-241-9/+8
| | | | This entirely removes the 'non-geckolib' feature of the util crate.
* Implement nodeName on AttrDavid Zbarsky2016-04-031-0/+5
|
* Implement SetNamedItem, SetNamedItemNS, SetAttributeNode and SetAttributeNodeNSMathieu Hordesseaux2016-01-281-7/+3
|
* Fix a bunch of clippy lintsJohannes Linke2016-01-021-1/+1
|
* Update string_cache to 0.2.Alan Jeffrey2015-11-251-1/+1
| | | | | | | | | | | Updated string_cache, html5ever, xml5ever and selectors in Cargo.toml files and Cargo.lock. Removed references to string_cache_plugin. Import atom! and ns! from string_cache. Replaced ns!("") by ns!(). Replaced ns!(XML) and co by ns!(xml) and co. Replaced atom!(foo) by atom!("foo"). Replaced Atom::from_slice by Atom::from. Replaced atom.as_slice() by &*atom.
* Rustfmt some of script.Ms2ger2015-11-181-15/+32
|
* Replaced DOMString constructor by conversion functions.Alan Jeffrey2015-11-121-7/+11
| | | | | | Replaced DOMString(...) by DOMString::from(...). Replaced ....0 by String::from(...). Removed any uses of .to_owner() in DOMString::from("...").
* Implement attribute restyle hints.Bobby Holley2015-11-101-0/+5
| | | | Fixes #6942.
* Factor the name-related fields of Attr into a struct and move it to style.Bobby Holley2015-11-091-22/+21
|
* Hoist AttrValue into style.Bobby Holley2015-11-091-163/+2
|
* Add Dimension member to AttrValueCorey Farwell2015-11-091-2/+21
| | | | Fixes #8417
* Remove HTMLTableCellElement fields with parsed attribute values.Eli Friedman2015-11-041-1/+7
|
* Make DOMString a newtype around String, rather than a typedef.Ms2ger2015-11-041-8/+8
| | | | | | | | | | This should make it somewhat easier to experiment with alternative representations in the future. To reduce churn, this commit leaves the String field public, though. Also, this will allow us to use the default String type to represent the IDL USVString type, which explicitly forbids unpaired surrogates, ans as such is a better match to the Rust String type.
* Get rid of a bunch of explicit derefsDavid Zbarsky2015-11-031-1/+1
|
* more refactoringrohan.prinja2015-10-301-1/+1
|
* move Castable into dom::bindings::inheritancerohan.prinja2015-10-301-1/+1
|
* remove get_rooted() and replace all references to it with references to get()rohan.prinja2015-10-291-1/+1
|
* Clean up the cast callsAnthony Ramine2015-10-211-2/+1
|
* Introduce trait CastableAnthony Ramine2015-10-211-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This trait is used to hold onto the downcast and upcast functions of all castable IDL interfaces. A castable IDL interface is one which either derives from or is derived by other interfaces. The deriving relation is represented by implementations of marker trait DerivedFrom<T: Castable> generated in InheritTypes. /^[ ]*use dom::bindings::codegen::InheritTypes::.*(Base|Cast|Derived)/ { /::[a-zA-Z]+(Base|Cast|Derived);/d s/([{ ])[a-zA-Z]+(Base|Cast|Derived), /\1/g s/([{ ])[a-zA-Z]+(Base|Cast|Derived), /\1/g s/, [a-zA-Z]+(Base|Cast|Derived)([},])/\2/g s/, [a-zA-Z]+(Base|Cast|Derived)([},])/\2/g /\{([a-zA-Z]+(Base|Cast|Derived))?\};$/d s/\{([a-zA-Z_]+)\};$/\1;/ } s/([a-zA-Z]+)Cast::from_ref\(\&?\**([a-zA-Z_]+)(\.r\(\))?\)/\2.upcast::<\1>()/g s/([a-zA-Z]+)Cast::from_ref\(\&?\**([a-zA-Z_]+)(\.[a-zA-Z_]+\(\))?\)/\2\3.upcast::<\1>()/g s/\(([a-zA-Z]+)Cast::from_ref\)/\(Castable::upcast::<\1>\)/g s/([a-zA-Z]+)Cast::from_root/Root::upcast::<\1>/g s/([a-zA-Z]+)Cast::from_layout_js\(\&([a-zA-Z_.]+)\)/\2.upcast::<\1>()/g s/([a-zA-Z]+)Cast::to_ref\(\&?\**([a-zA-Z_]+)(\.r\(\))?\)/\2.downcast::<\1>()/g s/([a-zA-Z]+)Cast::to_ref\(\&?\**([a-zA-Z_]+)(\.[a-zA-Z_]+\(\))?\)/\2\3.downcast::<\1>()/g s/\(([a-zA-Z]+)Cast::to_ref\)/\(Castable::downcast::<\1>\)/g s/([a-zA-Z]+)Cast::to_root/Root::downcast::<\1>/g s/([a-zA-Z]+)Cast::to_layout_js\(&?([a-zA-Z_.]+(\(\))?)\)/\2.downcast::<\1>()/g s/\.is_document\(\)/.is::<Document>()/g s/\.is_htmlanchorelement\(\)/.is::<HTMLAnchorElement>()/g s/\.is_htmlappletelement\(\)/.is::<HTMLAppletElement>()/g s/\.is_htmlareaelement\(\)/.is::<HTMLAreaElement>()/g s/\.is_htmlbodyelement\(\)/.is::<HTMLBodyElement>()/g s/\.is_htmlembedelement\(\)/.is::<HTMLEmbedElement>()/g s/\.is_htmlfieldsetelement\(\)/.is::<HTMLFieldSetElement>()/g s/\.is_htmlformelement\(\)/.is::<HTMLFormElement>()/g s/\.is_htmlframesetelement\(\)/.is::<HTMLFrameSetElement>()/g s/\.is_htmlhtmlelement\(\)/.is::<HTMLHtmlElement>()/g s/\.is_htmlimageelement\(\)/.is::<HTMLImageElement>()/g s/\.is_htmllegendelement\(\)/.is::<HTMLLegendElement>()/g s/\.is_htmloptgroupelement\(\)/.is::<HTMLOptGroupElement>()/g s/\.is_htmloptionelement\(\)/.is::<HTMLOptionElement>()/g s/\.is_htmlscriptelement\(\)/.is::<HTMLScriptElement>()/g s/\.is_htmltabledatacellelement\(\)/.is::<HTMLTableDataCellElement>()/g s/\.is_htmltableheadercellelement\(\)/.is::<HTMLTableHeaderCellElement>()/g s/\.is_htmltablerowelement\(\)/.is::<HTMLTableRowElement>()/g s/\.is_htmltablesectionelement\(\)/.is::<HTMLTableSectionElement>()/g s/\.is_htmltitleelement\(\)/.is::<HTMLTitleElement>()/g
* Fix remaining MutHeap methods not to expose JS<T>.Eli Friedman2015-10-151-1/+1
|
* Make get() and set() on MutNullableHeap use the correct types.Eli Friedman2015-10-151-1/+1
| | | | | | get() must always return a rooted value, because we have no way of ensuring the value won't be invalidated. set() takes an &T because it's convenient; there isn't any need to expose JS<T>.
* Consolidate magic number representing max unsigned longCorey Farwell2015-10-101-2/+3
|
* Auto merge of #7841 - frewsxcv:htmlbodyelement-text, r=noxbors-servo2015-10-091-1/+16
|\ | | | | | | | | | | | | | | | | | | Implement <body>'s "text" attribute <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7841) <!-- Reviewable:end -->
| * Implement <body>'s "text" attributeCorey Farwell2015-10-081-1/+16
| |
* | Refactor away duplication of get_rooted functionalityPierre Chevalier2015-10-081-1/+1
|/ | | | | | | | | | | | | | Refactor .get().map(Root::from_rooted) and .get().map(|foo| foo.root()) to .get_rooted() on MutNullableHeap objects. First part done mechanically with the following comand: sed -i s/"get().map(Root::from_rooted)"/"get_rooted()"/g *.rs Second part done manually after finding them with git grep ".get().map(" Fixes 7929.
* Add doc-comments about methods that can panicCorey Farwell2015-09-301-0/+19
| | | | https://github.com/servo/servo/pull/7683/files#r40072222
* Implement `size` attribute for <font> elementCorey Farwell2015-09-301-1/+11
|
* sorted the extern crate, mod & use declarationsRavi Shankar2015-09-241-1/+1
|
* Fix reported test-tidy errors for unmerged import blocksBrandon Fairchild2015-09-191-6/+3
| | | | This merges import blocks that were reported by tidy as unmerged.