aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_traits
Commit message (Collapse)AuthorAgeFilesLines
* Move `*_traits` and other shared types to `shared`Martin Robinson2023-11-038-2792/+0
| | | | | | | | | | | | This is the start of the organization of types that are in their own crates in order to break dependency cycles between other crates. The idea here is that putting these packages into their own directory is the first step toward cleaning them up. They have grown organically and it is difficult to explain to new folks where to put new shared types. Many of these crates contain more than traits or don't contain traits at all. Notably, `script_traits` isn't touched because it is vendored from Gecko. Eventually this will move to `third_party`.
* Enable debug assertions for all builds other than official releases (#30509)Delan Azabani2023-10-261-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Run main and try jobs with debug assertions * use single quotes in workflow expressions * set force-debug-assertions in main.yml * set force-debug-assertions as part of decision job * fix typo in MachCommands.build * fix more hardcoded profile names * fix tidy * split cargo_profile_option on windows * Fix running servoshell and unit tests through a symlink * rename steps to make them less confusing * fix more hardcoded cargo profile options * fix missing inputs in linux-wpt and mac-wpt * make filename an inherent method of Resource * rework release-with-debug-assertions profile to production profile * rework resource logic to eliminate std_test_override * set production flag in nightly release builds * clean up servobuild.example and windows.yml * oops forgot to check in embedder_traits/build.rs * fix mach test-unit behaviour through symlink * unit tests only need current_dir and ancestors * fix macOS package smoketest breakage * expect css/css-color/currentcolor-003 to crash under layout 2013 * fix more references to {force,release-with}-debug-assertions * fix local build failures under --profile production
* Rename messages forwarded from the constellation to the compositor (#30496)Martin Robinson2023-10-051-9/+17
| | | | | | The constellation forwards messages from other tasks to the compositor. Mainly, these are passed to WebRender. This change updates the names of these messages so it is clearer where they are coming from and where they are going.
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-117-59/+50
| | | | | * strict imports formatting * Reformat all imports
* Upgrade WebRender to e491e1ae637b2eed1e7195855d88357e5eb3ddf9 (#30323)Martin Robinson2023-09-102-19/+9
| | | | | | | | | | | | | | | | | | * Upgrade vendored version of WebRender * Patch WebRender: upgrade version of gleam * Restore hit testing implementation * Fix WebRender warnings * Adapt Servo to new WebRender * Update results * Add a workaround for #30313 This slightly expands text boundaries in order to take into account the fact that layout isn't measuring glyph boundaries.
* remove `extern crate` (#30311)Samson2023-09-086-9/+11
| | | | | | | | | | | * remove extern crate * Update components/script_plugins/lib.rs Co-authored-by: Martin Robinson <mrobinson@igalia.com> --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* constellation: crash to a new “sad tab” error page (#30290)Delan Azabani2023-09-061-0/+4
| | | | | | | | | | | | | | | | | | | | | * constellation: crash to a new “sad tab” page * check in resources/crash.html * use a separate enum variant instead of keying on reason * fmt + tidy * rename Resource::Crash to Resource::CrashHTML * clean up crash page and add details (reason + backtrace) * avoid repeating crash errors in script::script_thread warn log * make new LoadData init more idiomatic * clarify comments and new fields * fix doc comment style
* Remove `EventLoopWaker` from Constellation (#30101)Atbrakhi2023-08-151-3/+1
| | | | | | | | | | | | | * remove event_loop_waker that is always None * remove None event_loop_waker form InitialScriptState * fix formatting * remove None event_loop_waker from ScriptThread * remove None EventLoopWaker from Window * remove None and use of wake_after_send in webgl code
* Try to `use` WebRender types moreMartin Robinson2023-07-101-14/+13
| | | | | The newer versions of WebRender move types around between `webrender` and `webrender_api` and this will reduce the churn during the upgrade.
* Vendor the current version of WebRenderMartin Robinson2023-07-031-1/+1
| | | | | | | | This is a step toward upgrading WebRender, which will be upgraded and patched in the `third_party` directory. This change vendors the current private branch of WebRender that we use and adds a `patches` directory which tracks the changes on top of the upstream WebRender commit described by third_party/webrender/patches/head.
* It was removed from the spec and it's disabled everywhere.Emilio Cobos Álvarez2023-06-301-4/+0
| | | | This also removes the meta viewport support (which was implemented on top), but that also had a single test and is disabled everywhere, so I'm not too concerned, it can be implemented again if / when needed.
* Clean up and document the `send_display_list` interfaceMartin Robinson2023-05-242-25/+34
| | | | | | This moves more members to the CompositorDisplayListInfo struct, which now holds all miscellaneous, non-WebRender data when sending display lists. It also documents what each things sent with a display list does.
* Add a compositor-side scroll treeMartin Robinson2023-05-194-4/+436
| | | | | | This will allow the compositor to properly chain scrolling requests up when a node has reached the extent of the scroll area. This fixes scrolling on servo.org.
* Start the transition to workspace dependenciesMartin Robinson2023-05-171-17/+17
| | | | | | | This will ultimately make it simpler to update crate dependencies and reduce duplicate when specifying requirements. Generally, this change does not touch dependencies that are only used by a single crate. We could consider moving them to workspace dependencies in the future.
* Clean up arguments passed to ScriptThreadMartin Robinson2023-05-011-9/+0
|
* Scroll from script should trigger a reflowMartin Robinson2023-04-251-1/+1
| | | | | | | | | Scrolling from script should flow layout and send a display list to WebRender. This allows all of the scroll nodes to exist in WebRender before asking it to move the node. See https://gist.github.com/paulirish/5d52fb081b3570c81e3a. Fixes #29659.
* Add support for <iframe> elements for Layout 2020Martin Robinson2023-04-042-13/+4
| | | | | | This change adds support for the <iframe> element to Layout 2020. In addition, certain aspects of the implementation are made the same between both layout systems.
* Move hit testing information out of WebRenderMartin Robinson2023-03-152-4/+72
| | | | | | | | | Store hit testing information in a data structure that sits alongside the display list in the compositor. This will allow the compositor to store more information per-node. The data structure also takes care of de-duplicating information between successive display list entries. In the future, the data structure can be even more aggressive in producing smaller side hit testing lists, if necessary.
* Bump euclid to 0.22Martin Robinson2023-01-261-1/+1
| | | | | | | | | | | | | - Also updates raqote to latest with an upgrade of font-kit to 0.11 applied on as a patch - Update lyon_geom to the latest version Major change: - All matrices are now stored in row major order. This means that parameters to rotation functions no longer should be negated. - `post_...()` functions are now named `then()`. `pre_transform()` is removed, so `then()` is used and the order of operations changed.
* chore(deps): bump `smallvec` from 0.6 to 1.9 in all local packagesyvt2022-10-101-1/+1
| | | | | `smallvec ^0.6` no longer compiles after `nightly-2022-07-15` if the `union` feature is enabled.
* Update cookie/hyper_serde.Josh Matthews2022-04-011-2/+2
|
* Update keyboard-types.Josh Matthews2022-04-011-1/+1
|
* Use IpcBytesReceiver to send Display list dataWu Yu Wei2022-03-101-2/+7
|
* Add SerializedImageData to use IpcBytesReceiverYu-Wei Wu2022-03-101-3/+75
|
* Upgrade HyperNaveen Gattu2022-01-162-5/+5
|
* Bump `time` to latest `v0.1.x` version.teymour-aldridge2021-06-251-1/+1
|
* Add creation url and Secure ContextsJonathan Kingston2020-11-251-0/+12
|
* devtools: Treat session history traversal like a navigation.Josh Matthews2020-08-101-0/+3
|
* Fix ordering of mousemove eventUtsav Oza2020-07-301-1/+1
|
* Unfocus input when virtual keyboard is dismissedPaul Rouget2020-07-131-0/+2
|
* Auto merge of #27114 - paulrouget:key_events, r=jdmbors-servo2020-06-301-1/+1
|\ | | | | | | | | | | | | [UWP] Key events This is the initial work required for proper keyboard events. The text controller implementation is very basic, just enough to show the virtual keyboard when it's needed, and have basic key events.
| * update keyboard-types cratePaul Rouget2020-06-291-1/+1
| |
* | ensure clean shutdown of all threads running JSGregory Terzian2020-06-301-1/+1
|/
* Make url for "client" referrer mandatoryMatthias Deiml2020-06-171-2/+2
|
* Implement GPUSwapChain and GPUCanvasContext and interface with WebrenderKunal Mohan2020-06-131-1/+4
|
* script: Don't panic when IPC WebRender APIs fail during shutdown.Josh Matthews2020-06-091-3/+3
|
* Remove unecessary webrender document from layout.Josh Matthews2020-06-091-23/+9
|
* integrate readablestream with fetch and blobGregory Terzian2020-06-041-3/+3
|
* reading unminified scripts from diskskrzyp12020-06-021-0/+1
|
* More Cargo.toml updatesatouchet2020-05-301-17/+17
|
* Remove some unused dependency declarationsSimon Sapin2020-05-291-1/+0
| | | | | | This is based on compiling with `RUSTFLAGS="-W unused_crate_dependencies"` (CC https://github.com/rust-lang/rust/pull/72342) in a recent Nightly (more so than used in the tree as of this writing, CC https://github.com/servo/servo/issues/26661 for work-arounds). Only one crate is actually removed from the dependency graph, others are still dependended from other places.
* Implement client-side logic for WebGPU id recyclingKunal Mohan2020-05-221-0/+4
|
* serviceworker: make job queue unique per originGregory Terzian2020-05-212-7/+110
|
* Auto merge of #26335 - jdm:wrup, r=SimonSapinbors-servo2020-05-121-6/+20
|\ | | | | | | Update webrender.
| * Convert all uses of UpdateResources api to use webrender transactions.Josh Matthews2020-05-111-6/+20
| |
* | Move most animation processing to scriptMartin Robinson2020-05-122-58/+0
|/ | | | | | | This is preparation for sharing this code with layout_2020 and implementing selective off-the-main-thread animations. We still look for nodes not in the flow tree in the layout thread.
* Start having animations conform to the HTML specMartin Robinson2020-05-051-13/+17
| | | | | | | | | | | | | | This is a small step toward fixing #19242. The main idea is that the clock for animations should advance as the event loop ticks. We accomplish this by moving the clock from layout and naming it the "animation timeline" which is the spec language. This should fix flakiness with animations and transitions tests where a reflow could move animations forward while script was running. This change also starts to break out transition and animation events into their own data structure, because it's quite likely that the next step in fixing #19242 is to no longer send these events through a channel.
* Use a restyle for animation ticksMartin Robinson2020-05-052-10/+13
| | | | | | | | | | | | | | This change corrects synchronization issues with animations, by reworking the animation processing model to do a quick restyle and incremental layout when ticking animations. While this change adds overhead to animation ticks, the idea is that this will be the fallback when synchronous behavior is required to fulfill specification requirements. In the optimistic case, many animations could be updated and applied off-the-main-thread and then resynchronized when style information is queried by script. Fixes #13865.
* Add support for animationend eventMartin Robinson2020-05-011-12/+37
| | | | | | | | | | This is triggered when an animation finishes. This is a high priority because it allows us to start rooting nodes with animations in the script thread. This doesn't yet cause a lot of tests to pass because they rely on the existence of `Document.getAnimations()` and the presence of `animationstart` and animationiteration` events.
* Add support for transitionrun eventsMartin Robinson2020-04-241-1/+3
| | | | | | These events are triggered as soon as a transition is added to the list of running transitions. This will allow better test coverage while reworking the transitions and animations processing model.