aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_thread.rs
Commit message (Collapse)AuthorAgeFilesLines
* Change ignore async events ordering to SeqCstConnor Brewster2016-07-081-1/+1
|
* Make network listener runnable cancellableConnor Brewster2016-07-081-0/+1
|
* Add name method to Runnable traitConnor Brewster2016-07-061-0/+1
|
* Combined DOMManipulationTask runnable variants into a single variantConnor Brewster2016-07-061-6/+3
|
* Make textinput handle actual key values. Don't restrict character values to ↵Josh Matthews2016-07-061-1/+1
| | | | a single byte.
* Associate logical and physical keypresses together to support non-QWERTY ↵Josh Matthews2016-07-051-2/+2
| | | | keyboards.
* Move webdriver_msg to script_traits.Ms2ger2016-07-051-1/+1
|
* Move WindowSizeData to script_traits.Ms2ger2016-07-051-2/+2
|
* Switch to using the new rooted!/RootedGuard API for rooting.Eduard Burtescu2016-07-041-2/+2
|
* style: Rewrite the animation representation to allow having state in layoutEmilio Cobos Álvarez2016-06-281-1/+1
| | | | | I have to make the appropriate changes in layout, but I'm running out of battery in the bus.
* Use common cookie struct add cookie webdriver cmdsDan Robertson2016-06-251-0/+6
| | | | | One cookie struct to rule them all. One struct to represent them. One cookie struct to bind them all, and through the IPC carry them.
* Removed some sources of panic from script thread.Alan Jeffrey2016-06-241-30/+58
|
* add reload keyboard shortcutmrmiywj2016-06-231-0/+12
| | | | rename the preference to shell.builtin-key-shortcuts.enabled
* Move the remainder of layout_interface into script_layout_interface.Ms2ger2016-06-201-11/+11
|
* Auto merge of #10225 - jmr0:visibility_api, r=jdmbors-servo2016-06-161-0/+60
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 -->
| * Implement non-visible pipeline and iframe visibility methodsjmr02016-06-151-0/+60
| |
* | Replace RefCell in SCRIPT_THREAD_ROOT with CellDarin Minamoto2016-06-121-10/+10
| |
* | Auto merge of #11556 - Manishearth:make-fetch-happen, r=jdmbors-servo2016-06-111-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make fetch happen <!-- Please describe your changes on the following line: --> Moves XHR over to the fetch backend. Previous PR: https://github.com/servo/servo/pull/114 --- <!-- 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 (Will fix later) <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11556) <!-- Reviewable:end -->
| * | Abstractify the Listener abstractions furtherManish Goregaokar2016-06-101-1/+1
| | |
* | | script: When using WebRender, keep the DOM-side scroll positions forPatrick Walton2016-06-101-12/+27
| |/ |/| | | | | | | | | | | elements with `overflow: scroll` up to date, and take them into account when doing hit testing. Closes #11648.
* | Auto merge of #11707 - jdm:resize_warn, r=Ms2gerbors-servo2016-06-101-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | Avoid frequent intermittent failure in tests. - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #11613 (github issue number if applicable). - [X] These changes do not require tests because they address a frequent nondeterministic panic that occurs in other tests. <!-- 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/11707) <!-- Reviewable:end -->
| * Avoid frequent intermittent failure in tests.Josh Matthews2016-06-101-1/+1
| |
* | Avoid an index-out-of-bounds error in ScriptMemoryFailsafe.Ms2ger2016-06-091-2/+4
| | | | | | | | | | | | | | | | Fixes #11059. Fixes #11400. Fixes #11481. Fixes #11671. Fixes #11682.
* | Window::Parent and Window::Top now return the right result inisde a ↵Alan Jeffrey2016-06-071-6/+7
| | | | | | | | mozbrowser iframe.
* | Auto merge of #11593 - jdm:netmon, r=noxbors-servo2016-06-051-0/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the net monitor panel in FF's devtools show meaningful output. <!-- Please describe your changes on the following line: --> 1. Advertise support for the network monitor in the initial protocol communication. 1. Only notify the developer tools server about the final request in an HTTP transaction. 1. Add timing information for connecting to the HTTP server and sending the HTTP request. 1. Reduce duplication between various networkEventUpdate structures by creating a helper function that merges two JSON structures together. This also corrects the JSON structure so the devtools client interprets the output correctly. 1. Calculate various header size fields correctly. 1. Remove unnecessary usize->u32 casts by making the appropriate fields usize. 1. Add header values to request and response header messages. 1. Support triggering page reloads via the devtools client. I apologize that these aren't broken apart. I was making a lot of changes trying to figure out why the panel wasn't working right, and a lot of them were tangled together. --- <!-- 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 do not require tests because there are no automated tests for the devtools server. <!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11593) <!-- Reviewable:end -->
| * Make the net monitor panel in FF's devtools show meaningful output.Josh Matthews2016-06-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 0) Advertise support for the network monitor in the initial protocol communication. 1) Only notify the developer tools server about the final request in an HTTP transaction. 2) Add timing information for connecting to the HTTP server and sending the HTTP request. 3) Reduce duplication between various networkEventUpdate structures by creating a helper function that merges two JSON structures together. This also corrects the JSON structure so the devtools client interprets the output correctly. 4) Calculate various header size fields correctly. 5) Remove unnecessary usize->u32 casts by making the appropriate fields usize. 6) Add header values to request and response header messages. 7) Support triggering page reloads via the devtools client.
* | Auto merge of #11610 - nox:dom3events, r=emiliobors-servo2016-06-041-1/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | Fix all the links to the UI Events spec <!-- 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/11610) <!-- Reviewable:end -->
| * | Fix all the links to the UI Events specAnthony Ramine2016-06-041-1/+0
| |/ | | | | | | DOM3Events is no more.
* | Remove the layout shutdown channel.Ms2ger2016-06-041-2/+0
| | | | | | | | Nobody is listening.
* | Avoid deadlock when shutting down.Alan Jeffrey2016-06-031-0/+2
|/
* implement related sw interface and register methodRahul Sharma2016-06-021-1/+25
|
* Auto merge of #11538 - Ms2ger:warnings, r=emiliobors-servo2016-06-011-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | Fix some build warnings. - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because refactoring <!-- 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/11538) <!-- Reviewable:end -->
| * Fix some build warnings.Ms2ger2016-06-011-1/+0
| |
* | Auto merge of #11221 - izgzhen:blob-file-backend, r=Manishearthbors-servo2016-06-011-3/+3
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add file backend support for Blob and related - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy --faster` does not report any errors - [x] These changes fix #10851, related to #11131 - [x] These changes do not require tests because the implementation is partial and can't work alone 1. Add new backend to `Blob` and a `BlobImpl` struct to abstract multiple backends 2. Rewrite most interfaces of `Blob` to accommodate the change 3. Change the `read` behaviour of `FileReader`, considering the case when blob is file-backed and not cached The design is still immature, welcome comments! - [x] I used `DOMRefCell` to cache the bytes in `BlobImpl`, is it sound? - [x] The interfaces (like `BlobImpl::get_bytes`) handle requests in a default-to-empty way when the inner `DataSlice` is not cached. It might be possible to handle this condition better. <!-- 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/11221) <!-- Reviewable:end -->
| * Add file backend support for Blob and relatedZhen Zhang2016-06-011-3/+3
| | | | | | | | | | | | | | | | Changes include: - Add BlobImpl to Blob, and related caching mechanism - Expose ResourceThreads to document_loader, workerglobalscope, worker, and global - Fix encode_multipart_form_data - Other small fixes to accommodate the above changes
* | Auto merge of #11480 - rafaqtro:local_b, r=emiliobors-servo2016-06-011-5/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rename <!-- Please describe your changes on the following line: --> rename of page_fetch_complete and handle_page_fetch_complete for page_headers_available and handle_page_headers_available . --- <!-- 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 #11418 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11480) <!-- Reviewable:end -->
| * | rename of page_fetch_complete and handle_page_fetch_completeRafael Quintero2016-05-311-5/+5
| | | | | | | | | | | | | | | | | | rename align
* | | script: Keep the DOM-side viewport up to date when scrolling happens inPatrick Walton2016-05-311-0/+23
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | WebRender. This happens asynchronously, just as it does in non-WebRender mode. This functionality is a prerequisite for doing proper display-list-based hit testing in WebRender, since it moves the scroll offsets into Servo (and, specifically, into the script thread, enabling iframe event forwarding) instead of keeping them private to WebRender. Requires servo/webrender_traits#55 and servo/webrender#277. Partially addresses #11108.
* | Bump rust-mozjs for the safe Runtime::new (fixes #11512)Anthony Ramine2016-05-311-1/+1
| |
* | Add a missing JSAutoCompartment to javascript url handling.Ms2ger2016-05-301-1/+4
| |
* | Auto merge of #11472 - jdm:wip, r=mbrubeckbors-servo2016-05-271-2/+0
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Report blank lines that follow an open brace This automates something that I find myself frequently commenting on in PRs. --- <!-- 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] There are tests for these changes OR <!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11472) <!-- Reviewable:end -->
| * Remove empty lines following braces.Josh Matthews2016-05-271-2/+0
| |
* | Remove the LayoutChan type.Ms2ger2016-05-271-11/+10
|/ | | | It is a pointless abstraction.
* Report use statements that use {} with only one entryCullen Rhodes2016-05-271-1/+1
|
* Auto merge of #11372 - tschneidereit:parent-js-runtime-for-workers, r=noxbors-servo2016-05-261-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass a parent JS runtime when creating DOM Worker runtimes This enables sharing data with the parent runtime, decreasing memory usage and startup time. Also contains an update to current rust-mozjs, because that's required for this to work. - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy --faster` does not report any errors - [x] These changes don't fix a github issue Either: - [ ] There are tests for these changes OR - [x] These changes do not require tests because the changes don't change any observable behavior <!-- 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/11372) <!-- Reviewable:end -->
| * Pass a parent JS runtime when creating DOM Worker runtimesTill Schneidereit2016-05-241-3/+4
| | | | | | | | This enables sharing data with the parent runtime, decreasing memory usage and startup time. Also contains an update to current rust-mozjs, because that's required for this to work.
* | Auto merge of #11370 - Ms2ger:IterableContext, r=jdmbors-servo2016-05-251-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the IterableContext trait. 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 --faster` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). Either: - [ ] There are tests for these changes OR - [x] These changes do not require tests because refactoring Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. It serves no purpose. <!-- 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/11370) <!-- Reviewable:end -->
| * | Remove the IterableContext trait.Ms2ger2016-05-241-1/+1
| |/ | | | | | | It serves no purpose.
* | Remove ScriptThread::layout_to_constellation_chan.Ms2ger2016-05-251-7/+4
| | | | | | | | Instead, pass it along in NewLayoutInfo when needed.
* | Remove the script listener thread (fixes #11345).Ms2ger2016-05-251-20/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | We needed a separate thread in the chrome process because communication to the compositor is done through a trait object, and cross-process virtual calls are forbidden. Also, the fact that these messages are ultimately handled by the compositor is an implementation detail; conceptually, the relevant constellation is supposed to handle these messages. So instead, the script thread will now send the messages to the constellation, which will ask the compositor to handle them.