aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2014-12-01 14:13:50 -0500
committerManish Goregaokar <manishsmail@gmail.com>2014-12-27 02:53:35 +0530
commitd761877ef692f46970315ee0008fe0f3254323eb (patch)
tree3b389c5f820d35570126b05632e739349045a275 /components/script
parent7d656735616a6ab852e20a86f65428d1103ceca3 (diff)
downloadservo-d761877ef692f46970315ee0008fe0f3254323eb.tar.gz
servo-d761877ef692f46970315ee0008fe0f3254323eb.zip
Add inheritance-checking lint
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/bindings/utils.rs5
-rw-r--r--components/script/dom/browsercontext.rs4
-rw-r--r--components/script/dom/errorevent.rs8
-rw-r--r--components/script/dom/event.rs9
4 files changed, 17 insertions, 9 deletions
diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs
index 3482633ba67..9cf2c3eea47 100644
--- a/components/script/dom/bindings/utils.rs
+++ b/components/script/dom/bindings/utils.rs
@@ -346,9 +346,12 @@ pub fn reflect_dom_object<T: Reflectable>
}
/// A struct to store a reference to the reflector of a DOM object.
-#[allow(raw_pointer_deriving, unrooted_must_root)]
+// Allowing unused_attribute because the lint sometimes doesn't run in order
+#[allow(raw_pointer_deriving, unrooted_must_root, unused_attributes)]
#[deriving(PartialEq)]
#[must_root]
+#[servo_lang = "reflector"]
+// If you're renaming or moving this field, update the path in plugins::reflector as well
pub struct Reflector {
object: Cell<*mut JSObject>,
}
diff --git a/components/script/dom/browsercontext.rs b/components/script/dom/browsercontext.rs
index ed987f3a687..3ee2387b4f6 100644
--- a/components/script/dom/browsercontext.rs
+++ b/components/script/dom/browsercontext.rs
@@ -65,7 +65,9 @@ impl BrowserContext {
}
}
-#[dom_struct]
+#[must_root]
+#[privatize]
+#[jstraceable]
pub struct SessionHistoryEntry {
document: JS<Document>,
children: Vec<BrowserContext>
diff --git a/components/script/dom/errorevent.rs b/components/script/dom/errorevent.rs
index d4f048a8f47..8692420f7f1 100644
--- a/components/script/dom/errorevent.rs
+++ b/components/script/dom/errorevent.rs
@@ -12,7 +12,7 @@ use dom::bindings::js::{JSRef, Temporary, MutHeap};
use js::jsapi::JSContext;
use dom::bindings::trace::JSTraceable;
-use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
+use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventTypeId, EventBubbles, EventCancelable};
use servo_util::str::DOMString;
@@ -127,9 +127,3 @@ impl<'a> ErrorEventMethods for JSRef<'a, ErrorEvent> {
}
}
-
-impl Reflectable for ErrorEvent {
- fn reflector<'a>(&'a self) -> &'a Reflector {
- self.event.reflector()
- }
-}
diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs
index 1ece583009f..a8455a94e6f 100644
--- a/components/script/dom/event.rs
+++ b/components/script/dom/event.rs
@@ -240,3 +240,12 @@ impl<'a> EventMethods for JSRef<'a, Event> {
}
}
+pub trait EventHelpers {
+ fn set_trusted(self, trusted: bool);
+}
+
+impl<'a> EventHelpers for JSRef<'a, Event> {
+ fn set_trusted(self, trusted: bool) {
+ self.trusted.set(trusted);
+ }
+}