diff options
Diffstat (limited to 'components/script/page.rs')
-rw-r--r-- | components/script/page.rs | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/components/script/page.rs b/components/script/page.rs index 90f07955bfb..9fc7d74d2e9 100644 --- a/components/script/page.rs +++ b/components/script/page.rs @@ -2,6 +2,7 @@ * 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 dom::bindings::cell::{DOMRefCell, Ref, RefMut}; use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods; use dom::bindings::codegen::InheritTypes::NodeCast; use dom::bindings::js::{JS, JSRef, Temporary, OptionalRootable}; @@ -25,7 +26,7 @@ use servo_msg::constellation_msg::{PipelineId, SubpageId}; use servo_net::resource_task::ResourceTask; use servo_util::str::DOMString; use servo_util::smallvec::{SmallVec1, SmallVec}; -use std::cell::{Cell, RefCell, Ref, RefMut}; +use std::cell::Cell; use std::comm::{channel, Receiver, Empty, Disconnected}; use std::mem::replace; use std::rc::Rc; @@ -44,7 +45,7 @@ pub struct Page { pub last_reflow_id: Cell<uint>, /// The outermost frame containing the document, window, and page URL. - pub frame: RefCell<Option<Frame>>, + pub frame: DOMRefCell<Option<Frame>>, /// A handle for communicating messages to the layout task. pub layout_chan: LayoutChan, @@ -53,18 +54,18 @@ pub struct Page { layout_rpc: Box<LayoutRPC+'static>, /// The port that we will use to join layout. If this is `None`, then layout is not running. - pub layout_join_port: RefCell<Option<Receiver<()>>>, + pub layout_join_port: DOMRefCell<Option<Receiver<()>>>, /// The current size of the window, in pixels. pub window_size: Cell<WindowSizeData>, - js_info: RefCell<Option<JSPageInfo>>, + js_info: DOMRefCell<Option<JSPageInfo>>, /// Cached copy of the most recent url loaded by the script /// TODO(tkuehn): this currently does not follow any particular caching policy /// and simply caches pages forever (!). The bool indicates if reflow is required /// when reloading. - url: RefCell<Option<(Url, bool)>>, + url: DOMRefCell<Option<(Url, bool)>>, next_subpage_id: Cell<SubpageId>, @@ -72,10 +73,10 @@ pub struct Page { pub resize_event: Cell<Option<WindowSizeData>>, /// Any nodes that need to be dirtied before the next reflow. - pub pending_dirty_nodes: RefCell<SmallVec1<UntrustedNodeAddress>>, + pub pending_dirty_nodes: DOMRefCell<SmallVec1<UntrustedNodeAddress>>, /// Pending scroll to fragment event, if any - pub fragment_name: RefCell<Option<String>>, + pub fragment_name: DOMRefCell<Option<String>>, /// Associated resource task for use by DOM objects like XMLHttpRequest pub resource_task: ResourceTask, @@ -84,7 +85,7 @@ pub struct Page { pub constellation_chan: ConstellationChan, // Child Pages. - pub children: RefCell<Vec<Rc<Page>>>, + pub children: DOMRefCell<Vec<Rc<Page>>>, /// Whether layout needs to be run at all. pub damaged: Cell<bool>, @@ -142,21 +143,21 @@ impl Page { Page { id: id, subpage_id: subpage_id, - frame: RefCell::new(None), + frame: DOMRefCell::new(None), layout_chan: layout_chan, layout_rpc: layout_rpc, - layout_join_port: RefCell::new(None), + layout_join_port: DOMRefCell::new(None), window_size: Cell::new(window_size), - js_info: RefCell::new(Some(js_info)), - url: RefCell::new(None), + js_info: DOMRefCell::new(Some(js_info)), + url: DOMRefCell::new(None), next_subpage_id: Cell::new(SubpageId(0)), resize_event: Cell::new(None), - pending_dirty_nodes: RefCell::new(SmallVec1::new()), - fragment_name: RefCell::new(None), + pending_dirty_nodes: DOMRefCell::new(SmallVec1::new()), + fragment_name: DOMRefCell::new(None), last_reflow_id: Cell::new(0), resource_task: resource_task, constellation_chan: constellation_chan, - children: RefCell::new(vec!()), + children: DOMRefCell::new(vec!()), damaged: Cell::new(false), pending_reflows: Cell::new(0), avoided_reflows: Cell::new(0), |