diff options
author | Euclid Ye <yezhizhenjiakang@gmail.com> | 2025-02-14 16:14:57 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-14 08:14:57 +0000 |
commit | 03fc54e682bceebeece0ee556c25b8c9b897726f (patch) | |
tree | 5dc3d2f1ba2c6ec8b4af1b3cfc77c01488d91b9b /components/shared/script/tests | |
parent | 9b3e23633d6115659f4a1534a4a400f952f01e43 (diff) | |
download | servo-03fc54e682bceebeece0ee556c25b8c9b897726f.tar.gz servo-03fc54e682bceebeece0ee556c25b8c9b897726f.zip |
layout: Implement overflow scroll support for different axes (#35414)
* layout: Add AxesScrollSensitivity to enable control of scroll in axis
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout_2013: Be compatible with AxesScrollSensitivity
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout: update struct AxesScrollSensitivity to euclid::Vector2D
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* display_list: implement From<Overflow> for ScrollSensitivity
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout: simplify and reuse scroll related logic
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout_2013: simplify and reuse scroll related logic
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout, layout_2013: revert AxesScrollSensitivity to pair struct
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout: Reimport ComputedOverflow as #35103 depends on it
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout: Add AxesOverflow to replace PhysicalVec
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout: implement scroll of viewport for different axes
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout: explicitly handle overflow match
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* Update components/shared/webrender/Cargo.toml
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/shared/script/tests')
-rw-r--r-- | components/shared/script/tests/compositor.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/components/shared/script/tests/compositor.rs b/components/shared/script/tests/compositor.rs index ee3fd72ad49..c648d5ff681 100644 --- a/components/shared/script/tests/compositor.rs +++ b/components/shared/script/tests/compositor.rs @@ -6,7 +6,7 @@ use euclid::Size2D; use webrender_api::units::LayoutVector2D; use webrender_api::{ExternalScrollId, PipelineId, ScrollLocation, SpatialId}; use webrender_traits::display_list::{ - ScrollSensitivity, ScrollTree, ScrollTreeNodeId, ScrollableNodeInfo, + AxesScrollSensitivity, ScrollSensitivity, ScrollTree, ScrollTreeNodeId, ScrollableNodeInfo, }; fn add_mock_scroll_node(tree: &mut ScrollTree) -> ScrollTreeNodeId { @@ -27,7 +27,10 @@ fn add_mock_scroll_node(tree: &mut ScrollTree) -> ScrollTreeNodeId { Some(ScrollableNodeInfo { external_id: ExternalScrollId(num_nodes as u64, pipeline_id), scrollable_size: Size2D::new(100.0, 100.0), - scroll_sensitivity: ScrollSensitivity::ScriptAndInputEvents, + scroll_sensitivity: AxesScrollSensitivity { + x: ScrollSensitivity::ScriptAndInputEvents, + y: ScrollSensitivity::ScriptAndInputEvents, + }, offset: LayoutVector2D::zero(), }), ) @@ -158,7 +161,10 @@ fn test_scroll_tree_chain_through_overflow_hidden() { .scroll_info .as_mut() .map(|info| { - info.scroll_sensitivity = ScrollSensitivity::Script; + info.scroll_sensitivity = AxesScrollSensitivity { + x: ScrollSensitivity::Script, + y: ScrollSensitivity::Script, + }; }); let (scrolled_id, offset) = scroll_tree |