mirror of
https://github.com/servo/servo.git
synced 2025-06-08 00:23:30 +00:00
Move the remainder of layout_interface into script_layout_interface.
This commit is contained in:
parent
2c50318ee7
commit
9e2e0ff98c
16 changed files with 39 additions and 27 deletions
|
@ -46,9 +46,9 @@ use query::process_offset_parent_query;
|
||||||
use query::{LayoutRPCImpl, process_content_box_request, process_content_boxes_request};
|
use query::{LayoutRPCImpl, process_content_box_request, process_content_boxes_request};
|
||||||
use query::{process_node_geometry_request, process_node_layer_id_request, process_node_scroll_area_request};
|
use query::{process_node_geometry_request, process_node_layer_id_request, process_node_scroll_area_request};
|
||||||
use query::{process_node_overflow_request, process_resolved_style_request, process_margin_style_query};
|
use query::{process_node_overflow_request, process_resolved_style_request, process_margin_style_query};
|
||||||
use script::layout_interface::{Msg, NewLayoutThreadInfo, Reflow, ReflowQueryType, ScriptReflow};
|
|
||||||
use script::layout_wrapper::ServoLayoutNode;
|
use script::layout_wrapper::ServoLayoutNode;
|
||||||
use script::reporter::CSSErrorReporter;
|
use script::reporter::CSSErrorReporter;
|
||||||
|
use script_layout_interface::message::{Msg, NewLayoutThreadInfo, Reflow, ReflowQueryType, ScriptReflow};
|
||||||
use script_layout_interface::restyle_damage::{REPAINT, STORE_OVERFLOW, REFLOW_OUT_OF_FLOW, REFLOW};
|
use script_layout_interface::restyle_damage::{REPAINT, STORE_OVERFLOW, REFLOW_OUT_OF_FLOW, REFLOW};
|
||||||
use script_layout_interface::rpc::{LayoutRPC, MarginStyleResponse, NodeOverflowResponse, OffsetParentResponse};
|
use script_layout_interface::rpc::{LayoutRPC, MarginStyleResponse, NodeOverflowResponse, OffsetParentResponse};
|
||||||
use script_layout_interface::wrapper_traits::LayoutNode;
|
use script_layout_interface::wrapper_traits::LayoutNode;
|
||||||
|
|
|
@ -92,7 +92,6 @@ use html5ever::tree_builder::{LimitedQuirks, NoQuirks, Quirks, QuirksMode};
|
||||||
use ipc_channel::ipc::{self, IpcSender};
|
use ipc_channel::ipc::{self, IpcSender};
|
||||||
use js::jsapi::JS_GetRuntime;
|
use js::jsapi::JS_GetRuntime;
|
||||||
use js::jsapi::{JSContext, JSObject, JSRuntime};
|
use js::jsapi::{JSContext, JSObject, JSRuntime};
|
||||||
use layout_interface::{Msg, ReflowQueryType};
|
|
||||||
use msg::constellation_msg::{ALT, CONTROL, SHIFT, SUPER};
|
use msg::constellation_msg::{ALT, CONTROL, SHIFT, SUPER};
|
||||||
use msg::constellation_msg::{Key, KeyModifiers, KeyState};
|
use msg::constellation_msg::{Key, KeyModifiers, KeyState};
|
||||||
use msg::constellation_msg::{PipelineId, ReferrerPolicy, SubpageId};
|
use msg::constellation_msg::{PipelineId, ReferrerPolicy, SubpageId};
|
||||||
|
@ -103,6 +102,7 @@ use net_traits::{AsyncResponseTarget, PendingAsyncLoad, IpcSend};
|
||||||
use num_traits::ToPrimitive;
|
use num_traits::ToPrimitive;
|
||||||
use origin::Origin;
|
use origin::Origin;
|
||||||
use parse::{ParserRoot, ParserRef, MutNullableParserField};
|
use parse::{ParserRoot, ParserRef, MutNullableParserField};
|
||||||
|
use script_layout_interface::message::{Msg, ReflowQueryType};
|
||||||
use script_thread::{MainThreadScriptMsg, Runnable};
|
use script_thread::{MainThreadScriptMsg, Runnable};
|
||||||
use script_traits::UntrustedNodeAddress;
|
use script_traits::UntrustedNodeAddress;
|
||||||
use script_traits::{AnimationState, MouseButton, MouseEventType, MozBrowserEvent};
|
use script_traits::{AnimationState, MouseButton, MouseEventType, MozBrowserEvent};
|
||||||
|
|
|
@ -38,9 +38,9 @@ use dom::window::{ReflowReason, Window};
|
||||||
use ipc_channel::ipc;
|
use ipc_channel::ipc;
|
||||||
use js::jsapi::{JSAutoCompartment, RootedValue, JSContext, MutableHandleValue};
|
use js::jsapi::{JSAutoCompartment, RootedValue, JSContext, MutableHandleValue};
|
||||||
use js::jsval::{UndefinedValue, NullValue};
|
use js::jsval::{UndefinedValue, NullValue};
|
||||||
use layout_interface::ReflowQueryType;
|
|
||||||
use msg::constellation_msg::{FrameType, LoadData, NavigationDirection, PipelineId, SubpageId};
|
use msg::constellation_msg::{FrameType, LoadData, NavigationDirection, PipelineId, SubpageId};
|
||||||
use net_traits::response::HttpsState;
|
use net_traits::response::HttpsState;
|
||||||
|
use script_layout_interface::message::ReflowQueryType;
|
||||||
use script_traits::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed};
|
use script_traits::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed};
|
||||||
use script_traits::{IFrameLoadInfo, MozBrowserEvent, ScriptMsg as ConstellationMsg};
|
use script_traits::{IFrameLoadInfo, MozBrowserEvent, ScriptMsg as ConstellationMsg};
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
|
|
|
@ -25,9 +25,9 @@ use hyper::header::ContentType;
|
||||||
use hyper::mime::{Mime, TopLevel, SubLevel};
|
use hyper::mime::{Mime, TopLevel, SubLevel};
|
||||||
use ipc_channel::ipc;
|
use ipc_channel::ipc;
|
||||||
use ipc_channel::router::ROUTER;
|
use ipc_channel::router::ROUTER;
|
||||||
use layout_interface::Msg;
|
|
||||||
use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata, NetworkError};
|
use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata, NetworkError};
|
||||||
use network_listener::{NetworkListener, PreInvoke};
|
use network_listener::{NetworkListener, PreInvoke};
|
||||||
|
use script_layout_interface::message::Msg;
|
||||||
use script_traits::{MozBrowserEvent, ScriptMsg as ConstellationMsg};
|
use script_traits::{MozBrowserEvent, ScriptMsg as ConstellationMsg};
|
||||||
use std::ascii::AsciiExt;
|
use std::ascii::AsciiExt;
|
||||||
use std::borrow::ToOwned;
|
use std::borrow::ToOwned;
|
||||||
|
|
|
@ -14,7 +14,7 @@ use dom::element::Element;
|
||||||
use dom::htmlelement::HTMLElement;
|
use dom::htmlelement::HTMLElement;
|
||||||
use dom::node::{ChildrenMutation, Node, document_from_node, window_from_node};
|
use dom::node::{ChildrenMutation, Node, document_from_node, window_from_node};
|
||||||
use dom::virtualmethods::VirtualMethods;
|
use dom::virtualmethods::VirtualMethods;
|
||||||
use layout_interface::Msg;
|
use script_layout_interface::message::Msg;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use string_cache::Atom;
|
use string_cache::Atom;
|
||||||
use style::media_queries::parse_media_query_list;
|
use style::media_queries::parse_media_query_list;
|
||||||
|
|
|
@ -56,11 +56,11 @@ use euclid::size::Size2D;
|
||||||
use heapsize::{HeapSizeOf, heap_size_of};
|
use heapsize::{HeapSizeOf, heap_size_of};
|
||||||
use html5ever::tree_builder::QuirksMode;
|
use html5ever::tree_builder::QuirksMode;
|
||||||
use js::jsapi::{JSContext, JSObject, JSRuntime};
|
use js::jsapi::{JSContext, JSObject, JSRuntime};
|
||||||
use layout_interface::Msg;
|
|
||||||
use libc::{self, c_void, uintptr_t};
|
use libc::{self, c_void, uintptr_t};
|
||||||
use msg::constellation_msg::PipelineId;
|
use msg::constellation_msg::PipelineId;
|
||||||
use parse::html::parse_html_fragment;
|
use parse::html::parse_html_fragment;
|
||||||
use ref_slice::ref_slice;
|
use ref_slice::ref_slice;
|
||||||
|
use script_layout_interface::message::Msg;
|
||||||
use script_layout_interface::{HTMLCanvasData, OpaqueStyleAndLayoutData};
|
use script_layout_interface::{HTMLCanvasData, OpaqueStyleAndLayoutData};
|
||||||
use script_layout_interface::{LayoutNodeType, LayoutElementType, TrustedNodeAddress};
|
use script_layout_interface::{LayoutNodeType, LayoutElementType, TrustedNodeAddress};
|
||||||
use script_traits::UntrustedNodeAddress;
|
use script_traits::UntrustedNodeAddress;
|
||||||
|
|
|
@ -42,7 +42,6 @@ use js::jsapi::{Evaluate2, HandleObject, HandleValue, JSAutoCompartment, JSConte
|
||||||
use js::jsapi::{JS_GetRuntime, JS_GC, MutableHandleValue, SetWindowProxy};
|
use js::jsapi::{JS_GetRuntime, JS_GC, MutableHandleValue, SetWindowProxy};
|
||||||
use js::rust::CompileOptionsWrapper;
|
use js::rust::CompileOptionsWrapper;
|
||||||
use js::rust::Runtime;
|
use js::rust::Runtime;
|
||||||
use layout_interface::{Msg, Reflow, ReflowQueryType, ScriptReflow};
|
|
||||||
use libc;
|
use libc;
|
||||||
use msg::constellation_msg::{FrameType, LoadData, PanicMsg, PipelineId, SubpageId};
|
use msg::constellation_msg::{FrameType, LoadData, PanicMsg, PipelineId, SubpageId};
|
||||||
use msg::constellation_msg::{WindowSizeData, WindowSizeType};
|
use msg::constellation_msg::{WindowSizeData, WindowSizeType};
|
||||||
|
@ -59,6 +58,7 @@ use profile_traits::time::{ProfilerChan, TimerMetadataReflowType, profile};
|
||||||
use reporter::CSSErrorReporter;
|
use reporter::CSSErrorReporter;
|
||||||
use rustc_serialize::base64::{FromBase64, STANDARD, ToBase64};
|
use rustc_serialize::base64::{FromBase64, STANDARD, ToBase64};
|
||||||
use script_layout_interface::TrustedNodeAddress;
|
use script_layout_interface::TrustedNodeAddress;
|
||||||
|
use script_layout_interface::message::{Msg, Reflow, ReflowQueryType, ScriptReflow};
|
||||||
use script_layout_interface::rpc::{ContentBoxResponse, ContentBoxesResponse, LayoutRPC};
|
use script_layout_interface::rpc::{ContentBoxResponse, ContentBoxesResponse, LayoutRPC};
|
||||||
use script_layout_interface::rpc::{MarginStyleResponse, ResolvedStyleResponse};
|
use script_layout_interface::rpc::{MarginStyleResponse, ResolvedStyleResponse};
|
||||||
use script_runtime::{ScriptChan, ScriptPort};
|
use script_runtime::{ScriptChan, ScriptPort};
|
||||||
|
|
|
@ -94,7 +94,6 @@ mod devtools;
|
||||||
pub mod document_loader;
|
pub mod document_loader;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
pub mod dom;
|
pub mod dom;
|
||||||
pub mod layout_interface;
|
|
||||||
pub mod layout_wrapper;
|
pub mod layout_wrapper;
|
||||||
mod mem;
|
mod mem;
|
||||||
mod network_listener;
|
mod network_listener;
|
||||||
|
|
|
@ -61,7 +61,6 @@ use js::jsapi::{JSAutoCompartment, JSContext, JS_SetWrapObjectCallbacks};
|
||||||
use js::jsapi::{JSTracer, SetWindowProxyClass};
|
use js::jsapi::{JSTracer, SetWindowProxyClass};
|
||||||
use js::jsval::UndefinedValue;
|
use js::jsval::UndefinedValue;
|
||||||
use js::rust::Runtime;
|
use js::rust::Runtime;
|
||||||
use layout_interface::{self, NewLayoutThreadInfo, ReflowQueryType};
|
|
||||||
use mem::heap_size_of_self_and_children;
|
use mem::heap_size_of_self_and_children;
|
||||||
use msg::constellation_msg::{FrameType, LoadData, PanicMsg, PipelineId, PipelineNamespace};
|
use msg::constellation_msg::{FrameType, LoadData, PanicMsg, PipelineId, PipelineNamespace};
|
||||||
use msg::constellation_msg::{SubpageId, WindowSizeData, WindowSizeType};
|
use msg::constellation_msg::{SubpageId, WindowSizeData, WindowSizeType};
|
||||||
|
@ -77,6 +76,7 @@ use parse::html::{ParseContext, parse_html};
|
||||||
use parse::xml::{self, parse_xml};
|
use parse::xml::{self, parse_xml};
|
||||||
use profile_traits::mem::{self, OpaqueSender, Report, ReportKind, ReportsChan};
|
use profile_traits::mem::{self, OpaqueSender, Report, ReportKind, ReportsChan};
|
||||||
use profile_traits::time::{self, ProfilerCategory, profile};
|
use profile_traits::time::{self, ProfilerCategory, profile};
|
||||||
|
use script_layout_interface::message::{self, NewLayoutThreadInfo, ReflowQueryType};
|
||||||
use script_runtime::{CommonScriptMsg, ScriptChan, ScriptThreadEventCategory};
|
use script_runtime::{CommonScriptMsg, ScriptChan, ScriptThreadEventCategory};
|
||||||
use script_runtime::{ScriptPort, StackRootTLS, new_rt_and_cx, get_reports};
|
use script_runtime::{ScriptPort, StackRootTLS, new_rt_and_cx, get_reports};
|
||||||
use script_traits::CompositorEvent::{KeyEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent};
|
use script_traits::CompositorEvent::{KeyEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent};
|
||||||
|
@ -135,7 +135,7 @@ struct InProgressLoad {
|
||||||
/// The current window size associated with this pipeline.
|
/// The current window size associated with this pipeline.
|
||||||
window_size: Option<WindowSizeData>,
|
window_size: Option<WindowSizeData>,
|
||||||
/// Channel to the layout thread associated with this pipeline.
|
/// Channel to the layout thread associated with this pipeline.
|
||||||
layout_chan: Sender<layout_interface::Msg>,
|
layout_chan: Sender<message::Msg>,
|
||||||
/// The current viewport clipping rectangle applying to this pipeline, if any.
|
/// The current viewport clipping rectangle applying to this pipeline, if any.
|
||||||
clip_rect: Option<Rect<f32>>,
|
clip_rect: Option<Rect<f32>>,
|
||||||
/// Window is frozen (navigated away while loading for example).
|
/// Window is frozen (navigated away while loading for example).
|
||||||
|
@ -150,7 +150,7 @@ impl InProgressLoad {
|
||||||
/// Create a new InProgressLoad object.
|
/// Create a new InProgressLoad object.
|
||||||
fn new(id: PipelineId,
|
fn new(id: PipelineId,
|
||||||
parent_info: Option<(PipelineId, SubpageId, FrameType)>,
|
parent_info: Option<(PipelineId, SubpageId, FrameType)>,
|
||||||
layout_chan: Sender<layout_interface::Msg>,
|
layout_chan: Sender<message::Msg>,
|
||||||
window_size: Option<WindowSizeData>,
|
window_size: Option<WindowSizeData>,
|
||||||
url: Url) -> InProgressLoad {
|
url: Url) -> InProgressLoad {
|
||||||
InProgressLoad {
|
InProgressLoad {
|
||||||
|
@ -438,11 +438,11 @@ impl<'a> Drop for ScriptMemoryFailsafe<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ScriptThreadFactory for ScriptThread {
|
impl ScriptThreadFactory for ScriptThread {
|
||||||
type Message = layout_interface::Msg;
|
type Message = message::Msg;
|
||||||
|
|
||||||
fn create(state: InitialScriptState,
|
fn create(state: InitialScriptState,
|
||||||
load_data: LoadData)
|
load_data: LoadData)
|
||||||
-> (Sender<layout_interface::Msg>, Receiver<layout_interface::Msg>) {
|
-> (Sender<message::Msg>, Receiver<message::Msg>) {
|
||||||
let panic_chan = state.panic_chan.clone();
|
let panic_chan = state.panic_chan.clone();
|
||||||
let (script_chan, script_port) = channel();
|
let (script_chan, script_port) = channel();
|
||||||
|
|
||||||
|
@ -1184,7 +1184,7 @@ impl ScriptThread {
|
||||||
|
|
||||||
// Tell layout to actually spawn the thread.
|
// Tell layout to actually spawn the thread.
|
||||||
parent_window.layout_chan()
|
parent_window.layout_chan()
|
||||||
.send(layout_interface::Msg::CreateLayoutThread(layout_creation_info))
|
.send(message::Msg::CreateLayoutThread(layout_creation_info))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
// Kick off the fetch for the new resource.
|
// Kick off the fetch for the new resource.
|
||||||
|
@ -1462,10 +1462,10 @@ impl ScriptThread {
|
||||||
// processed this message.
|
// processed this message.
|
||||||
let (response_chan, response_port) = channel();
|
let (response_chan, response_port) = channel();
|
||||||
let chan = &load.layout_chan;
|
let chan = &load.layout_chan;
|
||||||
if chan.send(layout_interface::Msg::PrepareToExit(response_chan)).is_ok() {
|
if chan.send(message::Msg::PrepareToExit(response_chan)).is_ok() {
|
||||||
debug!("shutting down layout for page {:?}", id);
|
debug!("shutting down layout for page {:?}", id);
|
||||||
response_port.recv().unwrap();
|
response_port.recv().unwrap();
|
||||||
chan.send(layout_interface::Msg::ExitNow).ok();
|
chan.send(message::Msg::ExitNow).ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
let has_pending_loads = self.incomplete_loads.borrow().len() > 0;
|
let has_pending_loads = self.incomplete_loads.borrow().len() > 0;
|
||||||
|
@ -1523,7 +1523,7 @@ impl ScriptThread {
|
||||||
{
|
{
|
||||||
// send the final url to the layout thread.
|
// send the final url to the layout thread.
|
||||||
incomplete.layout_chan
|
incomplete.layout_chan
|
||||||
.send(layout_interface::Msg::SetFinalUrl(final_url.clone()))
|
.send(message::Msg::SetFinalUrl(final_url.clone()))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
// update the pipeline url
|
// update the pipeline url
|
||||||
|
@ -2126,7 +2126,7 @@ fn shut_down_layout(context_tree: &BrowsingContext) {
|
||||||
let (response_chan, response_port) = channel();
|
let (response_chan, response_port) = channel();
|
||||||
let window = context.active_window();
|
let window = context.active_window();
|
||||||
let chan = window.layout_chan().clone();
|
let chan = window.layout_chan().clone();
|
||||||
if chan.send(layout_interface::Msg::PrepareToExit(response_chan)).is_ok() {
|
if chan.send(message::Msg::PrepareToExit(response_chan)).is_ok() {
|
||||||
channels.push(chan);
|
channels.push(chan);
|
||||||
response_port.recv().unwrap();
|
response_port.recv().unwrap();
|
||||||
}
|
}
|
||||||
|
@ -2143,7 +2143,7 @@ fn shut_down_layout(context_tree: &BrowsingContext) {
|
||||||
|
|
||||||
// Destroy the layout thread. If there were node leaks, layout will now crash safely.
|
// Destroy the layout thread. If there were node leaks, layout will now crash safely.
|
||||||
for chan in channels {
|
for chan in channels {
|
||||||
chan.send(layout_interface::Msg::ExitNow).ok();
|
chan.send(message::Msg::ExitNow).ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,8 @@ heapsize_plugin = "0.1.2"
|
||||||
ipc-channel = {git = "https://github.com/servo/ipc-channel"}
|
ipc-channel = {git = "https://github.com/servo/ipc-channel"}
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
msg = {path = "../msg"}
|
msg = {path = "../msg"}
|
||||||
|
net_traits = {path = "../net_traits"}
|
||||||
|
profile_traits = {path = "../profile_traits"}
|
||||||
plugins = {path = "../plugins"}
|
plugins = {path = "../plugins"}
|
||||||
range = {path = "../range"}
|
range = {path = "../range"}
|
||||||
script_traits = {path = "../script_traits"}
|
script_traits = {path = "../script_traits"}
|
||||||
|
@ -26,3 +28,4 @@ selectors = {version = "0.6", features = ["heap_size"]}
|
||||||
string_cache = {version = "0.2.20", features = ["heap_size"]}
|
string_cache = {version = "0.2.20", features = ["heap_size"]}
|
||||||
style = {path = "../style"}
|
style = {path = "../style"}
|
||||||
url = {version = "1.0.0", features = ["heap_size"]}
|
url = {version = "1.0.0", features = ["heap_size"]}
|
||||||
|
util = {path = "../util"}
|
||||||
|
|
|
@ -26,6 +26,8 @@ extern crate heapsize;
|
||||||
extern crate ipc_channel;
|
extern crate ipc_channel;
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
extern crate msg;
|
extern crate msg;
|
||||||
|
extern crate net_traits;
|
||||||
|
extern crate profile_traits;
|
||||||
extern crate range;
|
extern crate range;
|
||||||
extern crate script_traits;
|
extern crate script_traits;
|
||||||
extern crate selectors;
|
extern crate selectors;
|
||||||
|
@ -33,7 +35,9 @@ extern crate selectors;
|
||||||
extern crate string_cache;
|
extern crate string_cache;
|
||||||
extern crate style;
|
extern crate style;
|
||||||
extern crate url;
|
extern crate url;
|
||||||
|
extern crate util;
|
||||||
|
|
||||||
|
pub mod message;
|
||||||
pub mod restyle_damage;
|
pub mod restyle_damage;
|
||||||
pub mod rpc;
|
pub mod rpc;
|
||||||
pub mod wrapper_traits;
|
pub mod wrapper_traits;
|
||||||
|
|
|
@ -2,10 +2,6 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
//! The high-level interface from script to layout. Using this abstract
|
|
||||||
//! interface helps reduce coupling between these two components, and enables
|
|
||||||
//! the DOM to be placed in a separate crate from layout.
|
|
||||||
|
|
||||||
use app_units::Au;
|
use app_units::Au;
|
||||||
use euclid::point::Point2D;
|
use euclid::point::Point2D;
|
||||||
use euclid::rect::Rect;
|
use euclid::rect::Rect;
|
||||||
|
@ -14,8 +10,7 @@ use ipc_channel::ipc::{IpcReceiver, IpcSender};
|
||||||
use msg::constellation_msg::{PanicMsg, PipelineId, WindowSizeData};
|
use msg::constellation_msg::{PanicMsg, PipelineId, WindowSizeData};
|
||||||
use net_traits::image_cache_thread::ImageCacheThread;
|
use net_traits::image_cache_thread::ImageCacheThread;
|
||||||
use profile_traits::mem::ReportsChan;
|
use profile_traits::mem::ReportsChan;
|
||||||
use script_layout_interface::rpc::LayoutRPC;
|
use rpc::LayoutRPC;
|
||||||
use script_layout_interface::{OpaqueStyleAndLayoutData, TrustedNodeAddress};
|
|
||||||
use script_traits::{ConstellationControlMsg, LayoutControlMsg};
|
use script_traits::{ConstellationControlMsg, LayoutControlMsg};
|
||||||
use script_traits::{LayoutMsg as ConstellationMsg, StackingContextScrollState};
|
use script_traits::{LayoutMsg as ConstellationMsg, StackingContextScrollState};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
@ -26,6 +21,7 @@ use style::selector_impl::PseudoElement;
|
||||||
use style::servo::Stylesheet;
|
use style::servo::Stylesheet;
|
||||||
use url::Url;
|
use url::Url;
|
||||||
use util::ipc::OptionalOpaqueIpcSender;
|
use util::ipc::OptionalOpaqueIpcSender;
|
||||||
|
use {OpaqueStyleAndLayoutData, TrustedNodeAddress};
|
||||||
|
|
||||||
/// Asynchronous messages that script can send to layout.
|
/// Asynchronous messages that script can send to layout.
|
||||||
pub enum Msg {
|
pub enum Msg {
|
4
components/servo/Cargo.lock
generated
4
components/servo/Cargo.lock
generated
|
@ -33,6 +33,7 @@ dependencies = [
|
||||||
"profile_tests 0.0.1",
|
"profile_tests 0.0.1",
|
||||||
"profile_traits 0.0.1",
|
"profile_traits 0.0.1",
|
||||||
"script 0.0.1",
|
"script 0.0.1",
|
||||||
|
"script_layout_interface 0.0.1",
|
||||||
"script_tests 0.0.1",
|
"script_tests 0.0.1",
|
||||||
"script_traits 0.0.1",
|
"script_traits 0.0.1",
|
||||||
"style 0.0.1",
|
"style 0.0.1",
|
||||||
|
@ -1941,13 +1942,16 @@ dependencies = [
|
||||||
"ipc-channel 0.2.3 (git+https://github.com/servo/ipc-channel)",
|
"ipc-channel 0.2.3 (git+https://github.com/servo/ipc-channel)",
|
||||||
"libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"msg 0.0.1",
|
"msg 0.0.1",
|
||||||
|
"net_traits 0.0.1",
|
||||||
"plugins 0.0.1",
|
"plugins 0.0.1",
|
||||||
|
"profile_traits 0.0.1",
|
||||||
"range 0.0.1",
|
"range 0.0.1",
|
||||||
"script_traits 0.0.1",
|
"script_traits 0.0.1",
|
||||||
"selectors 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"selectors 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"string_cache 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
"string_cache 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"style 0.0.1",
|
"style 0.0.1",
|
||||||
"url 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"util 0.0.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
|
@ -43,6 +43,7 @@ compiletest_helper = {path = "../../tests/compiletest/helper"}
|
||||||
plugin_compiletest = {path = "../../tests/compiletest/plugin"}
|
plugin_compiletest = {path = "../../tests/compiletest/plugin"}
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
script_layout_interface = {path = "../script_layout_interface"}
|
||||||
webrender_traits = {git = "https://github.com/servo/webrender_traits"}
|
webrender_traits = {git = "https://github.com/servo/webrender_traits"}
|
||||||
webrender = {git = "https://github.com/servo/webrender"}
|
webrender = {git = "https://github.com/servo/webrender"}
|
||||||
compositing = {path = "../compositing"}
|
compositing = {path = "../compositing"}
|
||||||
|
|
|
@ -39,6 +39,7 @@ pub extern crate profile;
|
||||||
pub extern crate profile_traits;
|
pub extern crate profile_traits;
|
||||||
pub extern crate script;
|
pub extern crate script;
|
||||||
pub extern crate script_traits;
|
pub extern crate script_traits;
|
||||||
|
pub extern crate script_layout_interface;
|
||||||
pub extern crate style;
|
pub extern crate style;
|
||||||
pub extern crate url;
|
pub extern crate url;
|
||||||
pub extern crate util;
|
pub extern crate util;
|
||||||
|
@ -229,7 +230,7 @@ fn create_constellation(opts: opts::Opts,
|
||||||
webrender_api_sender: webrender_api_sender,
|
webrender_api_sender: webrender_api_sender,
|
||||||
};
|
};
|
||||||
let constellation_chan =
|
let constellation_chan =
|
||||||
Constellation::<script::layout_interface::Msg,
|
Constellation::<script_layout_interface::message::Msg,
|
||||||
layout::layout_thread::LayoutThread,
|
layout::layout_thread::LayoutThread,
|
||||||
script::script_thread::ScriptThread>::start(initial_state);
|
script::script_thread::ScriptThread>::start(initial_state);
|
||||||
|
|
||||||
|
@ -263,7 +264,7 @@ pub fn run_content_process(token: String) {
|
||||||
|
|
||||||
script::init();
|
script::init();
|
||||||
|
|
||||||
unprivileged_content.start_all::<script::layout_interface::Msg,
|
unprivileged_content.start_all::<script_layout_interface::message::Msg,
|
||||||
layout::layout_thread::LayoutThread,
|
layout::layout_thread::LayoutThread,
|
||||||
script::script_thread::ScriptThread>(true);
|
script::script_thread::ScriptThread>(true);
|
||||||
}
|
}
|
||||||
|
|
4
ports/cef/Cargo.lock
generated
4
ports/cef/Cargo.lock
generated
|
@ -1799,13 +1799,16 @@ dependencies = [
|
||||||
"ipc-channel 0.2.3 (git+https://github.com/servo/ipc-channel)",
|
"ipc-channel 0.2.3 (git+https://github.com/servo/ipc-channel)",
|
||||||
"libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"msg 0.0.1",
|
"msg 0.0.1",
|
||||||
|
"net_traits 0.0.1",
|
||||||
"plugins 0.0.1",
|
"plugins 0.0.1",
|
||||||
|
"profile_traits 0.0.1",
|
||||||
"range 0.0.1",
|
"range 0.0.1",
|
||||||
"script_traits 0.0.1",
|
"script_traits 0.0.1",
|
||||||
"selectors 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"selectors 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"string_cache 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
"string_cache 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"style 0.0.1",
|
"style 0.0.1",
|
||||||
"url 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"util 0.0.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -1915,6 +1918,7 @@ dependencies = [
|
||||||
"profile 0.0.1",
|
"profile 0.0.1",
|
||||||
"profile_traits 0.0.1",
|
"profile_traits 0.0.1",
|
||||||
"script 0.0.1",
|
"script 0.0.1",
|
||||||
|
"script_layout_interface 0.0.1",
|
||||||
"script_traits 0.0.1",
|
"script_traits 0.0.1",
|
||||||
"style 0.0.1",
|
"style 0.0.1",
|
||||||
"url 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue