servo/components/script/dom/webidls
bors-servo d620ab71c4 Auto merge of #10225 - jmr0:visibility_api, r=jdm
Implement non-visible pipeline and iframe visibility methods

This addresses #9566 and a good part of #9751, specifically:

* Pipeline has a notion of visibility
* IFrame setVisible/getVisible interface with IFrame's pipeline visibility
* IFrame mozbrowservisibilitychange responds to changes in visibility
* Pipeline visibility is used to limit animations (requestAnimationFrame does not tick animations when hidden) and to increase timer intervals (currently set to a minimum of 1 second while hidden)

Absent for now are any changes to the Document API and general implementation of the Page Visibility API, since the more interesting parts require knowledge of whether the user agent is minimized, OS screen locked, etc.

cc @paulrouget @jdm

<!-- 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/10225)
<!-- Reviewable:end -->
2016-06-16 08:53:56 -05:00
..
Attr.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
BeforeUnloadEvent.webidl dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
Blob.webidl Rewrite Blob constructor interface 2016-05-10 20:19:10 +08:00
Bluetooth.webidl requestDevice options (filters and optionalServices) 2016-05-03 11:35:18 +02:00
BluetoothAdvertisingData.webidl Disable nonstandard interfaces via prefs. 2016-05-02 14:32:52 -04:00
BluetoothCharacteristicProperties.webidl Disable nonstandard interfaces via prefs. 2016-05-02 14:32:52 -04:00
BluetoothDevice.webidl Remove BluetoothDevice members 2016-05-05 12:47:52 +02:00
BluetoothRemoteGATTCharacteristic.webidl Replace the union types with the correct typedefs in the webidl files and the API classes. 2016-05-03 11:35:30 +02:00
BluetoothRemoteGATTDescriptor.webidl Error handling 2016-05-03 11:35:26 +02:00
BluetoothRemoteGATTServer.webidl Replace the union types with the correct typedefs in the webidl files and the API classes. 2016-05-03 11:35:30 +02:00
BluetoothRemoteGATTService.webidl Add included services 2016-05-24 15:50:33 +02:00
BluetoothUUID.webidl Disable nonstandard interfaces via prefs. 2016-05-02 14:32:52 -04:00
BrowserElement.webidl Implement non-visible pipeline and iframe visibility methods 2016-06-15 23:28:07 -04:00
CanvasGradient.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
CanvasPattern.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
CanvasRenderingContext2D.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
CharacterData.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ChildNode.webidl Implement [Unscopable] (fixes #11583) 2016-06-07 15:34:44 +02:00
Client.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
CloseEvent.webidl Correct the initial value of wasClean in CloseEvent. 2015-05-06 12:36:06 +02:00
Comment.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Console.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Crypto.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
CSS.webidl Mark CSS as [Abstract] 2015-12-16 00:42:20 +01:00
CSSStyleDeclaration.webidl Auto merge of #11428 - g-k:csstext, r=SimonSapin 2016-06-01 01:59:12 -05:00
CustomEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DedicatedWorkerGlobalScope.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
Document.webidl Make Document::DefaultView return a null value when there's no browsing context 2016-06-08 23:10:20 +03:00
DocumentFragment.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DocumentType.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMException.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMImplementation.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMParser.webidl Added support for additional xml types to DOMParser::parseFromString 2016-06-01 20:55:27 -05:00
DOMPoint.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMPointReadOnly.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMQuad.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMRect.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMRectList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMRectReadOnly.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMStringMap.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
DOMTokenList.webidl Make DOMTokenList.contains not throw anymore 2016-06-04 15:22:11 +02:00
Element.webidl script: When using WebRender, keep the DOM-side scroll positions for 2016-06-10 18:43:04 -07:00
ElementContentEditable.webidl Add ElementContentEditable WebIDL interface 2015-11-06 23:07:57 -05:00
ElementCSSInlineStyle.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ErrorEvent.webidl Clean up whitespace, long lines for WebIDLs 2015-07-26 22:12:10 +07:00
Event.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
EventHandler.webidl dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
EventListener.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
EventSource.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
EventTarget.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
File.webidl Implement missing interfaces of File DOM object 2016-05-11 22:35:21 +08:00
FileList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
FileReader.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
FocusEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ForceTouchEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
FormData.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Function.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HashChangeEvent.webidl add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
HTMLAnchorElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLAppletElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLAreaElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLAudioElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLBaseElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLBodyElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLBRElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLButtonElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLCanvasElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLCollection.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDataElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDataListElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDetailsElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDialogElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDirectoryElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDivElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLDListElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLEmbedElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFieldSetElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFontElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFormControlsCollection.webidl Update the WebIDL parser 2016-05-18 11:30:53 +02:00
HTMLFormElement.webidl indexed getter of form elements 2016-06-14 21:40:32 -07:00
HTMLFrameElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLFrameSetElement.webidl dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
HTMLHeadElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLHeadingElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLHRElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLHtmlElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLHyperlinkElementUtils.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLIFrameElement.webidl Auto merge of #11720 - canaltinova:sandbox, r=nox 2016-06-11 23:40:11 -05:00
HTMLImageElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLInputElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLLabelElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLLegendElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLLIElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLLinkElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLMapElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLMediaElement.webidl Implement partial spec-recommended preload=none support. 2016-05-03 18:05:26 -04:00
HTMLMetaElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLMeterElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLModElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLObjectElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLOListElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLOptGroupElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLOptionElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLOutputElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLParagraphElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLParamElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLPreElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLProgressElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLQuoteElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLScriptElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLSelectElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLSourceElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLSpanElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLStyleElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableCaptionElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableCellElement.webidl Removed references to DOMSettableTokenList 2016-06-05 06:25:53 +03:00
HTMLTableColElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableDataCellElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableHeaderCellElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableRowElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTableSectionElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTemplateElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTextAreaElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTimeElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTitleElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLTrackElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLUListElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLUnknownElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
HTMLVideoElement.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ImageData.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
KeyboardEvent.webidl Fix all the links to the UI Events spec 2016-06-04 16:04:35 +02:00
Location.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
MediaError.webidl Add more specification step comments and update to the latest specification. 2016-05-03 18:05:28 -04:00
MessageEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
MimeType.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
MimeTypeArray.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
MouseEvent.webidl Fix all the links to the UI Events spec 2016-06-04 16:04:35 +02:00
NamedNodeMap.webidl Clarify some argument names in NamedNodeMap interface 2016-06-03 16:40:52 +02:00
Navigator.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
Node.webidl use USVStrings instead of DOMString for urls in Node and Document 2016-05-28 14:53:31 -04:00
NodeFilter.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
NodeIterator.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
NodeList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
NonElementParentNode.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
PageTransitionEvent.webidl add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
ParentNode.webidl Implement [Unscopable] (fixes #11583) 2016-06-07 15:34:44 +02:00
Performance.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
PerformanceTiming.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Plugin.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
PluginArray.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
PopStateEvent.webidl add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
ProcessingInstruction.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ProgressEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
RadioNodeList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Range.webidl Implement Range::createContextualFragment 2016-06-03 01:31:53 +02:00
Screen.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ServiceWorker.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
ServiceWorkerContainer.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
ServiceWorkerGlobalScope.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
ServiceWorkerRegistration.webidl implement related sw interface and register method 2016-06-02 04:09:39 +05:30
ServoHTMLParser.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ServoXMLParser.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
SharedMouseAndKeyboardEventInit.webidl Fix all the links to the UI Events spec 2016-06-04 16:04:35 +02:00
Storage.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
StorageEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
StyleSheet.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
StyleSheetList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TestBinding.webidl Implement [Func] 2016-05-27 00:55:02 +02:00
TestBindingProxy.webidl Disable nonstandard interfaces via prefs. 2016-05-02 14:32:52 -04:00
Text.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TextDecoder.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TextEncoder.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
Touch.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TouchEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TouchList.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
TreeWalker.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
UIEvent.webidl Fix all the links to the UI Events spec 2016-06-04 16:04:35 +02:00
URL.webidl Implement URL.domainToUnicode 2016-06-06 10:58:37 -07:00
URLSearchParams.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
ValidityState.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
WebGLActiveInfo.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLBuffer.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLContextEvent.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
WebGLFramebuffer.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLObject.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLProgram.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLRenderbuffer.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLRenderingContext.webidl Enable texSubImage2D API 2016-06-02 02:43:28 +08:00
WebGLShader.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLShaderPrecisionFormat.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLTexture.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebGLUniformLocation.webidl Add/format license headers for WebIDLs 2015-07-26 22:12:18 +07:00
WebSocket.webidl Make WebSocket constructor take (DOMString or sequence<DOMString>) 2016-01-17 21:33:04 -07:00
Window.webidl script: When using WebRender, keep the DOM-side scroll positions for 2016-06-10 18:43:04 -07:00
Worker.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
WorkerGlobalScope.webidl Explicitly place '/' before fragment for multipage spec links 2015-10-10 12:07:10 -04:00
WorkerLocation.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
WorkerNavigator.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
XMLDocument.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
XMLHttpRequest.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
XMLHttpRequestEventTarget.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00
XMLHttpRequestUpload.webidl Remove modelines everywhere but tests/wpt 2016-04-20 10:49:09 -07:00