aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_thread.rs
Commit message (Collapse)AuthorAgeFilesLines
* Make script thread initiate requests for images needed by layout.Josh Matthews2017-02-221-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In support of this goal, the layout thread collects information about CSS images that are missing image data and hands it off to the script thread after layout completes. The script thread stores a list of nodes that will need to be reflowed after the associated network request is complete. The script thread ensures that the nodes are not GCed while a request is ongoing, which the layout thread is incapable of guaranteeing. The image cache's API has also been redesigned in support of this work. No network requests are made by the new image cache, since it does not possess the document-specific information necessary to initiate them. Instead, there is now a single, synchronous query operation that optionally reserves a slot when a cache entry for a URL cannot be found. This reserved slot is then the responsibility of the queryer to populate with the contents of the network response for the URL once it is complete. Any subsequent queries for the same URL will be informed that the response is pending until that occurs. The changes to layout also remove the synchronous image loading code path, which means that reftests now test the same code that non-test binaries execute. The decision to take a screenshot now considers whether there are any outstanding image requests for layout in order to avoid intermittent failures in reftests that use CSS images.
* Add ImmutableOrigin to allow for serializing originsConnor Brewster2017-02-221-8/+8
|
* Allow browsing contexts to resolve to cross-origin windows.Alan Jeffrey2017-02-161-2/+4
|
* Remove usage of unwrap in handle_exit_pipeline_msg()karan sharma2017-02-131-1/+1
|
* Remove incorrect uses of asynchronous tasks from ServiceWorker job queue.Josh Matthews2017-02-011-44/+4
|
* Perform a microtask checkpoint after executing classic scripts and callbacks.Josh Matthews2017-02-011-0/+7
|
* Generalize promise job queue into solitary microtask queue.Josh Matthews2017-02-011-23/+18
|
* Auto merge of #15264 - servo:content-type, r=noxbors-servo2017-01-301-9/+3
|\ | | | | | | | | | | | | | | Always set the Document::contentType attribute in ScriptThread::load(). <!-- 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/15264) <!-- Reviewable:end -->
| * Always set the Document::contentType attribute in ScriptThread::load().Ms2ger2017-01-301-9/+3
| | | | | | | | There's no good reason to limit this to a few particular content types.
* | Allow windows to share browsing contexts.Alan Jeffrey2017-01-281-48/+35
| |
* | Fix document.write check for activity.Alan Jeffrey2017-01-271-0/+1
| |
* | The constellation notifies the script thread about documents becoming ↵Alan Jeffrey2017-01-271-37/+15
| | | | | | | | inactive, active and fully active.
* | Auto merge of #15220 - nox:kill-parser-pipeline, r=SimonSapin,jdmbors-servo2017-01-271-10/+2
|\ \ | |/ |/| | | | | | | | | | | Kill ServoParser::pipeline <!-- 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/15220) <!-- Reviewable:end -->
| * Kill ServoParser::pipelineAnthony Ramine2017-01-271-10/+2
| |
* | Auto merge of #15242 - servo:refpol, r=noxbors-servo2017-01-271-23/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | Simplify handling of the referrer policy header in ScriptThread::load(). <!-- 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/15242) <!-- Reviewable:end -->
| * | Simplify handling of the referrer policy header in ScriptThread::load().Ms2ger2017-01-261-23/+7
| |/
* | Auto merge of #15238 - servo:clip_rect, r=emiliobors-servo2017-01-271-6/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | Remove unused InProgressLoad::clip_rect. <!-- 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/15238) <!-- Reviewable:end -->
| * | Remove unused InProgressLoad::clip_rect.Ms2ger2017-01-261-6/+2
| |/
* | Auto merge of #15179 - servo:alter_resource_utilization, r=noxbors-servo2017-01-261-24/+12
|\ \ | |/ |/| | | | | | | | | | | | | | | | | Refactor away ScriptThread::alter_resource_utilization(). It's used in two places, one of which already has access to the Window. <!-- 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/15179) <!-- Reviewable:end -->
| * Refactor away ScriptThread::alter_resource_utilization().Ms2ger2017-01-261-24/+12
| | | | | | | | It's used in two places, one of which already has access to the Window.
* | Revert "Auto merge of #15136 - ↵Anthony Ramine2017-01-241-30/+42
|/ | | | | | | nox:mitochondria-finally-makes-it-into-the-tree, r=jdm" This reverts commit ca6376a7142640185f21beca4b11011e8367ec91, reversing changes made to bb24fd3177cd69931d6a894bfcbb605286cefa1e.
* Auto merge of #15136 - nox:mitochondria-finally-makes-it-into-the-tree, r=jdmbors-servo2017-01-231-42/+30
|\ | | | | | | | | | | | | | | Use mitochondria::OnceCell to store ScriptThread in TLS <!-- 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/15136) <!-- Reviewable:end -->
| * Use mitochondria::OnceCell to store ScriptThread in TLSAnthony Ramine2017-01-231-42/+30
| |
* | Make TransitionEvent::new take a &WindowAnthony Ramine2017-01-211-1/+1
|/
* Mark the page source as loaded only after parsing is doneAnthony Ramine2017-01-191-29/+2
|
* Remove ScriptThread::parsing_completeAnthony Ramine2017-01-171-31/+0
|
* Auto merge of #15016 - prampey:doc-deactivate, r=cbrewsterbors-servo2017-01-131-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documents now fully deactivate when a freeze message is sent <!-- Please describe your changes on the following line: --> Documents now fully deactivate when a freeze message is sent --- <!-- 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 #14906 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because minimal changes. <!-- 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/15016) <!-- Reviewable:end -->
| * Documents now fully deactivate when a freeze message is sentPrudhvi Rampey2017-01-141-3/+4
| |
* | Remove reflow status from browsing context.Alan Jeffrey2017-01-121-10/+1
|/
* WebVR API Implementation, r=larsbergstromImanol Fernandez2017-01-091-1/+20
|
* Implement browsing context discarding.Alan Jeffrey2017-01-051-8/+18
|
* Implement discarding Document objects to reclaim space.Alan Jeffrey2017-01-041-1/+1
|
* Auto merge of #14647 - servo:current-global, r=jdmbors-servo2016-12-291-7/+14
|\ | | | | | | | | | | | | | | Support the 'current' global object. <!-- 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/14647) <!-- Reviewable:end -->
| * Pass the Document's origin to its constructor.Ms2ger2016-12-231-7/+14
| | | | | | | | CC #10963.
* | script: Simplify ScriptMemoryFailsafe::drop.Emilio Cobos Álvarez2016-12-251-6/+3
| |
* | script: Use more idiomatic code for resize handling.Emilio Cobos Álvarez2016-12-251-4/+2
|/ | | | Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
* Warn when a timer event is processed for a discarded document.Josh Matthews2016-12-221-2/+5
|
* Auto merge of #14589 - servo:harden-script, r=jdm+Ms2gerbors-servo2016-12-161-52/+70
|\ | | | | | | | | | | | | | | Reduce calls into arbitrary code with the ScriptThread::documents borrow held. <!-- 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/14589) <!-- Reviewable:end -->
| * Add a tidy check for problematic match cases in script_thread.rsJosh Matthews2016-12-161-14/+14
| |
| * Reduce calls into arbitrary code with the ScriptThread::documents borrow held.Ms2ger2016-12-141-45/+63
| |
* | Removed util.Alan Jeffrey2016-12-141-5/+4
|/
* Remove HeapGCValueAnthony Ramine2016-12-121-3/+3
| | | | | | It could be used to have mutable JSVal fields without GC barriers. With the removal of that trait, MutHeap and MutNullableHeap can respectively be replaced by MutJS and MutNullableJS.
* Add support for fullscreen #10102Jansen Jan2016-12-091-1/+3
|
* Rename `Reflectable` to `DomObject`.Corey Farwell2016-12-081-1/+1
| | | | Fixes https://github.com/servo/servo/issues/8473.
* Properly mark application/xhtml+xml documents as XMLAnthony Ramine2016-12-011-13/+6
| | | | | | For this to work, we must remove the unimplemented!() call in Element::parse_fragment because all the tests rely on setting innerHTML.
* Implement synchronous about:blank loading.Ms2ger2016-11-301-4/+39
| | | | Based on initial work by jdm in <https://github.com/servo/servo/pull/8600>.
* Store the layout-to-constellation sender in the script thread.Ms2ger2016-11-301-3/+7
| | | | This will allow the script thread to spawn layout threads independently.
* When a script thread looks for a current layout thread, it should look in ↵Alan Jeffrey2016-11-231-2/+6
| | | | the incomplete loads.
* Share script threads per-tab and per-eTLD+1.Alan Jeffrey2016-11-221-13/+12
|
* Auto merge of #14173 - asajeffrey:script-thread-stores-top-level-frame-id, ↵bors-servo2016-11-211-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=paulrouget Report panics using the top-level frame id rather than the pipeline id <!-- Please describe your changes on the following line: --> At the moment, we report panics from script and layout using the root pipeline id. Once we are sharing more script threads, there won't be a root pipeline id any more. The plan is only to share script threads in the same tab, so there will be a top-level frame id that all the pipelines have in common. This PR reports panics using that top-level frame id. This mostly makes a difference to the browser API: rather than targeting a `mozbrowsererror` event at the root iframe of the script thread that panicked, it targets it at the containing mozbrowser iframe. --- <!-- 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 we don't test crash reporting <!-- 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/14173) <!-- Reviewable:end -->