You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ha...@apache.org on 2019/12/22 16:39:20 UTC
[royale-asjs] branch develop updated: Cleaned up ElementWrapper and
HTMLElementWrapper
This is an automated email from the ASF dual-hosted git repository.
harbs pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new f50c999 Cleaned up ElementWrapper and HTMLElementWrapper
f50c999 is described below
commit f50c9990a3190cf681364905525656984ab2e9c5
Author: Harbs <ha...@in-tools.com>
AuthorDate: Sun Dec 22 18:39:04 2019 +0200
Cleaned up ElementWrapper and HTMLElementWrapper
---
.../beads/CrossBrowserFireListenerOverrideBead.as | 4 +-
.../org/apache/royale/core/ElementWrapper.as | 41 ++---
.../org/apache/royale/core/HTMLElementWrapper.as | 204 +--------------------
.../org/apache/royale/events/KeyboardEvent.as | 4 +-
.../royale/org/apache/royale/events/MouseEvent.as | 4 +-
.../src/main/royale/mx/core/Application.as | 8 +-
.../main/royale/spark/components/Application.as | 4 +-
7 files changed, 37 insertions(+), 232 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
index 36db48b..98532bd 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
@@ -20,7 +20,7 @@ package org.apache.royale.html.beads
{
import org.apache.royale.core.IBead;
import org.apache.royale.core.IStrand;
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
COMPILE::JS
{
import goog.events;
@@ -87,7 +87,7 @@ package org.apache.royale.html.beads
}
e.wrapEvent(eventObject);
- return HTMLElementWrapper.googFireListener(listener, e);
+ return ElementWrapper.googFireListener(listener, e);
}
}
}
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
index 58b7a64..ec7ab71 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
@@ -27,6 +27,7 @@ package org.apache.royale.core
import org.apache.royale.events.ElementEvents;
import goog.events;
import goog.events.EventTarget;
+ import goog.DEBUG;
}
COMPILE::SWF
{
@@ -77,8 +78,7 @@ package org.apache.royale.core
if (!_beads)
{
_beads = new Vector.<IBead>();
- }
-
+ }
_beads.push(bead);
bead.strand = this;
}
@@ -115,9 +115,7 @@ package org.apache.royale.core
public function removeBead(bead:IBead):IBead
{
var i:uint, n:uint, value:Object;
-
n = _beads.length;
-
for (i = 0; i < n; i++)
{
value = _beads[i];
@@ -125,7 +123,7 @@ package org.apache.royale.core
if (bead === value)
{
_beads.splice(i, 1);
-
+ bead.strand = null;
return bead;
}
}
@@ -173,6 +171,11 @@ package org.apache.royale.core
public class ElementWrapper extends EventDispatcher implements IStrand
{
+ /**
+ * @royalesuppresspublicvarwarning
+ */
+ static public var converterMap:Object = {};
+
//--------------------------------------
// Static Function
//--------------------------------------
@@ -185,13 +188,13 @@ package org.apache.royale.core
*/
static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
{
- /**
- * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
- */
var e:IBrowserEvent;
- if(eventObject is IBrowserEvent){
- e = eventObject as IBrowserEvent
- } else {
+ var nativeEvent:Object = eventObject.getBrowserEvent();
+ var converter:Object = converterMap[nativeEvent.constructor.name];
+ if (converter)
+ e = converter["convert"](nativeEvent,eventObject);
+ else
+ {
e = new org.apache.royale.events.BrowserEvent();
e.wrapEvent(eventObject);
}
@@ -262,7 +265,7 @@ package org.apache.royale.core
{
_beads = new Vector.<IBead>();
}
-
+ if (goog.DEBUG && !(bead is IBead)) throw new TypeError('Cannot convert '+bead+' to IBead');
_beads.push(bead);
bead.strand = this;
}
@@ -274,11 +277,8 @@ package org.apache.royale.core
public function getBeadByType(classOrInterface:Class):IBead
{
var bead:IBead, i:uint, n:uint;
-
if (!_beads) return null;
-
n = _beads.length;
-
for (i = 0; i < n; i++)
{
bead = _beads[i];
@@ -299,9 +299,7 @@ package org.apache.royale.core
public function removeBead(bead:IBead):IBead
{
var i:uint, n:uint, value:Object;
-
n = _beads.length;
-
for (i = 0; i < n; i++)
{
value = _beads[i];
@@ -309,7 +307,6 @@ package org.apache.royale.core
if (bead === value)
{
_beads.splice(i, 1);
-
return bead;
}
}
@@ -351,12 +348,12 @@ package org.apache.royale.core
override public function dispatchEvent(e:Object):Boolean
{
var eventType:String = "";
- if (typeof(e) === 'string')
+ if (typeof(e) == 'string')
{
eventType = e as String;
- if (e === Event.CHANGE)
+ if (e == "change")
{
- e = EventUtils.createEvent(eventType);
+ e = EventUtils.createEvent(eventType, e.bubbles);
}
}
else
@@ -364,7 +361,7 @@ package org.apache.royale.core
eventType = e.type;
if (ElementEvents.elementEvents[eventType])
{
- e = EventUtils.createEvent(eventType);
+ e = EventUtils.createEvent(eventType), e.bubbles;
}
}
var source:Object = this.getActualDispatcher_(eventType);
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 d44fb29..59e571c 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
@@ -144,92 +144,13 @@ package org.apache.royale.core
}
COMPILE::JS
- public class HTMLElementWrapper extends EventDispatcher implements IStrand
+ public class HTMLElementWrapper extends ElementWrapper
{
- //--------------------------------------
- // Static Function
- //--------------------------------------
-
- /**
- * @param listener The listener object to call {goog.events.Listener}.
- * @param eventObject The event object to pass to the listener.
- * @return Result of listener.
- * @royaleignorecoercion org.apache.royale.events.IBrowserEvent
- */
- static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
- {
- /**
- * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
- */
- var e:IBrowserEvent;
- if(eventObject is IBrowserEvent){
- e = eventObject as IBrowserEvent
- } else {
- var nativeEvent:Object = eventObject.getBrowserEvent();
- var converter:Object = converterMap[nativeEvent.constructor.name];
- if (converter)
- e = converter["convert"](nativeEvent,eventObject);
- else
- {
- e = new org.apache.royale.events.BrowserEvent();
- e.wrapEvent(eventObject);
- }
- }
- return HTMLElementWrapper.googFireListener(listener, e);
- }
-
- /**
- * @royalesuppresspublicvarwarning
- */
- static public var converterMap:Object = {};
-
- /**
- * Static initializer
- */
- static public function installOverride():Boolean
- {
- HTMLElementWrapper.googFireListener = goog.events.fireListener;
- goog.events.fireListener = HTMLElementWrapper.fireListenerOverride;
- return true;
- }
-
- //--------------------------------------
- // Static Property
- //--------------------------------------
-
- /**
- * The original fireListener.
- *
- * @royalesuppresspublicvarwarning
- */
- static public var googFireListener:Function;
-
- /**
- * The properties that triggers the static initializer.
- * Note, in JS, this property has to be declared
- * after the installOverride.
- *
- * @royalesuppresspublicvarwarning
- */
- static public var installedOverride:Boolean = installOverride();
//--------------------------------------
// Property
//--------------------------------------
-
- private var _element:WrappedHTMLElement;
-
- public function get element():WrappedHTMLElement
- {
- return _element;
- }
-
- public function set element(value:WrappedHTMLElement):void
- {
- _element = value;
- _element.royale_wrapper = this;
- }
/**
* allow access from overrides
@@ -270,8 +191,6 @@ package org.apache.royale.core
}
}
- private var _beads:Array;
-
//--------------------------------------
// Function
//--------------------------------------
@@ -280,85 +199,15 @@ package org.apache.royale.core
* @param bead The new bead.
* @royaleignorecoercion org.apache.royale.core.IBeadModel
*/
- public function addBead(bead:IBead):void
+ override public function addBead(bead:IBead):void
{
- if (!_beads)
- {
- _beads = [];
- }
- if (goog.DEBUG && !(bead is IBead)) throw new TypeError('Cannot convert '+bead+' to IBead')
- _beads.push(bead);
-
- if (bead is IBeadModel)
+ if (bead is IBeadModel)
{
_model = bead as IBeadModel;
}
-
- bead.strand = this;
- }
-
- /**
- * @param classOrInterface The requested bead type.
- * @return The bead.
- */
- public function getBeadByType(classOrInterface:Class):IBead
- {
- var bead:IBead, i:uint, n:uint;
-
- if (!_beads) return null;
-
- n = _beads.length;
-
- for (i = 0; i < n; i++)
- {
- bead = _beads[i];
-
- if (bead is classOrInterface)
- {
- return bead;
- }
- }
-
- return null;
+ super.addBead(bead);
}
-
- /**
- * @param bead The bead to remove.
- * @return The bead.
- */
- public function removeBead(bead:IBead):IBead
- {
- var i:uint, n:uint, value:Object;
-
- n = _beads.length;
-
- for (i = 0; i < n; i++)
- {
- value = _beads[i];
-
- if (bead === value)
- {
- _beads.splice(i, 1);
- bead.strand = null;
- return bead;
- }
- }
-
- return null;
- }
-
- override public function addEventListener(type:String, handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = null):void
- {
- var source:Object = getActualDispatcher_(type);
- goog.events.listen(source, type, handler);
- }
-
- override public function removeEventListener(type:String, handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = null):void
- {
- var source:Object = getActualDispatcher_(type);
- goog.events.unlisten(source, type, handler);
- }
-
+
private function getActualDispatcher_(type:String):Object
{
var source:Object = this;
@@ -368,48 +217,7 @@ package org.apache.royale.core
}
return source;
}
-
- override public function hasEventListener(type:String):Boolean
- {
- var source:Object = this.getActualDispatcher_(type);
-
- return goog.events.hasListener(source, type);
- }
-
- /**
- * @royaleignorecoercion String
- */
- override public function dispatchEvent(e:Object):Boolean
- {
- var eventType:String = "";
- if (typeof(e) === 'string')
- {
- eventType = e as String;
- if (e === org.apache.royale.events.Event.CHANGE)
- {
- e = EventUtils.createEvent(eventType, e.bubbles);
- }
- }
- else
- {
- eventType = e.type;
- if (ElementEvents.elementEvents[eventType])
- {
- e = EventUtils.createEvent(eventType, e.bubbles);
- }
- }
- var source:Object = this.getActualDispatcher_(eventType);
- if (e.bubbles) {
- return dispatchBubblingEvent(source, e);
- }
- if (source == this)
- {
- return super.dispatchEvent(e);
- }
-
- return source.dispatchEvent(e);
- }
-
+
/**
* @royaleignorecoercion org.apache.royale.events.IEventDispatcher
*/
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
index bbcaa1d..8719a1e 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
@@ -21,7 +21,7 @@ package org.apache.royale.events
COMPILE::JS
{
import goog.events.BrowserEvent;
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
import org.apache.royale.events.Event;
import org.apache.royale.events.utils.KeyboardEventConverter;
}
@@ -314,7 +314,7 @@ package org.apache.royale.events
COMPILE::JS
public static function setupConverter():Boolean
{
- HTMLElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
+ ElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
return true;
}
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
index 0d30f31..33bb052 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
@@ -32,7 +32,7 @@ package org.apache.royale.events
import goog.events.BrowserEvent;
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
import org.apache.royale.events.Event;
import org.apache.royale.events.utils.MouseEventConverter;
}
@@ -838,7 +838,7 @@ package org.apache.royale.events
public static function setupConverter():Boolean
{
- HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
+ ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
_useNativeConstructor = typeof window.MouseEvent == 'function';
return true;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
index 2e79aec..525bed2 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
@@ -66,7 +66,7 @@ import mx.managers.FocusManager;
import mx.managers.ISystemManager;
COMPILE::JS {
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
import org.apache.royale.events.ElementEvents;
}
@@ -632,9 +632,9 @@ public class Application extends Container implements IStrand, IParent, IEventDi
COMPILE::JS
public function initializeApplication():void
{
- HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
- HTMLElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
- HTMLElementWrapper.converterMap["FocusEvent"] = FocusEventConverter;
+ ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
+ ElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
+ ElementWrapper.converterMap["FocusEvent"] = FocusEventConverter;
addEventListener(KeyboardEvent.KEY_DOWN, keyDownForCapsLockHandler);
initManagers();
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
index a840ea3..0a85538 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
@@ -67,7 +67,7 @@ import mx.events.utils.MouseEventConverter;
import mx.managers.ISystemManager;
COMPILE::JS {
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
}
import org.apache.royale.binding.ContainerDataBinding;
@@ -324,7 +324,7 @@ public class Application extends SkinnableContainer implements IStrand, IParent,
COMPILE::JS
{
- HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
+ ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
}
}
Re: [royale-asjs] branch develop updated: Cleaned up ElementWrapper
and HTMLElementWrapper
Posted by Alex Harui <ah...@adobe.com.INVALID>.
On 12/23/19, 11:48 PM, "Harbs" <ha...@gmail.com> wrote:
The code you mention below is a bug (interesting the compiler didn’t catch it). I fixed it locally and tried removing e.bubbles completely. Neither made a difference.
IMO, it is legal AS/JS. I think Closure Compiler should have warned on e.bubbles; Are you sure it didn't?
I'm done working for today. You might learn something by stepping through the goog.events dispatching before and after your changes.
I keep feeling like we should replace goog.events with our own code, but it’s a scary change… ;-)
I think it is safe to get rid of goog.events, but yes, it is a big change.
HTH,
-Alex
> On Dec 24, 2019, at 9:01 AM, Alex Harui <ah...@adobe.com.INVALID> wrote:
>
> Harbs,
>
> In HTMLElementWrapper, it looked like there were 3 main code paths:
>
> 1) if(eventObject is IBrowserEvent){
> 2a) if (converter)
> 2b) else
>
> I'm only looking at this diff, but it feels like some of those may have gotten lost, so please double-check.
>
> Also, it may be the Crux issue is related to this:
>
> - e = EventUtils.createEvent(eventType);
> + e = EventUtils.createEvent(eventType), e.bubbles;
>
> HTH,
> -Alex
>
> On 12/22/19, 8:39 AM, "harbs@apache.org <ma...@apache.org>" <harbs@apache.org <ma...@apache.org>> wrote:
>
> This is an automated email from the ASF dual-hosted git repository.
>
> harbs pushed a commit to branch develop
> in repository https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com%7C2239b5c53a5e40ad97cb08d78845b373%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127705258305361&sdata=9byOZCM%2Baxx5FSJPrfIqO50MH7SSocQP9iOqK7%2BIiBs%3D&reserved=0 <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com%7C2239b5c53a5e40ad97cb08d78845b373%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127705258315356&sdata=7aCHCOQpPN0G42L2L4udJj8WEno2nFDhNPWR6q5W%2FcA%3D&reserved=0>
>
>
> The following commit(s) were added to refs/heads/develop by this push:
> new f50c999 Cleaned up ElementWrapper and HTMLElementWrapper
> f50c999 is described below
>
> commit f50c9990a3190cf681364905525656984ab2e9c5
> Author: Harbs <harbs@in-tools.com <ma...@in-tools.com>>
> AuthorDate: Sun Dec 22 18:39:04 2019 +0200
>
> Cleaned up ElementWrapper and HTMLElementWrapper
> ---
> .../beads/CrossBrowserFireListenerOverrideBead.as | 4 +-
> .../org/apache/royale/core/ElementWrapper.as | 41 ++---
> .../org/apache/royale/core/HTMLElementWrapper.as | 204 +--------------------
> .../org/apache/royale/events/KeyboardEvent.as | 4 +-
> .../royale/org/apache/royale/events/MouseEvent.as | 4 +-
> .../src/main/royale/mx/core/Application.as | 8 +-
> .../main/royale/spark/components/Application.as | 4 +-
> 7 files changed, 37 insertions(+), 232 deletions(-)
>
> diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
> index 36db48b..98532bd 100644
> --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
> +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
> @@ -20,7 +20,7 @@ package org.apache.royale.html.beads
> {
> import org.apache.royale.core.IBead;
> import org.apache.royale.core.IStrand;
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> COMPILE::JS
> {
> import goog.events;
> @@ -87,7 +87,7 @@ package org.apache.royale.html.beads
> }
>
> e.wrapEvent(eventObject);
> - return HTMLElementWrapper.googFireListener(listener, e);
> + return ElementWrapper.googFireListener(listener, e);
> }
> }
> }
> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
> index 58b7a64..ec7ab71 100644
> --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
> +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
> @@ -27,6 +27,7 @@ package org.apache.royale.core
> import org.apache.royale.events.ElementEvents;
> import goog.events;
> import goog.events.EventTarget;
> + import goog.DEBUG;
> }
> COMPILE::SWF
> {
> @@ -77,8 +78,7 @@ package org.apache.royale.core
> if (!_beads)
> {
> _beads = new Vector.<IBead>();
> - }
> -
> + }
> _beads.push(bead);
> bead.strand = this;
> }
> @@ -115,9 +115,7 @@ package org.apache.royale.core
> public function removeBead(bead:IBead):IBead
> {
> var i:uint, n:uint, value:Object;
> -
> n = _beads.length;
> -
> for (i = 0; i < n; i++)
> {
> value = _beads[i];
> @@ -125,7 +123,7 @@ package org.apache.royale.core
> if (bead === value)
> {
> _beads.splice(i, 1);
> -
> + bead.strand = null;
> return bead;
> }
> }
> @@ -173,6 +171,11 @@ package org.apache.royale.core
> public class ElementWrapper extends EventDispatcher implements IStrand
> {
>
> + /**
> + * @royalesuppresspublicvarwarning
> + */
> + static public var converterMap:Object = {};
> +
> //--------------------------------------
> // Static Function
> //--------------------------------------
> @@ -185,13 +188,13 @@ package org.apache.royale.core
> */
> static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
> {
> - /**
> - * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
> - */
> var e:IBrowserEvent;
> - if(eventObject is IBrowserEvent){
> - e = eventObject as IBrowserEvent
> - } else {
> + var nativeEvent:Object = eventObject.getBrowserEvent();
> + var converter:Object = converterMap[nativeEvent.constructor.name];
> + if (converter)
> + e = converter["convert"](nativeEvent,eventObject);
> + else
> + {
> e = new org.apache.royale.events.BrowserEvent();
> e.wrapEvent(eventObject);
> }
> @@ -262,7 +265,7 @@ package org.apache.royale.core
> {
> _beads = new Vector.<IBead>();
> }
> -
> + if (goog.DEBUG && !(bead is IBead)) throw new TypeError('Cannot convert '+bead+' to IBead');
> _beads.push(bead);
> bead.strand = this;
> }
> @@ -274,11 +277,8 @@ package org.apache.royale.core
> public function getBeadByType(classOrInterface:Class):IBead
> {
> var bead:IBead, i:uint, n:uint;
> -
> if (!_beads) return null;
> -
> n = _beads.length;
> -
> for (i = 0; i < n; i++)
> {
> bead = _beads[i];
> @@ -299,9 +299,7 @@ package org.apache.royale.core
> public function removeBead(bead:IBead):IBead
> {
> var i:uint, n:uint, value:Object;
> -
> n = _beads.length;
> -
> for (i = 0; i < n; i++)
> {
> value = _beads[i];
> @@ -309,7 +307,6 @@ package org.apache.royale.core
> if (bead === value)
> {
> _beads.splice(i, 1);
> -
> return bead;
> }
> }
> @@ -351,12 +348,12 @@ package org.apache.royale.core
> override public function dispatchEvent(e:Object):Boolean
> {
> var eventType:String = "";
> - if (typeof(e) === 'string')
> + if (typeof(e) == 'string')
> {
> eventType = e as String;
> - if (e === Event.CHANGE)
> + if (e == "change")
> {
> - e = EventUtils.createEvent(eventType);
> + e = EventUtils.createEvent(eventType, e.bubbles);
> }
> }
> else
> @@ -364,7 +361,7 @@ package org.apache.royale.core
> eventType = e.type;
> if (ElementEvents.elementEvents[eventType])
> {
> - e = EventUtils.createEvent(eventType);
> + e = EventUtils.createEvent(eventType), e.bubbles;
> }
> }
> var source:Object = this.getActualDispatcher_(eventType);
> 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 d44fb29..59e571c 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
> @@ -144,92 +144,13 @@ package org.apache.royale.core
> }
>
> COMPILE::JS
> - public class HTMLElementWrapper extends EventDispatcher implements IStrand
> + public class HTMLElementWrapper extends ElementWrapper
> {
>
> - //--------------------------------------
> - // Static Function
> - //--------------------------------------
> -
> - /**
> - * @param listener The listener object to call {goog.events.Listener}.
> - * @param eventObject The event object to pass to the listener.
> - * @return Result of listener.
> - * @royaleignorecoercion org.apache.royale.events.IBrowserEvent
> - */
> - static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
> - {
> - /**
> - * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
> - */
> - var e:IBrowserEvent;
> - if(eventObject is IBrowserEvent){
> - e = eventObject as IBrowserEvent
> - } else {
> - var nativeEvent:Object = eventObject.getBrowserEvent();
> - var converter:Object = converterMap[nativeEvent.constructor.name];
> - if (converter)
> - e = converter["convert"](nativeEvent,eventObject);
> - else
> - {
> - e = new org.apache.royale.events.BrowserEvent();
> - e.wrapEvent(eventObject);
> - }
> - }
> - return HTMLElementWrapper.googFireListener(listener, e);
> - }
> -
> - /**
> - * @royalesuppresspublicvarwarning
> - */
> - static public var converterMap:Object = {};
> -
> - /**
> - * Static initializer
> - */
> - static public function installOverride():Boolean
> - {
> - HTMLElementWrapper.googFireListener = goog.events.fireListener;
> - goog.events.fireListener = HTMLElementWrapper.fireListenerOverride;
> - return true;
> - }
> -
> - //--------------------------------------
> - // Static Property
> - //--------------------------------------
> -
> - /**
> - * The original fireListener.
> - *
> - * @royalesuppresspublicvarwarning
> - */
> - static public var googFireListener:Function;
> -
> - /**
> - * The properties that triggers the static initializer.
> - * Note, in JS, this property has to be declared
> - * after the installOverride.
> - *
> - * @royalesuppresspublicvarwarning
> - */
> - static public var installedOverride:Boolean = installOverride();
>
> //--------------------------------------
> // Property
> //--------------------------------------
> -
> - private var _element:WrappedHTMLElement;
> -
> - public function get element():WrappedHTMLElement
> - {
> - return _element;
> - }
> -
> - public function set element(value:WrappedHTMLElement):void
> - {
> - _element = value;
> - _element.royale_wrapper = this;
> - }
>
> /**
> * allow access from overrides
> @@ -270,8 +191,6 @@ package org.apache.royale.core
> }
> }
>
> - private var _beads:Array;
> -
> //--------------------------------------
> // Function
> //--------------------------------------
> @@ -280,85 +199,15 @@ package org.apache.royale.core
> * @param bead The new bead.
> * @royaleignorecoercion org.apache.royale.core.IBeadModel
> */
> - public function addBead(bead:IBead):void
> + override public function addBead(bead:IBead):void
> {
> - if (!_beads)
> - {
> - _beads = [];
> - }
> - if (goog.DEBUG && !(bead is IBead)) throw new TypeError('Cannot convert '+bead+' to IBead')
> - _beads.push(bead);
> -
> - if (bead is IBeadModel)
> + if (bead is IBeadModel)
> {
> _model = bead as IBeadModel;
> }
> -
> - bead.strand = this;
> - }
> -
> - /**
> - * @param classOrInterface The requested bead type.
> - * @return The bead.
> - */
> - public function getBeadByType(classOrInterface:Class):IBead
> - {
> - var bead:IBead, i:uint, n:uint;
> -
> - if (!_beads) return null;
> -
> - n = _beads.length;
> -
> - for (i = 0; i < n; i++)
> - {
> - bead = _beads[i];
> -
> - if (bead is classOrInterface)
> - {
> - return bead;
> - }
> - }
> -
> - return null;
> + super.addBead(bead);
> }
> -
> - /**
> - * @param bead The bead to remove.
> - * @return The bead.
> - */
> - public function removeBead(bead:IBead):IBead
> - {
> - var i:uint, n:uint, value:Object;
> -
> - n = _beads.length;
> -
> - for (i = 0; i < n; i++)
> - {
> - value = _beads[i];
> -
> - if (bead === value)
> - {
> - _beads.splice(i, 1);
> - bead.strand = null;
> - return bead;
> - }
> - }
> -
> - return null;
> - }
> -
> - override public function addEventListener(type:String, handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = null):void
> - {
> - var source:Object = getActualDispatcher_(type);
> - goog.events.listen(source, type, handler);
> - }
> -
> - override public function removeEventListener(type:String, handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = null):void
> - {
> - var source:Object = getActualDispatcher_(type);
> - goog.events.unlisten(source, type, handler);
> - }
> -
> +
> private function getActualDispatcher_(type:String):Object
> {
> var source:Object = this;
> @@ -368,48 +217,7 @@ package org.apache.royale.core
> }
> return source;
> }
> -
> - override public function hasEventListener(type:String):Boolean
> - {
> - var source:Object = this.getActualDispatcher_(type);
> -
> - return goog.events.hasListener(source, type);
> - }
> -
> - /**
> - * @royaleignorecoercion String
> - */
> - override public function dispatchEvent(e:Object):Boolean
> - {
> - var eventType:String = "";
> - if (typeof(e) === 'string')
> - {
> - eventType = e as String;
> - if (e === org.apache.royale.events.Event.CHANGE)
> - {
> - e = EventUtils.createEvent(eventType, e.bubbles);
> - }
> - }
> - else
> - {
> - eventType = e.type;
> - if (ElementEvents.elementEvents[eventType])
> - {
> - e = EventUtils.createEvent(eventType, e.bubbles);
> - }
> - }
> - var source:Object = this.getActualDispatcher_(eventType);
> - if (e.bubbles) {
> - return dispatchBubblingEvent(source, e);
> - }
> - if (source == this)
> - {
> - return super.dispatchEvent(e);
> - }
> -
> - return source.dispatchEvent(e);
> - }
> -
> +
> /**
> * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
> */
> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
> index bbcaa1d..8719a1e 100644
> --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
> +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
> @@ -21,7 +21,7 @@ package org.apache.royale.events
> COMPILE::JS
> {
> import goog.events.BrowserEvent;
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> import org.apache.royale.events.Event;
> import org.apache.royale.events.utils.KeyboardEventConverter;
> }
> @@ -314,7 +314,7 @@ package org.apache.royale.events
> COMPILE::JS
> public static function setupConverter():Boolean
> {
> - HTMLElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
> + ElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
> return true;
> }
>
> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
> index 0d30f31..33bb052 100644
> --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
> +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
> @@ -32,7 +32,7 @@ package org.apache.royale.events
>
> import goog.events.BrowserEvent;
>
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> import org.apache.royale.events.Event;
> import org.apache.royale.events.utils.MouseEventConverter;
> }
> @@ -838,7 +838,7 @@ package org.apache.royale.events
>
> public static function setupConverter():Boolean
> {
> - HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> + ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> _useNativeConstructor = typeof window.MouseEvent == 'function';
> return true;
> }
> diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
> index 2e79aec..525bed2 100644
> --- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
> +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
> @@ -66,7 +66,7 @@ import mx.managers.FocusManager;
> import mx.managers.ISystemManager;
>
> COMPILE::JS {
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> import org.apache.royale.events.ElementEvents;
> }
>
> @@ -632,9 +632,9 @@ public class Application extends Container implements IStrand, IParent, IEventDi
> COMPILE::JS
> public function initializeApplication():void
> {
> - HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> - HTMLElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
> - HTMLElementWrapper.converterMap["FocusEvent"] = FocusEventConverter;
> + ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> + ElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
> + ElementWrapper.converterMap["FocusEvent"] = FocusEventConverter;
> addEventListener(KeyboardEvent.KEY_DOWN, keyDownForCapsLockHandler);
>
> initManagers();
> diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
> index a840ea3..0a85538 100644
> --- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
> +++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
> @@ -67,7 +67,7 @@ import mx.events.utils.MouseEventConverter;
> import mx.managers.ISystemManager;
>
> COMPILE::JS {
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> }
>
> import org.apache.royale.binding.ContainerDataBinding;
> @@ -324,7 +324,7 @@ public class Application extends SkinnableContainer implements IStrand, IParent,
>
> COMPILE::JS
> {
> - HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> + ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> }
> }
Re: [royale-asjs] branch develop updated: Cleaned up ElementWrapper
and HTMLElementWrapper
Posted by Harbs <ha...@gmail.com>.
1) was code I added a few days ago to temporarily work around the bug of nested BrowserEvents.
The code you mention below is a bug (interesting the compiler didn’t catch it). I fixed it locally and tried removing e.bubbles completely. Neither made a difference.
I keep feeling like we should replace goog.events with our own code, but it’s a scary change… ;-)
> On Dec 24, 2019, at 9:01 AM, Alex Harui <ah...@adobe.com.INVALID> wrote:
>
> Harbs,
>
> In HTMLElementWrapper, it looked like there were 3 main code paths:
>
> 1) if(eventObject is IBrowserEvent){
> 2a) if (converter)
> 2b) else
>
> I'm only looking at this diff, but it feels like some of those may have gotten lost, so please double-check.
>
> Also, it may be the Crux issue is related to this:
>
> - e = EventUtils.createEvent(eventType);
> + e = EventUtils.createEvent(eventType), e.bubbles;
>
> HTH,
> -Alex
>
> On 12/22/19, 8:39 AM, "harbs@apache.org <ma...@apache.org>" <harbs@apache.org <ma...@apache.org>> wrote:
>
> This is an automated email from the ASF dual-hosted git repository.
>
> harbs pushed a commit to branch develop
> in repository https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com%7Cec736cad56b3465bb2aa08d786fd7eea%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637126295667140081&sdata=ELMay%2FqtfOHVtm0GoQNdXhXrxhKRerWukYuHHhqZJ4E%3D&reserved=0 <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com%7Cec736cad56b3465bb2aa08d786fd7eea%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637126295667140081&sdata=ELMay%2FqtfOHVtm0GoQNdXhXrxhKRerWukYuHHhqZJ4E%3D&reserved=0>
>
>
> The following commit(s) were added to refs/heads/develop by this push:
> new f50c999 Cleaned up ElementWrapper and HTMLElementWrapper
> f50c999 is described below
>
> commit f50c9990a3190cf681364905525656984ab2e9c5
> Author: Harbs <harbs@in-tools.com <ma...@in-tools.com>>
> AuthorDate: Sun Dec 22 18:39:04 2019 +0200
>
> Cleaned up ElementWrapper and HTMLElementWrapper
> ---
> .../beads/CrossBrowserFireListenerOverrideBead.as | 4 +-
> .../org/apache/royale/core/ElementWrapper.as | 41 ++---
> .../org/apache/royale/core/HTMLElementWrapper.as | 204 +--------------------
> .../org/apache/royale/events/KeyboardEvent.as | 4 +-
> .../royale/org/apache/royale/events/MouseEvent.as | 4 +-
> .../src/main/royale/mx/core/Application.as | 8 +-
> .../main/royale/spark/components/Application.as | 4 +-
> 7 files changed, 37 insertions(+), 232 deletions(-)
>
> diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
> index 36db48b..98532bd 100644
> --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
> +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
> @@ -20,7 +20,7 @@ package org.apache.royale.html.beads
> {
> import org.apache.royale.core.IBead;
> import org.apache.royale.core.IStrand;
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> COMPILE::JS
> {
> import goog.events;
> @@ -87,7 +87,7 @@ package org.apache.royale.html.beads
> }
>
> e.wrapEvent(eventObject);
> - return HTMLElementWrapper.googFireListener(listener, e);
> + return ElementWrapper.googFireListener(listener, e);
> }
> }
> }
> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
> index 58b7a64..ec7ab71 100644
> --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
> +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
> @@ -27,6 +27,7 @@ package org.apache.royale.core
> import org.apache.royale.events.ElementEvents;
> import goog.events;
> import goog.events.EventTarget;
> + import goog.DEBUG;
> }
> COMPILE::SWF
> {
> @@ -77,8 +78,7 @@ package org.apache.royale.core
> if (!_beads)
> {
> _beads = new Vector.<IBead>();
> - }
> -
> + }
> _beads.push(bead);
> bead.strand = this;
> }
> @@ -115,9 +115,7 @@ package org.apache.royale.core
> public function removeBead(bead:IBead):IBead
> {
> var i:uint, n:uint, value:Object;
> -
> n = _beads.length;
> -
> for (i = 0; i < n; i++)
> {
> value = _beads[i];
> @@ -125,7 +123,7 @@ package org.apache.royale.core
> if (bead === value)
> {
> _beads.splice(i, 1);
> -
> + bead.strand = null;
> return bead;
> }
> }
> @@ -173,6 +171,11 @@ package org.apache.royale.core
> public class ElementWrapper extends EventDispatcher implements IStrand
> {
>
> + /**
> + * @royalesuppresspublicvarwarning
> + */
> + static public var converterMap:Object = {};
> +
> //--------------------------------------
> // Static Function
> //--------------------------------------
> @@ -185,13 +188,13 @@ package org.apache.royale.core
> */
> static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
> {
> - /**
> - * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
> - */
> var e:IBrowserEvent;
> - if(eventObject is IBrowserEvent){
> - e = eventObject as IBrowserEvent
> - } else {
> + var nativeEvent:Object = eventObject.getBrowserEvent();
> + var converter:Object = converterMap[nativeEvent.constructor.name];
> + if (converter)
> + e = converter["convert"](nativeEvent,eventObject);
> + else
> + {
> e = new org.apache.royale.events.BrowserEvent();
> e.wrapEvent(eventObject);
> }
> @@ -262,7 +265,7 @@ package org.apache.royale.core
> {
> _beads = new Vector.<IBead>();
> }
> -
> + if (goog.DEBUG && !(bead is IBead)) throw new TypeError('Cannot convert '+bead+' to IBead');
> _beads.push(bead);
> bead.strand = this;
> }
> @@ -274,11 +277,8 @@ package org.apache.royale.core
> public function getBeadByType(classOrInterface:Class):IBead
> {
> var bead:IBead, i:uint, n:uint;
> -
> if (!_beads) return null;
> -
> n = _beads.length;
> -
> for (i = 0; i < n; i++)
> {
> bead = _beads[i];
> @@ -299,9 +299,7 @@ package org.apache.royale.core
> public function removeBead(bead:IBead):IBead
> {
> var i:uint, n:uint, value:Object;
> -
> n = _beads.length;
> -
> for (i = 0; i < n; i++)
> {
> value = _beads[i];
> @@ -309,7 +307,6 @@ package org.apache.royale.core
> if (bead === value)
> {
> _beads.splice(i, 1);
> -
> return bead;
> }
> }
> @@ -351,12 +348,12 @@ package org.apache.royale.core
> override public function dispatchEvent(e:Object):Boolean
> {
> var eventType:String = "";
> - if (typeof(e) === 'string')
> + if (typeof(e) == 'string')
> {
> eventType = e as String;
> - if (e === Event.CHANGE)
> + if (e == "change")
> {
> - e = EventUtils.createEvent(eventType);
> + e = EventUtils.createEvent(eventType, e.bubbles);
> }
> }
> else
> @@ -364,7 +361,7 @@ package org.apache.royale.core
> eventType = e.type;
> if (ElementEvents.elementEvents[eventType])
> {
> - e = EventUtils.createEvent(eventType);
> + e = EventUtils.createEvent(eventType), e.bubbles;
> }
> }
> var source:Object = this.getActualDispatcher_(eventType);
> 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 d44fb29..59e571c 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
> @@ -144,92 +144,13 @@ package org.apache.royale.core
> }
>
> COMPILE::JS
> - public class HTMLElementWrapper extends EventDispatcher implements IStrand
> + public class HTMLElementWrapper extends ElementWrapper
> {
>
> - //--------------------------------------
> - // Static Function
> - //--------------------------------------
> -
> - /**
> - * @param listener The listener object to call {goog.events.Listener}.
> - * @param eventObject The event object to pass to the listener.
> - * @return Result of listener.
> - * @royaleignorecoercion org.apache.royale.events.IBrowserEvent
> - */
> - static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
> - {
> - /**
> - * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
> - */
> - var e:IBrowserEvent;
> - if(eventObject is IBrowserEvent){
> - e = eventObject as IBrowserEvent
> - } else {
> - var nativeEvent:Object = eventObject.getBrowserEvent();
> - var converter:Object = converterMap[nativeEvent.constructor.name];
> - if (converter)
> - e = converter["convert"](nativeEvent,eventObject);
> - else
> - {
> - e = new org.apache.royale.events.BrowserEvent();
> - e.wrapEvent(eventObject);
> - }
> - }
> - return HTMLElementWrapper.googFireListener(listener, e);
> - }
> -
> - /**
> - * @royalesuppresspublicvarwarning
> - */
> - static public var converterMap:Object = {};
> -
> - /**
> - * Static initializer
> - */
> - static public function installOverride():Boolean
> - {
> - HTMLElementWrapper.googFireListener = goog.events.fireListener;
> - goog.events.fireListener = HTMLElementWrapper.fireListenerOverride;
> - return true;
> - }
> -
> - //--------------------------------------
> - // Static Property
> - //--------------------------------------
> -
> - /**
> - * The original fireListener.
> - *
> - * @royalesuppresspublicvarwarning
> - */
> - static public var googFireListener:Function;
> -
> - /**
> - * The properties that triggers the static initializer.
> - * Note, in JS, this property has to be declared
> - * after the installOverride.
> - *
> - * @royalesuppresspublicvarwarning
> - */
> - static public var installedOverride:Boolean = installOverride();
>
> //--------------------------------------
> // Property
> //--------------------------------------
> -
> - private var _element:WrappedHTMLElement;
> -
> - public function get element():WrappedHTMLElement
> - {
> - return _element;
> - }
> -
> - public function set element(value:WrappedHTMLElement):void
> - {
> - _element = value;
> - _element.royale_wrapper = this;
> - }
>
> /**
> * allow access from overrides
> @@ -270,8 +191,6 @@ package org.apache.royale.core
> }
> }
>
> - private var _beads:Array;
> -
> //--------------------------------------
> // Function
> //--------------------------------------
> @@ -280,85 +199,15 @@ package org.apache.royale.core
> * @param bead The new bead.
> * @royaleignorecoercion org.apache.royale.core.IBeadModel
> */
> - public function addBead(bead:IBead):void
> + override public function addBead(bead:IBead):void
> {
> - if (!_beads)
> - {
> - _beads = [];
> - }
> - if (goog.DEBUG && !(bead is IBead)) throw new TypeError('Cannot convert '+bead+' to IBead')
> - _beads.push(bead);
> -
> - if (bead is IBeadModel)
> + if (bead is IBeadModel)
> {
> _model = bead as IBeadModel;
> }
> -
> - bead.strand = this;
> - }
> -
> - /**
> - * @param classOrInterface The requested bead type.
> - * @return The bead.
> - */
> - public function getBeadByType(classOrInterface:Class):IBead
> - {
> - var bead:IBead, i:uint, n:uint;
> -
> - if (!_beads) return null;
> -
> - n = _beads.length;
> -
> - for (i = 0; i < n; i++)
> - {
> - bead = _beads[i];
> -
> - if (bead is classOrInterface)
> - {
> - return bead;
> - }
> - }
> -
> - return null;
> + super.addBead(bead);
> }
> -
> - /**
> - * @param bead The bead to remove.
> - * @return The bead.
> - */
> - public function removeBead(bead:IBead):IBead
> - {
> - var i:uint, n:uint, value:Object;
> -
> - n = _beads.length;
> -
> - for (i = 0; i < n; i++)
> - {
> - value = _beads[i];
> -
> - if (bead === value)
> - {
> - _beads.splice(i, 1);
> - bead.strand = null;
> - return bead;
> - }
> - }
> -
> - return null;
> - }
> -
> - override public function addEventListener(type:String, handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = null):void
> - {
> - var source:Object = getActualDispatcher_(type);
> - goog.events.listen(source, type, handler);
> - }
> -
> - override public function removeEventListener(type:String, handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = null):void
> - {
> - var source:Object = getActualDispatcher_(type);
> - goog.events.unlisten(source, type, handler);
> - }
> -
> +
> private function getActualDispatcher_(type:String):Object
> {
> var source:Object = this;
> @@ -368,48 +217,7 @@ package org.apache.royale.core
> }
> return source;
> }
> -
> - override public function hasEventListener(type:String):Boolean
> - {
> - var source:Object = this.getActualDispatcher_(type);
> -
> - return goog.events.hasListener(source, type);
> - }
> -
> - /**
> - * @royaleignorecoercion String
> - */
> - override public function dispatchEvent(e:Object):Boolean
> - {
> - var eventType:String = "";
> - if (typeof(e) === 'string')
> - {
> - eventType = e as String;
> - if (e === org.apache.royale.events.Event.CHANGE)
> - {
> - e = EventUtils.createEvent(eventType, e.bubbles);
> - }
> - }
> - else
> - {
> - eventType = e.type;
> - if (ElementEvents.elementEvents[eventType])
> - {
> - e = EventUtils.createEvent(eventType, e.bubbles);
> - }
> - }
> - var source:Object = this.getActualDispatcher_(eventType);
> - if (e.bubbles) {
> - return dispatchBubblingEvent(source, e);
> - }
> - if (source == this)
> - {
> - return super.dispatchEvent(e);
> - }
> -
> - return source.dispatchEvent(e);
> - }
> -
> +
> /**
> * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
> */
> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
> index bbcaa1d..8719a1e 100644
> --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
> +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
> @@ -21,7 +21,7 @@ package org.apache.royale.events
> COMPILE::JS
> {
> import goog.events.BrowserEvent;
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> import org.apache.royale.events.Event;
> import org.apache.royale.events.utils.KeyboardEventConverter;
> }
> @@ -314,7 +314,7 @@ package org.apache.royale.events
> COMPILE::JS
> public static function setupConverter():Boolean
> {
> - HTMLElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
> + ElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
> return true;
> }
>
> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
> index 0d30f31..33bb052 100644
> --- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
> +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
> @@ -32,7 +32,7 @@ package org.apache.royale.events
>
> import goog.events.BrowserEvent;
>
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> import org.apache.royale.events.Event;
> import org.apache.royale.events.utils.MouseEventConverter;
> }
> @@ -838,7 +838,7 @@ package org.apache.royale.events
>
> public static function setupConverter():Boolean
> {
> - HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> + ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> _useNativeConstructor = typeof window.MouseEvent == 'function';
> return true;
> }
> diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
> index 2e79aec..525bed2 100644
> --- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
> +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
> @@ -66,7 +66,7 @@ import mx.managers.FocusManager;
> import mx.managers.ISystemManager;
>
> COMPILE::JS {
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> import org.apache.royale.events.ElementEvents;
> }
>
> @@ -632,9 +632,9 @@ public class Application extends Container implements IStrand, IParent, IEventDi
> COMPILE::JS
> public function initializeApplication():void
> {
> - HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> - HTMLElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
> - HTMLElementWrapper.converterMap["FocusEvent"] = FocusEventConverter;
> + ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> + ElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
> + ElementWrapper.converterMap["FocusEvent"] = FocusEventConverter;
> addEventListener(KeyboardEvent.KEY_DOWN, keyDownForCapsLockHandler);
>
> initManagers();
> diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
> index a840ea3..0a85538 100644
> --- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
> +++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
> @@ -67,7 +67,7 @@ import mx.events.utils.MouseEventConverter;
> import mx.managers.ISystemManager;
>
> COMPILE::JS {
> - import org.apache.royale.core.HTMLElementWrapper;
> + import org.apache.royale.core.ElementWrapper;
> }
>
> import org.apache.royale.binding.ContainerDataBinding;
> @@ -324,7 +324,7 @@ public class Application extends SkinnableContainer implements IStrand, IParent,
>
> COMPILE::JS
> {
> - HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> + ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
> }
> }
Re: [royale-asjs] branch develop updated: Cleaned up ElementWrapper
and HTMLElementWrapper
Posted by Alex Harui <ah...@adobe.com.INVALID>.
Harbs,
In HTMLElementWrapper, it looked like there were 3 main code paths:
1) if(eventObject is IBrowserEvent){
2a) if (converter)
2b) else
I'm only looking at this diff, but it feels like some of those may have gotten lost, so please double-check.
Also, it may be the Crux issue is related to this:
- e = EventUtils.createEvent(eventType);
+ e = EventUtils.createEvent(eventType), e.bubbles;
HTH,
-Alex
On 12/22/19, 8:39 AM, "harbs@apache.org" <ha...@apache.org> wrote:
This is an automated email from the ASF dual-hosted git repository.
harbs pushed a commit to branch develop
in repository https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com%7Cec736cad56b3465bb2aa08d786fd7eea%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637126295667140081&sdata=ELMay%2FqtfOHVtm0GoQNdXhXrxhKRerWukYuHHhqZJ4E%3D&reserved=0
The following commit(s) were added to refs/heads/develop by this push:
new f50c999 Cleaned up ElementWrapper and HTMLElementWrapper
f50c999 is described below
commit f50c9990a3190cf681364905525656984ab2e9c5
Author: Harbs <ha...@in-tools.com>
AuthorDate: Sun Dec 22 18:39:04 2019 +0200
Cleaned up ElementWrapper and HTMLElementWrapper
---
.../beads/CrossBrowserFireListenerOverrideBead.as | 4 +-
.../org/apache/royale/core/ElementWrapper.as | 41 ++---
.../org/apache/royale/core/HTMLElementWrapper.as | 204 +--------------------
.../org/apache/royale/events/KeyboardEvent.as | 4 +-
.../royale/org/apache/royale/events/MouseEvent.as | 4 +-
.../src/main/royale/mx/core/Application.as | 8 +-
.../main/royale/spark/components/Application.as | 4 +-
7 files changed, 37 insertions(+), 232 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
index 36db48b..98532bd 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/CrossBrowserFireListenerOverrideBead.as
@@ -20,7 +20,7 @@ package org.apache.royale.html.beads
{
import org.apache.royale.core.IBead;
import org.apache.royale.core.IStrand;
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
COMPILE::JS
{
import goog.events;
@@ -87,7 +87,7 @@ package org.apache.royale.html.beads
}
e.wrapEvent(eventObject);
- return HTMLElementWrapper.googFireListener(listener, e);
+ return ElementWrapper.googFireListener(listener, e);
}
}
}
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
index 58b7a64..ec7ab71 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
@@ -27,6 +27,7 @@ package org.apache.royale.core
import org.apache.royale.events.ElementEvents;
import goog.events;
import goog.events.EventTarget;
+ import goog.DEBUG;
}
COMPILE::SWF
{
@@ -77,8 +78,7 @@ package org.apache.royale.core
if (!_beads)
{
_beads = new Vector.<IBead>();
- }
-
+ }
_beads.push(bead);
bead.strand = this;
}
@@ -115,9 +115,7 @@ package org.apache.royale.core
public function removeBead(bead:IBead):IBead
{
var i:uint, n:uint, value:Object;
-
n = _beads.length;
-
for (i = 0; i < n; i++)
{
value = _beads[i];
@@ -125,7 +123,7 @@ package org.apache.royale.core
if (bead === value)
{
_beads.splice(i, 1);
-
+ bead.strand = null;
return bead;
}
}
@@ -173,6 +171,11 @@ package org.apache.royale.core
public class ElementWrapper extends EventDispatcher implements IStrand
{
+ /**
+ * @royalesuppresspublicvarwarning
+ */
+ static public var converterMap:Object = {};
+
//--------------------------------------
// Static Function
//--------------------------------------
@@ -185,13 +188,13 @@ package org.apache.royale.core
*/
static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
{
- /**
- * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
- */
var e:IBrowserEvent;
- if(eventObject is IBrowserEvent){
- e = eventObject as IBrowserEvent
- } else {
+ var nativeEvent:Object = eventObject.getBrowserEvent();
+ var converter:Object = converterMap[nativeEvent.constructor.name];
+ if (converter)
+ e = converter["convert"](nativeEvent,eventObject);
+ else
+ {
e = new org.apache.royale.events.BrowserEvent();
e.wrapEvent(eventObject);
}
@@ -262,7 +265,7 @@ package org.apache.royale.core
{
_beads = new Vector.<IBead>();
}
-
+ if (goog.DEBUG && !(bead is IBead)) throw new TypeError('Cannot convert '+bead+' to IBead');
_beads.push(bead);
bead.strand = this;
}
@@ -274,11 +277,8 @@ package org.apache.royale.core
public function getBeadByType(classOrInterface:Class):IBead
{
var bead:IBead, i:uint, n:uint;
-
if (!_beads) return null;
-
n = _beads.length;
-
for (i = 0; i < n; i++)
{
bead = _beads[i];
@@ -299,9 +299,7 @@ package org.apache.royale.core
public function removeBead(bead:IBead):IBead
{
var i:uint, n:uint, value:Object;
-
n = _beads.length;
-
for (i = 0; i < n; i++)
{
value = _beads[i];
@@ -309,7 +307,6 @@ package org.apache.royale.core
if (bead === value)
{
_beads.splice(i, 1);
-
return bead;
}
}
@@ -351,12 +348,12 @@ package org.apache.royale.core
override public function dispatchEvent(e:Object):Boolean
{
var eventType:String = "";
- if (typeof(e) === 'string')
+ if (typeof(e) == 'string')
{
eventType = e as String;
- if (e === Event.CHANGE)
+ if (e == "change")
{
- e = EventUtils.createEvent(eventType);
+ e = EventUtils.createEvent(eventType, e.bubbles);
}
}
else
@@ -364,7 +361,7 @@ package org.apache.royale.core
eventType = e.type;
if (ElementEvents.elementEvents[eventType])
{
- e = EventUtils.createEvent(eventType);
+ e = EventUtils.createEvent(eventType), e.bubbles;
}
}
var source:Object = this.getActualDispatcher_(eventType);
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 d44fb29..59e571c 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
@@ -144,92 +144,13 @@ package org.apache.royale.core
}
COMPILE::JS
- public class HTMLElementWrapper extends EventDispatcher implements IStrand
+ public class HTMLElementWrapper extends ElementWrapper
{
- //--------------------------------------
- // Static Function
- //--------------------------------------
-
- /**
- * @param listener The listener object to call {goog.events.Listener}.
- * @param eventObject The event object to pass to the listener.
- * @return Result of listener.
- * @royaleignorecoercion org.apache.royale.events.IBrowserEvent
- */
- static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
- {
- /**
- * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
- */
- var e:IBrowserEvent;
- if(eventObject is IBrowserEvent){
- e = eventObject as IBrowserEvent
- } else {
- var nativeEvent:Object = eventObject.getBrowserEvent();
- var converter:Object = converterMap[nativeEvent.constructor.name];
- if (converter)
- e = converter["convert"](nativeEvent,eventObject);
- else
- {
- e = new org.apache.royale.events.BrowserEvent();
- e.wrapEvent(eventObject);
- }
- }
- return HTMLElementWrapper.googFireListener(listener, e);
- }
-
- /**
- * @royalesuppresspublicvarwarning
- */
- static public var converterMap:Object = {};
-
- /**
- * Static initializer
- */
- static public function installOverride():Boolean
- {
- HTMLElementWrapper.googFireListener = goog.events.fireListener;
- goog.events.fireListener = HTMLElementWrapper.fireListenerOverride;
- return true;
- }
-
- //--------------------------------------
- // Static Property
- //--------------------------------------
-
- /**
- * The original fireListener.
- *
- * @royalesuppresspublicvarwarning
- */
- static public var googFireListener:Function;
-
- /**
- * The properties that triggers the static initializer.
- * Note, in JS, this property has to be declared
- * after the installOverride.
- *
- * @royalesuppresspublicvarwarning
- */
- static public var installedOverride:Boolean = installOverride();
//--------------------------------------
// Property
//--------------------------------------
-
- private var _element:WrappedHTMLElement;
-
- public function get element():WrappedHTMLElement
- {
- return _element;
- }
-
- public function set element(value:WrappedHTMLElement):void
- {
- _element = value;
- _element.royale_wrapper = this;
- }
/**
* allow access from overrides
@@ -270,8 +191,6 @@ package org.apache.royale.core
}
}
- private var _beads:Array;
-
//--------------------------------------
// Function
//--------------------------------------
@@ -280,85 +199,15 @@ package org.apache.royale.core
* @param bead The new bead.
* @royaleignorecoercion org.apache.royale.core.IBeadModel
*/
- public function addBead(bead:IBead):void
+ override public function addBead(bead:IBead):void
{
- if (!_beads)
- {
- _beads = [];
- }
- if (goog.DEBUG && !(bead is IBead)) throw new TypeError('Cannot convert '+bead+' to IBead')
- _beads.push(bead);
-
- if (bead is IBeadModel)
+ if (bead is IBeadModel)
{
_model = bead as IBeadModel;
}
-
- bead.strand = this;
- }
-
- /**
- * @param classOrInterface The requested bead type.
- * @return The bead.
- */
- public function getBeadByType(classOrInterface:Class):IBead
- {
- var bead:IBead, i:uint, n:uint;
-
- if (!_beads) return null;
-
- n = _beads.length;
-
- for (i = 0; i < n; i++)
- {
- bead = _beads[i];
-
- if (bead is classOrInterface)
- {
- return bead;
- }
- }
-
- return null;
+ super.addBead(bead);
}
-
- /**
- * @param bead The bead to remove.
- * @return The bead.
- */
- public function removeBead(bead:IBead):IBead
- {
- var i:uint, n:uint, value:Object;
-
- n = _beads.length;
-
- for (i = 0; i < n; i++)
- {
- value = _beads[i];
-
- if (bead === value)
- {
- _beads.splice(i, 1);
- bead.strand = null;
- return bead;
- }
- }
-
- return null;
- }
-
- override public function addEventListener(type:String, handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = null):void
- {
- var source:Object = getActualDispatcher_(type);
- goog.events.listen(source, type, handler);
- }
-
- override public function removeEventListener(type:String, handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = null):void
- {
- var source:Object = getActualDispatcher_(type);
- goog.events.unlisten(source, type, handler);
- }
-
+
private function getActualDispatcher_(type:String):Object
{
var source:Object = this;
@@ -368,48 +217,7 @@ package org.apache.royale.core
}
return source;
}
-
- override public function hasEventListener(type:String):Boolean
- {
- var source:Object = this.getActualDispatcher_(type);
-
- return goog.events.hasListener(source, type);
- }
-
- /**
- * @royaleignorecoercion String
- */
- override public function dispatchEvent(e:Object):Boolean
- {
- var eventType:String = "";
- if (typeof(e) === 'string')
- {
- eventType = e as String;
- if (e === org.apache.royale.events.Event.CHANGE)
- {
- e = EventUtils.createEvent(eventType, e.bubbles);
- }
- }
- else
- {
- eventType = e.type;
- if (ElementEvents.elementEvents[eventType])
- {
- e = EventUtils.createEvent(eventType, e.bubbles);
- }
- }
- var source:Object = this.getActualDispatcher_(eventType);
- if (e.bubbles) {
- return dispatchBubblingEvent(source, e);
- }
- if (source == this)
- {
- return super.dispatchEvent(e);
- }
-
- return source.dispatchEvent(e);
- }
-
+
/**
* @royaleignorecoercion org.apache.royale.events.IEventDispatcher
*/
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
index bbcaa1d..8719a1e 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
@@ -21,7 +21,7 @@ package org.apache.royale.events
COMPILE::JS
{
import goog.events.BrowserEvent;
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
import org.apache.royale.events.Event;
import org.apache.royale.events.utils.KeyboardEventConverter;
}
@@ -314,7 +314,7 @@ package org.apache.royale.events
COMPILE::JS
public static function setupConverter():Boolean
{
- HTMLElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
+ ElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
return true;
}
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
index 0d30f31..33bb052 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
@@ -32,7 +32,7 @@ package org.apache.royale.events
import goog.events.BrowserEvent;
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
import org.apache.royale.events.Event;
import org.apache.royale.events.utils.MouseEventConverter;
}
@@ -838,7 +838,7 @@ package org.apache.royale.events
public static function setupConverter():Boolean
{
- HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
+ ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
_useNativeConstructor = typeof window.MouseEvent == 'function';
return true;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
index 2e79aec..525bed2 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
@@ -66,7 +66,7 @@ import mx.managers.FocusManager;
import mx.managers.ISystemManager;
COMPILE::JS {
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
import org.apache.royale.events.ElementEvents;
}
@@ -632,9 +632,9 @@ public class Application extends Container implements IStrand, IParent, IEventDi
COMPILE::JS
public function initializeApplication():void
{
- HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
- HTMLElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
- HTMLElementWrapper.converterMap["FocusEvent"] = FocusEventConverter;
+ ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
+ ElementWrapper.converterMap["KeyboardEvent"] = KeyboardEventConverter;
+ ElementWrapper.converterMap["FocusEvent"] = FocusEventConverter;
addEventListener(KeyboardEvent.KEY_DOWN, keyDownForCapsLockHandler);
initManagers();
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
index a840ea3..0a85538 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Application.as
@@ -67,7 +67,7 @@ import mx.events.utils.MouseEventConverter;
import mx.managers.ISystemManager;
COMPILE::JS {
- import org.apache.royale.core.HTMLElementWrapper;
+ import org.apache.royale.core.ElementWrapper;
}
import org.apache.royale.binding.ContainerDataBinding;
@@ -324,7 +324,7 @@ public class Application extends SkinnableContainer implements IStrand, IParent,
COMPILE::JS
{
- HTMLElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
+ ElementWrapper.converterMap["MouseEvent"] = MouseEventConverter;
}
}