From 13ea3ac413c511872784ccde416956217746553c Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Tue, 6 Oct 2015 17:21:44 +0200 Subject: Introduce trait Castable This trait is used to hold onto the downcast and upcast functions of all castable IDL interfaces. A castable IDL interface is one which either derives from or is derived by other interfaces. The deriving relation is represented by implementations of marker trait DerivedFrom generated in InheritTypes. /^[ ]*use dom::bindings::codegen::InheritTypes::.*(Base|Cast|Derived)/ { /::[a-zA-Z]+(Base|Cast|Derived);/d s/([{ ])[a-zA-Z]+(Base|Cast|Derived), /\1/g s/([{ ])[a-zA-Z]+(Base|Cast|Derived), /\1/g s/, [a-zA-Z]+(Base|Cast|Derived)([},])/\2/g s/, [a-zA-Z]+(Base|Cast|Derived)([},])/\2/g /\{([a-zA-Z]+(Base|Cast|Derived))?\};$/d s/\{([a-zA-Z_]+)\};$/\1;/ } s/([a-zA-Z]+)Cast::from_ref\(\&?\**([a-zA-Z_]+)(\.r\(\))?\)/\2.upcast::<\1>()/g s/([a-zA-Z]+)Cast::from_ref\(\&?\**([a-zA-Z_]+)(\.[a-zA-Z_]+\(\))?\)/\2\3.upcast::<\1>()/g s/\(([a-zA-Z]+)Cast::from_ref\)/\(Castable::upcast::<\1>\)/g s/([a-zA-Z]+)Cast::from_root/Root::upcast::<\1>/g s/([a-zA-Z]+)Cast::from_layout_js\(\&([a-zA-Z_.]+)\)/\2.upcast::<\1>()/g s/([a-zA-Z]+)Cast::to_ref\(\&?\**([a-zA-Z_]+)(\.r\(\))?\)/\2.downcast::<\1>()/g s/([a-zA-Z]+)Cast::to_ref\(\&?\**([a-zA-Z_]+)(\.[a-zA-Z_]+\(\))?\)/\2\3.downcast::<\1>()/g s/\(([a-zA-Z]+)Cast::to_ref\)/\(Castable::downcast::<\1>\)/g s/([a-zA-Z]+)Cast::to_root/Root::downcast::<\1>/g s/([a-zA-Z]+)Cast::to_layout_js\(&?([a-zA-Z_.]+(\(\))?)\)/\2.downcast::<\1>()/g s/\.is_document\(\)/.is::()/g s/\.is_htmlanchorelement\(\)/.is::()/g s/\.is_htmlappletelement\(\)/.is::()/g s/\.is_htmlareaelement\(\)/.is::()/g s/\.is_htmlbodyelement\(\)/.is::()/g s/\.is_htmlembedelement\(\)/.is::()/g s/\.is_htmlfieldsetelement\(\)/.is::()/g s/\.is_htmlformelement\(\)/.is::()/g s/\.is_htmlframesetelement\(\)/.is::()/g s/\.is_htmlhtmlelement\(\)/.is::()/g s/\.is_htmlimageelement\(\)/.is::()/g s/\.is_htmllegendelement\(\)/.is::()/g s/\.is_htmloptgroupelement\(\)/.is::()/g s/\.is_htmloptionelement\(\)/.is::()/g s/\.is_htmlscriptelement\(\)/.is::()/g s/\.is_htmltabledatacellelement\(\)/.is::()/g s/\.is_htmltableheadercellelement\(\)/.is::()/g s/\.is_htmltablerowelement\(\)/.is::()/g s/\.is_htmltablesectionelement\(\)/.is::()/g s/\.is_htmltitleelement\(\)/.is::()/g --- components/script/dom/webglcontextevent.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'components/script/dom/webglcontextevent.rs') diff --git a/components/script/dom/webglcontextevent.rs b/components/script/dom/webglcontextevent.rs index 1bba8849eb4..6a2e709f765 100644 --- a/components/script/dom/webglcontextevent.rs +++ b/components/script/dom/webglcontextevent.rs @@ -6,10 +6,10 @@ 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::EventCast; +use dom::bindings::conversions::Castable; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; -use dom::bindings::js::{Root, RootedReference}; +use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::event::{Event, EventBubbles, EventCancelable}; use util::str::DOMString; @@ -46,7 +46,7 @@ impl WebGLContextEvent { WebGLContextEventBinding::Wrap); { - let parent = EventCast::from_ref(event.r()); + let parent = event.upcast::(); parent.InitEvent(type_, bubbles == EventBubbles::Bubbles, cancelable == EventCancelable::Cancelable); } -- cgit v1.2.3