diff options
author | Cameron Zwarich <zwarich@mozilla.com> | 2014-05-13 00:37:52 -0700 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2014-12-18 12:54:02 -0500 |
commit | 1c5d58180d58325676a287119123d27655a1fdf2 (patch) | |
tree | 4b0bfe8d583f98b6de470adcf9af1596bdaaee49 | |
parent | 7df37847d3a0a02da6917c669fe62a5e4af7efcd (diff) | |
download | servo-1c5d58180d58325676a287119123d27655a1fdf2.tar.gz servo-1c5d58180d58325676a287119123d27655a1fdf2.zip |
Add the basic CSSStyleDeclaration CSSOM interface.
This just includes the .webidl file (with some of the functionality
commented out) and the stub implementations for the bindings.
This is another step towards #1721.
-rw-r--r-- | components/script/dom/cssstyledeclaration.rs | 68 | ||||
-rw-r--r-- | components/script/dom/webidls/CSSStyleDeclaration.webidl | 31 | ||||
-rw-r--r-- | components/script/lib.rs | 1 |
3 files changed, 100 insertions, 0 deletions
diff --git a/components/script/dom/cssstyledeclaration.rs b/components/script/dom/cssstyledeclaration.rs new file mode 100644 index 00000000000..873d7dfb6a2 --- /dev/null +++ b/components/script/dom/cssstyledeclaration.rs @@ -0,0 +1,68 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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::codegen::Bindings::CSSStyleDeclarationBinding::CSSStyleDeclarationMethods; +use dom::bindings::error::{ErrorResult, Fallible}; +use dom::bindings::utils::{Reflectable, Reflector}; +use dom::bindings::js::JSRef; +use servo_util::str::DOMString; + +#[dom_struct] +pub struct CSSStyleDeclaration { + reflector_: Reflector, +} + +impl<'a> CSSStyleDeclarationMethods for JSRef<'a, CSSStyleDeclaration> { + fn CssText(self) -> DOMString { + "".to_string() + } + + fn SetCssText(self, _cssText: DOMString) -> ErrorResult { + Ok(()) + } + + fn Length(self) -> u32 { + 0 + } + + fn Item(self, _index: u32) -> DOMString { + "".to_string() + } + + fn GetPropertyValue(self, _property: DOMString) -> DOMString { + "".to_string() + } + + fn GetPropertyPriority(self, _property: DOMString) -> DOMString { + "".to_string() + } + + fn SetProperty(self, _property: DOMString, _value: DOMString, + _priority: DOMString) -> ErrorResult { + Ok(()) + } + + fn SetPropertyValue(self, _property: DOMString, _value: DOMString) -> ErrorResult { + Ok(()) + } + + fn SetPropertyPriority(self, _property: DOMString, _priority: DOMString) -> ErrorResult { + Ok(()) + } + + fn RemoveProperty(self, _property: DOMString) -> Fallible<DOMString> { + Ok("".to_string()) + } + + fn IndexedGetter(self, _index: u32, _found: &mut bool) -> DOMString { + "".to_string() + } +} + +impl Reflectable for CSSStyleDeclaration { + fn reflector<'a>(&'a self) -> &'a Reflector { + &self.reflector_ + } +} + diff --git a/components/script/dom/webidls/CSSStyleDeclaration.webidl b/components/script/dom/webidls/CSSStyleDeclaration.webidl new file mode 100644 index 00000000000..09079fe0fec --- /dev/null +++ b/components/script/dom/webidls/CSSStyleDeclaration.webidl @@ -0,0 +1,31 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. + * + * The origin of this IDL file is + * http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface + * + * Copyright © 2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. + */ + +interface CSSStyleDeclaration { + [SetterThrows] + attribute DOMString cssText; + readonly attribute unsigned long length; + getter DOMString item(unsigned long index); + DOMString getPropertyValue(DOMString property); + DOMString getPropertyPriority(DOMString property); + [Throws] + void setProperty(DOMString property, [TreatNullAs=EmptyString] DOMString value, + [TreatNullAs=EmptyString] optional DOMString priority = ""); + [Throws] + void setPropertyValue(DOMString property, [TreatNullAs=EmptyString] DOMString value); + [Throws] + void setPropertyPriority(DOMString property, [TreatNullAs=EmptyString] DOMString priority); + [Throws] + DOMString removeProperty(DOMString property); +// Not implemented yet: +// readonly attribute CSSRule? parentRule; +// attribute DOMString cssFloat; +}; + diff --git a/components/script/lib.rs b/components/script/lib.rs index 26f773f6006..c818df7cb00 100644 --- a/components/script/lib.rs +++ b/components/script/lib.rs @@ -88,6 +88,7 @@ pub mod dom { pub mod browsercontext; pub mod canvasrenderingcontext2d; pub mod characterdata; + pub mod cssstyledeclaration; pub mod domrect; pub mod domrectlist; pub mod domstringmap; |