aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_traits/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Update webrenderManish Goregaokar2018-11-271-2/+2
|
* introduce a background-hang-monitor:Gregory Terzian2018-11-261-0/+3
| | | | | Mac-Os implementation of a thread sampler, Linux and Windows skeleton implementations.
* Auto merge of #22225 - servo:webgl, r=emiliobors-servo2018-11-211-1/+1
|\ | | | | | | | | | | | | | | Send an IpcSharedMemory in tex_image_2d and tex_sub_image_2d <!-- 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/22225) <!-- Reviewable:end -->
| * Move PixelFormat to the pixels crateAnthony Ramine2018-11-201-1/+1
| |
* | Auto merge of #22224 - pyfisch:composition-webdriver, r=noxbors-servo2018-11-201-2/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+5
| | | | | | | | | | | | | | | | 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 4)Jan Andre Ikenmeyer2018-11-191-1/+1
|/
* Update crossbeam-channel to 0.3Bastien Orivel2018-11-181-1/+7
|
* `cargo fix --edition-idioms`Simon Sapin2018-11-081-25/+2
|
* Remove rustc-serialize from the dependenciesBastien Orivel2018-11-071-1/+0
|
* Reorder importsPyfisch2018-11-061-8/+12
|
* Sort `use` statementsSimon Sapin2018-11-061-1/+1
|
* `cargo fix --edition`Simon Sapin2018-11-061-3/+3
|
* Update hyper to 0.12Bastien Orivel2018-11-011-5/+6
|
* Add lots of derived Debug implsAlan Jeffrey2018-10-291-17/+17
|
* Auto merge of #21881 - pyfisch:keyboard-types, r=paulrougetbors-servo2018-10-171-5/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Rustfmt and make tidy happyFernando Jiménez Moreno2018-10-081-3/+1
| |
* | Provide webrender_api::RenderApiSender to ScriptThread and DOM WindowVíctor Manuel Jáquez Leal2018-10-081-1/+5
|/ | | | | | | | | | | 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>
* Auto merge of #21693 - chansuke:format_script_traits, r=jdmbors-servo2018-09-121-27/+68
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Format components/script_traits <!-- 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 part of #21373. - [x] These changes do not require tests because format the code only. <!-- 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/21693) <!-- Reviewable:end -->
| * Format components/script_traitschansuke2018-09-131-27/+68
| |
* | Replace mpsc with crossbeam/servo channel, update ipc-channelSimon Sapin2018-09-121-7/+2
|/ | | | Co-authored-by: Gregory Terzian <gterzian@users.noreply.github.com>
* Refactor embedder NewBrowser flowGregory Terzian2018-08-111-1/+1
|
* implement opener, disowningGregory Terzian2018-08-111-0/+4
|
* implement window.open, create auxiliary browsing contextGregory Terzian2018-08-111-0/+13
|
* move msg to embedder_traits, use in script, handle send error in embedderGregory Terzian2018-05-231-0/+4
|
* Cleanup constellation debug messagesConnor Brewster2018-05-181-1/+29
|
* beforeunload and unload infrastructureGregory Terzian2018-05-051-0/+3
|
* Make session history aware of URLsConnor Brewster2018-04-241-3/+3
|
* Remove insaccessible history statesConnor Brewster2018-04-171-0/+3
|
* Implement history stateConnor Brewster2018-04-161-2/+5
|
* alias some euclid typesPaul Rouget2018-03-161-2/+2
|
* Use typed coordinates.Paul Rouget2018-03-161-2/+2
| | | | | | | | We use Size2D and Point2D across compositing, constellation and script, losing the type of pixels we use (DevicePixel, DeviceIndepententPixel or CSSPixel) along the way, which might lead to bugs like window.outerHeight not taking into account the page zoom (using DeviceIndepententPixel instead of CSSPixel).
* constellation: Make setting up the WebGL state fallible.Emilio Cobos Álvarez2018-03-091-2/+2
| | | | | | | | | | 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.
* Send window size even when there is not top level browsing context yetPaul Rouget2018-03-091-1/+1
|
* remove mozbrowser codePaul Rouget2018-02-131-99/+3
|
* remove forcetouch supportPaul Rouget2018-02-111-13/+0
|
* Update WebRenderMartin Robinson2018-02-061-2/+2
| | | | | | | | | This allows servo to use the ExternalScrollId API from WebRender fixing some issues related to duplicate scroll root ids. Fixes #17176. Fixes #19287. Fixes #19648.
* style: Move cursor property out of makoIgor Gutorov2018-01-201-2/+2
|
* Paint worklets: Implement timeout for worklet painter threadsYati Sagade2017-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a paint worklet thread takes too long, we would like to move on, since we have a ~16ms budget for rendering @60fps. At the moment, there is no provision in the paintworklet spec to signal such timeouts to the developer. ajeffrey opened an [issue][1] for this, but it got punted to v2 of the spec. Hence we are silently timing out unresponsive paint scripts. The timeout value is chosen to be 10ms by default, and can be overridden by setting the `dom.worklet.timeout_ms` pref. In the absence of such a timeout, the reftest in this commit would fail by timing out the testrunner itself, since the paint script never returns. From my discussions with ajeffrey, this should do until we spec out a way to signal timeouts to the script developer. Since we did not have a better way to trigger a timeout than a busy waiting loop (which would hog one core of the test machine until the timeout was reached), we decided to implement a test only blocking sleep, available to the PaintWorkletGlobalScope. Since `dom.worklet.enabled` enables worklets in general, we also decided to have another pref `dom.worklet.blockingsleep.enabled`, which, in addition to `dom.worklet.enabled`, would be required for the blocking sleep to be available. This fixes #17370. [1]: https://github.com/w3c/css-houdini-drafts/issues/507
* Update euclid, azure, skia, offscreen_gl_context, plane-split, webrenderSimon Sapin2017-12-081-3/+3
|
* changed f64 to u64 for navigation start timing until it had to be floatddh2017-11-011-2/+2
|
* added pipelines to all task sourcesddh2017-10-251-5/+2
| | | | changed task sources to accept pipeline ids
* added time to interactive metrics, refactored metrics to use traitsddh2017-10-241-6/+11
| | | | changed task macro to take pipeline info
* Auto merge of #18933 - mrobinson:wr-text-index, r=jdmbors-servo2017-10-191-1/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+7
| | | | | | | | | | | | 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-20/+16
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* Auto merge of #18704 - mrobinson:wr-hit-testing, r=jdm,glennw,mbrubeckbors-servo2017-10-171-4/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to using WebRender hit testing This trades quite a bit of complicated code in Servo for few more messages and a significant performance improvement. In particular, WebRender can search the entire display list at once instead of ping-ponging down the pipeline tree. This allows us to send mouse events to the correct pipeline immediately. <!-- 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 should not 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/18704) <!-- Reviewable:end -->
| * Switch to using WebRender hit testingMartin Robinson2017-10-171-4/+9
| | | | | | | | | | | | | | | | This trades quite a bit of complicated code in Servo for few more messages and a significant performance improvement. In particular, WebRender can search the entire display list at once instead of ping-ponging down the pipeline tree. This allows us to send mouse events to the correct pipeline immediately.
* | Fix commonmark Markdown warnings in docs, part 1Matt Brubeck2017-10-171-7/+9
|/ | | | | | | | Fixes warnings from rust-lang/rust#44229 when `--enable-commonmark` is passed to rustdoc. This is mostly a global find-and-replace for bare URIs on lines by themselves in doc comments.