aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_thread.rs
Commit message (Collapse)AuthorAgeFilesLines
* Auto merge of #12910 - creativcoder:swsender, r=jdmbors-servo2016-09-151-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement postMessage for ServiceWorkers <!-- Please describe your changes on the following line: --> Fixes #12773 r? @jdm Changes: * Implements `postMessage` on `ServiceWorker` object. * Removes unused channels from sw and their scopes. * Fixes a crash when calling `scope.script_chan()` in sw-scopes event handling. --- <!-- 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 #12773 <!-- Either: --> - [X] There are tests for these changes at `tests/html/service-worker` <!-- 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/12910) <!-- Reviewable:end -->
| * store senders instead of buffering messagesRahul Sharma2016-09-071-13/+2
| |
| * Make service workers talk to their serviceworkerglobalscopesRahul Sharma2016-09-071-3/+14
| |
* | Excise SubpageId and use only PipelineIdsAneesh Agrawal2016-09-131-52/+45
| | | | | | | | | | | | | | SubpageId was originally introduced in 2013 to help iframes keep track of their associated (children) pipelines. However, since each pipeline already has a PipelineId, and those are unique, those are sufficient to keep track of children.
* | Consistently use parent_pipeline_idAneesh Agrawal2016-09-131-30/+30
| | | | | | | | | | Instead of containing_pipeline_id, use parent_pipeline_id because it is more clear that it refers to the immediate parent.
* | Use fn pipeline_id consistently, not fn pipelineAneesh Agrawal2016-09-131-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Consistently use the name 'pipeline_id' to refer to a function that returns an (optional) PipelineId. This was prompted by discovering both fn pipeline and fn pipeline_id doing the same job in htmliframeelement.rs. Note that there is fn pipeline in components/compositing/compositor.rs, but that actually returns an Option<&CompositionPipeline>, not any kind of PipelineId.
* | Reorder `use` statementsUK9922016-09-091-14/+14
|/
* Remove mutex from TrustedAlan Jeffrey2016-08-291-3/+1
| | | | | Use weak references rather than message passing to garbage-collect dead references.
* fixed calling unwrap on an Err valueAshwin R2016-08-271-1/+1
|
* Pass real values to the proxy handler setup.Josh Matthews2016-08-251-7/+0
|
* Auto merge of #12954 - GuillaumeGomez:dictionary_error, r=noxbors-servo2016-08-241-2/+5
|\ | | | | | | | | | | | | | | Update rust-mozjs <!-- 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/12954) <!-- Reviewable:end -->
| * Update rust-mozjs dependencyGuillaume Gomez2016-08-241-2/+5
| |
* | Move thread_state to style.Ms2ger2016-08-221-1/+1
|/
* Update serde to 0.8 (fixes #12659)Anthony Ramine2016-08-121-6/+7
|
* Issue 7720: Add target selector and update when scrolling to fragmentSteve Melia2016-08-031-7/+18
|
* Auto merge of #12563 - emilio:stylo, r=bholley,jdm,pcwaltonbors-servo2016-07-271-2/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stylo: Improve restyling performance This commit adds hooks to the Servo style traversal to avoid traversing all the DOM for every restyle. Additionally it changes the behavior of the dirty flag to be propagated top down, to prevent extra overhead when an element is dirtied. This commit doesn't aim to change the behavior on Servo just yet, since Servo does extra job when dirtying the node related with DOM revision counters that might be necessary. CC @asajeffrey for the DOM revision counters stuff. When a node is dirty, do all its descendants really need to increment the revision counter, or is this an unintended effect? My intuition is that this is hurting performance quite a lot for servo. r? @bholley <!-- 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 <!-- Either: --> - [x] These changes do not require tests because no geckolib tests yet. <!-- 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/12563) <!-- Reviewable:end -->
| * script: Fix a few load related bugs.Emilio Cobos Álvarez2016-07-251-2/+0
| | | | | | | | | | | | | | | | | | | | This is what was making me hit the new test failures. So turns out that when the DOMContentLoaded event is fired we fired no messages to the constellation, but we fired the DOMLoad message from the DocumentProgressHandler, effectively after having dispatched the Load message from script thread. This also fixes the possibility of a subframe navigation not blocking the load event of the parent document, for example.
* | Auto merge of #11791 - craftytrickster:11712/pipeline-lookup, r=asajeffreybors-servo2016-07-261-10/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pipeline lookup in webdriver Fixes #11712 <!-- Please describe your changes on the following line: --> Removed a method that seemed to duplicate already existing functionality, and returned BrowsingContextErrors in the web_handler file where panics were previously occurring. I am not sure if I like all the unwrapping that occurs in the script thread, but the current methods are not set up to return Option/Result. Also, should line the method on line 37 `find_node_by_unique_id` of components/script/webdriver_handlers.rs return None if the context is not found like I have it currently? Or should it return a `Result<Option...>` instead? <!-- 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 #11712 . <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because I simply removed a method that duplicated already existing functionality. On the other part, I added better error sending instead of forcing a panic, which does not require testing to my knowledge. <!-- 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/11791) <!-- Reviewable:end -->
| * | Removed some sources of panic from script thread and devtools, using Option ↵David Raifaizen2016-07-251-10/+4
| | | | | | | | | | | | values instead to indicate when a pipeline context is missing where appropriate. Additionally, removed erroneous method get_browsing_context.
* | | Hoist retrieval of layout_threads from opts into ConstellationDirkjan Ochtman2016-07-241-0/+2
| |/ |/|
* | Removed panic channel, replaced by integrated logging and issue reporting.Alan Jeffrey2016-07-201-12/+6
| |
* | script: Implement Debug on ConstellationControlMsg to simplify script_thread.rsEmilio Cobos Álvarez2016-07-201-10/+6
| |
* | Auto merge of #12426 - asajeffrey:mozbrowser-event-targets, r=SimonSapinbors-servo2016-07-201-10/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow window elements as well as iframes to the the target of mozbrowser events <!-- Please describe your changes on the following line: --> Allow mozbrowser events, in particular mozbrowsererror events, to target a window. Needed for https://github.com/browserhtml/browserhtml/issues/1182 --- <!-- 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 #12420 - [X] These changes do not require tests because we're not testing our issue reporting system, which this is intended for. <!-- 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/12426) <!-- Reviewable:end -->
| * | Allow window elements as well as iframes to the the target of mozbrowser events.Alan Jeffrey2016-07-181-10/+10
| | |
* | | Integrate service worker manager threadRahul Sharma2016-07-161-41/+36
|/ /
* | msg: Rename `ReferrerPolicy::NoRefWhenDowngrade` `NoReferrerWhenDowngrade`Aravind Gollakota2016-07-151-1/+1
| | | | | | | | This is more consistent with the other variants.
* | script: Obtain referrer policy from headerAravind Gollakota2016-07-151-4/+24
|/
* Auto merge of #12416 - canaltinova:referrer, r=jdmbors-servo2016-07-141-1/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement Document.referrer <!-- 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 #12389 (github issue number if applicable). <!-- 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="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12416) <!-- Reviewable:end -->
| * Implement Document.referrerNazım Can Altınova2016-07-141-1/+7
| |
* | Implement file reading task sourceKeith Yeung2016-07-141-4/+5
| | | | | | | | And remove superfluous FileReaderEvent enum
* | Make task queue API usable from non-main threads.Josh Matthews2016-07-141-1/+1
| |
* | Move boxing to runnable initializationConnor Brewster2016-07-131-3/+3
| |
* | Make all task source runnables cancellableConnor Brewster2016-07-131-2/+8
| | | | | | | | Implement all Runnable methods on CancellableRunnable to redirect to their inner runnable
* | Add event runnablesConnor Brewster2016-07-111-2/+2
|/ | | | Make tasks a wrapper over runnables
* 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
| |