aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_thread.rs
Commit message (Collapse)AuthorAgeFilesLines
* Merge Node::shadow_including_inclusive_ancestors into inclusive_ancestorsFernando Jiménez Moreno2019-04-261-3/+5
|
* Auto merge of #23090 - miller-time:nav-fetch-referrer, r=gterzianbors-servo2019-04-251-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+1
| | | | | | | | | | | | | | | | - 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"
* | Auto merge of #23115 - pylbrecht:measure.blocked.layout.queries, r=jdmbors-servo2019-04-221-0/+12
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | measure blocked layout queries <!-- 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 #19797 <!-- Either: --> - [ ] 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. --> <!-- 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/23115) <!-- Reviewable:end -->
| * fixup! Measure layout queries blocked by ongoing layoutpylbrecht2019-04-171-1/+1
| |
| * Measure layout queries blocked by ongoing layoutPhilipp Albrecht2019-04-131-0/+12
| |
* | Add webdriver deletecookies functionaditj2019-04-191-0/+3
|/
* Implementing the builder pattern for RequestInitLucas Fantacuci2019-04-101-16/+13
|
* Auto merge of #23143 - CYBAI:remove-compound-microtasks, r=jdmbors-servo2019-04-051-10/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove compound microtasks We handled compound microtasks as microtasks so, basically, we only need to remove the naming of `compound`. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #23140 - [x] These changes do not require tests because the updated spec is more about editorial. <!-- 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/23143) <!-- Reviewable:end -->
| * Remove compound microtasksCYBAI2019-03-311-10/+6
| | | | | | | | | | We handled compound microtasks as microtasks so, basically, we only need to remove the naming of `compound`.
* | Bug: #22853 - Make Window::set_fullscreen pass a non-None value when ↵Kamal Umudlu2019-04-011-0/+19
|/ | | | | | | | | | | | | | | | | | | | | | entering fullscreen is fixed and SetFullscreenState in exit_fullscreen changed to False Added patch for bug:22853 Added implementation to exit from fullscreen mode by pressing ESC button Added patch that supports to exit from fullscreen mode by pressing ESC Deleted patch files Added all requested changes on project Removed the loop over self.pending_changes in switch_fullscreen_mode function Bug #22853 - Make Window::set_fullscreen pass a non-None value when entering fullscreen is fixed and SetFullscreenState in exit_fullscreen changed to False Added missing bracket in constellation.rs file to fix build issue Bug: #22853 --> Make Window::set_fullscreen pass a non-None value when entering fullscreen is fixed and SetFullscreenState in exit_fullscreen changed to False
* ran ./mach fmtelias2019-03-141-3/+3
| | | | | | - removed unused import in document_loader.rs - limit unsafe block in mark_document_with_no_blocked_loads in script_thread.rs - changed name of if let value to load in Drop for LoadBlocker in document_loader.rs
* let mark_document_with_no_blocked_loads() take a None value silentlyelias2019-03-131-5/+7
|
* Auto merge of #23008 - georgeroman:implement_webdriver_find_elem_from_elem, ↵bors-servo2019-03-111-0/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=Manishearth Implement WebDriver FindElementFromElement command <!-- 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 <!-- 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/23008) <!-- Reviewable:end -->
| * Implement WebDriver FindElementFromElement commandGeorge Roman2019-03-091-0/+9
| |
* | Auto merge of #23013 - servo:rm-rooted-reference, r=jdmbors-servo2019-03-111-6/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify RootedReference and make it specifically about slices It's now called `DomSlice<T>`. <!-- 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/23013) <!-- Reviewable:end -->
| * | Remove most RootedReference usesAnthony Ramine2019-03-101-6/+6
| |/ | | | | | | We can replace all uses of RootedReference for Option<T> by Option::deref calls.
* | Auto merge of #22802 - gterzian:only_run_tasks_for_fully_active_docs, r=noxbors-servo2019-03-111-1/+53
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In BC event-loop, only run tasks related to fully-active documents <!-- 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: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #22792 (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/22802) <!-- Reviewable:end -->
| * in BC event-loop, only run tasks related to fully-active documentsGregory Terzian2019-03-061-1/+53
| |
* | Ensure iframe's contentWindow is updated when traversing the session history.Josh Matthews2019-03-071-1/+20
|/
* Auto merge of #22353 - jdm:runtime-parent, r=noxbors-servo2019-01-171-1/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update rust-mozjs These changes adjust our uses of the rust-mozjs APIs to accommodate the changes in https://github.com/servo/rust-mozjs/pull/450. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #22342. - [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/22353) <!-- Reviewable:end -->
| * Reintroduce parent runtimes for worker threads.Josh Matthews2019-01-151-1/+9
| |
* | Make Window::scroll_offsets store keys as OpaqueNode valuesAnthony Ramine2019-01-141-1/+2
| | | | | | | | | | | | 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.
* | Remove BlockFlowDisplayListBuildingAnthony Ramine2019-01-141-1/+1
| | | | | | | | Replaced by inherent methods on BlockFlow, the only implementor of that trait.
* | Rename NewLayoutThreadInfo to LayoutThreadInitAnthony Ramine2019-01-141-2/+2
|/ | | | Following the convention of our other init structs.
* Synchronously update the pipeline of same-origin iframe elements as soon as ↵Josh Matthews2019-01-071-0/+15
| | | | the child document begins parsing.
* Provide the source window as part of postMessage events.Josh Matthews2019-01-071-6/+37
|
* Auto merge of #22528 - Manishearth:webxr, r=jdm,MortimerGorobors-servo2019-01-041-2/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Preliminary WebXR support This implements just enough WebXR to display to 3DOF devices in immersive mode only. Couple missing things: - [ ] Handling reference spaces (even if just supporting eye-level spaces) - [x] Spec links - [ ] We enter immersive mode when baseLayer is set, but it seems like we're supposed to do this when requestSession is called (https://github.com/immersive-web/webxr/issues/453) - [ ] VR/XR should block less (https://github.com/servo/servo/issues/22505) - [x] More pref-gating - [x] `views` is a method instead of an attribute because we don't support FrozenArray <s>Once I add spec links and pref gating</s> this can be landed as-is for further experimentation. r? @jdm @MortimerGoro <!-- 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/22528) <!-- Reviewable:end -->
| * Move VR interface to XRManish Goregaokar2018-12-191-2/+3
| | | | | | | | The WebVR spec no longer has a navigator.vr, but there is a navigator.XR in the XR spec. Instead of duplicating work I've combined the two.
* | Rustfmt has changed its default style :/Simon Sapin2018-12-281-9/+11
| |
* | Auto merge of #22121 - gterzian:remove_constellation_block_in_navigation, ↵bors-servo2018-12-261-0/+42
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=paulrouget Remove sync constellation -> embedder communication <!-- 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: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #22042 (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/22121) <!-- Reviewable:end -->
| * | check for a document being "fully-active" before reflowsGregory Terzian2018-12-231-0/+4
| | |
| * | implement windowproxy "delay-load-event-mode", and partially document ↵Gregory Terzian2018-12-231-0/+38
| |/ | | | | | | "completely-loaded"
* / style: Make Servo use a single thread-pool for layout-related tasks per-process.Emilio Cobos Álvarez2018-12-231-2/+0
|/ | | | | | Instead of per-document. This also allows to reuse this thread-pool if needed for other stuff, like parallel CSS parsing (#22478), and to share more code with Gecko, which is always nice.
* Auto merge of #22395 - jdm:initial-iframe-size, r=Manishearthbors-servo2018-12-181-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initialize iframe viewport immediately This is probably a significant cause of unstable test results, and it finally bothered me enough to fix it. The solution isn't great for performance (a sync layout query every time a iframe is added to a document), but performance needs to follow correctness. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #14364 and fix #15689 and fix #15688. - [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/22395) <!-- Reviewable:end -->
| * Initial window sizes are mandatory.Josh Matthews2018-12-141-3/+3
| |
* | unregister components while exitingcsmoe2018-12-171-0/+2
|/
* Remove unused recycle argument from Document::unloadGeorge Roman2018-11-301-1/+1
|
* introduce a background-hang-monitor:Gregory Terzian2018-11-261-1/+69
| | | | | Mac-Os implementation of a thread sampler, Linux and Windows skeleton implementations.
* refactored performance timing to align with updated specddh2018-11-201-5/+12
| | | | | | | | | | | | refactoring with ResourceFetchMetadata implemented deprecated window.timing functionality created ResourceTimingListener trait fixed w3c links in navigation timing updated include.ini to run resource timing tests on ci
* Auto merge of #22224 - pyfisch:composition-webdriver, r=noxbors-servo2018-11-201-1/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Forward WebDriver CompositionEvent Dispatch composition events in JS. Insert characters from composition events to text input. CompositionEvents currently can only be created by WebDriver and not by embedders. <!-- 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 - [ ] 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/22224) <!-- Reviewable:end -->
| * Forward WebDriver CompositionEventPyfisch2018-11-191-1/+9
| | | | | | | | | | | | | | | | Dispatch composition events in JS. Insert characters from composition events to text input. CompositionEvents currently can only be created by WebDriver and not by embedders.
* | Update MPL license to https (part 3)Jan Andre Ikenmeyer2018-11-191-1/+1
|/
* Update crossbeam-channel to 0.3Bastien Orivel2018-11-181-37/+40
|
* Unify the task source and task canceller APIAgustin Chiappe Berrini2018-11-141-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I moved away from the `Window` struct all the logic to handle task sources, into a new struct called `TaskManager`. In a happy world, I'd be able to just have there two functions, of the types: ```rust fn task_source<T: TaskSource>(&self, name: TaskSourceName) -> Box<T> fn task_source_with_canceller<T: TaskSource>(&self, name: TaskSourceName) -> (Box<T>, TaskSourceCanceller) ``` And not so much duplicated code. However, because TaskSource can't be a trait object (because it has generic type parameters), that's not possible. Instead, I decided to reduce duplicated logic through macros. For reasons[1], I have to pass both the name of the function with canceller and the name of the function without, as I'm not able to concatenate them in the macro itself. I could probably use `concat_idents` to create both types already defined and reduce the amount of arguments by one, but that macro is nightly only. At the same time, not being able to declare macros inside `impl` forces me to pass `self` as an argument. All this makes this solution more verbose than it would be ideally. It does reduce duplication, but it doesn't reduce the size of the file. [1](https://github.com/rust-lang/rust/issues/29599)
* Implement TaskSource for HistoryTraversalAgustin Chiappe Berrini2018-11-131-4/+11
| | | | | And remove the method in window that returns it, because it isn't used so far.
* Remove useless `use crate_name;` imports.Simon Sapin2018-11-081-1/+0
| | | | A `crate_name::foo` path always works in 2018
* `cargo fix --edition-idioms`Simon Sapin2018-11-081-13/+12
|
* Reorder importsPyfisch2018-11-061-19/+31
|
* Format remaining filesPyfisch2018-11-061-42/+54
|