mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Move LayoutRPC to script_layout_interface.
This commit is contained in:
parent
68d603a6d0
commit
86bfd2cc9f
10 changed files with 122 additions and 92 deletions
|
@ -46,10 +46,10 @@ 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::{LayoutRPC, OffsetParentResponse, NodeOverflowResponse, MarginStyleResponse};
|
|
||||||
use script::layout_interface::{Msg, NewLayoutThreadInfo, Reflow, ReflowQueryType, ScriptReflow};
|
use script::layout_interface::{Msg, NewLayoutThreadInfo, Reflow, ReflowQueryType, ScriptReflow};
|
||||||
use script::reporter::CSSErrorReporter;
|
use script::reporter::CSSErrorReporter;
|
||||||
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::wrapper_traits::LayoutNode;
|
use script_layout_interface::wrapper_traits::LayoutNode;
|
||||||
use script_layout_interface::{OpaqueStyleAndLayoutData, PartialStyleAndLayoutData};
|
use script_layout_interface::{OpaqueStyleAndLayoutData, PartialStyleAndLayoutData};
|
||||||
use script_traits::{ConstellationControlMsg, LayoutControlMsg, LayoutMsg as ConstellationMsg};
|
use script_traits::{ConstellationControlMsg, LayoutControlMsg, LayoutMsg as ConstellationMsg};
|
||||||
|
|
|
@ -16,9 +16,11 @@ use gfx::display_list::OpaqueNode;
|
||||||
use gfx_traits::LayerId;
|
use gfx_traits::LayerId;
|
||||||
use layout_thread::LayoutThreadData;
|
use layout_thread::LayoutThreadData;
|
||||||
use opaque_node::OpaqueNodeMethods;
|
use opaque_node::OpaqueNodeMethods;
|
||||||
use script::layout_interface::{ContentBoxResponse, NodeOverflowResponse, ContentBoxesResponse, NodeGeometryResponse};
|
use script_layout_interface::rpc::{ContentBoxResponse, ContentBoxesResponse};
|
||||||
use script::layout_interface::{HitTestResponse, LayoutRPC, OffsetParentResponse, NodeLayerIdResponse};
|
use script_layout_interface::rpc::{HitTestResponse, LayoutRPC};
|
||||||
use script::layout_interface::{ResolvedStyleResponse, MarginStyleResponse};
|
use script_layout_interface::rpc::{MarginStyleResponse, NodeGeometryResponse};
|
||||||
|
use script_layout_interface::rpc::{NodeLayerIdResponse, NodeOverflowResponse};
|
||||||
|
use script_layout_interface::rpc::{OffsetParentResponse, ResolvedStyleResponse};
|
||||||
use script_layout_interface::wrapper_traits::{LayoutNode, ThreadSafeLayoutNode};
|
use script_layout_interface::wrapper_traits::{LayoutNode, ThreadSafeLayoutNode};
|
||||||
use script_traits::LayoutMsg as ConstellationMsg;
|
use script_traits::LayoutMsg as ConstellationMsg;
|
||||||
use script_traits::UntrustedNodeAddress;
|
use script_traits::UntrustedNodeAddress;
|
||||||
|
|
|
@ -55,7 +55,6 @@ use js::glue::{CallObjectTracer, CallUnbarrieredObjectTracer, CallValueTracer};
|
||||||
use js::jsapi::{GCTraceKindToAscii, Heap, TraceKind, JSObject, JSTracer};
|
use js::jsapi::{GCTraceKindToAscii, Heap, TraceKind, JSObject, JSTracer};
|
||||||
use js::jsval::JSVal;
|
use js::jsval::JSVal;
|
||||||
use js::rust::Runtime;
|
use js::rust::Runtime;
|
||||||
use layout_interface::LayoutRPC;
|
|
||||||
use libc;
|
use libc;
|
||||||
use msg::constellation_msg::{FrameType, PipelineId, SubpageId, WindowSizeData, WindowSizeType, ReferrerPolicy};
|
use msg::constellation_msg::{FrameType, PipelineId, SubpageId, WindowSizeData, WindowSizeType, ReferrerPolicy};
|
||||||
use net_traits::filemanager_thread::SelectedFileId;
|
use net_traits::filemanager_thread::SelectedFileId;
|
||||||
|
@ -68,6 +67,7 @@ use offscreen_gl_context::GLLimits;
|
||||||
use profile_traits::mem::ProfilerChan as MemProfilerChan;
|
use profile_traits::mem::ProfilerChan as MemProfilerChan;
|
||||||
use profile_traits::time::ProfilerChan as TimeProfilerChan;
|
use profile_traits::time::ProfilerChan as TimeProfilerChan;
|
||||||
use script_layout_interface::OpaqueStyleAndLayoutData;
|
use script_layout_interface::OpaqueStyleAndLayoutData;
|
||||||
|
use script_layout_interface::rpc::LayoutRPC;
|
||||||
use script_runtime::ScriptChan;
|
use script_runtime::ScriptChan;
|
||||||
use script_traits::{TimerEventId, TimerSource, TouchpadPressurePhase, UntrustedNodeAddress};
|
use script_traits::{TimerEventId, TimerSource, TouchpadPressurePhase, UntrustedNodeAddress};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
|
@ -42,8 +42,7 @@ 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::{ContentBoxResponse, ContentBoxesResponse, ResolvedStyleResponse, ScriptReflow};
|
use layout_interface::{Msg, Reflow, ReflowQueryType, ScriptReflow};
|
||||||
use layout_interface::{LayoutRPC, Msg, Reflow, ReflowQueryType, MarginStyleResponse};
|
|
||||||
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};
|
||||||
|
@ -60,6 +59,8 @@ 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::rpc::{ContentBoxResponse, ContentBoxesResponse, LayoutRPC};
|
||||||
|
use script_layout_interface::rpc::{MarginStyleResponse, ResolvedStyleResponse};
|
||||||
use script_runtime::{ScriptChan, ScriptPort};
|
use script_runtime::{ScriptChan, ScriptPort};
|
||||||
use script_thread::SendableMainThreadScriptChan;
|
use script_thread::SendableMainThreadScriptChan;
|
||||||
use script_thread::{MainThreadScriptChan, MainThreadScriptMsg, RunnableWrapper};
|
use script_thread::{MainThreadScriptChan, MainThreadScriptMsg, RunnableWrapper};
|
||||||
|
|
|
@ -14,14 +14,14 @@ 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 script_layout_interface::{OpaqueStyleAndLayoutData, TrustedNodeAddress};
|
use script_layout_interface::{OpaqueStyleAndLayoutData, TrustedNodeAddress};
|
||||||
use script_traits::{ConstellationControlMsg, LayoutControlMsg, LayoutMsg as ConstellationMsg};
|
use script_traits::{ConstellationControlMsg, LayoutControlMsg};
|
||||||
use script_traits::{StackingContextScrollState, UntrustedNodeAddress};
|
use script_traits::{LayoutMsg as ConstellationMsg, StackingContextScrollState};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::sync::mpsc::{Receiver, Sender};
|
use std::sync::mpsc::{Receiver, Sender};
|
||||||
use string_cache::Atom;
|
use string_cache::Atom;
|
||||||
use style::context::ReflowGoal;
|
use style::context::ReflowGoal;
|
||||||
use style::properties::longhands::{margin_top, margin_right, margin_bottom, margin_left, overflow_x};
|
|
||||||
use style::selector_impl::PseudoElement;
|
use style::selector_impl::PseudoElement;
|
||||||
use style::servo::Stylesheet;
|
use style::servo::Stylesheet;
|
||||||
use url::Url;
|
use url::Url;
|
||||||
|
@ -101,88 +101,6 @@ pub enum Msg {
|
||||||
SetStackingContextScrollStates(Vec<StackingContextScrollState>),
|
SetStackingContextScrollStates(Vec<StackingContextScrollState>),
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Synchronous messages that script can send to layout.
|
|
||||||
///
|
|
||||||
/// In general, you should use messages to talk to Layout. Use the RPC interface
|
|
||||||
/// if and only if the work is
|
|
||||||
///
|
|
||||||
/// 1) read-only with respect to LayoutThreadData,
|
|
||||||
/// 2) small,
|
|
||||||
/// 3) and really needs to be fast.
|
|
||||||
pub trait LayoutRPC {
|
|
||||||
/// Requests the dimensions of the content box, as in the `getBoundingClientRect()` call.
|
|
||||||
fn content_box(&self) -> ContentBoxResponse;
|
|
||||||
/// Requests the dimensions of all the content boxes, as in the `getClientRects()` call.
|
|
||||||
fn content_boxes(&self) -> ContentBoxesResponse;
|
|
||||||
/// Requests the geometry of this node. Used by APIs such as `clientTop`.
|
|
||||||
fn node_geometry(&self) -> NodeGeometryResponse;
|
|
||||||
/// Requests the overflow-x and overflow-y of this node. Used by `scrollTop` etc.
|
|
||||||
fn node_overflow(&self) -> NodeOverflowResponse;
|
|
||||||
/// Requests the scroll geometry of this node. Used by APIs such as `scrollTop`.
|
|
||||||
fn node_scroll_area(&self) -> NodeGeometryResponse;
|
|
||||||
/// Requests the layer id of this node. Used by APIs such as `scrollTop`
|
|
||||||
fn node_layer_id(&self) -> NodeLayerIdResponse;
|
|
||||||
/// Requests the node containing the point of interest
|
|
||||||
fn hit_test(&self) -> HitTestResponse;
|
|
||||||
/// Query layout for the resolved value of a given CSS property
|
|
||||||
fn resolved_style(&self) -> ResolvedStyleResponse;
|
|
||||||
fn offset_parent(&self) -> OffsetParentResponse;
|
|
||||||
/// Query layout for the resolve values of the margin properties for an element.
|
|
||||||
fn margin_style(&self) -> MarginStyleResponse;
|
|
||||||
|
|
||||||
fn nodes_from_point(&self, point: Point2D<f32>) -> Vec<UntrustedNodeAddress>;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
|
||||||
pub struct MarginStyleResponse {
|
|
||||||
pub top: margin_top::computed_value::T,
|
|
||||||
pub right: margin_right::computed_value::T,
|
|
||||||
pub bottom: margin_bottom::computed_value::T,
|
|
||||||
pub left: margin_left::computed_value::T,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl MarginStyleResponse {
|
|
||||||
pub fn empty() -> MarginStyleResponse {
|
|
||||||
MarginStyleResponse {
|
|
||||||
top: margin_top::computed_value::T::Auto,
|
|
||||||
right: margin_right::computed_value::T::Auto,
|
|
||||||
bottom: margin_bottom::computed_value::T::Auto,
|
|
||||||
left: margin_left::computed_value::T::Auto,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub struct NodeOverflowResponse(pub Option<Point2D<overflow_x::computed_value::T>>);
|
|
||||||
|
|
||||||
pub struct ContentBoxResponse(pub Rect<Au>);
|
|
||||||
pub struct ContentBoxesResponse(pub Vec<Rect<Au>>);
|
|
||||||
pub struct HitTestResponse {
|
|
||||||
pub node_address: Option<UntrustedNodeAddress>,
|
|
||||||
}
|
|
||||||
pub struct NodeGeometryResponse {
|
|
||||||
pub client_rect: Rect<i32>,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub struct NodeLayerIdResponse {
|
|
||||||
pub layer_id: LayerId,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub struct ResolvedStyleResponse(pub Option<String>);
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
|
||||||
pub struct OffsetParentResponse {
|
|
||||||
pub node_address: Option<UntrustedNodeAddress>,
|
|
||||||
pub rect: Rect<Au>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl OffsetParentResponse {
|
|
||||||
pub fn empty() -> OffsetParentResponse {
|
|
||||||
OffsetParentResponse {
|
|
||||||
node_address: None,
|
|
||||||
rect: Rect::zero(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Any query to perform with this reflow.
|
/// Any query to perform with this reflow.
|
||||||
#[derive(PartialEq)]
|
#[derive(PartialEq)]
|
||||||
|
|
|
@ -9,8 +9,10 @@ name = "script_layout_interface"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
app_units = {version = "0.2.3", features = ["plugins"]}
|
||||||
bitflags = "0.7"
|
bitflags = "0.7"
|
||||||
canvas_traits = {path = "../canvas_traits"}
|
canvas_traits = {path = "../canvas_traits"}
|
||||||
|
euclid = {version = "0.6.4", features = ["plugins"]}
|
||||||
gfx_traits = {path = "../gfx_traits"}
|
gfx_traits = {path = "../gfx_traits"}
|
||||||
heapsize = "0.3.0"
|
heapsize = "0.3.0"
|
||||||
heapsize_plugin = "0.1.2"
|
heapsize_plugin = "0.1.2"
|
||||||
|
@ -19,6 +21,7 @@ libc = "0.2"
|
||||||
msg = {path = "../msg"}
|
msg = {path = "../msg"}
|
||||||
plugins = {path = "../plugins"}
|
plugins = {path = "../plugins"}
|
||||||
range = {path = "../range"}
|
range = {path = "../range"}
|
||||||
|
script_traits = {path = "../script_traits"}
|
||||||
selectors = {version = "0.6", features = ["heap_size"]}
|
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"}
|
||||||
|
|
|
@ -14,17 +14,20 @@
|
||||||
#![plugin(heapsize_plugin)]
|
#![plugin(heapsize_plugin)]
|
||||||
#![plugin(plugins)]
|
#![plugin(plugins)]
|
||||||
|
|
||||||
|
extern crate app_units;
|
||||||
#[allow(unused_extern_crates)]
|
#[allow(unused_extern_crates)]
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate bitflags;
|
extern crate bitflags;
|
||||||
extern crate canvas_traits;
|
extern crate canvas_traits;
|
||||||
extern crate core;
|
extern crate core;
|
||||||
|
extern crate euclid;
|
||||||
extern crate gfx_traits;
|
extern crate gfx_traits;
|
||||||
extern crate heapsize;
|
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 range;
|
extern crate range;
|
||||||
|
extern crate script_traits;
|
||||||
extern crate selectors;
|
extern crate selectors;
|
||||||
#[macro_use(atom, ns)]
|
#[macro_use(atom, ns)]
|
||||||
extern crate string_cache;
|
extern crate string_cache;
|
||||||
|
@ -32,6 +35,7 @@ extern crate style;
|
||||||
extern crate url;
|
extern crate url;
|
||||||
|
|
||||||
pub mod restyle_damage;
|
pub mod restyle_damage;
|
||||||
|
pub mod rpc;
|
||||||
pub mod wrapper_traits;
|
pub mod wrapper_traits;
|
||||||
|
|
||||||
use canvas_traits::CanvasMsg;
|
use canvas_traits::CanvasMsg;
|
||||||
|
|
96
components/script_layout_interface/rpc.rs
Normal file
96
components/script_layout_interface/rpc.rs
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* 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/. */
|
||||||
|
|
||||||
|
use app_units::Au;
|
||||||
|
use euclid::point::Point2D;
|
||||||
|
use euclid::rect::Rect;
|
||||||
|
use gfx_traits::LayerId;
|
||||||
|
use script_traits::UntrustedNodeAddress;
|
||||||
|
use style::properties::longhands::{margin_top, margin_right, margin_bottom, margin_left, overflow_x};
|
||||||
|
|
||||||
|
/// Synchronous messages that script can send to layout.
|
||||||
|
///
|
||||||
|
/// In general, you should use messages to talk to Layout. Use the RPC interface
|
||||||
|
/// if and only if the work is
|
||||||
|
///
|
||||||
|
/// 1) read-only with respect to LayoutThreadData,
|
||||||
|
/// 2) small,
|
||||||
|
/// 3) and really needs to be fast.
|
||||||
|
pub trait LayoutRPC {
|
||||||
|
/// Requests the dimensions of the content box, as in the `getBoundingClientRect()` call.
|
||||||
|
fn content_box(&self) -> ContentBoxResponse;
|
||||||
|
/// Requests the dimensions of all the content boxes, as in the `getClientRects()` call.
|
||||||
|
fn content_boxes(&self) -> ContentBoxesResponse;
|
||||||
|
/// Requests the geometry of this node. Used by APIs such as `clientTop`.
|
||||||
|
fn node_geometry(&self) -> NodeGeometryResponse;
|
||||||
|
/// Requests the overflow-x and overflow-y of this node. Used by `scrollTop` etc.
|
||||||
|
fn node_overflow(&self) -> NodeOverflowResponse;
|
||||||
|
/// Requests the scroll geometry of this node. Used by APIs such as `scrollTop`.
|
||||||
|
fn node_scroll_area(&self) -> NodeGeometryResponse;
|
||||||
|
/// Requests the layer id of this node. Used by APIs such as `scrollTop`
|
||||||
|
fn node_layer_id(&self) -> NodeLayerIdResponse;
|
||||||
|
/// Requests the node containing the point of interest
|
||||||
|
fn hit_test(&self) -> HitTestResponse;
|
||||||
|
/// Query layout for the resolved value of a given CSS property
|
||||||
|
fn resolved_style(&self) -> ResolvedStyleResponse;
|
||||||
|
fn offset_parent(&self) -> OffsetParentResponse;
|
||||||
|
/// Query layout for the resolve values of the margin properties for an element.
|
||||||
|
fn margin_style(&self) -> MarginStyleResponse;
|
||||||
|
|
||||||
|
fn nodes_from_point(&self, point: Point2D<f32>) -> Vec<UntrustedNodeAddress>;
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct ContentBoxResponse(pub Rect<Au>);
|
||||||
|
|
||||||
|
pub struct ContentBoxesResponse(pub Vec<Rect<Au>>);
|
||||||
|
|
||||||
|
pub struct NodeGeometryResponse {
|
||||||
|
pub client_rect: Rect<i32>,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct NodeOverflowResponse(pub Option<Point2D<overflow_x::computed_value::T>>);
|
||||||
|
|
||||||
|
pub struct NodeLayerIdResponse {
|
||||||
|
pub layer_id: LayerId,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct HitTestResponse {
|
||||||
|
pub node_address: Option<UntrustedNodeAddress>,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct ResolvedStyleResponse(pub Option<String>);
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct OffsetParentResponse {
|
||||||
|
pub node_address: Option<UntrustedNodeAddress>,
|
||||||
|
pub rect: Rect<Au>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl OffsetParentResponse {
|
||||||
|
pub fn empty() -> OffsetParentResponse {
|
||||||
|
OffsetParentResponse {
|
||||||
|
node_address: None,
|
||||||
|
rect: Rect::zero(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct MarginStyleResponse {
|
||||||
|
pub top: margin_top::computed_value::T,
|
||||||
|
pub right: margin_right::computed_value::T,
|
||||||
|
pub bottom: margin_bottom::computed_value::T,
|
||||||
|
pub left: margin_left::computed_value::T,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl MarginStyleResponse {
|
||||||
|
pub fn empty() -> MarginStyleResponse {
|
||||||
|
MarginStyleResponse {
|
||||||
|
top: margin_top::computed_value::T::Auto,
|
||||||
|
right: margin_right::computed_value::T::Auto,
|
||||||
|
bottom: margin_bottom::computed_value::T::Auto,
|
||||||
|
left: margin_left::computed_value::T::Auto,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
components/servo/Cargo.lock
generated
3
components/servo/Cargo.lock
generated
|
@ -1931,8 +1931,10 @@ dependencies = [
|
||||||
name = "script_layout_interface"
|
name = "script_layout_interface"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"canvas_traits 0.0.1",
|
"canvas_traits 0.0.1",
|
||||||
|
"euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gfx_traits 0.0.1",
|
"gfx_traits 0.0.1",
|
||||||
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -1941,6 +1943,7 @@ dependencies = [
|
||||||
"msg 0.0.1",
|
"msg 0.0.1",
|
||||||
"plugins 0.0.1",
|
"plugins 0.0.1",
|
||||||
"range 0.0.1",
|
"range 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",
|
||||||
|
|
3
ports/cef/Cargo.lock
generated
3
ports/cef/Cargo.lock
generated
|
@ -1789,8 +1789,10 @@ dependencies = [
|
||||||
name = "script_layout_interface"
|
name = "script_layout_interface"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"canvas_traits 0.0.1",
|
"canvas_traits 0.0.1",
|
||||||
|
"euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gfx_traits 0.0.1",
|
"gfx_traits 0.0.1",
|
||||||
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -1799,6 +1801,7 @@ dependencies = [
|
||||||
"msg 0.0.1",
|
"msg 0.0.1",
|
||||||
"plugins 0.0.1",
|
"plugins 0.0.1",
|
||||||
"range 0.0.1",
|
"range 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",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue