diff options
Diffstat (limited to 'src/components/script/dom')
-rw-r--r-- | src/components/script/dom/document.rs | 10 | ||||
-rw-r--r-- | src/components/script/dom/element.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/htmliframeelement.rs | 6 | ||||
-rw-r--r-- | src/components/script/dom/htmlimageelement.rs | 6 | ||||
-rw-r--r-- | src/components/script/dom/location.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/window.rs | 2 |
6 files changed, 21 insertions, 7 deletions
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs index 07660e30e88..27e209731e3 100644 --- a/src/components/script/dom/document.rs +++ b/src/components/script/dom/document.rs @@ -61,7 +61,7 @@ pub struct Document { content_type: DOMString, encoding_name: DOMString, is_html_document: bool, - extra: Untraceable, + priv extra: Untraceable, } struct Untraceable { @@ -139,6 +139,12 @@ impl Document { } impl Document { + pub fn url<'a>(&'a self) -> &'a Url { + &self.extra.url + } +} + +impl Document { // http://dom.spec.whatwg.org/#dom-document pub fn Constructor(owner: &JS<Window>) -> Fallible<JS<Document>> { Ok(Document::new(owner, None, NonHTMLDocument, None)) @@ -166,7 +172,7 @@ impl Document { // http://dom.spec.whatwg.org/#dom-document-url pub fn URL(&self) -> DOMString { - self.extra.url.to_str() + self.url().to_str() } // http://dom.spec.whatwg.org/#dom-document-documenturi diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 95e4e7f9af9..0dcce510964 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -241,7 +241,7 @@ impl Element { match local_name.as_slice() { "style" => { let doc = self.node.owner_doc(); - let base_url = doc.get().extra.url.clone(); + let base_url = doc.get().url().clone(); self.style_attribute = Some(style::parse_style_attribute(value, &base_url)) } "id" => { diff --git a/src/components/script/dom/htmliframeelement.rs b/src/components/script/dom/htmliframeelement.rs index 160ecc6c175..79f5282539c 100644 --- a/src/components/script/dom/htmliframeelement.rs +++ b/src/components/script/dom/htmliframeelement.rs @@ -32,7 +32,7 @@ enum SandboxAllowance { #[deriving(Encodable)] pub struct HTMLIFrameElement { htmlelement: HTMLElement, - extra: Untraceable, + priv extra: Untraceable, size: Option<IFrameSize>, sandbox: Option<u8> } @@ -65,6 +65,10 @@ impl HTMLIFrameElement { pub fn is_sandboxed(&self) -> bool { self.sandbox.is_some() } + + pub fn set_frame(&mut self, frame: Url) { + self.extra.frame = Some(frame); + } } impl HTMLIFrameElement { diff --git a/src/components/script/dom/htmlimageelement.rs b/src/components/script/dom/htmlimageelement.rs index 5f2566ed089..147f195a2ce 100644 --- a/src/components/script/dom/htmlimageelement.rs +++ b/src/components/script/dom/htmlimageelement.rs @@ -24,7 +24,7 @@ use extra::serialize::{Encoder, Encodable}; #[deriving(Encodable)] pub struct HTMLImageElement { htmlelement: HTMLElement, - extra: Untraceable, + priv extra: Untraceable, } struct Untraceable { @@ -62,6 +62,10 @@ impl HTMLImageElement { } impl HTMLImageElement { + pub fn image<'a>(&'a self) -> &'a Option<Url> { + &self.extra.image + } + /// Makes the local `image` member match the status of the `src` attribute and starts /// prefetching the image. This method must be called after `src` is changed. fn update_image(&mut self, value: Option<DOMString>, url: Option<Url>) { diff --git a/src/components/script/dom/location.rs b/src/components/script/dom/location.rs index 2fc06fb353b..1714b59f7c1 100644 --- a/src/components/script/dom/location.rs +++ b/src/components/script/dom/location.rs @@ -18,7 +18,7 @@ use extra::serialize::{Encoder, Encodable}; #[deriving(Encodable)] pub struct Location { reflector_: Reflector, //XXXjdm cycle: window->Location->window - extra: Untraceable, + priv extra: Untraceable, } struct Untraceable { diff --git a/src/components/script/dom/window.rs b/src/components/script/dom/window.rs index 7c3d2e90280..867c1da8812 100644 --- a/src/components/script/dom/window.rs +++ b/src/components/script/dom/window.rs @@ -81,7 +81,7 @@ pub struct Window { image_cache_task: ImageCacheTask, active_timers: ~HashSet<TimerHandle>, next_timer_handle: i32, - extra: Untraceable + priv extra: Untraceable } struct Untraceable { |