aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_traits/lib.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2023-05-15 15:48:12 +0200
committerMartin Robinson <mrobinson@igalia.com>2023-05-19 09:05:48 +0200
commitc56a81480647805e8ef5567d77a38568ccfcd9f2 (patch)
tree87e8836fe5fbee2762f5a25b36873898d6c9be0f /components/script_traits/lib.rs
parent918557ad6d04cd2bd73516e9ccb9019bdaa53500 (diff)
downloadservo-c56a81480647805e8ef5567d77a38568ccfcd9f2.tar.gz
servo-c56a81480647805e8ef5567d77a38568ccfcd9f2.zip
Add a compositor-side scroll tree
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.
Diffstat (limited to 'components/script_traits/lib.rs')
-rw-r--r--components/script_traits/lib.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs
index 4eaf90ea7fc..90be1e44910 100644
--- a/components/script_traits/lib.rs
+++ b/components/script_traits/lib.rs
@@ -30,6 +30,7 @@ use crate::transferable::MessagePortImpl;
use crate::webdriver_msg::{LoadStatus, WebDriverScriptCommand};
use bluetooth_traits::BluetoothRequest;
use canvas_traits::webgl::WebGLPipeline;
+use compositor::ScrollTreeNodeId;
use crossbeam_channel::{Receiver, RecvTimeoutError, Sender};
use devtools_traits::{DevtoolScriptControlMsg, ScriptToDevtoolsControlMsg, WorkerId};
use embedder_traits::{Cursor, EventLoopWaker};
@@ -1118,6 +1119,9 @@ pub struct CompositorHitTestResult {
/// The cursor that should be used when hovering the item hit by the hit test.
pub cursor: Option<Cursor>,
+
+ /// The scroll tree node associated with this hit test item.
+ pub scroll_tree_node: ScrollTreeNodeId,
}
/// The set of WebRender operations that can be initiated by the content process.