mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Remove many long ugly lists of imports of HTML element types. They can now be obtained via dom::types::*, which is autogenerated.
This commit is contained in:
parent
79956abb38
commit
d31e308d3f
19 changed files with 327 additions and 495 deletions
55
src/components/script/dom/text.rs
Normal file
55
src/components/script/dom/text.rs
Normal file
|
@ -0,0 +1,55 @@
|
|||
/* 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::utils::{DOMString, ErrorResult, null_string, CacheableWrapper};
|
||||
use dom::bindings::utils::{BindingObject, WrapperCache};
|
||||
use dom::bindings::codegen::TextBinding;
|
||||
use dom::characterdata::CharacterData;
|
||||
use dom::node::{AbstractNode, ScriptView, Node, TextNodeTypeId};
|
||||
use dom::window::Window;
|
||||
use js::jsapi::{JSContext, JSObject};
|
||||
|
||||
/// An HTML text node.
|
||||
pub struct Text {
|
||||
parent: CharacterData,
|
||||
}
|
||||
|
||||
impl Text {
|
||||
/// Creates a new HTML text node.
|
||||
pub fn new(text: ~str) -> Text {
|
||||
Text {
|
||||
parent: CharacterData::new(TextNodeTypeId, text)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn Constructor(owner: @mut Window, text: &DOMString, _rv: &mut ErrorResult) -> AbstractNode<ScriptView> {
|
||||
let cx = unsafe {(*owner.page).js_info.get_ref().js_compartment.cx.ptr};
|
||||
unsafe { Node::as_abstract_node(cx, @Text::new(text.to_str())) }
|
||||
}
|
||||
|
||||
pub fn SplitText(&self, _offset: u32, _rv: &mut ErrorResult) -> AbstractNode<ScriptView> {
|
||||
fail!("unimplemented")
|
||||
}
|
||||
|
||||
pub fn GetWholeText(&self, _rv: &mut ErrorResult) -> DOMString {
|
||||
null_string
|
||||
}
|
||||
}
|
||||
|
||||
impl CacheableWrapper for Text {
|
||||
fn get_wrappercache(&mut self) -> &mut WrapperCache {
|
||||
self.parent.get_wrappercache()
|
||||
}
|
||||
|
||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||
let mut unused = false;
|
||||
TextBinding::Wrap(cx, scope, self, &mut unused)
|
||||
}
|
||||
}
|
||||
|
||||
impl BindingObject for Text {
|
||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut CacheableWrapper> {
|
||||
self.parent.GetParentObject(cx)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue