Don't use the Untraceable fields outside the module they're defined in.

This pattern will become illegal with the next Rust upgrade.
This commit is contained in:
Ms2ger 2014-03-12 14:30:19 +01:00
parent af616dba58
commit a15cac53bc
8 changed files with 23 additions and 9 deletions

View file

@ -61,7 +61,7 @@ pub struct Document {
content_type: DOMString,
encoding_name: DOMString,
is_html_document: bool,
extra: Untraceable,
priv extra: Untraceable,
}
struct Untraceable {
@ -138,6 +138,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>> {
@ -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