diff options
author | Ms2ger <ms2ger@gmail.com> | 2013-10-21 20:04:10 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2013-10-23 09:05:06 +0200 |
commit | 66a76961cc372cdd40d51288cc6a425c4cf0fb44 (patch) | |
tree | 37ee0ed421eac9a99f70d7ce84991e9b1bdb9d31 /src/components/script/dom | |
parent | f3f6e62f7fda50d77742f9527f8dc7171d7b8624 (diff) | |
download | servo-66a76961cc372cdd40d51288cc6a425c4cf0fb44.tar.gz servo-66a76961cc372cdd40d51288cc6a425c4cf0fb44.zip |
Wrap ValidityState eagerly.
Diffstat (limited to 'src/components/script/dom')
-rw-r--r-- | src/components/script/dom/htmlbuttonelement.rs | 3 | ||||
-rw-r--r-- | src/components/script/dom/htmlfieldsetelement.rs | 3 | ||||
-rw-r--r-- | src/components/script/dom/htmlobjectelement.rs | 3 | ||||
-rw-r--r-- | src/components/script/dom/htmloutputelement.rs | 3 | ||||
-rw-r--r-- | src/components/script/dom/htmlselectelement.rs | 5 | ||||
-rw-r--r-- | src/components/script/dom/validitystate.rs | 22 |
6 files changed, 26 insertions, 13 deletions
diff --git a/src/components/script/dom/htmlbuttonelement.rs b/src/components/script/dom/htmlbuttonelement.rs index 9bab84c2ae0..7710d5a364c 100644 --- a/src/components/script/dom/htmlbuttonelement.rs +++ b/src/components/script/dom/htmlbuttonelement.rs @@ -104,7 +104,8 @@ impl HTMLButtonElement { } pub fn Validity(&self) -> @mut ValidityState { - @mut ValidityState::valid() + let global = self.htmlelement.element.node.owner_doc().document().window; + ValidityState::new(global) } pub fn SetValidity(&mut self, _validity: @mut ValidityState) { diff --git a/src/components/script/dom/htmlfieldsetelement.rs b/src/components/script/dom/htmlfieldsetelement.rs index e109ccb9d32..643ada80058 100644 --- a/src/components/script/dom/htmlfieldsetelement.rs +++ b/src/components/script/dom/htmlfieldsetelement.rs @@ -47,7 +47,8 @@ impl HTMLFieldSetElement { } pub fn Validity(&self) -> @mut ValidityState { - @mut ValidityState::valid() + let global = self.htmlelement.element.node.owner_doc().document().window; + ValidityState::new(global) } pub fn ValidationMessage(&self) -> DOMString { diff --git a/src/components/script/dom/htmlobjectelement.rs b/src/components/script/dom/htmlobjectelement.rs index d1c5cb7a6f7..7591b1c5180 100644 --- a/src/components/script/dom/htmlobjectelement.rs +++ b/src/components/script/dom/htmlobjectelement.rs @@ -79,7 +79,8 @@ impl HTMLObjectElement { } pub fn Validity(&self) -> @mut ValidityState { - @mut ValidityState::valid() + let global = self.htmlelement.element.node.owner_doc().document().window; + ValidityState::new(global) } pub fn ValidationMessage(&self) -> DOMString { diff --git a/src/components/script/dom/htmloutputelement.rs b/src/components/script/dom/htmloutputelement.rs index ce957b8e2d4..b3f0f80a0fe 100644 --- a/src/components/script/dom/htmloutputelement.rs +++ b/src/components/script/dom/htmloutputelement.rs @@ -52,7 +52,8 @@ impl HTMLOutputElement { } pub fn Validity(&self) -> @mut ValidityState { - @mut ValidityState::valid() + let global = self.htmlelement.element.node.owner_doc().document().window; + ValidityState::new(global) } pub fn SetValidity(&mut self, _validity: @mut ValidityState) { diff --git a/src/components/script/dom/htmlselectelement.rs b/src/components/script/dom/htmlselectelement.rs index bab7b93796d..14b5de595d1 100644 --- a/src/components/script/dom/htmlselectelement.rs +++ b/src/components/script/dom/htmlselectelement.rs @@ -113,7 +113,7 @@ impl HTMLSelectElement { pub fn SetValue(&mut self, _value: &DOMString) { } - pub fn WillValidate(&self) -> bool { + pub fn WillValidate(&self) -> bool { false } @@ -121,7 +121,8 @@ impl HTMLSelectElement { } pub fn Validity(&self) -> @mut ValidityState { - @mut ValidityState::valid() + let global = self.htmlelement.element.node.owner_doc().document().window; + ValidityState::new(global) } pub fn SetValidity(&mut self, _validity: @mut ValidityState) { diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs index 20c0cf211b0..bb89f11e1d7 100644 --- a/src/components/script/dom/validitystate.rs +++ b/src/components/script/dom/validitystate.rs @@ -2,22 +2,30 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use dom::bindings::utils::{Reflectable, Reflector}; +use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; use dom::bindings::codegen::ValidityStateBinding; +use dom::window::Window; use js::jsapi::{JSContext, JSObject}; pub struct ValidityState { reflector_: Reflector, - state: u8 + window: @mut Window, + state: u8, } impl ValidityState { - pub fn valid() -> ValidityState { + pub fn new_inherited(window: @mut Window) -> ValidityState { ValidityState { reflector_: Reflector::new(), - state: 0 + window: window, + state: 0, } } + + pub fn new(window: @mut Window) -> @mut ValidityState { + reflect_dom_object(@mut ValidityState::new_inherited(window), window, + ValidityStateBinding::Wrap) + } } impl ValidityState { @@ -67,11 +75,11 @@ impl Reflectable for ValidityState { &mut self.reflector_ } - fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject { - ValidityStateBinding::Wrap(cx, scope, self) + fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject { + unreachable!(); } fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> { - None + Some(self.window as @mut Reflectable) } } |