aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_task.rs
Commit message (Collapse)AuthorAgeFilesLines
* Create a run_with_memory_reporting method to reduce the boilerplate ↵Ms2ger2015-08-061-18/+10
| | | | associated with registering memory reporters.
* Update Animation Timing links and terminology to the HTML specification.Ms2ger2015-08-051-1/+1
|
* Start reporting memory usage for Window and all nodes in all DOM trees for ↵Josh Matthews2015-08-031-2/+20
| | | | frame treese in script tasks.
* Persuading devtools to communicate with the workers; r=jdmRavi Shankar2015-08-011-6/+12
|
* script: Fix test failures.Patrick Walton2015-07-311-4/+5
|
* script: Make the resource task communication use IPC channels.Patrick Walton2015-07-311-14/+10
|
* net: Use a thread for each `AsyncResponseTarget` to avoid having to sendPatrick Walton2015-07-311-2/+9
| | | | trait objects across process boundaries.
* net: Make most of the resource task messages serializable.Patrick Walton2015-07-311-7/+13
|
* Auto merge of #6850 - servo:rustup_2015-07-30, r=SimonSapinbors-servo2015-07-301-1/+1
|\ | | | | | | | | | | | | | | | | | | Upgrade to rustc 1.3.0-dev (87055a68c 2015-07-30) This builds and passes unit tests. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6850) <!-- Reviewable:end -->
| * Fix deprecation warningsSimon Sapin2015-07-241-1/+1
| |
* | Implement Msg::Status with serialized url upon mouseoverBruno de Oliveira Abinader2015-07-301-1/+39
| | | | | | | | | | | | | | Credits for Mike Blumenkrantz (@zmike), I just rebased against trunk and fixed the url serialization. Fixes #6178.
* | Auto merge of #6841 - pcwalton:squash-animation-ticks, r=metajackbors-servo2015-07-301-1/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | script: Squash duplicate animation tick events in the queue. This prevents them from piling up endlessly if the JS `requestAnimationFrame()` callback takes a long time to complete. r? @jdm <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6841) <!-- Reviewable:end -->
| * | script: Squash duplicate animation tick events in the queue.Patrick Walton2015-07-291-1/+9
| | | | | | | | | | | | | | | This prevents them from piling up endlessly if the JS `requestAnimationFrame()` callback takes a long time to complete.
* | | Add a `kind` field to memory reports.Nicholas Nethercote2015-07-291-10/+36
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is used for two memory reporting improvements. - It's used to distinguish "explicit" memory reports from others. This mirrors the same categorization that is used in Firefox, and gives a single tree that's the best place to look. It replaces the "pages" tree which was always intended to be a temporary stand-in for "explicit". - It's used to computed "heap-unclassified" values for both the jemalloc and system heaps, both of which are placed into the "explicit" tree. Example output: ``` | 114.99 MiB -- explicit | 52.34 MiB -- jemalloc-heap-unclassified | 46.14 MiB -- system-heap-unclassified | 14.95 MiB -- url(file:///home/njn/moz/servo2/../servo-static-suite/wikipe dia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyc lopedia.html) | 7.32 MiB -- js | 3.07 MiB -- malloc-heap | 3.00 MiB -- gc-heap | 2.49 MiB -- used | 0.34 MiB -- decommitted | 0.09 MiB -- unused | 0.09 MiB -- admin | 1.25 MiB -- non-heap | 1.36 MiB -- layout-worker-3-local-context | 1.34 MiB -- layout-worker-0-local-context | 1.24 MiB -- layout-worker-1-local-context | 1.24 MiB -- layout-worker-4-local-context | 1.16 MiB -- layout-worker-2-local-context | 0.89 MiB -- layout-worker-5-local-context | 0.38 MiB -- layout-task | 0.31 MiB -- display-list | 0.07 MiB -- local-context | 1.56 MiB -- compositor-task | 0.78 MiB -- surface-map | 0.78 MiB -- layer-tree ``` The heap-unclassified values dominate the "explicit" tree because reporter coverage is still quite poor.
* | devtools: Convert the developer tools to run over IPC.Patrick Walton2015-07-271-16/+21
| |
* | script: Make the `ImageCacheTask` use IPC.Patrick Walton2015-07-261-5/+9
| | | | | | | | | | This necessitated getting rid of the boxed trait object that was being be passed between the script task and the image cache task.
* | profile: Make the time and memory profilers run over IPC.Patrick Walton2015-07-241-14/+12
|/ | | | | Uses the `Router` abstraction inside `ipc-channel` to avoid spawning new threads.
* Auto merge of #6682 - boghison:scripttask, r=jdmbors-servo2015-07-221-17/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | Fix a few issues - Use SmallVec<[T; N]> - Make find_iframe a free function - Make ProgressEvent use enums for bubbles and cancelable - Change README, as `rust-snapshot-hash` is just a text file <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6682) <!-- Reviewable:end -->
| * Fix #6676Bogdan Cuza2015-07-221-17/+7
| |
* | Make struct part of unrooted_must_root handle type parametersManish Goregaokar2015-07-221-0/+2
|/
* Rename browser_context identifiers to browsing_context.Ms2ger2015-07-201-1/+1
|
* Ensure we get the post-redirect urlJames Graham2015-07-191-0/+2
|
* Wire up the JS engine's memory reporting.Nicholas Nethercote2015-07-151-5/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SpiderMonkey provides an extremely fine-grained breakdown of memory usage, but for Servo we aggregate the measurements into a small number of coarse buckets, which seems appropriate for the current level of detail provided by Servo's memory profiler. Sample output: ``` | 10.99 MiB -- pages | 7.75 MiB -- url(http://html5demos.com/worker) | 4.63 MiB -- js | 2.00 MiB -- gc-heap | 0.94 MiB -- decommitted | 0.92 MiB -- used | 0.09 MiB -- unused | 0.05 MiB -- admin | 1.44 MiB -- malloc-heap | 1.19 MiB -- non-heap | [...] | 3.24 MiB -- url(http://html5demos.com/js/worker-cruncher.js) | 3.24 MiB -- js | 1.17 MiB -- malloc-heap | 1.06 MiB -- non-heap | 1.00 MiB -- gc-heap | 0.69 MiB -- used | 0.19 MiB -- decommitted | 0.09 MiB -- unused | 0.03 MiB -- admin ``` Most of the changes are plumbing to get the script and worker tasks communicating with the memory profiler task.
* script: Split `Pipeline::create` into chrome process and contentPatrick Walton2015-07-141-6/+32
| | | | | | | | | | | | process parts. This will make it easier to adapt to IPC. The trickiest part here was to make script tasks spawn new layout tasks directly instead of having the pipeline do it for them. The latter approach will not work in multiprocess mode, because layout and script must run in the same address space and the pipeline cannot inject tasks into another process.
* compositing: Move messages that go over the `ScriptListener` to go overPatrick Walton2015-07-141-19/+19
| | | | | | | | | an IPC channel instead. Because this used a boxed trait object to invoke messages across a process boundary, and boxed trait objects are not supported across IPC, we spawn a helper thread inside the compositor to perform the marshaling for us.
* Remove url field from PageWill Huxtable2015-07-111-1/+1
|
* Refactor #[jstraceable] to #[derive(JSTraceable)]David Winslow2015-07-011-3/+3
| | | | fixes #6524
* Fix some warnings caused by the SM upgradeMichael Wu2015-06-191-1/+1
|
* Upgrade to SM 39Michael Wu2015-06-191-102/+101
|
* Use euclid from crates.ioecoal952015-06-191-2/+2
|
* rust-geom API changesCorey Farwell2015-06-131-1/+1
| | | | https://github.com/servo/rust-geom/pull/81
* Add support for switching frames with the webdriver API.James Graham2015-06-011-1/+3
| | | | This moves webdriver_traits into msg to avoid a circular dependency.
* Change not(ndebug) to debug_assertionsMatt Brubeck2015-06-011-1/+1
| | | | The name of this directive changed in rust-lang/rust#22980.
* add navigation state data to LoadComplete messages, finish cef load state cbsMike Blumenkrantz2015-05-271-1/+1
|
* script: Reflow 200 milliseconds after the `<body>` is parsed, like GeckoPatrick Walton2015-05-261-1/+1
| | | | does.
* Auto merge of #6168 - tamird:get-cached-messages, r=jdmbors-servo2015-05-261-0/+2
|\ | | | | | | | | | | | | | | Rebase of #4175, closes #4175. r? @jdm <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6168) <!-- Reviewable:end -->
| * Implemented `GetCachedMessages`Tamir Duberstein2015-05-261-0/+2
| |
* | Auto merge of #6140 - nox:cleanup-rootedvec, r=Manishearthbors-servo2015-05-261-3/+5
|\ \ | |/ |/| | | | | | | <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6140) <!-- Reviewable:end -->
| * Optimise use of RootedVec in ScriptTask::handle_event()Anthony Ramine2015-05-261-3/+5
| |
* | Reduce max line length from 150 to 120 charactersCorey Farwell2015-05-241-2/+7
| | | | | | | | Part of https://github.com/servo/servo/issues/6041
* | Auto merge of #5727 - jdm:parserinterrupt2, r=mbrubeckbors-servo2015-05-211-40/+56
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | ...r parsing. Hook up document loading to async networking events. Relies on https://github.com/servo/html5ever/pull/107, so we'll likely need to backport it rather than wait for the next rustc upgrade. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5727) <!-- Reviewable:end -->
| * | Make external script sources load asynchronously, yet still block further ↵Josh Matthews2015-05-201-40/+56
| | | | | | | | | | | | parsing. Hook up document loading to async networking events.
* | | net: Don't load the placeholder image for background images, only forPatrick Walton2015-05-201-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | image fragments. This also changes the way the placeholder is handled in the image cache task to decode it up front instead of each time an image fails to load, both because it was more convenient to implement that way and because it saves CPU cycles to do so. This matches the behavior of Gecko and WebKit. It improves the look of our cached copy of Wikipedia.
* | Add closed pipelines record as a debugging aidGlenn Watson2015-05-201-9/+24
| |
* | Handle case where a page fetch completes after pipeline exits.Glenn Watson2015-05-201-4/+7
| |
* | Address review commentsGlenn Watson2015-05-201-2/+1
| |
* | Fix several hangs / panics during pipeline cleanup of in progress loads.Glenn Watson2015-05-191-5/+24
|/ | | | This fixes a hang found while testing the jQuery test suite.
* Add basic support for executeAsyncScript.James Graham2015-05-141-2/+4
| | | | | | This relies on a global webdriverCallback function, which is visible to content. Obviously that's not a long term solution for a number of reasons, but it allows us to experiment for now
* Make WebDriver Get() command wait on pages loading before returning.James Graham2015-05-141-3/+3
| | | | | This makes using WebDriver significantly less racy. Also refactors the message structure a little
* Various fixes for cleaning up iframes, compositor layers, pipelines and threads.Glenn Watson2015-05-141-1/+12
| | | | This allows most of the jquery test suite to run without exhausting thread resources.