aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/window.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Auto merge of #25510 - pshaughn:queuemicrotask, r=jdmbors-servo2020-01-131-0/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement queueMicrotask <!-- Please describe your changes on the following line: --> The VoidFunction of a user-queued microtask is identical to a PromiseJobCallback in everything but type name, so implementing this method turned out to be just a matter of attaching a WebIDL frontend to a copy-and-pasted backend. All the remaining queueMicrotask WPT failures are because we don't have shared/service workers. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #21574 <!-- Either: --> - [X] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * queueMicrotask addedPatrick Shaughnessy2020-01-131-0/+7
| |
* | Only start WebGPU thread if an adapter is requestedZakor Gyula2020-01-131-11/+0
|/
* Use non-IPC webrender API over explicit IPC channels.Josh Matthews2019-11-271-6/+6
|
* Auto merge of #24758 - gterzian:impl_timer_task_source, r=noxbors-servo2019-11-261-4/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement timer-task-source, time-out service worker <!-- Please describe your changes on the following line: --> Implements the timer task-source, and folds the IPC glue-code into a single route set by the globalscope. Also switches service worker to using a dedicated "time-out" mechanism, which previously relied on the timer mechanism(and I think didn't actually implement script timers). --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #24747 (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * impl timer-task-source, dedicated time-out mechanism for service-workerGregory Terzian2019-11-191-4/+1
| |
* | Auto merge of #24708 - szeged:webgpu-base, r=gterzian,kvarkbors-servo2019-11-251-0/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial implementation of WebGPU API <!-- Please describe your changes on the following line: --> - Added the WebIDL bindings for GPU and GPUadapter interfaces. - Created a background thread for WebGPU api calls. - Established the async communication between the background thread and the WebGPU interfaces. - Implemented the `requesAdapter` function of `navigator.gpu` `./mach test-tidy` reports an error due to the different `arrayvec` version used in `servo` and `webgpu`, so added it to the ignore list in `servo-tidy.toml` --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes addresses a part of #https://github.com/servo/servo/issues/24706 <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> cc @jdm, cc @kvark <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24708) <!-- Reviewable:end -->
| * | Initial implementation of WebGPU APIZakor Gyula2019-11-211-0/+11
| |/
* / ensure unload run with old pipeline as currently-active, do not nullify ↵Gregory Terzian2019-11-211-1/+12
|/ | | | proxy unless currently-active
* Auto merge of #24665 - saschanaz:timerhandler, r=noxbors-servo2019-11-171-38/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use TimerHandler IDL union type <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #20700 <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * Use TimerHandler IDL union typeKagami Sascha Rosylight2019-11-051-38/+13
| |
* | dom: Calculate the viewport size of iframes when they are first added to the ↵Josh Matthews2019-11-061-1/+12
| | | | | | | | tree.
* | Use IDL sequence default valueKagami Sascha Rosylight2019-11-041-13/+6
|/
* continue messageport, transferable, postmessage optionsGregory Terzian2019-10-191-47/+100
|
* begin messageport, transferable objects, implKeith Yeung2019-10-191-11/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Accept transfer argument for StructuredCloneData::write Allow structured clone reads to return a boolean Add Transferable trait Add basic skeletons to MessagePort Implement transfer and transfer-receiving steps on MessagePort Use transfer and transfer_receive in StructuredClone callbacks Implement MessageChannel Freeze the array object for the MessageEvent ports attribute Implement transfer argument on window.postMessage Use ReentrantMutex instead for MessagePortInternal Accept origin as a parameter in dispatch_jsval Fix BorrowMut crash with pending_port_message Detach port on closure and check for detached during transfer Enable webmessaging tests fix webidl fix
* webgl: Lazily clear the canvas right before the first webgl command of the ↵Josh Matthews2019-10-101-0/+7
| | | | next frame.
* improve spec compliance of discarding BCsGregory Terzian2019-09-221-20/+77
| | | | | | | | | | | | | | do not handle compositor input events when BC is being discarded prevent firing of timers for discarded BCs return null for opener is BC has been discarded bundle discard BC steps into window method return null in window.opener, if BC has already been discarded move the window closed check pre-event to script-thread
* performance: clear and disable buffer on pipeline exitGregory Terzian2019-09-041-14/+7
| | | | use existing buffer max size
* Auto merge of #24072 - gterzian:ensure_docs_drop, r=asajeffreybors-servo2019-08-281-4/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure documents drop when a pipeline exits <!-- Please describe your changes on the following line: --> minimalist companion/alternative to https://github.com/servo/servo/pull/24047 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24072) <!-- Reviewable:end -->
| * ensure documents drop when a pipeline exitsGregory Terzian2019-08-281-4/+14
| |
* | Update Window::open and document::open parameters to match the specBastien Orivel2019-08-241-1/+1
|/ | | | Fixes #24012
* Add support for returning array-like types from the Execute(Async)Script wd ↵George Roman2019-08-101-1/+1
| | | | command
* Remove extra webgl message pumping thread.Josh Matthews2019-07-251-3/+16
|
* Modify *::get_cx methods to return a safe JSContext instead of a raw onemarmeladema2019-07-241-22/+16
|
* Convert CGTraitInterface to use safe JSContext instead of raw JSContextmarmeladema2019-07-241-28/+25
|
* Wrap(Global)Method now takes a SafeJSContext instead of a JSContextmarmeladema2019-07-241-2/+3
| | | | as first argument.
* Update euclid.Emilio Cobos Álvarez2019-07-231-24/+27
| | | | | | | | There are a few canvas2d-related dependencies that haven't updated, but they only use euclid internally so that's not blocking landing the rest of the changes. Given the size of this patch, I think it's useful to get this landed as-is.
* Auto merge of #23368 - gterzian:clean_up_navigation, r=asajeffreybors-servo2019-07-181-21/+20
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean-up navigation <!-- Please describe your changes on the following line: --> 1. Navigation as a result of following a hyperlink should be done in a task: https://html.spec.whatwg.org/multipage/links.html#following-hyperlinks:dom-manipulation-task-source 2. The javascript url navigation should also be done in a task: https://html.spec.whatwg.org/multipage/browsing-the-web.html#navigating-across-documents:dom-manipulation-task-source 3. In `window.load_url`, it seems there is no need to send a message to the script-thread(the entirety of `load_url` should instead be done in a task when appropriate), so we can just do that last part "sync" by calling a method on the script, which will send a message to the constellation(for the parallel navigation steps), or queue task(for the JS navigation), as appropriate. 4. Separate the "normal" navigation flow from the handling of "navigate an iframe" message from constellation, since doing everything in one method as was previously done with `handle_navigate`, is confusing. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23368) <!-- Reviewable:end -->
| * clean-up navigationGregory Terzian2019-07-181-21/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | security: check target and source origin before executing JS url implement replacement-enabled flag as a HistoryEntryReplacement enum add source origin string on loaddata add LoadOrigin iframe: remove optional load-data auxiliaries: add load-data into info constellation: remove url from Pipeline::new check load origin: link to whatwg issue switch loadorigin toplevel to constellation
* | Auto merge of #23516 - pcwalton:webrenderup, r=pcwalton,jdmbors-servo2019-07-121-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgrade WebRender This is against an old Servo because I can't build current Servo due to compile errors in RNG crates. I verified that it starts up. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #23516 - [x] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23516) <!-- Reviewable:end -->
| * | WebRender units are no longer reexported.Patrick Walton2019-07-091-1/+2
| | |
* | | Hook supportsSession() into new xr crateManish Goregaokar2019-07-111-2/+2
| | |
* | | Expose webxr registry to windowManish Goregaokar2019-07-101-0/+9
|/ /
* | Fix typos, warnings and other nitsFernando Jiménez Moreno2019-07-041-1/+1
| |
* | Media crateFernando Jiménez Moreno2019-07-041-1/+1
| |
* | Add media (WindowGLContext) module in canvas_traitVíctor Manuel Jáquez Leal2019-07-041-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This module adds a structure (WindowGLContext) which holds the OpenGL parameters that are going to be used by servo-media player to render video frames using OpenGL. In order to fill this structure, three new methods were added to WindowMethods trait. In this patch only the Glutin-based implementation provides a simple boilerplate. The WindowGLContext is created in the entry point of libservo, when the application window is created, and later passed to the constellation, the pipeline and to the window element in dom, thus htmlmediaelement has a mean to obtain these parameters via its window.
* | Fix code styleVíctor Manuel Jáquez Leal2019-07-041-0/+1
| |
* | Remove `default-except-unstable`Simon Sapin2019-07-011-4/+1
| | | | | | | | | | … and use remaining unstable features unconditionally. This doesn’t actually change the set of crates that can build on the Stable channel.
* | Script: removed a few opts::get()oneturkmen2019-06-261-8/+48
| |
* | Fix some new warningsSimon Sapin2019-06-221-2/+2
| |
* | Add Servo3D immersive demo for magicleapAlan Jeffrey2019-06-131-1/+1
|/
* Add an inCompartments config for bindingsBastien Orivel2019-05-241-1/+3
|
* window.name deals with lack of browsing contexttigercosmos2019-05-191-2/+7
|
* Update to SpiderMonkey 66.Josh Matthews2019-05-101-4/+4
|
* Auto merge of #23090 - miller-time:nav-fetch-referrer, r=gterzianbors-servo2019-04-251-1/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add referrer to navigation fetch request <!-- Please describe your changes on the following line: --> Implement step 13 of [following hyperlinks](https://html.spec.whatwg.org/#following-hyperlinks-2) and step 14.3 of [window open](https://html.spec.whatwg.org/#window-open-steps), as well as other referrer- and fetch-related updates. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #22890 (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23090) <!-- Reviewable:end -->
| * set referrer in window.load_urlRussell Cousineau2019-04-191-1/+3
| | | | | | | | | | | | | | | | - this conforms to follow-hyperlinks spec step 13 - this conforms to window-open spec step 14.3 - replace uses of `referrer_url` with `referrer` - in Request class, change "no-referrer" to "" - set websocket fetch referrer to "no-referrer"
* | Measure layout queries blocked by ongoing layoutPhilipp Albrecht2019-04-131-2/+14
|/
* Update base64 to 0.10.1Anthony Ramine2019-01-251-6/+3
|
* Report the stylesheet URL when reporting CSS errorsAnthony Ramine2019-01-141-1/+1
|
* Make Window::scroll_offsets store keys as OpaqueNode valuesAnthony Ramine2019-01-141-12/+8
| | | | | | This is the type that is supposed to signal that we will never ever try to get back a Node from it in an unsafe way, unlike UntrustedNodeAddress.