This is an automated email from the ASF dual-hosted git repository. aharui pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 25fbbd4163ff4b9870a31038e28d2f46871546d8 Author: Alex Harui <aha...@apache.org> AuthorDate: Wed Nov 21 17:57:04 2018 -0800 allow easy injection of other or alternate event converters. I think this might be faster than a growing switch statement anyway --- .../org/apache/royale/core/HTMLElementWrapper.as | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as index a4d084f..7d00bc7 100644 --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as @@ -71,22 +71,20 @@ package org.apache.royale.core { var e:IBrowserEvent; var nativeEvent:Object = eventObject.getBrowserEvent(); - switch(nativeEvent.constructor.name) - { - case "KeyboardEvent": - e = KeyboardEventConverter.convert(nativeEvent); - break; - case "MouseEvent": - e = MouseEventConverter.convert(nativeEvent); - break; - default: - e = new org.apache.royale.events.BrowserEvent(); - break; - } + var converter:Object = converterMap[nativeEvent.constructor.name]; + if (converter) + e = converter["convert"](nativeEvent); + else + e = new org.apache.royale.events.BrowserEvent(); e.wrapEvent(eventObject); return HTMLElementWrapper.googFireListener(listener, e); } + + /** + * @royalesuppresspublicvarwarning + */ + static public var converterMap:Object = {}; /** * Static initializer @@ -95,6 +93,8 @@ package org.apache.royale.core { HTMLElementWrapper.googFireListener = goog.events.fireListener; goog.events.fireListener = HTMLElementWrapper.fireListenerOverride; + converterMap["KeyboardEvent"] = KeyboardEventConverter; + converterMap["MouseEvent"] = MouseEventConverter; return true; }