Move HTMLCanvasData to script_layout_interface.

This commit is contained in:
Ms2ger 2016-06-15 14:05:05 +01:00
parent 6b847eb93a
commit 000e2de57a
9 changed files with 22 additions and 12 deletions

View file

@ -29,7 +29,7 @@ use net_traits::image::base::{Image, ImageMetadata};
use net_traits::image_cache_thread::{ImageOrMetadataAvailable, UsePlaceholder}; use net_traits::image_cache_thread::{ImageOrMetadataAvailable, UsePlaceholder};
use range::*; use range::*;
use rustc_serialize::{Encodable, Encoder}; use rustc_serialize::{Encodable, Encoder};
use script::layout_interface::HTMLCanvasData; use script_layout_interface::HTMLCanvasData;
use script_layout_interface::restyle_damage::{RECONSTRUCT_FLOW, RestyleDamage}; use script_layout_interface::restyle_damage::{RECONSTRUCT_FLOW, RestyleDamage};
use std::borrow::ToOwned; use std::borrow::ToOwned;
use std::cmp::{max, min}; use std::cmp::{max, min};

View file

@ -40,12 +40,12 @@ use opaque_node::OpaqueNodeMethods;
use range::Range; use range::Range;
use script::layout_interface::{CAN_BE_FRAGMENTED, HAS_CHANGED, HAS_DIRTY_DESCENDANTS, IS_DIRTY}; use script::layout_interface::{CAN_BE_FRAGMENTED, HAS_CHANGED, HAS_DIRTY_DESCENDANTS, IS_DIRTY};
use script::layout_interface::{CharacterDataTypeId, Document, Element, ElementTypeId}; use script::layout_interface::{CharacterDataTypeId, Document, Element, ElementTypeId};
use script::layout_interface::{HTMLCanvasData, HTMLElementTypeId, LayoutCharacterDataHelpers}; use script::layout_interface::{HTMLElementTypeId, LayoutCharacterDataHelpers};
use script::layout_interface::{LayoutDocumentHelpers, LayoutElementHelpers, LayoutJS}; use script::layout_interface::{LayoutDocumentHelpers, LayoutElementHelpers, LayoutJS};
use script::layout_interface::{LayoutNodeHelpers, Node, NodeTypeId}; use script::layout_interface::{LayoutNodeHelpers, Node, NodeTypeId};
use script::layout_interface::{RawLayoutElementHelpers, Text, TrustedNodeAddress}; use script::layout_interface::{RawLayoutElementHelpers, Text, TrustedNodeAddress};
use script_layout_interface::LayoutNodeType;
use script_layout_interface::restyle_damage::RestyleDamage; use script_layout_interface::restyle_damage::RestyleDamage;
use script_layout_interface::{HTMLCanvasData, LayoutNodeType};
use script_layout_interface::{OpaqueStyleAndLayoutData, PartialStyleAndLayoutData}; use script_layout_interface::{OpaqueStyleAndLayoutData, PartialStyleAndLayoutData};
use selectors::matching::{DeclarationBlock, ElementFlags}; use selectors::matching::{DeclarationBlock, ElementFlags};
use selectors::parser::{AttrSelector, NamespaceConstraint}; use selectors::parser::{AttrSelector, NamespaceConstraint};

View file

@ -30,6 +30,7 @@ use ipc_channel::ipc::{self, IpcSender};
use js::jsapi::{HandleValue, JSContext}; use js::jsapi::{HandleValue, JSContext};
use offscreen_gl_context::GLContextAttributes; use offscreen_gl_context::GLContextAttributes;
use rustc_serialize::base64::{STANDARD, ToBase64}; use rustc_serialize::base64::{STANDARD, ToBase64};
use script_layout_interface::HTMLCanvasData;
use std::iter::repeat; use std::iter::repeat;
use string_cache::Atom; use string_cache::Atom;
use style::attr::AttrValue; use style::attr::AttrValue;
@ -92,12 +93,6 @@ impl HTMLCanvasElement {
} }
} }
pub struct HTMLCanvasData {
pub ipc_renderer: Option<IpcSender<CanvasMsg>>,
pub width: u32,
pub height: u32,
}
pub trait LayoutHTMLCanvasElementHelpers { pub trait LayoutHTMLCanvasElementHelpers {
fn data(&self) -> HTMLCanvasData; fn data(&self) -> HTMLCanvasData;
} }

View file

