servo/components/script/dom
Bobby Holley 069c40f788 Check modified event state from layout and dirty it there.
This adds some overhead, but also provides the small performance benefit of
avoiding dirtying in the case where an event state is toggled an even
number of times between reflows.

The main benefit here though is that it sets us up to be smarter about
what we mark as dirty using restyle hints.
2015-10-27 12:48:48 -07:00
..
bindings Check modified event state from layout and dirty it there. 2015-10-27 12:48:48 -07:00
webidls Implement HTMLCanvasElement#toDataURL 2015-10-26 21:24:21 -07:00
activation.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
attr.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
blob.rs Generate all Derived implementations in codegen 2015-10-14 22:04:20 +02:00
browsercontext.rs Return a reference in BrowserContext::active_window() 2015-10-19 09:36:53 +02:00
canvasgradient.rs Refactor Error enum usage to consistently be qualified 2015-10-06 05:43:52 -04:00
canvaspattern.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
canvasrenderingcontext2d.rs Make unrooted_must_root a bit more aggressive. 2015-10-23 14:43:44 -07:00
characterdata.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
closeevent.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
comment.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
console.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
create.rs Add HTMLPreElement type to xml and plaintext DOM nodes 2015-10-26 10:22:04 -07:00
crypto.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
css.rs Fix reported test-tidy errors for unmerged import blocks 2015-09-19 12:50:14 -04:00
cssstyledeclaration.rs Remove unnecessary rooting from CSSStyleDeclaration 2015-10-23 20:27:15 +02:00
customevent.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
dedicatedworkerglobalscope.rs Timers are scheduled by a dedicated per-constellation thread. 2015-10-21 16:40:49 +02:00
document.rs Check modified event state from layout and dirty it there. 2015-10-27 12:48:48 -07:00
documentfragment.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
documenttype.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
domexception.rs Add better stringifier for DOMException 2015-09-24 11:58:28 +05:30
domimplementation.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
domparser.rs Do not root DOMParser::window 2015-10-19 09:36:55 +02:00
dompoint.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
dompointreadonly.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
domrect.rs Improve implementation of DOMRect and implement DOMRectReadOnly 2015-10-17 22:47:01 +02:00
domrectlist.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
domrectreadonly.rs Improve implementation of DOMRect and implement DOMRectReadOnly 2015-10-17 22:47:01 +02:00
domstringmap.rs Do not root DOMStringMap::element 2015-10-19 09:36:56 +02:00
domtokenlist.rs Do not root DOMTokenList::element 2015-10-19 09:36:57 +02:00
element.rs Check modified event state from layout and dirty it there. 2015-10-27 12:48:48 -07:00
errorevent.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
event.rs Make get() and set() on MutNullableHeap use the correct types. 2015-10-15 14:03:56 -07:00
eventdispatcher.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
eventtarget.rs Remove explicit lifetimes which can be elided. 2015-10-21 01:27:48 +02:00
file.rs Generate the TypeId enums in codegen 2015-10-14 18:45:35 +02:00
filelist.rs Don't allow unrooted values in function arguments. 2015-10-23 14:44:19 -07:00
filereader.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
formdata.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlanchorelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlappletelement.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
htmlareaelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlaudioelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlbaseelement.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
htmlbodyelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlbrelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlbuttonelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlcanvaselement.rs Implement HTMLCanvasElement#toDataURL 2015-10-26 21:24:21 -07:00
htmlcollection.rs Don't allow unrooted values in function arguments. 2015-10-23 14:44:19 -07:00
htmldataelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmldatalistelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmldialogelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmldirectoryelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmldivelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmldlistelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlelement.rs Implement 'control' attribute for <label> elements 2015-10-25 08:06:31 -04:00
htmlembedelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlfieldsetelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlfontelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlformelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlframeelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlframesetelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlheadelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlheadingelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlhrelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlhtmlelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmliframeelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlimageelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlinputelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmllabelelement.rs Implement 'htmlFor' attribute for <label> elements 2015-10-25 08:06:44 -04:00
htmllegendelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmllielement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmllinkelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlmapelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlmediaelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlmetaelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlmeterelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlmodelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlobjectelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlolistelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmloptgroupelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmloptionelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmloutputelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlparagraphelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlparamelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlpreelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlprogresselement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlquoteelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlscriptelement.rs Improve spec-compliance of script loading and execution during document startup 2015-10-26 21:35:09 +01:00
htmlselectelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmlsourceelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlspanelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlstyleelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmltablecaptionelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltablecellelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmltablecolelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltabledatacellelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltableelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmltableheadercellelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltablerowelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmltablesectionelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmltemplateelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmltextareaelement.rs display input caret for textarea. fixes #7758 2015-10-21 22:38:23 +02:00
htmltimeelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmltitleelement.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
htmltrackelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlulistelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlunknownelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
htmlvideoelement.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
imagedata.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
keyboardevent.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
location.rs Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
macros.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
messageevent.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
mod.rs Add bindings for TouchEvent DOM interfaces 2015-10-22 10:35:11 -07:00
mouseevent.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
namednodemap.rs Do not root NamedNodeMap::owner 2015-10-19 09:37:02 +02:00
navigator.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
navigatorinfo.rs implement navigator.platform 2015-09-29 08:14:30 +02:00
node.rs Remove HAS_DIRTY_SIBLINGS. 2015-10-21 09:56:07 -07:00
nodeiterator.rs Do not root NodeIterator::root_node 2015-10-19 09:37:03 +02:00
nodelist.rs Don't allow unrooted values in function arguments. 2015-10-23 14:44:19 -07:00
performance.rs Do not root Performance::timing 2015-10-19 09:37:05 +02:00
performancetiming.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
processinginstruction.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
progressevent.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
range.rs Remove Rc<T> usage from Range 2015-10-23 11:12:02 +02:00
screen.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
servohtmlparser.rs Improve spec-compliance of script loading and execution during document startup 2015-10-26 21:35:09 +01:00
storage.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
storageevent.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
testbinding.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
testbindingproxy.rs Remove deprecated 'creator' WebIDL attribute 2015-09-21 07:12:17 -04:00
text.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
textdecoder.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
textencoder.rs Refactor Error enum usage to consistently be qualified 2015-10-06 05:43:52 -04:00
touch.rs Implement Document.createTouch 2015-10-22 10:49:30 -07:00
touchevent.rs Dispatch touch events and perform default touch actions. 2015-10-22 10:37:03 -07:00
touchlist.rs Add bindings for TouchEvent DOM interfaces 2015-10-22 10:35:11 -07:00
treewalker.rs Return a reference in Document::window() 2015-10-19 09:36:52 +02:00
uievent.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
url.rs Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
urlhelper.rs Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
urlsearchparams.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
userscripts.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
validitystate.rs Link to the HTML multipage spec, not the single-page one. 2015-10-13 11:48:51 -07:00
values.rs Consolidate magic number representing max unsigned long 2015-10-10 13:46:11 -04:00
virtualmethods.rs Implement 'control' attribute for <label> elements 2015-10-25 08:06:31 -04:00
webglactiveinfo.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
webglbuffer.rs Fix reported test-tidy errors for unmerged import blocks 2015-09-19 12:50:14 -04:00
webglcontextevent.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
webglframebuffer.rs Fix reported test-tidy errors for unmerged import blocks 2015-09-19 12:50:14 -04:00
webglobject.rs make dom_struct derive HeapSizeOf, 2015-08-27 01:17:48 +01:00
webglprogram.rs Make get() and set() on MutNullableHeap use the correct types. 2015-10-15 14:03:56 -07:00
webglrenderbuffer.rs Fix reported test-tidy errors for unmerged import blocks 2015-09-19 12:50:14 -04:00
webglrenderingcontext.rs Make unrooted_must_root a bit more aggressive. 2015-10-23 14:43:44 -07:00
webglshader.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
webglshaderprecisionformat.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
webgltexture.rs Fix reported test-tidy errors for unmerged import blocks 2015-09-19 12:50:14 -04:00
webgluniformlocation.rs Remove helper traits 2015-08-27 16:59:02 +02:00
websocket.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
window.rs Check modified event state from layout and dirty it there. 2015-10-27 12:48:48 -07:00
worker.rs Timers are scheduled by a dedicated per-constellation thread. 2015-10-21 16:40:49 +02:00
workerglobalscope.rs Timers are scheduled by a dedicated per-constellation thread. 2015-10-21 16:40:49 +02:00
workerlocation.rs Update URL-related interfaces and their tests up to spec 2015-10-19 21:05:07 +02:00
workernavigator.rs Make the traits for the IDL interfaces take &self 2015-08-27 22:27:43 +02:00
xmlhttprequest.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00
xmlhttprequesteventtarget.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
xmlhttprequestupload.rs Generate all Derived implementations in codegen 2015-10-14 22:04:20 +02:00