diff options
author | bors-servo <metajack+bors@gmail.com> | 2014-11-12 17:36:32 -0700 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2014-11-12 17:36:32 -0700 |
commit | 26045d7fcbab8851fbefe2851cd904203f8fd8dd (patch) | |
tree | b2d7cf6732758f68df2355aff9ead4d924483002 /components/script/dom | |
parent | 668d9217d8b8d999547fd1e8b690da8c8d80ddda (diff) | |
parent | c7327450ef1328a6045cfb8a47321e78976ca7a8 (diff) | |
download | servo-26045d7fcbab8851fbefe2851cd904203f8fd8dd.tar.gz servo-26045d7fcbab8851fbefe2851cd904203f8fd8dd.zip |
auto merge of #3809 : mrobinson/servo/display-list-optimization, r=pcwalton
Instead of creating a display list for the entire page, only create one
for an area that expands around the viewport. On my machine this makes
incremental layout of http://timecube.com 50% faster.
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/bindings/trace.rs | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index 94d05e4c477..1690cb5ddad 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -28,37 +28,37 @@ //! a datatype. use dom::bindings::js::JS; -use dom::bindings::utils::{Reflectable, Reflector}; +use dom::bindings::utils::{Reflectable, Reflector, WindowProxyHandler}; +use dom::node::{Node, TrustedNodeAddress}; + +use collections::hash::{Hash, Hasher}; +use geom::rect::Rect; +use html5ever::tree_builder::QuirksMode; +use http::headers::request::HeaderCollection as RequestHeaderCollection; +use http::headers::response::HeaderCollection as ResponseHeaderCollection; +use http::method::Method; use js::jsapi::{JSObject, JSTracer, JS_CallTracer, JSTRACE_OBJECT}; use js::jsval::JSVal; - +use js::rust::Cx; +use layout_interface::{LayoutRPC, LayoutChan}; use libc; -use std::rc::Rc; -use std::cell::{Cell, RefCell}; - -use url::Url; use msg::constellation_msg::{PipelineId, SubpageId, WindowSizeData}; use net::image_cache_task::ImageCacheTask; use script_traits::ScriptControlChan; -use std::collections::hashmap::HashMap; -use collections::hash::{Hash, Hasher}; -use style::PropertyDeclarationBlock; -use std::comm::{Receiver, Sender}; -use string_cache::{Atom, Namespace}; -use js::rust::Cx; -use http::headers::response::HeaderCollection as ResponseHeaderCollection; -use http::headers::request::HeaderCollection as RequestHeaderCollection; -use http::method::Method; -use std::io::timer::Timer; use script_traits::UntrustedNodeAddress; use servo_msg::compositor_msg::ScriptListener; use servo_msg::constellation_msg::ConstellationChan; use servo_util::smallvec::{SmallVec1, SmallVec}; use servo_util::str::LengthOrPercentageOrAuto; -use layout_interface::{LayoutRPC, LayoutChan}; -use dom::node::{Node, TrustedNodeAddress}; -use dom::bindings::utils::WindowProxyHandler; -use html5ever::tree_builder::QuirksMode; +use std::cell::{Cell, RefCell}; +use std::collections::hashmap::HashMap; +use std::comm::{Receiver, Sender}; +use std::io::timer::Timer; +use std::rc::Rc; +use string_cache::{Atom, Namespace}; +use style::PropertyDeclarationBlock; +use url::Url; + /// A trait to allow tracing (only) DOM objects. pub trait JSTraceable { @@ -200,6 +200,7 @@ no_jsmanaged_fields!(uint, u8, u16, u32, u64) no_jsmanaged_fields!(int, i8, i16, i32, i64) no_jsmanaged_fields!(Sender<T>) no_jsmanaged_fields!(Receiver<T>) +no_jsmanaged_fields!(Rect<T>) no_jsmanaged_fields!(ImageCacheTask, ScriptControlChan) no_jsmanaged_fields!(Atom, Namespace, Timer) no_jsmanaged_fields!(PropertyDeclarationBlock) |