@ -37,7 +37,7 @@ use dom::documenttype::DocumentType;
use dom::element::{Element, ElementCreator}; use dom::element::{Element, ElementCreator};
use dom::eventtarget::EventTarget; use dom::eventtarget::EventTarget;
use dom::htmlbodyelement::HTMLBodyElement; use dom::htmlbodyelement::HTMLBodyElement;
use dom::htmlcanvaselement::{LayoutHTMLCanvasElementHelpers, HTMLCanvasData}; use dom::htmlcanvaselement::LayoutHTMLCanvasElementHelpers;
use dom::htmlcollection::HTMLCollection; use dom::htmlcollection::HTMLCollection;
use dom::htmlelement::HTMLElement; use dom::htmlelement::HTMLElement;
use dom::htmliframeelement::{HTMLIFrameElement, HTMLIFrameElementLayoutMethods}; use dom::htmliframeelement::{HTMLIFrameElement, HTMLIFrameElementLayoutMethods};
@ -61,7 +61,7 @@ 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::OpaqueStyleAndLayoutData; use script_layout_interface::{HTMLCanvasData, OpaqueStyleAndLayoutData};
use script_layout_interface::{LayoutNodeType, LayoutElementType}; use script_layout_interface::{LayoutNodeType, LayoutElementType};
use script_traits::UntrustedNodeAddress; use script_traits::UntrustedNodeAddress;
use selectors::matching::matches; use selectors::matching::matches;

View file

@ -33,7 +33,6 @@ pub use dom::bindings::js::LayoutJS;
pub use dom::characterdata::LayoutCharacterDataHelpers; pub use dom::characterdata::LayoutCharacterDataHelpers;
pub use dom::document::{Document, LayoutDocumentHelpers}; pub use dom::document::{Document, LayoutDocumentHelpers};
pub use dom::element::{Element, LayoutElementHelpers, RawLayoutElementHelpers}; pub use dom::element::{Element, LayoutElementHelpers, RawLayoutElementHelpers};
pub use dom::htmlcanvaselement::HTMLCanvasData;
pub use dom::htmlobjectelement::is_image_data; pub use dom::htmlobjectelement::is_image_data;
pub use dom::node::{CAN_BE_FRAGMENTED, HAS_CHANGED, HAS_DIRTY_DESCENDANTS, IS_DIRTY}; pub use dom::node::{CAN_BE_FRAGMENTED, HAS_CHANGED, HAS_DIRTY_DESCENDANTS, IS_DIRTY};
pub use dom::node::LayoutNodeHelpers; pub use dom::node::LayoutNodeHelpers;

View file

@ -10,7 +10,9 @@ path = "lib.rs"
[dependencies] [dependencies]
bitflags = "0.7" bitflags = "0.7"
canvas_traits = {path = "../canvas_traits"}
heapsize = "0.3.0" heapsize = "0.3.0"
heapsize_plugin = "0.1.2" heapsize_plugin = "0.1.2"
ipc-channel = {git = "https://github.com/servo/ipc-channel"}
plugins = {path = "../plugins"} plugins = {path = "../plugins"}
style = {path = "../style"} style = {path = "../style"}

View file

@ -17,13 +17,17 @@
#[allow(unused_extern_crates)] #[allow(unused_extern_crates)]
#[macro_use] #[macro_use]
extern crate bitflags; extern crate bitflags;
extern crate canvas_traits;
extern crate core; extern crate core;
extern crate heapsize; extern crate heapsize;
extern crate ipc_channel;
extern crate style; extern crate style;
pub mod restyle_damage; pub mod restyle_damage;
use canvas_traits::CanvasMsg;
use core::nonzero::NonZero; use core::nonzero::NonZero;
use ipc_channel::ipc::IpcSender;
use restyle_damage::RestyleDamage; use restyle_damage::RestyleDamage;
use std::cell::RefCell; use std::cell::RefCell;
use style::servo::PrivateStyleData; use style::servo::PrivateStyleData;
@ -69,3 +73,9 @@ pub enum LayoutElementType {
HTMLTableSectionElement, HTMLTableSectionElement,
HTMLTextAreaElement, HTMLTextAreaElement,
} }
pub struct HTMLCanvasData {
pub ipc_renderer: Option<IpcSender<CanvasMsg>>,
pub width: u32,
pub height: u32,
}

View file

@ -1931,8 +1931,10 @@ name = "script_layout_interface"
version = "0.0.1" version = "0.0.1"
dependencies = [ dependencies = [
"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",
"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)",
"ipc-channel 0.2.3 (git+https://github.com/servo/ipc-channel)",
"plugins 0.0.1", "plugins 0.0.1",
"style 0.0.1", "style 0.0.1",
] ]

2
ports/cef/Cargo.lock generated
View file

@ -1789,8 +1789,10 @@ name = "script_layout_interface"
version = "0.0.1" version = "0.0.1"
dependencies = [ dependencies = [
"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",
"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)",
"ipc-channel 0.2.3 (git+https://github.com/servo/ipc-channel)",
"plugins 0.0.1", "plugins 0.0.1",
"style 0.0.1", "style 0.0.1",
] ]