mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Move ScriptToConstellationMsg
to constellation_traits
(#36364)
This is the last big change necessary to create the `constellation_traits` crate. This moves the data structure for messages that originate from the `ScriptThread` and are sent to the `Contellation` to `constellation_traits`, effectively splitting `script_traits` in half. Before, `script_traits` was responsible for exposing the API of both the `ScriptThread` and the `Constellation` to the rest of Servo. - Data structures that are used by `ScriptToConstellationMsg` are moved to `constellation_traits`. The dependency graph looks a bit like this: `script_layout_interface` depends on `script_traits` depends on `constellation_traits` depends on `embedder_traits`. - Data structures that are used in the embedding layer (`UntrustedNodeAddress`, `CompositorHitTestResult`, `TouchEventResult` and `AnimationState`) are moved to embedder_traits, to avoid a dependency cycle between `webrender_traits` and `constellation_traits`. - Types dealing with MessagePorts and serialization are moved to `constellation_traits::message_port`. Testing: This is covered by existing tests as it just moves types around. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
a67409fb25
commit
6031a12fd1
77 changed files with 1224 additions and 1222 deletions
|
@ -36,7 +36,10 @@ use base::cross_process_instant::CrossProcessInstant;
|
|||
use base::id::{BrowsingContextId, HistoryStateId, PipelineId, PipelineNamespace, WebViewId};
|
||||
use canvas_traits::webgl::WebGLPipeline;
|
||||
use chrono::{DateTime, Local};
|
||||
use constellation_traits::{CompositorHitTestResult, ScrollState, WindowSizeType};
|
||||
use constellation_traits::{
|
||||
JsEvalResult, LoadData, LoadOrigin, NavigationHistoryBehavior, ScriptToConstellationChan,
|
||||
ScriptToConstellationMessage, ScrollState, StructuredSerializedData, WindowSizeType,
|
||||
};
|
||||
use crossbeam_channel::unbounded;
|
||||
use devtools_traits::{
|
||||
CSSError, DevtoolScriptControlMsg, DevtoolsPageInfo, NavigationState,
|
||||
|
@ -44,7 +47,8 @@ use devtools_traits::{
|
|||
};
|
||||
use embedder_traits::user_content_manager::UserContentManager;
|
||||
use embedder_traits::{
|
||||
EmbedderMsg, InputEvent, MediaSessionActionType, Theme, ViewportDetails, WebDriverScriptCommand,
|
||||
CompositorHitTestResult, EmbedderMsg, InputEvent, MediaSessionActionType, Theme,
|
||||
ViewportDetails, WebDriverScriptCommand,
|
||||
};
|
||||
use euclid::default::Rect;
|
||||
use fonts::{FontContext, SystemFontServiceProxy};
|
||||
|
@ -79,9 +83,7 @@ use script_layout_interface::{
|
|||
};
|
||||
use script_traits::{
|
||||
ConstellationInputEvent, DiscardBrowsingContext, DocumentActivity, InitialScriptState,
|
||||
JsEvalResult, LoadData, LoadOrigin, NavigationHistoryBehavior, NewLayoutInfo, Painter,
|
||||
ProgressiveWebMetricType, ScriptThreadMessage, ScriptToConstellationChan,
|
||||
ScriptToConstellationMessage, StructuredSerializedData, UpdatePipelineIdReason,
|
||||
NewLayoutInfo, Painter, ProgressiveWebMetricType, ScriptThreadMessage, UpdatePipelineIdReason,
|
||||
};
|
||||
use servo_config::opts;
|
||||
use servo_url::{ImmutableOrigin, MutableOrigin, ServoUrl};
|
||||
|
@ -1092,12 +1094,12 @@ impl ScriptThread {
|
|||
{
|
||||
let sequence_id = touch_event.expect_sequence_id();
|
||||
let result = if handled {
|
||||
script_traits::TouchEventResult::DefaultAllowed(
|
||||
embedder_traits::TouchEventResult::DefaultAllowed(
|
||||
sequence_id,
|
||||
touch_event.event_type,
|
||||
)
|
||||
} else {
|
||||
script_traits::TouchEventResult::DefaultPrevented(
|
||||
embedder_traits::TouchEventResult::DefaultPrevented(
|
||||
sequence_id,
|
||||
touch_event.event_type,
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue