aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom')
-rw-r--r--src/components/script/dom/document.rs10
-rw-r--r--src/components/script/dom/element.rs2
-rw-r--r--src/components/script/dom/htmliframeelement.rs6
-rw-r--r--src/components/script/dom/htmlimageelement.rs6
-rw-r--r--src/components/script/dom/location.rs2
-rw-r--r--src/components/script/dom/window.rs2
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 {