From ffdc3f5b32a345b88eed774848924e862d47c093 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Fri, 28 Mar 2014 10:17:56 -0400 Subject: Turn on GC all the time. Fix rooting errors during parsing and storing timers. Fix borrow errors during tracing. --- src/components/script/dom/validitystate.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/components/script/dom/validitystate.rs') diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs index 042d41a829a..9a03134169f 100644 --- a/src/components/script/dom/validitystate.rs +++ b/src/components/script/dom/validitystate.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::BindingDeclarations::ValidityStateBinding; -use dom::bindings::js::JS; +use dom::bindings::js::{JS, JSRef}; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; use dom::window::Window; @@ -23,8 +23,8 @@ impl ValidityState { } } - pub fn new(window: &JS) -> JS { - reflect_dom_object(~ValidityState::new_inherited(window.clone()), + pub fn new(window: &JSRef) -> JS { + reflect_dom_object(~ValidityState::new_inherited(window.unrooted()), window, ValidityStateBinding::Wrap) } -- cgit v1.2.3 From d7b96db33ca8f2b8a162df38e0f00e95f5ea6fa1 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 31 Mar 2014 18:41:28 -0400 Subject: Implement safe rooting strategy via Unrooted, Root, JSRef, and JS. --- src/components/script/dom/validitystate.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/components/script/dom/validitystate.rs') diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs index 9a03134169f..02b0b9a7a11 100644 --- a/src/components/script/dom/validitystate.rs +++ b/src/components/script/dom/validitystate.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::BindingDeclarations::ValidityStateBinding; -use dom::bindings::js::{JS, JSRef}; +use dom::bindings::js::{JS, JSRef, Unrooted}; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; use dom::window::Window; @@ -23,7 +23,7 @@ impl ValidityState { } } - pub fn new(window: &JSRef) -> JS { + pub fn new(window: &JSRef) -> Unrooted { reflect_dom_object(~ValidityState::new_inherited(window.unrooted()), window, ValidityStateBinding::Wrap) -- cgit v1.2.3 From 76783b029e5e10da7fd61ab356a8f80a1eaf32e0 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 10 Apr 2014 21:29:54 -0400 Subject: Move WebIDL methods to traits implemented by JSRef types. --- src/components/script/dom/validitystate.rs | 33 +++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 10 deletions(-) (limited to 'src/components/script/dom/validitystate.rs') diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs index 02b0b9a7a11..d4d829f842b 100644 --- a/src/components/script/dom/validitystate.rs +++ b/src/components/script/dom/validitystate.rs @@ -30,44 +30,57 @@ impl ValidityState { } } -impl ValidityState { - pub fn ValueMissing(&self) -> bool { +pub trait ValidityStateMethods { + fn ValueMissing(&self) -> bool; + fn TypeMismatch(&self) -> bool; + fn PatternMismatch(&self) -> bool; + fn TooLong(&self) -> bool; + fn RangeUnderflow(&self) -> bool; + fn RangeOverflow(&self) -> bool; + fn StepMismatch(&self) -> bool; + fn CustomError(&self) -> bool; + fn Valid(&self) -> bool; +} + +impl<'a> ValidityStateMethods for JSRef<'a, ValidityState> { + fn ValueMissing(&self) -> bool { false } - pub fn TypeMismatch(&self) -> bool { + fn TypeMismatch(&self) -> bool { false } - pub fn PatternMismatch(&self) -> bool { + fn PatternMismatch(&self) -> bool { false } - pub fn TooLong(&self) -> bool { + fn TooLong(&self) -> bool { false } - pub fn RangeUnderflow(&self) -> bool { + fn RangeUnderflow(&self) -> bool { false } - pub fn RangeOverflow(&self) -> bool { + fn RangeOverflow(&self) -> bool { false } - pub fn StepMismatch(&self) -> bool { + fn StepMismatch(&self) -> bool { false } - pub fn CustomError(&self) -> bool { + fn CustomError(&self) -> bool { false } - pub fn Valid(&self) -> bool { + fn Valid(&self) -> bool { true } } + impl Reflectable for ValidityState { fn reflector<'a>(&'a self) -> &'a Reflector { &self.reflector_ -- cgit v1.2.3 From 522d3f167b12fa79401eea5525c7b6133cae0f06 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 17 Apr 2014 17:08:00 -0400 Subject: s/Unrooted/Temporary/g --- src/components/script/dom/validitystate.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/components/script/dom/validitystate.rs') diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs index d4d829f842b..f60e646b3ff 100644 --- a/src/components/script/dom/validitystate.rs +++ b/src/components/script/dom/validitystate.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::BindingDeclarations::ValidityStateBinding; -use dom::bindings::js::{JS, JSRef, Unrooted}; +use dom::bindings::js::{JS, JSRef, Temporary}; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; use dom::window::Window; @@ -23,7 +23,7 @@ impl ValidityState { } } - pub fn new(window: &JSRef) -> Unrooted { + pub fn new(window: &JSRef) -> Temporary { reflect_dom_object(~ValidityState::new_inherited(window.unrooted()), window, ValidityStateBinding::Wrap) -- cgit v1.2.3 From 0f2d0b1dc3d98ef109627dda061c5a54ff06a91d Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Fri, 18 Apr 2014 00:12:52 -0400 Subject: Address review comments. --- src/components/script/dom/validitystate.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/components/script/dom/validitystate.rs') diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs index f60e646b3ff..7069b1572dd 100644 --- a/src/components/script/dom/validitystate.rs +++ b/src/components/script/dom/validitystate.rs @@ -15,16 +15,16 @@ pub struct ValidityState { } impl ValidityState { - pub fn new_inherited(window: JS) -> ValidityState { + pub fn new_inherited(window: &JSRef) -> ValidityState { ValidityState { reflector_: Reflector::new(), - window: window, + window: window.unrooted(), state: 0, } } pub fn new(window: &JSRef) -> Temporary { - reflect_dom_object(~ValidityState::new_inherited(window.unrooted()), + reflect_dom_object(~ValidityState::new_inherited(window), window, ValidityStateBinding::Wrap) } -- cgit v1.2.3 From 91278da9dd55582401154e07f9eea34425a332c2 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 24 Apr 2014 13:03:19 -0400 Subject: Address review comments. --- src/components/script/dom/validitystate.rs | 1 - 1 file changed, 1 deletion(-) (limited to 'src/components/script/dom/validitystate.rs') diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs index 7069b1572dd..15c654fc814 100644 --- a/src/components/script/dom/validitystate.rs +++ b/src/components/script/dom/validitystate.rs @@ -80,7 +80,6 @@ impl<'a> ValidityStateMethods for JSRef<'a, ValidityState> { } } - impl Reflectable for ValidityState { fn reflector<'a>(&'a self) -> &'a Reflector { &self.reflector_ -- cgit v1.2.3