servo/components/script/dom
bors-servo e5c3bb8977 Auto merge of #11205 - pcwalton:avoid-needless-animation-state-changes, r=jdm
script: Avoid needless `ChangeRunningAnimationsState` messages during typical `requestAnimationFrame()` animations.

This skips useless message traffic when `requestAnimationFrame()` is
called during an animation frame callback. It reduces CPU usage of the
following snippet by 49%:

    <script>
        function foo() {
            requestAnimationFrame(foo);
        }
    </script>
    <button onclick="foo()">Start rAF</button>

Partially addresses #9844.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11205)
<!-- Reviewable:end -->
2016-05-17 17:24:46 -07:00
..
bindings Auto merge of #10190 - Ms2ger:framechain, r=jdm 2016-05-17 10:14:14 -07:00
webidls Auto merge of #10668 - dzbarsky:read_pixels, r=emilio 2016-05-14 14:13:44 -07:00
activation.rs Call synthetic_click_activation for all clicks 2016-03-10 14:43:33 -05:00
attr.rs Implement nodeName on Attr 2016-04-03 10:27:41 -07:00
blob.rs Removed unused imports 2016-05-15 22:24:26 +03:00
bluetooth.rs Remove BluetoothDevice members 2016-05-05 12:47:52 +02:00
bluetoothadvertisingdata.rs Fix value types 2016-05-03 10:17:38 +02:00
bluetoothcharacteristicproperties.rs WebBluetooth API classes 2016-03-16 10:34:48 +01:00
bluetoothdevice.rs Remove BluetoothDevice members 2016-05-05 12:47:52 +02:00
bluetoothremotegattcharacteristic.rs Refactor IPC-message sending 2016-05-03 11:35:34 +02:00
bluetoothremotegattdescriptor.rs Refactor IPC-message sending 2016-05-03 11:35:34 +02:00
bluetoothremotegattserver.rs Refactor IPC-message sending 2016-05-03 11:35:34 +02:00
bluetoothremotegattservice.rs Refactor IPC-message sending 2016-05-03 11:35:34 +02:00
bluetoothuuid.rs Replace the union types with the correct typedefs in the webidl files and the API classes. 2016-05-03 11:35:30 +02:00
browsingcontext.rs Stop using JSAutoRequest. 2016-05-13 15:34:38 +02:00
canvasgradient.rs Parse currentColor as Canvas2D color 2015-11-21 11:59:19 -08:00
canvaspattern.rs Add origin-clean flag tracking for canvas 2015-12-17 11:40:38 -08:00
canvasrenderingcontext2d.rs Removed unused imports 2016-05-15 22:24:26 +03:00
characterdata.rs Inlined content_changed 2016-04-04 11:33:37 +02:00
closeevent.rs Removed unused imports 2016-05-15 22:24:26 +03:00
comment.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
console.rs Implement console#time and console#timeEnd methods 2016-01-25 14:21:32 -05:00
create.rs Implement HTMLDetailsElement. Fixes #9216 2016-01-20 16:15:37 +01:00
crypto.rs Say farewell to in-tree HeapSizeOf 2016-02-04 22:03:32 +01:00
css.rs Update cssparser to fix CSS.escape test failures 2016-05-06 13:54:26 +02:00
cssstyledeclaration.rs Removed unused imports 2016-05-15 22:24:26 +03:00
customevent.rs Implement From<DOMString> for Atom 2016-02-24 17:52:17 +01:00
dedicatedworkerglobalscope.rs Removed unused imports 2016-05-15 22:24:26 +03:00
document.rs script: Avoid needless ChangeRunningAnimationsState messages during 2016-05-17 10:24:53 -07:00
documentfragment.rs Implement From<DOMString> for Atom 2016-02-24 17:52:17 +01:00
documenttype.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domexception.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domimplementation.rs [10743] Add content type to XmlDocument constructor based on namespace 2016-04-28 20:26:54 -06:00
domparser.rs Store a pointer to the browsing context in the Document. 2016-02-11 13:08:11 +01:00
dompoint.rs Add DOMQuad element 2015-12-18 17:37:10 +01:00
dompointreadonly.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domquad.rs Removed unused imports 2016-05-15 22:24:26 +03:00
domrect.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domrectlist.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domrectreadonly.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domstringmap.rs Reduce 'match' body, remove unnecessary clone 2016-01-05 16:55:37 -08:00
domtokenlist.rs Implement and test DOMTokenList.replace (fixes #8511) 2016-03-24 10:37:42 +01:00
element.rs Removed unused imports 2016-05-15 22:24:26 +03:00
errorevent.rs Removed unused imports 2016-05-15 22:24:26 +03:00
event.rs implement and use From<bool> for enum and back 2016-03-17 22:50:22 +01:00
eventdispatcher.rs Refactor dispatch_event according to the spec (fixes #9178) 2016-02-29 10:42:09 +01:00
eventsource.rs Upgrade to rust-url 1.0 and hyper 0.9 2016-04-23 20:27:58 +02:00
eventtarget.rs Remove the custom PartialEq implementations on TypeId enums 2016-05-17 15:30:14 +02:00
file.rs Implement missing interfaces of File DOM object 2016-05-11 22:35:21 +08:00
filelist.rs Fixes related to file input and File API 2016-05-02 12:52:28 +08:00
filereader.rs Remove extraneous script_chan parameter from Trusted::new 2016-04-28 10:52:44 +02:00
focusevent.rs Implement the focusevent argument to Document::createEvent 2016-04-27 01:51:48 +03:00
forcetouchevent.rs forcetouch events support 2016-04-05 18:42:28 +08:00
formdata.rs Removed unused imports 2016-05-15 22:24:26 +03:00
hashchangeevent.rs add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
htmlanchorelement.rs Avoid panics when using HTMLAnchorElement attribute setters 2016-05-11 23:13:31 +02:00
htmlappletelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlareaelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlaudioelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlbaseelement.rs Upgrade to rust-url 1.0 and hyper 0.9 2016-04-23 20:27:58 +02:00
htmlbodyelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlbrelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlbuttonelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlcanvaselement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlcollection.rs Move '&&' to the end of the previous line. 2016-04-22 14:28:18 +02:00
htmldataelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldatalistelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldetailselement.rs Rename ToggleEventRunnable to DetailsNotificationRunnable 2016-05-04 21:01:26 -04:00
htmldialogelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldirectoryelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldivelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldlistelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlelement.rs Remove the custom PartialEq implementations on TypeId enums 2016-05-17 15:30:14 +02:00
htmlembedelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlfieldsetelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlfontelement.rs Add parsing of double values in style attributes 2016-04-25 01:09:30 -04:00
htmlformcontrolscollection.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlformelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlframeelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlframesetelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlheadelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlheadingelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlhrelement.rs Implement 'align' IDL attribute on '<hr>'. 2016-04-11 19:46:57 -04:00
htmlhtmlelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmliframeelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlimageelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlinputelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmllabelelement.rs Fix HtmlLabelElement activation to run on correct element 2016-03-29 18:48:07 -04:00
htmllegendelement.rs Issue #10456 Remove unused import warnings in HTMLLegendElement 2016-04-07 21:24:20 +02:00
htmllielement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmllinkelement.rs Reduce channel cloning. 2016-04-29 14:55:52 +02:00
htmlmapelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlmediaelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlmetaelement.rs Recompute viewport-dependent styles on viewport size change 2016-03-19 13:23:39 -07:00
htmlmeterelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlmodelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlobjectelement.rs Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
htmlolistelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmloptgroupelement.rs Update rust-selectors 2016-02-03 02:11:31 +01:00
htmloptionelement.rs Update rust-selectors 2016-02-03 02:11:31 +01:00
htmloutputelement.rs Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
htmlparagraphelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlparamelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlpreelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlprogresselement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlquoteelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlscriptelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlselectelement.rs Support form submission of multipart/form-data 2016-04-30 21:42:50 -04:00
htmlsourceelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlspanelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlstyleelement.rs Reduce channel cloning. 2016-04-29 14:55:52 +02:00
htmltablecaptionelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltablecellelement.rs Fix a bunch of clippy lints 2016-01-02 23:27:15 +01:00
htmltablecolelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltabledatacellelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltableelement.rs Add parsing of double values in style attributes 2016-04-25 01:09:30 -04:00
htmltableheadercellelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltablerowelement.rs Move '&&' to the end of the previous line. 2016-04-22 14:28:18 +02:00
htmltablesectionelement.rs Move '&&' to the end of the previous line. 2016-04-22 14:28:18 +02:00
htmltemplateelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltextareaelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmltimeelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltitleelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltrackelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlulistelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlunknownelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlvideoelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
imagedata.rs Update SpiderMonkey 2016-05-03 18:36:11 +02:00
keyboardevent.rs Removed unused imports 2016-05-15 22:24:26 +03:00
location.rs add origin to location and url api 2016-01-21 11:06:41 -08:00
macros.rs Add event handlers for media-related events. 2016-05-03 18:05:22 -04:00
mediaerror.rs Tidy fixes. 2016-05-03 18:05:27 -04:00
messageevent.rs Implement From<DOMString> for Atom 2016-02-24 17:52:17 +01:00
mimetype.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
mimetypearray.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
mod.rs add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
mouseevent.rs implement and use From<bool> for enum and back 2016-03-17 22:50:22 +01:00
namednodemap.rs Updated SupportedPropertyNames in NamedNodeMap to match spec 2016-03-05 17:21:01 +05:30
navigator.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
navigatorinfo.rs implements NavigatorLanguage 2016-03-17 16:13:37 +05:30
node.rs Removed unused imports 2016-05-15 22:24:26 +03:00
nodeiterator.rs Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
nodelist.rs Implement NamedItem and NamedGetter on HTMLFormControlsCollection 2016-01-28 18:33:51 -05:00
pagetransitionevent.rs add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
performance.rs merge from master 2015-11-03 19:01:23 +09:00
performancetiming.rs fix performance timing precision and navigation_start unit; add LoadEventStart and LoadEventEnd timing 2016-04-13 01:30:02 +08:00
plugin.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
pluginarray.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
popstateevent.rs add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
processinginstruction.rs
progressevent.rs Implement the "progressevent" argument to Document::createEvent 2016-04-26 00:32:50 -04:00
radionodelist.rs Implement NamedItem and NamedGetter on HTMLFormControlsCollection 2016-01-28 18:33:51 -05:00
range.rs Implement Stringifier for Range 2016-03-09 15:27:37 -05:00
screen.rs
servohtmlparser.rs Removed unused imports 2016-05-15 22:24:26 +03:00
servoxmlparser.rs Auto merge of #10647 - ConnorGBrewster:parse_xml, r=jdm 2016-04-27 07:50:54 -07:00
storage.rs Removed unused imports 2016-05-15 22:24:26 +03:00
storageevent.rs "storageevent" argument for Document::createEvent 2016-04-25 12:02:05 +02:00
stylesheet.rs Initial steps for CSSOM API 2016-03-31 18:17:30 -04:00
stylesheetlist.rs servo: Clean up unused variables and imports 2016-04-02 16:30:18 +02:00
testbinding.rs codegen: add tests for non-nullable non-required values 2016-05-13 09:42:59 +02:00
testbindingproxy.rs Use DOMString::new() somewhat consistently. 2015-11-04 12:09:10 +01:00
text.rs Properly propagate changes when range or trees are mutated 2015-12-25 23:35:57 +01:00
textdecoder.rs Removed unused imports 2016-05-15 22:24:26 +03:00
textencoder.rs Removed unused imports 2016-05-15 22:24:26 +03:00
touch.rs
touchevent.rs implement and use From<bool> for enum and back 2016-03-17 22:50:22 +01:00
touchlist.rs merge from master 2015-11-03 19:01:23 +09:00
treewalker.rs Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
uievent.rs implement and use From<bool> for enum and back 2016-03-17 22:50:22 +01:00
url.rs Reset searchParam in URL.href setter 2016-04-23 20:28:00 +02:00
urlhelper.rs Upgrade to rust-url 1.0 and hyper 0.9 2016-04-23 20:27:58 +02:00
urlsearchparams.rs Correctly initialize URL.searchParams 2016-04-23 20:27:59 +02:00
userscripts.rs Fix a bunch of clippy lints 2016-01-02 23:27:15 +01:00
validation.rs Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
validitystate.rs Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
values.rs
virtualmethods.rs Add stubs for src and currentSrc for HTMLMediaElement. 2016-05-03 16:25:21 -04:00
webglactiveinfo.rs Make DOMString a newtype around String, rather than a typedef. 2015-11-04 12:09:11 +01:00
webglbuffer.rs #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
webglcontextevent.rs implement webglcontextevent 2016-04-22 19:54:13 -07:00
webglframebuffer.rs #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
webglobject.rs
webglprogram.rs Implement IsShader fn and IsTexture fn for WebGLRenderingContext 2016-05-09 20:54:57 -04:00
webglrenderbuffer.rs #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
webglrenderingcontext.rs Implement ReadPixels 2016-05-12 23:50:36 -07:00
webglshader.rs Implement IsShader fn and IsTexture fn for WebGLRenderingContext 2016-05-09 20:54:57 -04:00
webglshaderprecisionformat.rs
webgltexture.rs Implement IsShader fn and IsTexture fn for WebGLRenderingContext 2016-05-09 20:54:57 -04:00
webgluniformlocation.rs webgl: Rename UniformType to UniformSetterType and hoist to the bottom 2016-04-19 20:25:30 +02:00
websocket.rs Removed unused imports 2016-05-15 22:24:26 +03:00
window.rs Removed unused imports 2016-05-15 22:24:26 +03:00
worker.rs Removed unused imports 2016-05-15 22:24:26 +03:00
workerglobalscope.rs Stop using JSAutoRequest. 2016-05-13 15:34:38 +02:00
workerlocation.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
workernavigator.rs implements NavigatorLanguage 2016-03-17 16:13:37 +05:30
xmldocument.rs Removed unused imports 2016-05-15 22:24:26 +03:00
xmlhttprequest.rs Removed unused imports 2016-05-15 22:24:26 +03:00
xmlhttprequesteventtarget.rs
xmlhttprequestupload.rs