diff options
Diffstat (limited to 'components/script')
104 files changed, 666 insertions, 759 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 8a66a99cb38..00df29230c3 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -4,6 +4,8 @@ # Common codegen classes. +from collections import defaultdict + import operator import re import string @@ -1722,23 +1724,20 @@ class CGNamespace(CGWrapper): return CGNamespace(namespaces[0], inner, public=public) -def EventTargetEnum(desc): +def DOMClassTypeId(desc): protochain = desc.prototypeChain - if protochain[0] != "EventTarget" or desc.interface.getExtendedAttribute("Abstract"): - return "None" - inner = "" - name = desc.interface.identifier.name - if desc.interface.getUserData("hasConcreteDescendant", False): - inner = "(::dom::%s::%sTypeId::%s)" % (name.lower(), name, name) - prev_proto = "" - for proto in reversed(protochain): - if prev_proto != "": - inner = "(::dom::%s::%sTypeId::%s%s)" % (proto.lower(), proto, prev_proto, inner) - prev_proto = proto - if inner == "": - return "None" - return "Some%s" % inner + if desc.hasDescendants(): + if desc.interface.getExtendedAttribute("Abstract"): + return "::dom::bindings::codegen::InheritTypes::TopTypeId::Abstract" + name = desc.interface.identifier.name + inner = "(::dom::bindings::codegen::InheritTypes::%sTypeId::%s)" % (name, name) + elif len(protochain) == 1: + return "::dom::bindings::codegen::InheritTypes::TopTypeId::Alone" + reversed_protochain = list(reversed(protochain)) + for (child, parent) in zip(reversed_protochain, reversed_protochain[1:]): + inner = "(::dom::bindings::codegen::InheritTypes::%sTypeId::%s%s)" % (parent, child, inner) + return "::dom::bindings::codegen::InheritTypes::TopTypeId::%s%s" % (protochain[0], inner) def DOMClass(descriptor): @@ -1754,7 +1753,7 @@ DOMClass { interface_chain: [ %s ], native_hooks: &sNativePropertyHooks, type_id: %s, -}""" % (prototypeChainString, EventTargetEnum(descriptor)) +}""" % (prototypeChainString, DOMClassTypeId(descriptor)) class CGDOMJSClass(CGThing): @@ -5815,23 +5814,29 @@ class GlobalGenRoots(): def InheritTypes(config): descriptors = config.getDescriptors(register=True, isCallback=False) - allprotos = [CGGeneric("use dom::types::*;\n"), - CGGeneric("use dom::bindings::js::{JS, LayoutJS, Root};\n"), - CGGeneric("use dom::bindings::trace::JSTraceable;\n"), - CGGeneric("use dom::bindings::utils::Reflectable;\n"), - CGGeneric("use js::jsapi::JSTracer;\n\n"), - CGGeneric("use std::mem;\n\n")] + imports = [CGGeneric("use dom::types::*;\n"), + CGGeneric("use dom::bindings::conversions::get_dom_class;\n"), + CGGeneric("use dom::bindings::js::{JS, LayoutJS, Root};\n"), + CGGeneric("use dom::bindings::trace::JSTraceable;\n"), + CGGeneric("use dom::bindings::utils::Reflectable;\n"), + CGGeneric("use js::jsapi::JSTracer;\n\n"), + CGGeneric("use std::mem;\n\n")] + allprotos = [] + topTypes = [] + hierarchy = defaultdict(list) for descriptor in descriptors: name = descriptor.name chain = descriptor.prototypeChain - upcast = (descriptor.interface.getUserData("hasConcreteDescendant", False) or - descriptor.interface.getUserData("hasProxyDescendant", False)) + upcast = descriptor.hasDescendants() downcast = len(chain) != 1 if upcast or downcast: # Define a dummy structure to hold the cast functions. allprotos.append(CGGeneric("pub struct %sCast;\n\n" % name)) + if upcast and not downcast: + topTypes.append(name) + if upcast: # Define a `FooBase` trait for subclasses to implement, as well as the # `FooCast::from_*` methods that use it. @@ -5872,6 +5877,7 @@ impl %(name)sCast { allprotos.append(CGGeneric("\n")) if downcast: + hierarchy[descriptor.getParentName()].append(name) # Define a `FooDerived` trait for superclasses to implement, # as well as the `FooCast::to_*` methods that use it. allprotos.append(CGGeneric("""\ @@ -5922,7 +5928,7 @@ impl %(name)sCast { 'baseName': baseName, 'derivedTrait': name + 'Derived', 'methodName': 'is_' + name.lower(), - 'parentName': config.getDescriptor(baseName).prototypeChain[-2], + 'parentName': config.getDescriptor(baseName).getParentName(), } allprotos.append(CGGeneric("""\ impl %(derivedTrait)s for %(baseName)s { @@ -5934,7 +5940,54 @@ impl %(derivedTrait)s for %(baseName)s { """ % args)) - curr = CGList(allprotos) + typeIdCode = [] + topTypeVariants = [ + ("ID used by abstract interfaces.", "Abstract"), + ("ID used by interfaces that are not castable.", "Alone"), + ] + topTypeVariants += [ + ("ID used by interfaces that derive from %s." % name, "%s(%sTypeId)" % (name, name)) + for name in topTypes + ] + topTypeVariantsAsStrings = [CGGeneric("/// %s\n%s," % variant) for variant in topTypeVariants] + typeIdCode.append(CGWrapper(CGIndenter(CGList(topTypeVariantsAsStrings, "\n"), 4), + pre="#[derive(Clone, Copy, Debug)]\npub enum TopTypeId {\n", + post="\n}\n\n")) + + def type_id_variant(name): + # If `name` is present in the hierarchy keys', that means some other interfaces + # derive from it and this enum variant should have an argument with its own + # TypeId enum. + return "%s(%sTypeId)" % (name, name) if name in hierarchy else name + + for base, derived in hierarchy.iteritems(): + variants = [] + if not config.getInterface(base).getExtendedAttribute("Abstract"): + variants.append(CGGeneric(base)) + variants += [CGGeneric(type_id_variant(name)) for name in derived] + derives = "Clone, Copy, Debug" + if base != 'EventTarget' and base != 'HTMLElement': + derives += ", PartialEq" + typeIdCode.append(CGWrapper(CGIndenter(CGList(variants, ",\n"), 4), + pre="#[derive(%s)]\npub enum %sTypeId {\n" % (derives, base), + post="\n}\n\n")) + if base in topTypes: + typeIdCode.append(CGGeneric("""\ +impl %(base)s { + pub fn type_id(&self) -> &'static %(base)sTypeId { + let domclass = unsafe { + get_dom_class(self.reflector().get_jsobject().get()).unwrap() + }; + match domclass.type_id { + TopTypeId::%(base)s(ref type_id) => type_id, + _ => unreachable!(), + } + } +} + +""" % {'base': base})) + + curr = CGList(imports + typeIdCode + allprotos) curr = CGWrapper(curr, pre=AUTOGENERATED_WARNING_COMMENT) return curr diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py index a8179c5be95..4275d8da24c 100644 --- a/components/script/dom/bindings/codegen/Configuration.py +++ b/components/script/dom/bindings/codegen/Configuration.py @@ -318,6 +318,14 @@ class Descriptor(DescriptorProvider): maybeAppendInfallibleToAttrs(attrs, throws) return attrs + def getParentName(self): + assert self.interface.parent is not None + return self.interface.parent.identifier.name + + def hasDescendants(self): + return (self.interface.getUserData("hasConcreteDescendant", False) or + self.interface.getUserData("hasProxyDescendant", False)) + def isGlobal(self): """ Returns true if this is the primary interface for a global object diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs index d00c164d0a9..52cf58e4ff0 100644 --- a/components/script/dom/bindings/utils.rs +++ b/components/script/dom/bindings/utils.rs @@ -4,6 +4,7 @@ //! Various utilities to glue JavaScript and the DOM implementation together. +use dom::bindings::codegen::InheritTypes::TopTypeId; use dom::bindings::codegen::PrototypeList; use dom::bindings::codegen::PrototypeList::MAX_PROTO_CHAIN_LENGTH; use dom::bindings::conversions::native_from_handleobject; @@ -15,7 +16,6 @@ use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::trace::trace_object; use dom::browsercontext; -use dom::eventtarget::EventTargetTypeId; use dom::window; use js; use js::glue::{CallJitGetterOp, CallJitMethodOp, CallJitSetterOp, IsWrapper}; @@ -156,8 +156,8 @@ pub struct DOMClass { /// derivedness. pub interface_chain: [PrototypeList::ID; MAX_PROTO_CHAIN_LENGTH], - /// The EventTarget type, if this is derived from an EventTarget. - pub type_id: Option<EventTargetTypeId>, + /// The type ID of that interface. + pub type_id: TopTypeId, /// The NativePropertyHooks for the interface associated with this class. pub native_hooks: &'static NativePropertyHooks, diff --git a/components/script/dom/blob.rs b/components/script/dom/blob.rs index 8161d9b278c..a8a5f56f02e 100644 --- a/components/script/dom/blob.rs +++ b/components/script/dom/blob.rs @@ -4,7 +4,7 @@ use dom::bindings::codegen::Bindings::BlobBinding; use dom::bindings::codegen::Bindings::BlobBinding::BlobMethods; -use dom::bindings::codegen::InheritTypes::FileDerived; +use dom::bindings::codegen::InheritTypes::{BlobTypeId, FileDerived}; use dom::bindings::error::Fallible; use dom::bindings::global::{GlobalField, GlobalRef}; use dom::bindings::js::Root; @@ -17,17 +17,10 @@ use std::cmp::{max, min}; use std::sync::mpsc::Sender; use util::str::DOMString; -#[derive(JSTraceable, HeapSizeOf)] -pub enum BlobTypeId { - Blob, - File, -} - // http://dev.w3.org/2006/webapi/FileAPI/#blob #[dom_struct] pub struct Blob { reflector_: Reflector, - type_: BlobTypeId, bytes: Option<Vec<u8>>, typeString: DOMString, global: GlobalField, @@ -41,11 +34,10 @@ fn is_ascii_printable(string: &DOMString) -> bool { } impl Blob { - pub fn new_inherited(global: GlobalRef, type_: BlobTypeId, + pub fn new_inherited(global: GlobalRef, bytes: Option<Vec<u8>>, typeString: &str) -> Blob { Blob { reflector_: Reflector::new(), - type_: type_, bytes: bytes, typeString: typeString.to_owned(), global: GlobalField::from_rooted(&global), @@ -55,7 +47,7 @@ impl Blob { pub fn new(global: GlobalRef, bytes: Option<Vec<u8>>, typeString: &str) -> Root<Blob> { - reflect_dom_object(box Blob::new_inherited(global, BlobTypeId::Blob, bytes, typeString), + reflect_dom_object(box Blob::new_inherited(global, bytes, typeString), global, BlobBinding::Wrap) } @@ -168,9 +160,6 @@ impl BlobMethods for Blob { impl FileDerived for Blob { fn is_file(&self) -> bool { - match self.type_ { - BlobTypeId::File => true, - _ => false - } + *self.type_id() == BlobTypeId::File } } diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs index 01d6efac1e5..dbb2356d8a0 100644 --- a/components/script/dom/characterdata.rs +++ b/components/script/dom/characterdata.rs @@ -6,15 +6,16 @@ use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::CharacterDataBinding::CharacterDataMethods; -use dom::bindings::codegen::InheritTypes::NodeCast; -use dom::bindings::codegen::InheritTypes::{CharacterDataDerived, ElementCast}; +use dom::bindings::codegen::InheritTypes::{CharacterDataDerived, CharacterDataTypeId}; +use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::js::{LayoutJS, Root}; use dom::document::Document; use dom::element::Element; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::node::{Node, NodeDamage, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::node::{Node, NodeDamage}; use std::borrow::ToOwned; use std::cell::Ref; use util::str::DOMString; @@ -156,15 +157,6 @@ impl CharacterDataMethods for CharacterData { } } -/// The different types of CharacterData. -#[derive(Copy, Clone, PartialEq, Debug)] -pub enum CharacterDataTypeId { - Comment, - Text, - ProcessingInstruction, -} - - impl CharacterData { #[inline] pub fn data(&self) -> Ref<DOMString> { diff --git a/components/script/dom/closeevent.rs b/components/script/dom/closeevent.rs index 9d0f4d5bafd..bd49f6d8197 100644 --- a/components/script/dom/closeevent.rs +++ b/components/script/dom/closeevent.rs @@ -10,7 +10,7 @@ use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; +use dom::event::{Event, EventBubbles, EventCancelable}; use script_task::ScriptChan; use util::str::DOMString; @@ -23,10 +23,10 @@ pub struct CloseEvent { } impl CloseEvent { - pub fn new_inherited(type_id: EventTypeId, wasClean: bool, code: u16, + pub fn new_inherited(wasClean: bool, code: u16, reason: DOMString) -> CloseEvent { CloseEvent { - event: Event::new_inherited(type_id), + event: Event::new_inherited(), wasClean: wasClean, code: code, reason: reason, @@ -40,8 +40,7 @@ impl CloseEvent { wasClean: bool, code: u16, reason: DOMString) -> Root<CloseEvent> { - let event = box CloseEvent::new_inherited(EventTypeId::CloseEvent, - wasClean, code, reason); + let event = box CloseEvent::new_inherited(wasClean, code, reason); let ev = reflect_dom_object(event, global, CloseEventBinding::Wrap); { let event = EventCast::from_ref(ev.r()); diff --git a/components/script/dom/comment.rs b/components/script/dom/comment.rs index 5f742ffb3b3..269a8350b0c 100644 --- a/components/script/dom/comment.rs +++ b/components/script/dom/comment.rs @@ -4,14 +4,15 @@ use dom::bindings::codegen::Bindings::CommentBinding; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::CommentDerived; +use dom::bindings::codegen::InheritTypes::{CharacterDataTypeId, CommentDerived}; +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, NodeTypeId}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; -use dom::characterdata::{CharacterData, CharacterDataTypeId}; +use dom::characterdata::CharacterData; use dom::document::Document; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::node::Node; use util::str::DOMString; /// An HTML comment. diff --git a/components/script/dom/customevent.rs b/components/script/dom/customevent.rs index e1e1613baae..f865d49ebd6 100644 --- a/components/script/dom/customevent.rs +++ b/components/script/dom/customevent.rs @@ -5,12 +5,12 @@ use dom::bindings::codegen::Bindings::CustomEventBinding; use dom::bindings::codegen::Bindings::CustomEventBinding::CustomEventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods; -use dom::bindings::codegen::InheritTypes::{CustomEventDerived, EventCast}; +use dom::bindings::codegen::InheritTypes::{CustomEventDerived, EventCast, EventTypeId}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{MutHeapJSVal, Root}; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventTypeId}; +use dom::event::Event; use js::jsapi::{HandleValue, JSContext}; use js::jsval::JSVal; use util::str::DOMString; @@ -30,15 +30,15 @@ impl CustomEventDerived for Event { } impl CustomEvent { - fn new_inherited(type_id: EventTypeId) -> CustomEvent { + fn new_inherited() -> CustomEvent { CustomEvent { - event: Event::new_inherited(type_id), + event: Event::new_inherited(), detail: MutHeapJSVal::new(), } } pub fn new_uninitialized(global: GlobalRef) -> Root<CustomEvent> { - reflect_dom_object(box CustomEvent::new_inherited(EventTypeId::CustomEvent), + reflect_dom_object(box CustomEvent::new_inherited(), global, CustomEventBinding::Wrap) } diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index c619f64f293..93c66071cb0 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -9,18 +9,19 @@ use dom::bindings::codegen::Bindings::DedicatedWorkerGlobalScopeBinding; use dom::bindings::codegen::Bindings::DedicatedWorkerGlobalScopeBinding::DedicatedWorkerGlobalScopeMethods; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::InheritTypes::DedicatedWorkerGlobalScopeDerived; -use dom::bindings::codegen::InheritTypes::{EventTargetCast, WorkerGlobalScopeCast}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{WorkerGlobalScopeCast, WorkerGlobalScopeTypeId}; use dom::bindings::error::ErrorResult; use dom::bindings::global::GlobalRef; use dom::bindings::js::{Root, RootCollection}; use dom::bindings::refcounted::LiveDOMReferences; use dom::bindings::structuredclone::StructuredCloneData; use dom::bindings::utils::Reflectable; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::EventTarget; use dom::messageevent::MessageEvent; use dom::worker::{SimpleWorkerErrorHandler, TrustedWorkerAddress, WorkerMessageHandler}; use dom::workerglobalscope::WorkerGlobalScope; -use dom::workerglobalscope::{WorkerGlobalScopeInit, WorkerGlobalScopeTypeId}; +use dom::workerglobalscope::WorkerGlobalScopeInit; use ipc_channel::ipc::IpcReceiver; use ipc_channel::router::ROUTER; use js::jsapi::{HandleValue, JSContext, RootedValue}; diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index ba69827ca32..8b6b5d7ea12 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -14,16 +14,18 @@ use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeFilterBinding::NodeFilter; use dom::bindings::codegen::Bindings::PerformanceBinding::PerformanceMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::ElementDerived; -use dom::bindings::codegen::InheritTypes::HTMLBaseElementCast; -use dom::bindings::codegen::InheritTypes::{DocumentDerived, EventCast, HTMLBodyElementCast}; -use dom::bindings::codegen::InheritTypes::{DocumentTypeCast, HTMLHtmlElementCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLHeadElementCast, HTMLIFrameElementCast}; -use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLAnchorElementCast}; -use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementDerived, HTMLAppletElementDerived}; -use dom::bindings::codegen::InheritTypes::{HTMLAreaElementDerived, HTMLEmbedElementDerived}; -use dom::bindings::codegen::InheritTypes::{HTMLFormElementDerived, HTMLImageElementDerived}; +use dom::bindings::codegen::InheritTypes::{DocumentDerived, DocumentTypeCast, ElementCast}; +use dom::bindings::codegen::InheritTypes::{ElementDerived, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementCast, HTMLAnchorElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLAppletElementDerived, HTMLAreaElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLBaseElementCast, HTMLBodyElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLEmbedElementDerived, HTMLFormElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLHeadElementCast, HTMLHtmlElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLIFrameElementCast, HTMLImageElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLScriptElementDerived, HTMLTitleElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::global::GlobalRef; @@ -39,13 +41,13 @@ use dom::customevent::CustomEvent; use dom::documentfragment::DocumentFragment; use dom::documenttype::DocumentType; use dom::domimplementation::DOMImplementation; -use dom::element::{Element, ElementCreator, ElementTypeId}; +use dom::element::{Element, ElementCreator}; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::{EventTarget}; use dom::htmlanchorelement::HTMLAnchorElement; use dom::htmlbaseelement::HTMLBaseElement; use dom::htmlcollection::{CollectionFilter, HTMLCollection}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::htmlelement::{HTMLElement}; use dom::htmlheadelement::HTMLHeadElement; use dom::htmlhtmlelement::HTMLHtmlElement; use dom::htmliframeelement::{self, HTMLIFrameElement}; @@ -54,7 +56,7 @@ use dom::keyboardevent::KeyboardEvent; use dom::location::Location; use dom::messageevent::MessageEvent; use dom::mouseevent::MouseEvent; -use dom::node::{self, CloneChildrenFlag, Node, NodeDamage, NodeTypeId, window_from_node}; +use dom::node::{self, CloneChildrenFlag, Node, NodeDamage, window_from_node}; use dom::nodeiterator::NodeIterator; use dom::nodelist::NodeList; use dom::processinginstruction::ProcessingInstruction; diff --git a/components/script/dom/documentfragment.rs b/components/script/dom/documentfragment.rs index 3eac9df6bac..379fe16b066 100644 --- a/components/script/dom/documentfragment.rs +++ b/components/script/dom/documentfragment.rs @@ -5,17 +5,17 @@ use dom::bindings::codegen::Bindings::DocumentFragmentBinding; use dom::bindings::codegen::Bindings::DocumentFragmentBinding::DocumentFragmentMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::DocumentFragmentDerived; -use dom::bindings::codegen::InheritTypes::{ElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{DocumentFragmentDerived, ElementCast}; +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, NodeCast, NodeTypeId}; use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::error::{ErrorResult, Fallible}; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::document::Document; use dom::element::Element; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::EventTarget; use dom::htmlcollection::HTMLCollection; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::node::{Node, window_from_node}; use dom::nodelist::NodeList; use string_cache::Atom; use util::str::DOMString; diff --git a/components/script/dom/documenttype.rs b/components/script/dom/documenttype.rs index a9f540592e9..e04922ad629 100644 --- a/components/script/dom/documenttype.rs +++ b/components/script/dom/documenttype.rs @@ -4,13 +4,14 @@ use dom::bindings::codegen::Bindings::DocumentTypeBinding; use dom::bindings::codegen::Bindings::DocumentTypeBinding::DocumentTypeMethods; -use dom::bindings::codegen::InheritTypes::{DocumentTypeDerived, NodeCast}; +use dom::bindings::codegen::InheritTypes::{DocumentTypeDerived, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::error::ErrorResult; use dom::bindings::js::Root; use dom::document::Document; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::node::Node; use std::borrow::ToOwned; use util::str::DOMString; diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 39633b64fef..5ce83d933de 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -20,13 +20,15 @@ use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateEl use dom::bindings::codegen::Bindings::NamedNodeMapBinding::NamedNodeMapMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::InheritTypes::{CharacterDataCast, DocumentDerived, ElementCast}; -use dom::bindings::codegen::InheritTypes::{ElementDerived, EventTargetCast, HTMLAnchorElementCast}; -use dom::bindings::codegen::InheritTypes::{HTMLBodyElementCast, HTMLFontElementCast}; +use dom::bindings::codegen::InheritTypes::{ElementDerived, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementCast, HTMLBodyElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFontElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLIFrameElementCast, HTMLInputElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementCast, HTMLTableElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLTableRowElementCast, HTMLTableSectionElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLTemplateElementCast, HTMLTextAreaElementCast}; -use dom::bindings::codegen::InheritTypes::{NodeCast, TextCast}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextCast}; use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::js::{JS, LayoutJS, MutNullableHeap}; @@ -39,15 +41,14 @@ use dom::domrect::DOMRect; use dom::domrectlist::DOMRectList; use dom::domtokenlist::DOMTokenList; use dom::event::Event; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::EventTarget; use dom::htmlcollection::HTMLCollection; -use dom::htmlelement::HTMLElementTypeId; use dom::htmlinputelement::{HTMLInputElement, RawLayoutHTMLInputElementHelpers}; use dom::htmltablecellelement::HTMLTableCellElementLayoutHelpers; use dom::htmltableelement::HTMLTableElement; use dom::htmltextareaelement::RawLayoutHTMLTextAreaElementHelpers; use dom::namednodemap::NamedNodeMap; -use dom::node::{CLICK_IN_PROGRESS, LayoutNodeHelpers, Node, NodeTypeId, SEQUENTIALLY_FOCUSABLE}; +use dom::node::{CLICK_IN_PROGRESS, LayoutNodeHelpers, Node, SEQUENTIALLY_FOCUSABLE}; use dom::node::{NodeDamage, document_from_node}; use dom::node::{window_from_node}; use dom::nodelist::NodeList; @@ -106,12 +107,6 @@ impl PartialEq for Element { } } -#[derive(Copy, Clone, PartialEq, Debug)] -pub enum ElementTypeId { - HTMLElement(HTMLElementTypeId), - Element, -} - #[derive(PartialEq, HeapSizeOf)] pub enum ElementCreator { ParserCreated, diff --git a/components/script/dom/errorevent.rs b/components/script/dom/errorevent.rs index 040f85d1934..e58a80ca259 100644 --- a/components/script/dom/errorevent.rs +++ b/components/script/dom/errorevent.rs @@ -6,13 +6,13 @@ use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::ErrorEventBinding; use dom::bindings::codegen::Bindings::ErrorEventBinding::ErrorEventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods; -use dom::bindings::codegen::InheritTypes::{ErrorEventDerived, EventCast}; +use dom::bindings::codegen::InheritTypes::{ErrorEventDerived, EventCast, EventTypeId}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{MutHeapJSVal, Root}; use dom::bindings::trace::JSTraceable; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; +use dom::event::{Event, EventBubbles, EventCancelable}; use js::jsapi::{HandleValue, JSContext}; use js::jsval::JSVal; use std::borrow::ToOwned; @@ -37,9 +37,9 @@ impl ErrorEventDerived for Event { } impl ErrorEvent { - fn new_inherited(type_id: EventTypeId) -> ErrorEvent { + fn new_inherited() -> ErrorEvent { ErrorEvent { - event: Event::new_inherited(type_id), + event: Event::new_inherited(), message: DOMRefCell::new("".to_owned()), filename: DOMRefCell::new("".to_owned()), lineno: Cell::new(0), @@ -49,7 +49,7 @@ impl ErrorEvent { } pub fn new_uninitialized(global: GlobalRef) -> Root<ErrorEvent> { - reflect_dom_object(box ErrorEvent::new_inherited(EventTypeId::ErrorEvent), + reflect_dom_object(box ErrorEvent::new_inherited(), global, ErrorEventBinding::Wrap) } diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs index 4d7fdde5baa..c3a8a52dc55 100644 --- a/components/script/dom/event.rs +++ b/components/script/dom/event.rs @@ -10,7 +10,6 @@ use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::eventtarget::EventTarget; -use dom::uievent::{UIEventTypeId}; use std::borrow::ToOwned; use std::cell::Cell; use std::default::Default; @@ -27,19 +26,6 @@ pub enum EventPhase { Bubbling = EventConstants::BUBBLING_PHASE, } -#[derive(JSTraceable, PartialEq, HeapSizeOf)] -pub enum EventTypeId { - CustomEvent, - HTMLEvent, - MessageEvent, - ProgressEvent, - StorageEvent, - UIEvent(UIEventTypeId), - ErrorEvent, - CloseEvent, - WebGLContextEvent, -} - #[derive(PartialEq, HeapSizeOf)] pub enum EventBubbles { Bubbles, @@ -55,7 +41,6 @@ pub enum EventCancelable { #[dom_struct] pub struct Event { reflector_: Reflector, - type_id: EventTypeId, current_target: MutNullableHeap<JS<EventTarget>>, target: MutNullableHeap<JS<EventTarget>>, type_: DOMRefCell<DOMString>, @@ -72,10 +57,9 @@ pub struct Event { } impl Event { - pub fn new_inherited(type_id: EventTypeId) -> Event { + pub fn new_inherited() -> Event { Event { reflector_: Reflector::new(), - type_id: type_id, current_target: Default::default(), target: Default::default(), phase: Cell::new(EventPhase::None), @@ -93,7 +77,7 @@ impl Event { } pub fn new_uninitialized(global: GlobalRef) -> Root<Event> { - reflect_dom_object(box Event::new_inherited(EventTypeId::HTMLEvent), + reflect_dom_object(box Event::new_inherited(), global, EventBinding::Wrap) } @@ -116,11 +100,6 @@ impl Event { } #[inline] - pub fn type_id(&self) -> &EventTypeId { - &self.type_id - } - - #[inline] pub fn clear_current_target(&self) { self.current_target.set(None); } diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index 86a3d14ea1b..2b79934d4a7 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -7,15 +7,12 @@ use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::EventListenerBinding::EventListener; use dom::bindings::codegen::Bindings::EventTargetBinding::EventTargetMethods; -use dom::bindings::conversions::get_dom_class; +use dom::bindings::codegen::InheritTypes::EventTargetTypeId; use dom::bindings::error::{Error, Fallible, report_pending_exception}; use dom::bindings::utils::{Reflectable, Reflector}; use dom::event::Event; use dom::eventdispatcher::dispatch_event; -use dom::node::NodeTypeId; use dom::virtualmethods::VirtualMethods; -use dom::workerglobalscope::WorkerGlobalScopeTypeId; -use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTargetTypeId; use fnv::FnvHasher; use js::jsapi::{CompileFunction, JS_GetFunctionObject}; use js::jsapi::{HandleObject, JSContext, RootedFunction}; @@ -42,17 +39,6 @@ pub enum ListenerPhase { Bubbling, } -#[derive(Copy, Clone)] -pub enum EventTargetTypeId { - Node(NodeTypeId), - WebSocket, - Window, - Worker, - FileReader, - WorkerGlobalScope(WorkerGlobalScopeTypeId), - XMLHttpRequestEventTarget(XMLHttpRequestEventTargetTypeId) -} - impl PartialEq for EventTargetTypeId { #[inline] fn eq(&self, other: &EventTargetTypeId) -> bool { @@ -153,14 +139,6 @@ impl EventTarget { }) } - #[allow(unsafe_code)] - pub fn type_id(&self) -> &EventTargetTypeId { - let domclass = unsafe { - get_dom_class(self.reflector_.get_jsobject().get()).unwrap() - }; - domclass.type_id.as_ref().unwrap() - } - pub fn dispatch_event_with_target(&self, target: &EventTarget, event: &Event) -> bool { diff --git a/components/script/dom/file.rs b/components/script/dom/file.rs index f6b48927409..b9ccd721a47 100644 --- a/components/script/dom/file.rs +++ b/components/script/dom/file.rs @@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::FileBinding::FileMethods; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; -use dom::blob::{Blob, BlobTypeId}; +use dom::blob::Blob; use util::str::DOMString; #[dom_struct] @@ -17,11 +17,11 @@ pub struct File { } impl File { - fn new_inherited(global: GlobalRef, type_: BlobTypeId, + fn new_inherited(global: GlobalRef, _file_bits: &Blob, name: DOMString) -> File { File { //TODO: get type from the underlying filesystem instead of "".to_string() - blob: Blob::new_inherited(global, type_, None, ""), + blob: Blob::new_inherited(global, None, ""), name: name, } // XXXManishearth Once Blob is able to store data @@ -29,7 +29,7 @@ impl File { } pub fn new(global: GlobalRef, file_bits: &Blob, name: DOMString) -> Root<File> { - reflect_dom_object(box File::new_inherited(global, BlobTypeId::File, file_bits, name), + reflect_dom_object(box File::new_inherited(global, file_bits, name), global, FileBinding::Wrap) } diff --git a/components/script/dom/htmlanchorelement.rs b/components/script/dom/htmlanchorelement.rs index 20e40be62b9..36459c06bb3 100644 --- a/components/script/dom/htmlanchorelement.rs +++ b/components/script/dom/htmlanchorelement.rs @@ -10,17 +10,18 @@ use dom::bindings::codegen::Bindings::HTMLAnchorElementBinding; use dom::bindings::codegen::Bindings::HTMLAnchorElementBinding::HTMLAnchorElementMethods; use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast}; -use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementDerived, HTMLImageElementDerived}; -use dom::bindings::codegen::InheritTypes::{MouseEventCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementDerived, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLImageElementDerived}; +use dom::bindings::codegen::InheritTypes::{MouseEventCast, NodeCast, NodeTypeId}; use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::document::Document; use dom::domtokenlist::DOMTokenList; -use dom::element::{Element, ElementTypeId}; +use dom::element::Element; use dom::event::Event; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use num::ToPrimitive; use std::default::Default; diff --git a/components/script/dom/htmlappletelement.rs b/components/script/dom/htmlappletelement.rs index 24c72ef615e..21a9ed8c2e1 100644 --- a/components/script/dom/htmlappletelement.rs +++ b/components/script/dom/htmlappletelement.rs @@ -5,14 +5,14 @@ use dom::attr::AttrValue; use dom::bindings::codegen::Bindings::HTMLAppletElementBinding; use dom::bindings::codegen::Bindings::HTMLAppletElementBinding::HTMLAppletElementMethods; -use dom::bindings::codegen::InheritTypes::HTMLAppletElementDerived; -use dom::bindings::codegen::InheritTypes::HTMLElementCast; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLAppletElementDerived, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use dom::virtualmethods::VirtualMethods; use string_cache::Atom; use util::str::DOMString; diff --git a/components/script/dom/htmlareaelement.rs b/components/script/dom/htmlareaelement.rs index caea7badf52..167171d23ae 100644 --- a/components/script/dom/htmlareaelement.rs +++ b/components/script/dom/htmlareaelement.rs @@ -5,16 +5,16 @@ use dom::attr::AttrValue; use dom::bindings::codegen::Bindings::HTMLAreaElementBinding; use dom::bindings::codegen::Bindings::HTMLAreaElementBinding::HTMLAreaElementMethods; -use dom::bindings::codegen::InheritTypes::ElementCast; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; use dom::bindings::codegen::InheritTypes::{HTMLAreaElementDerived, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::utils::Reflectable; use dom::document::Document; use dom::domtokenlist::DOMTokenList; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use dom::virtualmethods::VirtualMethods; use std::default::Default; use string_cache::Atom; diff --git a/components/script/dom/htmlaudioelement.rs b/components/script/dom/htmlaudioelement.rs index 0bb158836d6..d942d5a20d5 100644 --- a/components/script/dom/htmlaudioelement.rs +++ b/components/script/dom/htmlaudioelement.rs @@ -3,14 +3,14 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLAudioElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLAudioElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLAudioElementDerived, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLMediaElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::HTMLElementTypeId; -use dom::htmlmediaelement::{HTMLMediaElement, HTMLMediaElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlmediaelement::HTMLMediaElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlbaseelement.rs b/components/script/dom/htmlbaseelement.rs index be1826b83d5..e751b3c4a8f 100644 --- a/components/script/dom/htmlbaseelement.rs +++ b/components/script/dom/htmlbaseelement.rs @@ -4,15 +4,15 @@ use dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLBaseElementBinding; -use dom::bindings::codegen::InheritTypes::ElementCast; -use dom::bindings::codegen::InheritTypes::HTMLBaseElementDerived; -use dom::bindings::codegen::InheritTypes::HTMLElementCast; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLBaseElementDerived, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, document_from_node}; +use dom::element::AttributeMutation; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, document_from_node}; use dom::virtualmethods::VirtualMethods; use url::{Url, UrlParser}; use util::str::DOMString; diff --git a/components/script/dom/htmlbodyelement.rs b/components/script/dom/htmlbodyelement.rs index b2a69422d75..3ce0f1889f9 100644 --- a/components/script/dom/htmlbodyelement.rs +++ b/components/script/dom/htmlbodyelement.rs @@ -8,15 +8,17 @@ use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::HTMLBodyElementBinding::{self, HTMLBodyElementMethods}; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; use dom::bindings::codegen::InheritTypes::{HTMLBodyElementDerived, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::bindings::utils::Reflectable; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId, RawLayoutElementHelpers}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; +use dom::element::{AttributeMutation, RawLayoutElementHelpers}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::Msg as ConstellationMsg; diff --git a/components/script/dom/htmlbrelement.rs b/components/script/dom/htmlbrelement.rs index a0a4b16d4d8..38ca77226fe 100644 --- a/components/script/dom/htmlbrelement.rs +++ b/components/script/dom/htmlbrelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLBRElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLBRElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLBRElementDerived, HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs index a1056554361..3e66645e756 100644 --- a/components/script/dom/htmlbuttonelement.rs +++ b/components/script/dom/htmlbuttonelement.rs @@ -6,17 +6,19 @@ use dom::activation::Activatable; use dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLButtonElementBinding; use dom::bindings::codegen::Bindings::HTMLButtonElementBinding::HTMLButtonElementMethods; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLButtonElementCast, HTMLElementCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{HTMLButtonElementDerived, HTMLFieldSetElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLButtonElementCast, HTMLButtonElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, NodeCast, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::{AttributeMutation, Element, ElementTypeId}; +use dom::element::{AttributeMutation, Element}; use dom::event::Event; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::htmlformelement::{FormControl, FormSubmitter}; use dom::htmlformelement::{SubmittedFrom, HTMLFormElement}; -use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; +use dom::node::{Node, document_from_node, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; use std::ascii::AsciiExt; diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index 7677f1afcaf..7397970b4f1 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -7,18 +7,19 @@ use dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding; use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding::HTMLCanvasElementMethods; use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLContextAttributes; -use dom::bindings::codegen::InheritTypes::HTMLCanvasElementDerived; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLCanvasElementDerived, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId}; use dom::bindings::codegen::UnionTypes::CanvasRenderingContext2DOrWebGLRenderingContext; use dom::bindings::global::GlobalRef; use dom::bindings::js::{HeapGCValue, JS, LayoutJS, MutNullableHeap, Root}; use dom::bindings::utils::{Reflectable}; use dom::canvasrenderingcontext2d::{CanvasRenderingContext2D, LayoutCanvasRenderingContext2DHelpers}; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::element::AttributeMutation; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, window_from_node}; use dom::virtualmethods::VirtualMethods; use dom::webglrenderingcontext::{LayoutCanvasWebGLRenderingContextHelpers, WebGLRenderingContext}; use euclid::size::Size2D; diff --git a/components/script/dom/htmldataelement.rs b/components/script/dom/htmldataelement.rs index 6e74d8fa9f9..14e02a53c81 100644 --- a/components/script/dom/htmldataelement.rs +++ b/components/script/dom/htmldataelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLDataElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLDataElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLDataElementDerived, HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmldatalistelement.rs b/components/script/dom/htmldatalistelement.rs index 867b36d02cc..c9529d82096 100644 --- a/components/script/dom/htmldatalistelement.rs +++ b/components/script/dom/htmldatalistelement.rs @@ -4,16 +4,16 @@ use dom::bindings::codegen::Bindings::HTMLDataListElementBinding; use dom::bindings::codegen::Bindings::HTMLDataListElementBinding::HTMLDataListElementMethods; -use dom::bindings::codegen::InheritTypes::NodeCast; -use dom::bindings::codegen::InheritTypes::{HTMLDataListElementDerived, HTMLOptionElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLDataListElementDerived, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLOptionElementDerived, NodeCast, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; use dom::element::Element; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::EventTarget; use dom::htmlcollection::{CollectionFilter, HTMLCollection}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, window_from_node}; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmldialogelement.rs b/components/script/dom/htmldialogelement.rs index 9b47a51e359..f5c6047d93d 100644 --- a/components/script/dom/htmldialogelement.rs +++ b/components/script/dom/htmldialogelement.rs @@ -5,13 +5,13 @@ use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::HTMLDialogElementBinding; use dom::bindings::codegen::Bindings::HTMLDialogElementBinding::HTMLDialogElementMethods; -use dom::bindings::codegen::InheritTypes::HTMLDialogElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLDialogElementDerived, HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use std::borrow::ToOwned; use util::str::DOMString; diff --git a/components/script/dom/htmldirectoryelement.rs b/components/script/dom/htmldirectoryelement.rs index 2b6a90d11a0..cd5e4c891ce 100644 --- a/components/script/dom/htmldirectoryelement.rs +++ b/components/script/dom/htmldirectoryelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLDirectoryElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLDirectoryElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLDirectoryElementDerived, HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmldivelement.rs b/components/script/dom/htmldivelement.rs index b2e6a2882bf..7aa617d91fe 100644 --- a/components/script/dom/htmldivelement.rs +++ b/components/script/dom/htmldivelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLDivElementBinding::{self, HTMLDivElementMethods}; -use dom::bindings::codegen::InheritTypes::HTMLDivElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLDivElementDerived, HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmldlistelement.rs b/components/script/dom/htmldlistelement.rs index d9b616dd15f..5aec0c2129f 100644 --- a/components/script/dom/htmldlistelement.rs +++ b/components/script/dom/htmldlistelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLDListElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLDListElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLDListElementDerived, HTMLElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs index 978dc62f5b3..f055a51b719 100644 --- a/components/script/dom/htmlelement.rs +++ b/components/script/dom/htmlelement.rs @@ -9,21 +9,22 @@ use dom::bindings::codegen::Bindings::HTMLElementBinding; use dom::bindings::codegen::Bindings::HTMLElementBinding::HTMLElementMethods; use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLFrameSetElementDerived}; -use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLInputElementCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{HTMLBodyElementDerived, HTMLElementDerived, HTMLHtmlElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLBodyElementDerived, HTMLElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFrameSetElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLHtmlElementDerived, HTMLInputElementCast}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::error::{Error, ErrorResult}; use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::utils::Reflectable; use dom::cssstyledeclaration::{CSSModificationAccess, CSSStyleDeclaration}; use dom::document::Document; use dom::domstringmap::DOMStringMap; -use dom::element::{AttributeMutation, Element, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::element::{AttributeMutation, Element}; +use dom::eventtarget::EventTarget; use dom::htmlinputelement::HTMLInputElement; -use dom::htmlmediaelement::HTMLMediaElementTypeId; -use dom::htmltablecellelement::HTMLTableCellElementTypeId; -use dom::node::{Node, NodeTypeId, SEQUENTIALLY_FOCUSABLE, document_from_node, window_from_node}; +use dom::node::{Node, SEQUENTIALLY_FOCUSABLE, document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::FocusType; use std::borrow::ToOwned; @@ -340,76 +341,6 @@ impl VirtualMethods for HTMLElement { } } -#[derive(Copy, Clone, Debug)] -pub enum HTMLElementTypeId { - HTMLElement, - - HTMLAnchorElement, - HTMLAppletElement, - HTMLAreaElement, - HTMLBaseElement, - HTMLBRElement, - HTMLBodyElement, - HTMLButtonElement, - HTMLCanvasElement, - HTMLDataElement, - HTMLDataListElement, - HTMLDialogElement, - HTMLDirectoryElement, - HTMLDListElement, - HTMLDivElement, - HTMLEmbedElement, - HTMLFieldSetElement, - HTMLFontElement, - HTMLFormElement, - HTMLFrameElement, - HTMLFrameSetElement, - HTMLHRElement, - HTMLHeadElement, - HTMLHeadingElement, - HTMLHtmlElement, - HTMLIFrameElement, - HTMLImageElement, - HTMLInputElement, - HTMLLabelElement, - HTMLLegendElement, - HTMLLinkElement, - HTMLLIElement, - HTMLMapElement, - HTMLMediaElement(HTMLMediaElementTypeId), - HTMLMetaElement, - HTMLMeterElement, - HTMLModElement, - HTMLObjectElement, - HTMLOListElement, - HTMLOptGroupElement, - HTMLOptionElement, - HTMLOutputElement, - HTMLParagraphElement, - HTMLParamElement, - HTMLPreElement, - HTMLProgressElement, - HTMLQuoteElement, - HTMLScriptElement, - HTMLSelectElement, - HTMLSourceElement, - HTMLSpanElement, - HTMLStyleElement, - HTMLTableElement, - HTMLTableCaptionElement, - HTMLTableCellElement(HTMLTableCellElementTypeId), - HTMLTableColElement, - HTMLTableRowElement, - HTMLTableSectionElement, - HTMLTemplateElement, - HTMLTextAreaElement, - HTMLTimeElement, - HTMLTitleElement, - HTMLTrackElement, - HTMLUListElement, - HTMLUnknownElement, -} - impl PartialEq for HTMLElementTypeId { #[inline] #[allow(unsafe_code)] diff --git a/components/script/dom/htmlembedelement.rs b/components/script/dom/htmlembedelement.rs index bd741de54fa..0ec0e0c5810 100644 --- a/components/script/dom/htmlembedelement.rs +++ b/components/script/dom/htmlembedelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLEmbedElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLEmbedElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLEmbedElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlfieldsetelement.rs b/components/script/dom/htmlfieldsetelement.rs index 5b55f62b175..e7cddb164cc 100644 --- a/components/script/dom/htmlfieldsetelement.rs +++ b/components/script/dom/htmlfieldsetelement.rs @@ -5,16 +5,17 @@ use dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLFieldSetElementBinding; use dom::bindings::codegen::Bindings::HTMLFieldSetElementBinding::HTMLFieldSetElementMethods; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLLegendElementDerived}; -use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFieldSetElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLLegendElementDerived, NodeCast, NodeTypeId}; use dom::bindings::js::{Root, RootedReference}; use dom::document::Document; -use dom::element::{AttributeMutation, Element, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::element::{AttributeMutation, Element}; +use dom::eventtarget::EventTarget; use dom::htmlcollection::{CollectionFilter, HTMLCollection}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::htmlelement::HTMLElement; use dom::htmlformelement::{FormControl, HTMLFormElement}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::node::{Node, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; use util::str::{DOMString, StaticStringVec}; diff --git a/components/script/dom/htmlfontelement.rs b/components/script/dom/htmlfontelement.rs index 8b30375fbeb..8be5342bd61 100644 --- a/components/script/dom/htmlfontelement.rs +++ b/components/script/dom/htmlfontelement.rs @@ -7,13 +7,15 @@ use dom::attr::{Attr, AttrValue}; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::HTMLFontElementBinding; use dom::bindings::codegen::Bindings::HTMLFontElementBinding::HTMLFontElementMethods; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLFontElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLFontElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId, RawLayoutElementHelpers}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::element::{AttributeMutation, RawLayoutElementHelpers}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use dom::virtualmethods::VirtualMethods; use std::cell::Cell; use string_cache::Atom; diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 2b4edbbdfcb..c0edc91ea69 100644 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -9,25 +9,23 @@ use dom::bindings::codegen::Bindings::HTMLButtonElementBinding::HTMLButtonElemen use dom::bindings::codegen::Bindings::HTMLFormElementBinding; use dom::bindings::codegen::Bindings::HTMLFormElementBinding::HTMLFormElementMethods; use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods; -use dom::bindings::codegen::InheritTypes::EventTargetCast; -use dom::bindings::codegen::InheritTypes::HTMLDataListElementCast; -use dom::bindings::codegen::InheritTypes::HTMLElementCast; -use dom::bindings::codegen::InheritTypes::HTMLFormElementCast; -use dom::bindings::codegen::InheritTypes::HTMLFormElementDerived; -use dom::bindings::codegen::InheritTypes::HTMLInputElementCast; -use dom::bindings::codegen::InheritTypes::{ElementBase, ElementCast}; -use dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementBase, ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLDataListElementCast, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFormElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLFormElementDerived, HTMLInputElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementCast, NodeCast, NodeTypeId}; use dom::bindings::global::GlobalRef; use dom::bindings::js::{Root}; use dom::bindings::utils::Reflectable; use dom::document::Document; -use dom::element::{Element, ElementTypeId}; +use dom::element::Element; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::EventTarget; use dom::htmlbuttonelement::{HTMLButtonElement}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::htmlelement::HTMLElement; use dom::htmlinputelement::HTMLInputElement; -use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; +use dom::node::{Node, document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use hyper::header::ContentType; use hyper::method::Method; diff --git a/components/script/dom/htmlframeelement.rs b/components/script/dom/htmlframeelement.rs index 30acbd99797..c057b854cce 100644 --- a/components/script/dom/htmlframeelement.rs +++ b/components/script/dom/htmlframeelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLFrameElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLFrameElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFrameElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlframesetelement.rs b/components/script/dom/htmlframesetelement.rs index d665efa13ff..39a474d13d1 100644 --- a/components/script/dom/htmlframesetelement.rs +++ b/components/script/dom/htmlframesetelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLFrameSetElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLFrameSetElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFrameSetElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlheadelement.rs b/components/script/dom/htmlheadelement.rs index 699821241f1..e19b9fb6508 100644 --- a/components/script/dom/htmlheadelement.rs +++ b/components/script/dom/htmlheadelement.rs @@ -3,13 +3,14 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLHeadElementBinding; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLHeadElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLHeadElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use dom::userscripts::load_script; use dom::virtualmethods::VirtualMethods; use util::str::DOMString; diff --git a/components/script/dom/htmlheadingelement.rs b/components/script/dom/htmlheadingelement.rs index f3c8aed9746..18dd24dc9a5 100644 --- a/components/script/dom/htmlheadingelement.rs +++ b/components/script/dom/htmlheadingelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLHeadingElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLHeadingElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLHeadingElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[derive(JSTraceable, HeapSizeOf)] diff --git a/components/script/dom/htmlhrelement.rs b/components/script/dom/htmlhrelement.rs index 0bd8a9a9ffa..6a7136d31f0 100644 --- a/components/script/dom/htmlhrelement.rs +++ b/components/script/dom/htmlhrelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLHRElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLHRElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLHRElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlhtmlelement.rs b/components/script/dom/htmlhtmlelement.rs index 94b4e58c696..4f8f54e884a 100644 --- a/components/script/dom/htmlhtmlelement.rs +++ b/components/script/dom/htmlhtmlelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLHtmlElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLHtmlElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLHtmlElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index 88ffc7a6981..cd82760d2c5 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -6,9 +6,10 @@ use dom::attr::{Attr, AttrHelpersForLayout, AttrValue}; use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding; use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding::HTMLIFrameElementMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::HTMLIFrameElementDerived; -use dom::bindings::codegen::InheritTypes::{ElementCast, EventCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventCast}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLIFrameElementDerived, NodeCast, NodeTypeId}; use dom::bindings::conversions::ToJSValConvertible; use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::global::GlobalRef; @@ -16,10 +17,10 @@ use dom::bindings::js::{Root, LayoutJS}; use dom::bindings::utils::Reflectable; use dom::customevent::CustomEvent; use dom::document::Document; -use dom::element::{self, AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::element::{self, AttributeMutation}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, window_from_node}; use dom::urlhelper::UrlHelper; use dom::virtualmethods::VirtualMethods; use dom::window::Window; diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 3a4377b5481..7e1972e54b8 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -8,18 +8,20 @@ use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::HTMLImageElementBinding; use dom::bindings::codegen::Bindings::HTMLImageElementBinding::HTMLImageElementMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLImageElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLImageElementDerived, NodeCast, NodeTypeId}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{LayoutJS, Root}; use dom::bindings::refcounted::Trusted; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; +use dom::element::AttributeMutation; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeDamage, NodeTypeId, document_from_node, window_from_node}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, NodeDamage, document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use ipc_channel::ipc; use ipc_channel::router::ROUTER; diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index 019514ad29b..647725678be 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -11,20 +11,23 @@ use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::HTMLInputElementBinding; use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods; use dom::bindings::codegen::Bindings::KeyboardEventBinding::KeyboardEventMethods; -use dom::bindings::codegen::InheritTypes::KeyboardEventCast; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLInputElementCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLFieldSetElementDerived, HTMLInputElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLInputElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLInputElementDerived, KeyboardEventCast}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, LayoutJS, Root, RootedReference}; use dom::document::Document; -use dom::element::{AttributeMutation, Element, ElementTypeId, RawLayoutElementHelpers}; +use dom::element::{AttributeMutation, Element, RawLayoutElementHelpers}; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::htmlformelement::{FormControl, FormSubmitter, HTMLFormElement, FormDatum}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::htmlformelement::{FormControl, FormDatum, FormSubmitter, HTMLFormElement}; use dom::htmlformelement::{ResetFrom, SubmittedFrom}; use dom::keyboardevent::KeyboardEvent; -use dom::node::{Node, NodeDamage, NodeTypeId}; +use dom::node::{Node, NodeDamage}; use dom::node::{document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::ConstellationChan; diff --git a/components/script/dom/htmllabelelement.rs b/components/script/dom/htmllabelelement.rs index ef0c65cbf38..a2d5653c025 100644 --- a/components/script/dom/htmllabelelement.rs +++ b/components/script/dom/htmllabelelement.rs @@ -4,14 +4,14 @@ use dom::bindings::codegen::Bindings::HTMLLabelElementBinding; use dom::bindings::codegen::Bindings::HTMLLabelElementBinding::HTMLLabelElementMethods; -use dom::bindings::codegen::InheritTypes::HTMLLabelElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLLabelElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::htmlformelement::{FormControl, HTMLFormElement}; -use dom::node::{Node, NodeTypeId}; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmllegendelement.rs b/components/script/dom/htmllegendelement.rs index 492615d4421..3ff1209d42d 100644 --- a/components/script/dom/htmllegendelement.rs +++ b/components/script/dom/htmllegendelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLLegendElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLLegendElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLLegendElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmllielement.rs b/components/script/dom/htmllielement.rs index fd10a954787..e9545ae73c9 100644 --- a/components/script/dom/htmllielement.rs +++ b/components/script/dom/htmllielement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLLIElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLLIElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLLIElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs index 3188f5c48fe..89747b00f48 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -8,19 +8,21 @@ use dom::attr::{Attr, AttrValue}; use dom::bindings::codegen::Bindings::HTMLLinkElementBinding; use dom::bindings::codegen::Bindings::HTMLLinkElementBinding::HTMLLinkElementMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLLinkElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLLinkElementDerived, NodeCast, NodeTypeId}; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::js::{RootedReference}; use dom::bindings::refcounted::Trusted; use dom::document::Document; use dom::domtokenlist::DOMTokenList; -use dom::element::{AttributeMutation, Element, ElementTypeId}; +use dom::element::{AttributeMutation, Element}; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, window_from_node}; use dom::virtualmethods::VirtualMethods; use layout_interface::{LayoutChan, Msg}; use msg::constellation_msg::ConstellationChan; diff --git a/components/script/dom/htmlmapelement.rs b/components/script/dom/htmlmapelement.rs index e060a7bf48e..e8a765954cb 100644 --- a/components/script/dom/htmlmapelement.rs +++ b/components/script/dom/htmlmapelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLMapElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLMapElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLMapElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 8630cf5a745..6ee08046b26 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -2,12 +2,12 @@ * 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::InheritTypes::HTMLMediaElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLMediaElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLMediaElementTypeId, NodeTypeId}; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::NodeTypeId; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use util::str::DOMString; #[dom_struct] @@ -40,16 +40,3 @@ impl HTMLMediaElement { &self.htmlelement } } - -#[derive(Copy, Clone, Debug)] -pub enum HTMLMediaElementTypeId { - HTMLAudioElement = 0, - HTMLVideoElement = 1, -} - -impl PartialEq for HTMLMediaElementTypeId { - #[inline] - fn eq(&self, other: &HTMLMediaElementTypeId) -> bool { - (*self as u8) == (*other as u8) - } -} diff --git a/components/script/dom/htmlmetaelement.rs b/components/script/dom/htmlmetaelement.rs index d7f4328bbfc..5b2d4c0d868 100644 --- a/components/script/dom/htmlmetaelement.rs +++ b/components/script/dom/htmlmetaelement.rs @@ -4,14 +4,14 @@ use dom::bindings::codegen::Bindings::HTMLMetaElementBinding; use dom::bindings::codegen::Bindings::HTMLMetaElementBinding::HTMLMetaElementMethods; -use dom::bindings::codegen::InheritTypes::HTMLMetaElementDerived; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLMetaElementDerived, NodeCast, NodeTypeId}; use dom::bindings::js::{Root, RootedReference}; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, window_from_node}; use dom::virtualmethods::VirtualMethods; use layout_interface::{LayoutChan, Msg}; use std::ascii::AsciiExt; diff --git a/components/script/dom/htmlmeterelement.rs b/components/script/dom/htmlmeterelement.rs index 8ea70b2ffdd..88a740ed839 100644 --- a/components/script/dom/htmlmeterelement.rs +++ b/components/script/dom/htmlmeterelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLMeterElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLMeterElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLMeterElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlmodelement.rs b/components/script/dom/htmlmodelement.rs index 90f0ebe5103..47e6e441dc6 100644 --- a/components/script/dom/htmlmodelement.rs +++ b/components/script/dom/htmlmodelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLModElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLModElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLModElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlobjectelement.rs b/components/script/dom/htmlobjectelement.rs index f5632c2b63d..82b31f5519c 100644 --- a/components/script/dom/htmlobjectelement.rs +++ b/components/script/dom/htmlobjectelement.rs @@ -6,15 +6,16 @@ use dom::attr::Attr; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::HTMLObjectElementBinding; use dom::bindings::codegen::Bindings::HTMLObjectElementBinding::HTMLObjectElementMethods; -use dom::bindings::codegen::InheritTypes::HTMLObjectElementDerived; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLObjectElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::element::AttributeMutation; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::htmlformelement::{FormControl, HTMLFormElement}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::node::{Node, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; use net_traits::image::base::Image; diff --git a/components/script/dom/htmlolistelement.rs b/components/script/dom/htmlolistelement.rs index 9b1ce403d88..7f26bcdf204 100644 --- a/components/script/dom/htmlolistelement.rs +++ b/components/script/dom/htmlolistelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLOListElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLOListElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLOListElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmloptgroupelement.rs b/components/script/dom/htmloptgroupelement.rs index e645e1cfc50..d476b0edaaa 100644 --- a/components/script/dom/htmloptgroupelement.rs +++ b/components/script/dom/htmloptgroupelement.rs @@ -5,14 +5,16 @@ use dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLOptGroupElementBinding; use dom::bindings::codegen::Bindings::HTMLOptGroupElementBinding::HTMLOptGroupElementMethods; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; use dom::bindings::codegen::InheritTypes::{HTMLOptGroupElementDerived, HTMLOptionElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::element::AttributeMutation; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use dom::virtualmethods::VirtualMethods; use util::str::DOMString; diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs index 337e307f046..e8d655a2a8f 100644 --- a/components/script/dom/htmloptionelement.rs +++ b/components/script/dom/htmloptionelement.rs @@ -7,15 +7,16 @@ use dom::bindings::codegen::Bindings::CharacterDataBinding::CharacterDataMethods use dom::bindings::codegen::Bindings::HTMLOptionElementBinding; use dom::bindings::codegen::Bindings::HTMLOptionElementBinding::HTMLOptionElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::{CharacterDataCast, ElementCast, HTMLElementCast, NodeCast, TextDerived}; -use dom::bindings::codegen::InheritTypes::{HTMLOptionElementDerived}; -use dom::bindings::codegen::InheritTypes::{HTMLScriptElementDerived}; +use dom::bindings::codegen::InheritTypes::{CharacterDataCast, ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLOptionElementDerived, HTMLScriptElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextDerived}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::{Element, AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::element::{AttributeMutation, Element}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use dom::virtualmethods::VirtualMethods; use std::cell::Cell; use util::str::{DOMString, split_html_space_chars, str_join}; diff --git a/components/script/dom/htmloutputelement.rs b/components/script/dom/htmloutputelement.rs index 44be6050e90..1c57dea6761 100644 --- a/components/script/dom/htmloutputelement.rs +++ b/components/script/dom/htmloutputelement.rs @@ -4,14 +4,14 @@ use dom::bindings::codegen::Bindings::HTMLOutputElementBinding; use dom::bindings::codegen::Bindings::HTMLOutputElementBinding::HTMLOutputElementMethods; -use dom::bindings::codegen::InheritTypes::HTMLOutputElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLOutputElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::htmlformelement::{FormControl, HTMLFormElement}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::node::{Node, window_from_node}; use dom::validitystate::ValidityState; use util::str::DOMString; diff --git a/components/script/dom/htmlparagraphelement.rs b/components/script/dom/htmlparagraphelement.rs index abda9483aef..2a383b51f5f 100644 --- a/components/script/dom/htmlparagraphelement.rs +++ b/components/script/dom/htmlparagraphelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLParagraphElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLParagraphElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLParagraphElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlparamelement.rs b/components/script/dom/htmlparamelement.rs index d8a18d3d152..c2cc044c7f7 100644 --- a/components/script/dom/htmlparamelement.rs +++ b/components/script/dom/htmlparamelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLParamElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLParamElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLParamElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlpreelement.rs b/components/script/dom/htmlpreelement.rs index a105f1fd559..57e4943ab5f 100644 --- a/components/script/dom/htmlpreelement.rs +++ b/components/script/dom/htmlpreelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLPreElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLPreElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLPreElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlprogresselement.rs b/components/script/dom/htmlprogresselement.rs index 373d914c97f..bc0e29cbfcf 100644 --- a/components/script/dom/htmlprogresselement.rs +++ b/components/script/dom/htmlprogresselement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLProgressElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLProgressElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLProgressElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlquoteelement.rs b/components/script/dom/htmlquoteelement.rs index 49b5f0853a5..d631ae61525 100644 --- a/components/script/dom/htmlquoteelement.rs +++ b/components/script/dom/htmlquoteelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLQuoteElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLQuoteElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLQuoteElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index 23328eadce5..0718b75658f 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -10,21 +10,23 @@ use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods; use dom::bindings::codegen::Bindings::HTMLScriptElementBinding; use dom::bindings::codegen::Bindings::HTMLScriptElementBinding::HTMLScriptElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::EventTargetCast; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; use dom::bindings::codegen::InheritTypes::{HTMLScriptElementCast, HTMLScriptElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::global::GlobalRef; use dom::bindings::js::RootedReference; use dom::bindings::js::{JS, Root}; use dom::bindings::refcounted::Trusted; use dom::bindings::trace::JSTraceable; use dom::document::Document; -use dom::element::{AttributeMutation, ElementCreator, ElementTypeId}; +use dom::element::{AttributeMutation, ElementCreator}; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::node::{ChildrenMutation, CloneChildrenFlag, Node}; -use dom::node::{NodeTypeId, document_from_node, window_from_node}; +use dom::node::{document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use dom::window::ScriptHelpers; use encoding::all::UTF_8; diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs index 7be4ba5d118..57a675eb88b 100644 --- a/components/script/dom/htmlselectelement.rs +++ b/components/script/dom/htmlselectelement.rs @@ -5,17 +5,19 @@ use dom::attr::{Attr, AttrValue}; use dom::bindings::codegen::Bindings::HTMLSelectElementBinding; use dom::bindings::codegen::Bindings::HTMLSelectElementBinding::HTMLSelectElementMethods; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLSelectElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::codegen::UnionTypes::HTMLElementOrLong; use dom::bindings::codegen::UnionTypes::HTMLOptionElementOrHTMLOptGroupElement; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::element::AttributeMutation; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::htmlformelement::{FormControl, HTMLFormElement}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::node::{Node, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; use std::borrow::ToOwned; diff --git a/components/script/dom/htmlsourceelement.rs b/components/script/dom/htmlsourceelement.rs index ea6b163c539..bab0df2514a 100644 --- a/components/script/dom/htmlsourceelement.rs +++ b/components/script/dom/htmlsourceelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLSourceElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLSourceElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLSourceElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlspanelement.rs b/components/script/dom/htmlspanelement.rs index e6e2a1f4bcd..729ef747af5 100644 --- a/components/script/dom/htmlspanelement.rs +++ b/components/script/dom/htmlspanelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLSpanElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLSpanElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLSpanElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs index 91b22e40478..7b41b156f99 100644 --- a/components/script/dom/htmlstyleelement.rs +++ b/components/script/dom/htmlstyleelement.rs @@ -5,14 +5,15 @@ use cssparser::Parser as CssParser; use dom::bindings::codegen::Bindings::HTMLStyleElementBinding; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLStyleElementDerived, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLStyleElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::window_from_node; -use dom::node::{ChildrenMutation, Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{ChildrenMutation, Node, window_from_node}; use dom::virtualmethods::VirtualMethods; use layout_interface::{LayoutChan, Msg}; use style::media_queries::parse_media_query_list; diff --git a/components/script/dom/htmltablecaptionelement.rs b/components/script/dom/htmltablecaptionelement.rs index 8c74e526756..4db67a16b9d 100644 --- a/components/script/dom/htmltablecaptionelement.rs +++ b/components/script/dom/htmltablecaptionelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLTableCaptionElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLTableCaptionElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLTableCaptionElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index d377d1cee3d..98b41bde6b6 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -6,16 +6,15 @@ use cssparser::RGBA; use dom::attr::{Attr, AttrValue}; use dom::bindings::codegen::Bindings::HTMLTableCellElementBinding::HTMLTableCellElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::HTMLElementCast; -use dom::bindings::codegen::InheritTypes::HTMLTableCellElementDerived; -use dom::bindings::codegen::InheritTypes::HTMLTableRowElementDerived; -use dom::bindings::codegen::InheritTypes::NodeCast; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTableCellElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementTypeId, HTMLTableRowElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::js::LayoutJS; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::NodeTypeId; +use dom::element::AttributeMutation; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::virtualmethods::VirtualMethods; use std::cell::Cell; use std::cmp::max; @@ -24,19 +23,6 @@ use util::str::{self, DOMString, LengthOrPercentageOrAuto}; const DEFAULT_COLSPAN: u32 = 1; -#[derive(Copy, Clone, Debug)] -pub enum HTMLTableCellElementTypeId { - HTMLTableDataCellElement = 0, - HTMLTableHeaderCellElement = 1, -} - -impl PartialEq for HTMLTableCellElementTypeId { - #[inline] - fn eq(&self, other: &HTMLTableCellElementTypeId) -> bool { - (*self as u8) == (*other as u8) - } -} - #[dom_struct] pub struct HTMLTableCellElement { htmlelement: HTMLElement, diff --git a/components/script/dom/htmltablecolelement.rs b/components/script/dom/htmltablecolelement.rs index 45e94518f65..be5bef59513 100644 --- a/components/script/dom/htmltablecolelement.rs +++ b/components/script/dom/htmltablecolelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLTableColElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLTableColElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLTableColElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmltabledatacellelement.rs b/components/script/dom/htmltabledatacellelement.rs index 691aad8644a..46f0a4a96a3 100644 --- a/components/script/dom/htmltabledatacellelement.rs +++ b/components/script/dom/htmltabledatacellelement.rs @@ -3,14 +3,14 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLTableDataCellElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLTableDataCellElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTableDataCellElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::HTMLElementTypeId; -use dom::htmltablecellelement::{HTMLTableCellElement, HTMLTableCellElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmltablecellelement::HTMLTableCellElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs index 1308aff4a44..607f3a8ecc9 100644 --- a/components/script/dom/htmltableelement.rs +++ b/components/script/dom/htmltableelement.rs @@ -7,17 +7,18 @@ use dom::attr::{Attr, AttrValue}; use dom::bindings::codegen::Bindings::HTMLTableElementBinding; use dom::bindings::codegen::Bindings::HTMLTableElementBinding::HTMLTableElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::HTMLTableSectionElementDerived; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLTableCaptionElementCast}; -use dom::bindings::codegen::InheritTypes::{HTMLTableElementDerived, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLTableCaptionElementCast, HTMLTableElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLTableSectionElementDerived, NodeCast, NodeTypeId}; use dom::bindings::js::{Root, RootedReference}; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::element::AttributeMutation; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::htmltablecaptionelement::HTMLTableCaptionElement; use dom::htmltablesectionelement::HTMLTableSectionElement; -use dom::node::{Node, NodeTypeId, document_from_node}; +use dom::node::{Node, document_from_node}; use dom::virtualmethods::VirtualMethods; use std::cell::Cell; use string_cache::Atom; diff --git a/components/script/dom/htmltableheadercellelement.rs b/components/script/dom/htmltableheadercellelement.rs index 579167ebd0b..ff16385d3e5 100644 --- a/components/script/dom/htmltableheadercellelement.rs +++ b/components/script/dom/htmltableheadercellelement.rs @@ -3,14 +3,14 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLTableHeaderCellElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLTableHeaderCellElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTableHeaderCellElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementTypeId, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::HTMLElementTypeId; -use dom::htmltablecellelement::{HTMLTableCellElement, HTMLTableCellElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmltablecellelement::HTMLTableCellElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs index d1cbac2d789..844220f6e0e 100644 --- a/components/script/dom/htmltablerowelement.rs +++ b/components/script/dom/htmltablerowelement.rs @@ -6,18 +6,17 @@ use cssparser::RGBA; use dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLTableRowElementBinding::{self, HTMLTableRowElementMethods}; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::HTMLElementCast; -use dom::bindings::codegen::InheritTypes::HTMLTableDataCellElementDerived; -use dom::bindings::codegen::InheritTypes::HTMLTableHeaderCellElementDerived; -use dom::bindings::codegen::InheritTypes::HTMLTableRowElementDerived; -use dom::bindings::codegen::InheritTypes::NodeCast; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTableDataCellElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLTableHeaderCellElementDerived, HTMLTableRowElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference}; use dom::document::Document; -use dom::element::{AttributeMutation, Element, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::element::{AttributeMutation, Element}; +use dom::eventtarget::EventTarget; use dom::htmlcollection::{CollectionFilter, HTMLCollection}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::htmlelement::HTMLElement; +use dom::node::{Node, window_from_node}; use dom::virtualmethods::VirtualMethods; use std::cell::Cell; use util::str::{self, DOMString}; diff --git a/components/script/dom/htmltablesectionelement.rs b/components/script/dom/htmltablesectionelement.rs index 7afee5d1917..bfe00f54000 100644 --- a/components/script/dom/htmltablesectionelement.rs +++ b/components/script/dom/htmltablesectionelement.rs @@ -7,19 +7,19 @@ use dom::attr::Attr; use dom::bindings::codegen::Bindings::HTMLCollectionBinding::HTMLCollectionMethods; use dom::bindings::codegen::Bindings::HTMLTableSectionElementBinding::{self, HTMLTableSectionElementMethods}; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::ElementCast; -use dom::bindings::codegen::InheritTypes::NodeCast; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTableRowElementDerived, HTMLTableSectionElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId, HTMLTableRowElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLTableSectionElementDerived, NodeCast, NodeTypeId}; use dom::bindings::error::Error; use dom::bindings::error::{ErrorResult, Fallible}; use dom::bindings::js::{Root, RootedReference}; use dom::document::Document; -use dom::element::{AttributeMutation, Element, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::element::{AttributeMutation, Element}; +use dom::eventtarget::EventTarget; use dom::htmlcollection::{CollectionFilter, HTMLCollection}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::htmlelement::HTMLElement; use dom::htmltablerowelement::HTMLTableRowElement; -use dom::node::{Node, NodeTypeId, window_from_node}; +use dom::node::{Node, window_from_node}; use dom::virtualmethods::VirtualMethods; use std::cell::Cell; use std::iter; diff --git a/components/script/dom/htmltemplateelement.rs b/components/script/dom/htmltemplateelement.rs index 0a4aa7b8786..e965d87c6fa 100644 --- a/components/script/dom/htmltemplateelement.rs +++ b/components/script/dom/htmltemplateelement.rs @@ -6,15 +6,16 @@ use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods; use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding; use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTemplateElementCast}; -use dom::bindings::codegen::InheritTypes::{HTMLTemplateElementDerived, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLTemplateElementCast, HTMLTemplateElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::document::Document; use dom::documentfragment::DocumentFragment; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{CloneChildrenFlag, Node, NodeTypeId, document_from_node}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{CloneChildrenFlag, Node, document_from_node}; use dom::virtualmethods::VirtualMethods; use util::str::DOMString; diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index 603067728b9..522c88d3063 100644 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -8,21 +8,23 @@ use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding; use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding::HTMLTextAreaElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::KeyboardEventCast; -use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetCast, HTMLElementCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLTextAreaElementDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetCast}; +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFieldSetElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementDerived, KeyboardEventCast}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId}; use dom::bindings::global::GlobalRef; use dom::bindings::js::{LayoutJS, Root}; use dom::bindings::refcounted::Trusted; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; +use dom::element::AttributeMutation; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; use dom::htmlformelement::{FormControl, HTMLFormElement}; use dom::keyboardevent::KeyboardEvent; use dom::node::{ChildrenMutation, Node, NodeDamage}; -use dom::node::{NodeTypeId, document_from_node, window_from_node}; +use dom::node::{document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::ConstellationChan; use script_task::ScriptTaskEventCategory::InputEvent; diff --git a/components/script/dom/htmltimeelement.rs b/components/script/dom/htmltimeelement.rs index 2f1bf7bb5a1..dcc95de29f4 100644 --- a/components/script/dom/htmltimeelement.rs +++ b/components/script/dom/htmltimeelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLTimeElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLTimeElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLTimeElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmltitleelement.rs b/components/script/dom/htmltitleelement.rs index 948071bf4b3..6740ff92904 100644 --- a/components/script/dom/htmltitleelement.rs +++ b/components/script/dom/htmltitleelement.rs @@ -5,14 +5,15 @@ use dom::bindings::codegen::Bindings::HTMLTitleElementBinding; use dom::bindings::codegen::Bindings::HTMLTitleElementBinding::HTMLTitleElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::{CharacterDataCast, TextCast}; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTitleElementDerived, NodeCast}; +use dom::bindings::codegen::InheritTypes::{CharacterDataCast, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, HTMLElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTitleElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextCast}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{ChildrenMutation, Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::{ChildrenMutation, Node}; use dom::text::Text; use dom::virtualmethods::VirtualMethods; use util::str::DOMString; diff --git a/components/script/dom/htmltrackelement.rs b/components/script/dom/htmltrackelement.rs index 63d7efbc630..4de20a0abed 100644 --- a/components/script/dom/htmltrackelement.rs +++ b/components/script/dom/htmltrackelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLTrackElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLTrackElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLTrackElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlulistelement.rs b/components/script/dom/htmlulistelement.rs index a8c6102e5ae..ea3e57d35ec 100644 --- a/components/script/dom/htmlulistelement.rs +++ b/components/script/dom/htmlulistelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLUListElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLUListElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLUListElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlunknownelement.rs b/components/script/dom/htmlunknownelement.rs index 43b0c2834b8..7e4067f3555 100644 --- a/components/script/dom/htmlunknownelement.rs +++ b/components/script/dom/htmlunknownelement.rs @@ -3,13 +3,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLUnknownElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLUnknownElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLUnknownElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlelement::HTMLElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/htmlvideoelement.rs b/components/script/dom/htmlvideoelement.rs index b97d853b700..20de1a7df35 100644 --- a/components/script/dom/htmlvideoelement.rs +++ b/components/script/dom/htmlvideoelement.rs @@ -3,14 +3,14 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLVideoElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLVideoElementDerived; +use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLMediaElementTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLVideoElementDerived, NodeTypeId}; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::HTMLElementTypeId; -use dom::htmlmediaelement::{HTMLMediaElement, HTMLMediaElementTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::htmlmediaelement::HTMLMediaElement; +use dom::node::Node; use util::str::DOMString; #[dom_struct] diff --git a/components/script/dom/keyboardevent.rs b/components/script/dom/keyboardevent.rs index 3b317a3fcfb..c56276ecc8a 100644 --- a/components/script/dom/keyboardevent.rs +++ b/components/script/dom/keyboardevent.rs @@ -5,13 +5,14 @@ use dom::bindings::codegen::Bindings::KeyboardEventBinding; use dom::bindings::codegen::Bindings::KeyboardEventBinding::{KeyboardEventConstants, KeyboardEventMethods}; use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods; -use dom::bindings::codegen::InheritTypes::{EventCast, KeyboardEventDerived, UIEventCast}; +use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, KeyboardEventDerived}; +use dom::bindings::codegen::InheritTypes::{UIEventCast, UIEventTypeId}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{Root, RootedReference}; use dom::bindings::utils::{Reflectable, reflect_dom_object}; -use dom::event::{Event, EventTypeId}; -use dom::uievent::{UIEvent, UIEventTypeId}; +use dom::event::Event; +use dom::uievent::UIEvent; use dom::window::Window; use msg::constellation_msg; use msg::constellation_msg::{ALT, CONTROL, SHIFT, SUPER}; @@ -48,7 +49,7 @@ impl KeyboardEventDerived for Event { impl KeyboardEvent { fn new_inherited() -> KeyboardEvent { KeyboardEvent { - uievent: UIEvent::new_inherited(UIEventTypeId::KeyboardEvent), + uievent: UIEvent::new_inherited(), key: Cell::new(None), key_string: RefCell::new("".to_owned()), code: RefCell::new("".to_owned()), diff --git a/components/script/dom/messageevent.rs b/components/script/dom/messageevent.rs index d141c649aec..1b0a129f12b 100644 --- a/components/script/dom/messageevent.rs +++ b/components/script/dom/messageevent.rs @@ -5,12 +5,12 @@ use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::MessageEventBinding; use dom::bindings::codegen::Bindings::MessageEventBinding::MessageEventMethods; -use dom::bindings::codegen::InheritTypes::{EventCast, MessageEventDerived}; +use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, MessageEventDerived}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventTypeId}; +use dom::event::Event; use dom::eventtarget::EventTarget; use js::jsapi::{HandleValue, Heap, JSContext}; use js::jsval::JSVal; @@ -42,7 +42,7 @@ impl MessageEvent { origin: DOMString, lastEventId: DOMString) -> Root<MessageEvent> { let mut ev = box MessageEvent { - event: Event::new_inherited(EventTypeId::MessageEvent), + event: Event::new_inherited(), data: Heap::default(), origin: origin, lastEventId: lastEventId, diff --git a/components/script/dom/mouseevent.rs b/components/script/dom/mouseevent.rs index fd316c58e14..7346482598f 100644 --- a/components/script/dom/mouseevent.rs +++ b/components/script/dom/mouseevent.rs @@ -5,14 +5,15 @@ use dom::bindings::codegen::Bindings::MouseEventBinding; use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods; use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods; -use dom::bindings::codegen::InheritTypes::{EventCast, MouseEventDerived, UIEventCast}; +use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, UIEventCast}; +use dom::bindings::codegen::InheritTypes::{UIEventTypeId, MouseEventDerived}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference}; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; +use dom::event::{Event, EventBubbles, EventCancelable}; use dom::eventtarget::EventTarget; -use dom::uievent::{UIEvent, UIEventTypeId}; +use dom::uievent::UIEvent; use dom::window::Window; use std::cell::Cell; use std::default::Default; @@ -43,7 +44,7 @@ impl MouseEventDerived for Event { impl MouseEvent { fn new_inherited() -> MouseEvent { MouseEvent { - uievent: UIEvent::new_inherited(UIEventTypeId::MouseEvent), + uievent: UIEvent::new_inherited(), screen_x: Cell::new(0), screen_y: Cell::new(0), client_x: Cell::new(0), diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 9205055cf56..19a4cdafecf 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -18,10 +18,13 @@ use dom::bindings::codegen::Bindings::NamedNodeMapBinding::NamedNodeMapMethods; use dom::bindings::codegen::Bindings::NodeBinding::{NodeConstants, NodeMethods}; use dom::bindings::codegen::Bindings::NodeListBinding::NodeListMethods; use dom::bindings::codegen::Bindings::ProcessingInstructionBinding::ProcessingInstructionMethods; -use dom::bindings::codegen::InheritTypes::{CharacterDataCast, DocumentCast, DocumentDerived, DocumentTypeCast}; -use dom::bindings::codegen::InheritTypes::{ElementCast, ElementDerived, EventTargetCast, NodeCast}; -use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLLegendElementDerived}; -use dom::bindings::codegen::InheritTypes::{HTMLOptGroupElementDerived, NodeBase, NodeDerived}; +use dom::bindings::codegen::InheritTypes::{CharacterDataCast, CharacterDataTypeId}; +use dom::bindings::codegen::InheritTypes::{DocumentCast, DocumentDerived, DocumentTypeCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, ElementDerived, ElementTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFieldSetElementDerived}; +use dom::bindings::codegen::InheritTypes::{HTMLLegendElementDerived, HTMLOptGroupElementDerived}; +use dom::bindings::codegen::InheritTypes::{NodeBase, NodeCast, NodeDerived, NodeTypeId}; use dom::bindings::codegen::InheritTypes::{ProcessingInstructionCast, TextCast, TextDerived}; use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::conversions; @@ -33,14 +36,13 @@ use dom::bindings::js::{JS, LayoutJS, MutNullableHeap}; use dom::bindings::trace::JSTraceable; use dom::bindings::trace::RootedVec; use dom::bindings::utils::{Reflectable, namespace_from_domstring, reflect_dom_object}; -use dom::characterdata::{CharacterData, CharacterDataTypeId}; +use dom::characterdata::CharacterData; use dom::comment::Comment; use dom::document::{Document, DocumentSource, IsHTMLDocument}; use dom::documentfragment::DocumentFragment; use dom::documenttype::DocumentType; -use dom::element::{Element, ElementCreator, ElementTypeId}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::HTMLElementTypeId; +use dom::element::{Element, ElementCreator}; +use dom::eventtarget::EventTarget; use dom::nodelist::NodeList; use dom::processinginstruction::ProcessingInstruction; use dom::text::Text; @@ -277,17 +279,6 @@ impl LayoutDataRef { } } -/// The different types of nodes. -#[derive(Copy, Clone, PartialEq, Debug)] -pub enum NodeTypeId { - CharacterData(CharacterDataTypeId), - DocumentType, - DocumentFragment, - Document, - Element(ElementTypeId), -} - - impl Node { /// Adds a new child to the end of this node's list of children. /// @@ -452,7 +443,7 @@ impl Node { self.flags.get().contains(IS_IN_DOC) } - /// Returns the type ID of this node. Fails if this node is borrowed mutably. + /// Returns the type ID of this node. pub fn type_id(&self) -> NodeTypeId { match *self.eventtarget.type_id() { EventTargetTypeId::Node(type_id) => type_id, diff --git a/components/script/dom/processinginstruction.rs b/components/script/dom/processinginstruction.rs index d3c1e655490..6610352dda1 100644 --- a/components/script/dom/processinginstruction.rs +++ b/components/script/dom/processinginstruction.rs @@ -4,12 +4,13 @@ use dom::bindings::codegen::Bindings::ProcessingInstructionBinding; use dom::bindings::codegen::Bindings::ProcessingInstructionBinding::ProcessingInstructionMethods; -use dom::bindings::codegen::InheritTypes::ProcessingInstructionDerived; +use dom::bindings::codegen::InheritTypes::{CharacterDataTypeId, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{NodeTypeId, ProcessingInstructionDerived}; use dom::bindings::js::Root; -use dom::characterdata::{CharacterData, CharacterDataTypeId}; +use dom::characterdata::CharacterData; use dom::document::Document; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::node::Node; use util::str::DOMString; /// An HTML processing instruction node. diff --git a/components/script/dom/progressevent.rs b/components/script/dom/progressevent.rs index 05e0343df24..529fc85a26e 100644 --- a/components/script/dom/progressevent.rs +++ b/components/script/dom/progressevent.rs @@ -5,12 +5,12 @@ use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::ProgressEventBinding; use dom::bindings::codegen::Bindings::ProgressEventBinding::ProgressEventMethods; -use dom::bindings::codegen::InheritTypes::{EventCast, ProgressEventDerived}; +use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, ProgressEventDerived}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; +use dom::event::{Event, EventBubbles, EventCancelable}; use util::str::DOMString; #[dom_struct] @@ -30,7 +30,7 @@ impl ProgressEventDerived for Event { impl ProgressEvent { fn new_inherited(length_computable: bool, loaded: u64, total: u64) -> ProgressEvent { ProgressEvent { - event: Event::new_inherited(EventTypeId::ProgressEvent), + event: Event::new_inherited(), length_computable: length_computable, loaded: loaded, total: total diff --git a/components/script/dom/range.rs b/components/script/dom/range.rs index ea85eeb6033..0b9a5cc0dbf 100644 --- a/components/script/dom/range.rs +++ b/components/script/dom/range.rs @@ -10,15 +10,15 @@ use dom::bindings::codegen::Bindings::RangeBinding::RangeMethods; use dom::bindings::codegen::Bindings::RangeBinding::{self, RangeConstants}; use dom::bindings::codegen::Bindings::TextBinding::TextMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::{CharacterDataCast, NodeCast, TextCast, TextDerived}; +use dom::bindings::codegen::InheritTypes::{CharacterDataCast, CharacterDataTypeId}; +use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextCast, TextDerived}; use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, Root, RootedReference}; use dom::bindings::utils::{Reflector, reflect_dom_object}; -use dom::characterdata::CharacterDataTypeId; use dom::document::Document; use dom::documentfragment::DocumentFragment; -use dom::node::{Node, NodeTypeId}; +use dom::node::Node; use std::cell::RefCell; use std::cmp::{Ord, Ordering, PartialEq, PartialOrd}; use std::rc::Rc; diff --git a/components/script/dom/storageevent.rs b/components/script/dom/storageevent.rs index 316ef9b49e6..76e697b2861 100644 --- a/components/script/dom/storageevent.rs +++ b/components/script/dom/storageevent.rs @@ -5,12 +5,12 @@ use dom::bindings::codegen::Bindings::EventBinding::{EventMethods}; use dom::bindings::codegen::Bindings::StorageEventBinding; use dom::bindings::codegen::Bindings::StorageEventBinding::{StorageEventMethods}; -use dom::bindings::codegen::InheritTypes::{EventCast}; +use dom::bindings::codegen::InheritTypes::EventCast; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference}; use dom::bindings::utils::{reflect_dom_object}; -use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; +use dom::event::{Event, EventBubbles, EventCancelable}; use dom::storage::Storage; use util::str::DOMString; @@ -26,14 +26,13 @@ pub struct StorageEvent { impl StorageEvent { - pub fn new_inherited(type_id: EventTypeId, - key: Option<DOMString>, + pub fn new_inherited(key: Option<DOMString>, oldValue: Option<DOMString>, newValue: Option<DOMString>, url: DOMString, storageArea: Option<&Storage>) -> StorageEvent { StorageEvent { - event: Event::new_inherited(type_id), + event: Event::new_inherited(), key: key, oldValue: oldValue, newValue: newValue, @@ -51,8 +50,7 @@ impl StorageEvent { newValue: Option<DOMString>, url: DOMString, storageArea: Option<&Storage>) -> Root<StorageEvent> { - let ev = reflect_dom_object(box StorageEvent::new_inherited(EventTypeId::StorageEvent, - key, oldValue, newValue, + let ev = reflect_dom_object(box StorageEvent::new_inherited(key, oldValue, newValue, url, storageArea), global, StorageEventBinding::Wrap); diff --git a/components/script/dom/text.rs b/components/script/dom/text.rs index 2eac167ca51..264eaf48816 100644 --- a/components/script/dom/text.rs +++ b/components/script/dom/text.rs @@ -7,16 +7,17 @@ use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::TextBinding::{self, TextMethods}; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; -use dom::bindings::codegen::InheritTypes::NodeCast; -use dom::bindings::codegen::InheritTypes::{CharacterDataCast, TextDerived}; +use dom::bindings::codegen::InheritTypes::{CharacterDataCast, CharacterDataTypeId}; +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, NodeCast}; +use dom::bindings::codegen::InheritTypes::{NodeTypeId, TextDerived}; use dom::bindings::error::{Error, Fallible}; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::js::{RootedReference}; -use dom::characterdata::{CharacterData, CharacterDataTypeId}; +use dom::characterdata::CharacterData; use dom::document::Document; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::node::{Node, NodeTypeId}; +use dom::eventtarget::EventTarget; +use dom::node::Node; use util::str::DOMString; /// An HTML text node. diff --git a/components/script/dom/uievent.rs b/components/script/dom/uievent.rs index 4c85e7a16f9..7ae21211616 100644 --- a/components/script/dom/uievent.rs +++ b/components/script/dom/uievent.rs @@ -5,25 +5,18 @@ use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::UIEventBinding; use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods; -use dom::bindings::codegen::InheritTypes::{EventCast, UIEventDerived}; +use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, UIEventDerived}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::js::{JS, MutNullableHeap, RootedReference}; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; +use dom::event::{Event, EventBubbles, EventCancelable}; use dom::window::Window; use std::cell::Cell; use std::default::Default; use util::str::DOMString; -#[derive(JSTraceable, PartialEq, HeapSizeOf)] -pub enum UIEventTypeId { - MouseEvent, - KeyboardEvent, - UIEvent, -} - // https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#interface-UIEvent #[dom_struct] pub struct UIEvent { @@ -42,16 +35,16 @@ impl UIEventDerived for Event { } impl UIEvent { - pub fn new_inherited(type_id: UIEventTypeId) -> UIEvent { + pub fn new_inherited() -> UIEvent { UIEvent { - event: Event::new_inherited(EventTypeId::UIEvent(type_id)), + event: Event::new_inherited(), view: Default::default(), detail: Cell::new(0), } } pub fn new_uninitialized(window: &Window) -> Root<UIEvent> { - reflect_dom_object(box UIEvent::new_inherited(UIEventTypeId::UIEvent), + reflect_dom_object(box UIEvent::new_inherited(), GlobalRef::Window(window), UIEventBinding::Wrap) } diff --git a/components/script/dom/virtualmethods.rs b/components/script/dom/virtualmethods.rs index 49d5ae8670d..5c990e8a1de 100644 --- a/components/script/dom/virtualmethods.rs +++ b/components/script/dom/virtualmethods.rs @@ -4,6 +4,7 @@ use dom::attr::{Attr, AttrValue}; use dom::bindings::codegen::InheritTypes::ElementCast; +use dom::bindings::codegen::InheritTypes::ElementTypeId; use dom::bindings::codegen::InheritTypes::HTMLAnchorElementCast; use dom::bindings::codegen::InheritTypes::HTMLAppletElementCast; use dom::bindings::codegen::InheritTypes::HTMLAreaElementCast; @@ -12,6 +13,7 @@ use dom::bindings::codegen::InheritTypes::HTMLBodyElementCast; use dom::bindings::codegen::InheritTypes::HTMLButtonElementCast; use dom::bindings::codegen::InheritTypes::HTMLCanvasElementCast; use dom::bindings::codegen::InheritTypes::HTMLElementCast; +use dom::bindings::codegen::InheritTypes::HTMLElementTypeId; use dom::bindings::codegen::InheritTypes::HTMLFieldSetElementCast; use dom::bindings::codegen::InheritTypes::HTMLFontElementCast; use dom::bindings::codegen::InheritTypes::HTMLFormElementCast; @@ -34,11 +36,10 @@ use dom::bindings::codegen::InheritTypes::HTMLTableSectionElementCast; use dom::bindings::codegen::InheritTypes::HTMLTemplateElementCast; use dom::bindings::codegen::InheritTypes::HTMLTextAreaElementCast; use dom::bindings::codegen::InheritTypes::HTMLTitleElementCast; +use dom::bindings::codegen::InheritTypes::NodeTypeId; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; +use dom::element::AttributeMutation; use dom::event::Event; -use dom::htmlelement::HTMLElementTypeId; -use dom::node::NodeTypeId; use dom::node::{ChildrenMutation, CloneChildrenFlag, Node}; use string_cache::Atom; use util::str::DOMString; diff --git a/components/script/dom/webglcontextevent.rs b/components/script/dom/webglcontextevent.rs index 2eed623c44d..52e3d4cdb3d 100644 --- a/components/script/dom/webglcontextevent.rs +++ b/components/script/dom/webglcontextevent.rs @@ -6,12 +6,12 @@ use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::WebGLContextEventBinding; use dom::bindings::codegen::Bindings::WebGLContextEventBinding::WebGLContextEventInit; use dom::bindings::codegen::Bindings::WebGLContextEventBinding::WebGLContextEventMethods; -use dom::bindings::codegen::InheritTypes::{WebGLContextEventDerived, EventCast}; +use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, WebGLContextEventDerived}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{Root, RootedReference}; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; +use dom::event::{Event, EventBubbles, EventCancelable}; use util::str::DOMString; #[dom_struct] @@ -34,9 +34,9 @@ impl WebGLContextEventDerived for Event { } impl WebGLContextEvent { - pub fn new_inherited(type_id: EventTypeId, status_message: DOMString) -> WebGLContextEvent { + pub fn new_inherited(status_message: DOMString) -> WebGLContextEvent { WebGLContextEvent { - event: Event::new_inherited(type_id), + event: Event::new_inherited(), status_message: status_message, } } @@ -47,7 +47,7 @@ impl WebGLContextEvent { cancelable: EventCancelable, status_message: DOMString) -> Root<WebGLContextEvent> { let event = reflect_dom_object( - box WebGLContextEvent::new_inherited(EventTypeId::WebGLContextEvent, status_message), + box WebGLContextEvent::new_inherited(status_message), global, WebGLContextEventBinding::Wrap); diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index eeed5508ed2..c4d04b3ec1c 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -11,7 +11,8 @@ use dom::bindings::codegen::Bindings::EventHandlerBinding::{EventHandlerNonNull, use dom::bindings::codegen::Bindings::FunctionBinding::Function; use dom::bindings::codegen::Bindings::WindowBinding::{ScrollBehavior, ScrollToOptions}; use dom::bindings::codegen::Bindings::WindowBinding::{self, FrameRequestCallback, WindowMethods}; -use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetCast, NodeCast, WindowDerived}; +use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetCast}; +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, NodeCast, WindowDerived}; use dom::bindings::error::{Error, Fallible, report_pending_exception}; use dom::bindings::global::GlobalRef; use dom::bindings::global::global_object_for_js_object; @@ -25,7 +26,7 @@ use dom::crypto::Crypto; use dom::cssstyledeclaration::{CSSModificationAccess, CSSStyleDeclaration}; use dom::document::Document; use dom::element::Element; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::EventTarget; use dom::location::Location; use dom::navigator::Navigator; use dom::node::{TrustedNodeAddress, from_untrusted_node_address, window_from_node}; diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index bbccefab2fa..cbe1551f339 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -10,7 +10,8 @@ use dom::bindings::codegen::Bindings::XMLHttpRequestBinding; use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestMethods; use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestResponseType; use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestResponseType::{Json, Text, _empty}; -use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast, XMLHttpRequestDerived}; +use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast, EventTargetTypeId}; +use dom::bindings::codegen::InheritTypes::{XMLHttpRequestDerived, XMLHttpRequestEventTargetTypeId}; use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams; use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams::{eString, eURLSearchParams}; use dom::bindings::conversions::ToJSValConvertible; @@ -23,10 +24,9 @@ use dom::bindings::str::ByteString; use dom::bindings::utils::{Reflectable, reflect_dom_object}; use dom::document::Document; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::EventTarget; use dom::progressevent::ProgressEvent; use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTarget; -use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTargetTypeId; use dom::xmlhttprequestupload::XMLHttpRequestUpload; use encoding::all::UTF_8; use encoding::label::encoding_from_whatwg_label; diff --git a/components/script/dom/xmlhttprequesteventtarget.rs b/components/script/dom/xmlhttprequesteventtarget.rs index 66dcb5f8211..257e4392132 100644 --- a/components/script/dom/xmlhttprequesteventtarget.rs +++ b/components/script/dom/xmlhttprequesteventtarget.rs @@ -5,14 +5,8 @@ use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::XMLHttpRequestEventTargetBinding::XMLHttpRequestEventTargetMethods; use dom::bindings::codegen::InheritTypes::EventTargetCast; -use dom::bindings::codegen::InheritTypes::XMLHttpRequestEventTargetDerived; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; - -#[derive(Copy, Clone, PartialEq)] -pub enum XMLHttpRequestEventTargetTypeId { - XMLHttpRequest, - XMLHttpRequestUpload, -} +use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, XMLHttpRequestEventTargetDerived}; +use dom::eventtarget::EventTarget; #[dom_struct] pub struct XMLHttpRequestEventTarget { diff --git a/components/script/dom/xmlhttprequestupload.rs b/components/script/dom/xmlhttprequestupload.rs index c7d4d4d4ca3..2456d1079a5 100644 --- a/components/script/dom/xmlhttprequestupload.rs +++ b/components/script/dom/xmlhttprequestupload.rs @@ -3,13 +3,14 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::XMLHttpRequestUploadBinding; +use dom::bindings::codegen::InheritTypes::EventTargetTypeId; +use dom::bindings::codegen::InheritTypes::XMLHttpRequestEventTargetTypeId; use dom::bindings::codegen::InheritTypes::XMLHttpRequestUploadDerived; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; +use dom::eventtarget::EventTarget; use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTarget; -use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTargetTypeId; #[dom_struct] pub struct XMLHttpRequestUpload { diff --git a/components/script/mem.rs b/components/script/mem.rs index 51eaa9359df..039b33f24a9 100644 --- a/components/script/mem.rs +++ b/components/script/mem.rs @@ -5,14 +5,7 @@ //! Routines for handling measuring the memory usage of arbitrary DOM nodes. use dom::bindings::codegen::InheritTypes::*; -use dom::element::ElementTypeId; -use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlelement::HTMLElementTypeId; -use dom::htmlmediaelement::HTMLMediaElementTypeId::HTMLAudioElement; -use dom::htmlmediaelement::HTMLMediaElementTypeId::HTMLVideoElement; -use dom::htmltablecellelement::HTMLTableCellElementTypeId::HTMLTableDataCellElement; -use dom::htmltablecellelement::HTMLTableCellElementTypeId::HTMLTableHeaderCellElement; -use dom::node::NodeTypeId; +use dom::eventtarget::EventTarget; use libc; use util::mem::{HeapSizeOf, heap_size_of}; @@ -137,10 +130,10 @@ pub fn heap_size_of_eventtarget(target: &EventTarget) -> usize { ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLMapElement))) => heap_size_of_self_and_children(HTMLMapElementCast::to_ref(target).unwrap()), EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement( - HTMLElementTypeId::HTMLMediaElement(HTMLAudioElement)))) => + HTMLElementTypeId::HTMLMediaElement(HTMLMediaElementTypeId::HTMLAudioElement)))) => heap_size_of_self_and_children(HTMLAudioElementCast::to_ref(target).unwrap()), EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement( - HTMLElementTypeId::HTMLMediaElement(HTMLVideoElement)))) => + HTMLElementTypeId::HTMLMediaElement(HTMLMediaElementTypeId::HTMLVideoElement)))) => heap_size_of_self_and_children(HTMLVideoElementCast::to_ref(target).unwrap()), EventTargetTypeId::Node(NodeTypeId::Element( ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLMetaElement))) => @@ -203,10 +196,10 @@ pub fn heap_size_of_eventtarget(target: &EventTarget) -> usize { ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableCaptionElement))) => heap_size_of_self_and_children(HTMLTableCaptionElementCast::to_ref(target).unwrap()), EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement( - HTMLElementTypeId::HTMLTableCellElement(HTMLTableDataCellElement)))) => + HTMLElementTypeId::HTMLTableCellElement(HTMLTableCellElementTypeId::HTMLTableDataCellElement)))) => heap_size_of_self_and_children(HTMLTableDataCellElementCast::to_ref(target).unwrap()), EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement( - HTMLElementTypeId::HTMLTableCellElement(HTMLTableHeaderCellElement)))) => + HTMLElementTypeId::HTMLTableCellElement(HTMLTableCellElementTypeId::HTMLTableHeaderCellElement)))) => heap_size_of_self_and_children(HTMLTableHeaderCellElementCast::to_ref(target).unwrap()), EventTargetTypeId::Node(NodeTypeId::Element( ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableColElement))) => diff --git a/components/script/parse/html.rs b/components/script/parse/html.rs index 3972fba7a3d..239198a55d2 100644 --- a/components/script/parse/html.rs +++ b/components/script/parse/html.rs @@ -8,20 +8,20 @@ use document_loader::DocumentLoader; use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods; use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; -use dom::bindings::codegen::InheritTypes::{CharacterDataCast, DocumentTypeCast}; -use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLFormElementDerived}; -use dom::bindings::codegen::InheritTypes::{HTMLScriptElementCast, HTMLTemplateElementCast}; -use dom::bindings::codegen::InheritTypes::{NodeCast, ProcessingInstructionCast}; +use dom::bindings::codegen::InheritTypes::{CharacterDataCast, CharacterDataTypeId}; +use dom::bindings::codegen::InheritTypes::{DocumentTypeCast, ElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLFormElementDerived, HTMLScriptElementCast}; +use dom::bindings::codegen::InheritTypes::{HTMLTemplateElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{NodeTypeId, ProcessingInstructionCast}; use dom::bindings::js::{JS, Root}; use dom::bindings::js::{RootedReference}; -use dom::characterdata::CharacterDataTypeId; use dom::comment::Comment; use dom::document::Document; use dom::document::{DocumentSource, IsHTMLDocument}; use dom::documenttype::DocumentType; use dom::element::{Element, ElementCreator}; use dom::htmlscriptelement::HTMLScriptElement; -use dom::node::{Node, NodeTypeId}; +use dom::node::Node; use dom::node::{document_from_node, window_from_node}; use dom::servohtmlparser; use dom::servohtmlparser::{FragmentContext, ServoHTMLParser}; |