aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_thread.rs
Commit message (Collapse)AuthorAgeFilesLines
* Update hyper to 0.12Bastien Orivel2018-11-011-50/+42
|
* Make first argument of DOMManipulationTaskSource as a Box<ScriptChan +CYBAI2018-10-181-2/+2
| | | | | | | | | | | Send> We don't have `window` for `workers`. So, if we use `global.as_window()` to get the DOMManipulationTaskSource, it will make worker panic. Instead, we should get the DOMManipulationTaskSource from each own thread. Ref: https://github.com/servo/servo/pull/20755#discussion_r193557746
* Implement unhandledrejection eventCYBAI2018-10-181-1/+9
|
* Auto merge of #21881 - pyfisch:keyboard-types, r=paulrougetbors-servo2018-10-171-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use keyboard-types crate Have embedders send DOM keys to servo and use a strongly typed KeyboardEvent from the W3C UI Events spec. All keyboard handling now uses the new types. Introduce a ShortcutMatcher to recognize key bindings. Shortcuts are now recognized in a uniform way. Updated the winit port. Updated webdriver integration. part of #20331 What this PR does: * allow the use non-ASCII keyboards for text input * decouple keyboard event "key" from "code" (key meaning vs location) What this PR does not do: * completely improve keyboard events send from winit and webdriver * add support for CompositionEvent or IME Notes: * The winit embedder does not send keyup events for printable keys (this is a regression) * keyboard-types is on crates.io because I believe it to be useful outside of servo. If you prefer I can add a copy in this repo. <!-- 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/21881) <!-- Reviewable:end -->
| * Use keyboard-types cratePyfisch2018-10-071-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Have embedders send DOM keys to servo and use a strongly typed KeyboardEvent from the W3C UI Events spec. All keyboard handling now uses the new types. Introduce a ShortcutMatcher to recognize key bindings. Shortcuts are now recognized in a uniform way. Updated the winit port. Updated webdriver integration. part of #20331
* | Add task source for media elementchansuke2018-10-101-0/+9
| |
* | Provide webrender_api::RenderApiSender to ScriptThread and DOM WindowVíctor Manuel Jáquez Leal2018-10-081-1/+6
|/ | | | | | | | | | | This will allow the HTMLMediaElement later to get a handle to the RenderApi for rendering video frames. At a later time, all media handling should be moved to its own thread/process that is communicated with via IPC. At that point this can be removed again. Original-patch-by: Sebastian Dröge <sebastian@centricular.com>
* Format script componentchansuke2018-09-191-599/+1056
|
* Create ScriptMsg::GetBrowsingContextInfomandreyel2018-09-141-28/+29
|
* Replace mpsc with crossbeam/servo channel, update ipc-channelSimon Sapin2018-09-121-54/+32
| | | | Co-authored-by: Gregory Terzian <gterzian@users.noreply.github.com>
* Add Websocket task sourceAgustin Chiappe Berrini2018-09-081-0/+6
| | | | | | | | According to the doc: https://html.spec.whatwg.org/multipage/web-sockets.html#network The task source for all tasks queued in the websocket section are the websocket task source, so this commit also updates those references to use the appropriate one.
* Add the TaskSourceName to CommonScriptMsg::TaskAgustin Chiappe Berrini2018-09-041-13/+13
| | | | Update QueuedTaskConversion and the TaskQueue to use it
* introduce task-queues, and throttling the performance-timeline task-source, ↵Gregory Terzian2018-08-311-6/+61
| | | | | | in script and worker threads. queue
* Upgraded to SM 60Alan Jeffrey2018-08-201-3/+3
|
* implement opener, disowningGregory Terzian2018-08-111-9/+41
|
* implement window.open, create auxiliary browsing contextGregory Terzian2018-08-111-0/+12
|
* use remote-event task source in EventSourceGregory Terzian2018-07-131-0/+9
|
* Auto merge of #21028 - asajeffrey:script-dont-trace-parsers, r=Manishearthbors-servo2018-06-081-2/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed panic due to GC while parsing <!-- Please describe your changes on the following line: --> Don't trace the incomplete parsing contexts during GC, as parsing triggers GC while holding a mutable borrow of the context. --- <!-- 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 #21020 <!-- Either: --> - [X] These changes do not require tests because fixing a panic <!-- 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/21028) <!-- Reviewable:end -->
| * Fixed panic due to GC while parsingAlan Jeffrey2018-06-081-2/+11
| |
* | improve spec compliance of window.closeGregory Terzian2018-06-041-21/+0
|/
* move top_level_browsing_context_id out of embedder msgGregory Terzian2018-05-231-3/+2
|
* move msg to embedder_traits, use in script, handle send error in embedderGregory Terzian2018-05-231-6/+8
|
* beforeunload and unload infrastructureGregory Terzian2018-05-051-0/+10
|
* Make session history aware of URLsConnor Brewster2018-04-241-5/+9
|
* Remove insaccessible history statesConnor Brewster2018-04-171-0/+10
|
* Implement history stateConnor Brewster2018-04-161-1/+12
|
* Pass new method in CollectServoSizes for accurate DOM heap use reportingAnthony Weston2018-03-271-30/+7
|
* constellation: Make setting up the WebGL state fallible.Emilio Cobos Álvarez2018-03-091-3/+3
| | | | | | | | | | This fixes a regression caused by the glutin update. We now are creating EGL contexts in Linux Wayland, instead of X context, so the GLContextFactory assumption of one GL back-end per platform is broken. This just works around it, for now, but in general I think not relying on available WebGL state is a good thing, and we do that already for WebVR anyway.
* Auto merge of #20012 - ↵bors-servo2018-02-271-2/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alexfjw:avoid_Window-GetComputedStyle_when_checking_for_display-none, r=emilio Avoid `Window::GetComputedStyle` when checking for `display: none` <!-- Please describe your changes on the following line: --> Refactored Window::GetComputedStyle to use Element::Style. Not sure which tests are relevant, but I've ran the dom, fetch & 2dcontext wpt tests. They don't seem to give errors. --- <!-- 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 #19885. <!-- Either: --> - [x] These changes do not require tests because it's a refactoring task <!-- 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/20012) <!-- Reviewable:end -->
| * Avoid `Window::GetComputedStyle` when checking for `display: none`Alex Fong2018-02-261-2/+1
| |
* | remove mozbrowser codePaul Rouget2018-02-131-48/+16
| |
* | remove forcetouch supportPaul Rouget2018-02-111-15/+1
|/
* Updated content_type of Document and XMLDocument from DOCString to MimeNupur Baghel2018-02-091-1/+1
|
* Print url of recorded PWMFernando Jiménez Moreno2017-12-071-1/+2
|
* Use FetchCanceller for document loadsManish Goregaokar2017-11-221-3/+10
|
* added navigation start for interactive metricsddh2017-11-141-0/+4
|
* changed f64 to u64 for navigation start timing until it had to be floatddh2017-11-011-3/+3
|
* Bump bitflags to 1.0 in every servo crateBastien Orivel2017-10-301-2/+2
|
* added pipelines to all task sourcesddh2017-10-251-55/+59
| | | | changed task sources to accept pipeline ids
* added time to interactive metrics, refactored metrics to use traitsddh2017-10-241-16/+103
| | | | changed task macro to take pipeline info
* Auto merge of #18968 - mbrubeck:try, r=emiliobors-servo2017-10-211-4/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | Use try syntax for Option where appropriate - [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 they are refactoring only <!-- 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/18968) <!-- Reviewable:end -->
| * Use try syntax for Option where appropriateMatt Brubeck2017-10-201-4/+1
| |
| * Auto merge of #18809 - Eijebong:bitflags, r=noxbors-servo2017-10-191-2/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update bitflags to 1.0 in every servo crate It still needs dependencies update to remove all the other bitflags versions. - [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 it's a dependency update <!-- 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/18809) <!-- Reviewable:end -->
| | * Update bitflags to 1.0 in every servo crateBastien Orivel2017-10-191-2/+2
| | | | | | | | | | | | | | | It still needs dependencies update to remove all the other bitflags versions.
* | | Do not trace Rust values when thread is shutting down.Josh Matthews2017-10-201-2/+1
|/ /
* | Auto merge of #18944 - servo:jemallocator2, r=noxbors-servo2017-10-191-2/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | Stop relying on linking details of std’s default allocator We’ve been bitten before by symbol names changing: https://github.com/servo/heapsize/pull/46, and upstream is planning to stop using jemalloc by default: https://github.com/rust-lang/rust/issues/33082#issuecomment-309781465 So use the (relatively) new `#[global_allocator]` attribute to explicitly select the system allocator on Windows and jemalloc (now in an external crate) on other platforms. This choice matches current defaults. <!-- 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/18944) <!-- Reviewable:end -->
| * Stop relying on linking details of std’s default allocatorSimon Sapin2017-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | We’ve been bitten before by symbol names changing: https://github.com/servo/heapsize/pull/46 and upstream is planning to stop using jemalloc by default: https://github.com/rust-lang/rust/issues/33082#issuecomment-309781465 So use the (relatively) new `#[global_allocator]` attribute to explicitly select the system allocator on Windows and jemalloc (now in an external crate) on other platforms. This choice matches current defaults.
* | Auto merge of #18933 - mrobinson:wr-text-index, r=jdmbors-servo2017-10-191-4/+13
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use WebRender to compute text index on click events This is the second half of switching over to WebRender for hit testing. Now that WebRender gives us the location of the hit tested point in the display item, we can use that to calculate text index. <!-- 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 - [x] These changes do not require tests because they shouldn't change behavior. <!-- 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/18933) <!-- Reviewable:end -->
| * Use WebRender to compute text index on click eventsMartin Robinson2017-10-181-4/+13
| | | | | | | | | | | | This is the second half of switching over to WebRender for hit testing. Now that WebRender gives us the location of the hit tested point in the display item, we can use that to calculate text index.
* | Replace all uses of the `heapsize` crate with `malloc_size_of`.Nicholas Nethercote2017-10-181-3/+7
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`. `malloc_size_of` is better -- it handles various cases that `heapsize` does not -- so this patch changes Servo to use `malloc_size_of`. This patch makes the following changes to the `malloc_size_of` crate. - Adds `MallocSizeOf` trait implementations for numerous types, some built-in (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`). - Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't support that operation. - For `HashSet`/`HashMap`, falls back to a computed estimate when `enclosing_size_of_op` isn't available. - Adds an extern "C" `malloc_size_of` function that does the actual heap measurement; this is based on the same functions from the `heapsize` crate. This patch makes the following changes elsewhere. - Converts all the uses of `heapsize` to instead use `malloc_size_of`. - Disables the "heapsize"/"heap_size" feature for the external crates that provide it. - Removes the `HeapSizeOf` implementation from `hashglobe`. - Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of` doesn't derive those types, unlike `heapsize`.