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 2018/03/15 09:06:58 UTC

[royale-asjs] branch develop updated: Added utility function for adding JS getters

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 af19f12  Added utility function for adding JS getters
af19f12 is described below

commit af19f12fb623a473e16a4d83e0d89234abdaea4d
Author: Harbs <ha...@in-tools.com>
AuthorDate: Thu Mar 15 11:06:51 2018 +0200

    Added utility function for adding JS getters
    
    Added IEEventAdapterBead which adds required name getters for MouseEvent and KeyboardEvent protoypes.
---
 .../Basic/src/main/resources/basic-manifest.xml    |  1 +
 .../apache/royale/html/beads/IEEventAdapterBead.as | 66 ++++++++++++++++++++++
 .../projects/Core/src/main/royale/CoreClasses.as   |  2 +
 .../org/apache/royale/utils/object/defineGetter.as | 34 +++++++++++
 .../royale/utils/object/defineSimpleGetter.as      | 38 +++++++++++++
 5 files changed, 141 insertions(+)

diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index dbff20e..442fc49 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -96,6 +96,7 @@
 
     <component id="ApplicationParameters" class="org.apache.royale.html.beads.ApplicationParametersBead"/>
     <component id="ApplicationParametersCaseInsensitive" class="org.apache.royale.html.beads.ApplicationParametersCaseInsensitiveBead"/>
+    <component id="IEEventAdapter" class="org.apache.royale.html.beads.IEEventAdapterBead"/>
 
     <component id="SimpleAlert" class="org.apache.royale.html.SimpleAlert"/>
     <component id="Alert" class="org.apache.royale.html.Alert"/>
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/IEEventAdapterBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/IEEventAdapterBead.as
new file mode 100644
index 0000000..41711a6
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/IEEventAdapterBead.as
@@ -0,0 +1,66 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "Licens"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.html.beads
+{
+    import org.apache.royale.core.IBead;
+    import org.apache.royale.core.IStrand;
+	COMPILE::JS
+	{
+		import org.apache.royale.utils.object.defineSimpleGetter;
+	}
+
+	/**
+	 *  The IEEventAdapterBead is used to get URL parameter values specified
+     *  when loading an application. It's different than the ApplicationParametersBead
+     *  in that URL parameter keys are case insensitive.
+	 * 
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.2
+	 */
+    public class IEEventAdapterBead implements IBead
+    {
+        public function IEEventAdapterBead()
+        {
+            
+        }
+
+		/**
+		 *  @copy org.apache.royale.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.3
+		 */
+		public function set strand(value:IStrand):void
+		{
+			COMPILE::JS
+			{
+				if(typeof window["KeyboardEvent"].prototype["name"] == "undefined")
+				{// IE does not have a prototype name property
+					defineSimpleGetter(window["KeyboardEvent"].prototype,"name","KeyboardEvent");
+					defineSimpleGetter(window["MouseEvent"].prototype,"name","MouseEvent");
+				}
+			}
+		}
+
+    }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as b/frameworks/projects/Core/src/main/royale/CoreClasses.as
index f29e2e5..8685789 100644
--- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
@@ -222,6 +222,8 @@ internal class CoreClasses
 	{
 		import org.apache.royale.core.WrappedHTMLElement ;WrappedHTMLElement;
 	    import org.apache.royale.core.IRoyaleElement; IRoyaleElement;
+		import org.apache.royale.utils.object.defineGetter; defineGetter;
+		import org.apache.royale.utils.object.defineSimpleGetter; defineSimpleGetter;
 	}
 	//Package Level Functions
 	import org.apache.royale.debugging.assert; assert;
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/defineGetter.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/defineGetter.as
new file mode 100644
index 0000000..501cd14
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/defineGetter.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.utils.object
+{
+	/**
+	 *  Defines a getter function on a Javascript object (often used to add to prototypes)
+     *  Takes a function which returns a value
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.3
+	 */
+    public function defineGetter(obj:Object,prop:String,getterFunction:Function):void
+    {
+            Object.defineProperty(obj, prop, {"get": getterFunction});
+        }
+    
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/defineSimpleGetter.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/defineSimpleGetter.as
new file mode 100644
index 0000000..42b5d9f
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/defineSimpleGetter.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.utils.object
+{
+	/**
+	 *  Defines a getter function on a Javascript object (often used to add to prototypes)
+     *  Takes a simple value to return.
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.3
+	 */
+    public function defineSimpleGetter(obj:Object,prop:String,returnVal:*):void
+    {
+            Object.defineProperty(obj, prop, {
+                "get": function ():* {
+                    return returnVal;
+                }
+            });
+        }
+    
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
harbs@apache.org.

Re: [royale-asjs] branch develop updated: Added utility function for adding JS getters

Posted by Harbs <ha...@gmail.com>.
I’d think the same thing. The utilities I created are specific to getters.

I did not create utility functions for setters. That’s something which should probably be added.

Harbs

> On Mar 15, 2018, at 6:11 PM, Alex Harui <ah...@adobe.com.INVALID> wrote:
> 
> Harbs, did you test trying calling defineSimpleGetter then
> defineSimpleSetter to define a read/write property?  I would think
> defineSimpleSetter would wipe out the getter.  IIRC, the object passed to
> Object.defineProperty is not merged with any existing/prior object.
> 
> Thanks,
> -Alex
> 
> On 3/15/18, 2:06 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://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.ap
>> ache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com
>> %7C68535bf386224e27c2b008d58a541c7f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0
>> %7C0%7C636567016216425669&sdata=alUyYJmeNSjS%2BH3SIspygisJzNeysA1YjfjBKtna
>> 6lU%3D&reserved=0
>> 
>> 
>> The following commit(s) were added to refs/heads/develop by this push:
>>    new af19f12  Added utility function for adding JS getters
>> af19f12 is described below
>> 
>> commit af19f12fb623a473e16a4d83e0d89234abdaea4d
>> Author: Harbs <ha...@in-tools.com>
>> AuthorDate: Thu Mar 15 11:06:51 2018 +0200
>> 
>>   Added utility function for adding JS getters
>> 
>>   Added IEEventAdapterBead which adds required name getters for
>> MouseEvent and KeyboardEvent protoypes.
>> ---
>> .../Basic/src/main/resources/basic-manifest.xml    |  1 +
>> .../apache/royale/html/beads/IEEventAdapterBead.as | 66
>> ++++++++++++++++++++++
>> .../projects/Core/src/main/royale/CoreClasses.as   |  2 +
>> .../org/apache/royale/utils/object/defineGetter.as | 34 +++++++++++
>> .../royale/utils/object/defineSimpleGetter.as      | 38 +++++++++++++
>> 5 files changed, 141 insertions(+)
>> 
>> diff --git 
>> a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>> b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>> index dbff20e..442fc49 100644
>> --- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>> +++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>> @@ -96,6 +96,7 @@
>> 
>>    <component id="ApplicationParameters"
>> class="org.apache.royale.html.beads.ApplicationParametersBead"/>
>>    <component id="ApplicationParametersCaseInsensitive"
>> class="org.apache.royale.html.beads.ApplicationParametersCaseInsensitiveBe
>> ad"/>
>> +    <component id="IEEventAdapter"
>> class="org.apache.royale.html.beads.IEEventAdapterBead"/>
>> 
>>    <component id="SimpleAlert"
>> class="org.apache.royale.html.SimpleAlert"/>
>>    <component id="Alert" class="org.apache.royale.html.Alert"/>
>> diff --git 
>> a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/I
>> EEventAdapterBead.as
>> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/I
>> EEventAdapterBead.as
>> new file mode 100644
>> index 0000000..41711a6
>> --- /dev/null
>> +++ 
>> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/I
>> EEventAdapterBead.as
>> @@ -0,0 +1,66 @@
>> +/////////////////////////////////////////////////////////////////////////
>> ///////
>> +//
>> +//  Licensed to the Apache Software Foundation (ASF) under one or more
>> +//  contributor license agreements.  See the NOTICE file distributed with
>> +//  this work for additional information regarding copyright ownership.
>> +//  The ASF licenses this file to You under the Apache License, Version
>> 2.0
>> +//  (the "Licens"); you may not use this file except in compliance with
>> +//  the License.  You may obtain a copy of the License at
>> +//
>> +//      
>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache
>> .org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7Caharui%40adobe.com%7C68535bf3
>> 86224e27c2b008d58a541c7f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365
>> 67016216425669&sdata=Gg6raEdIO9ac3PPOqDowCbknYLq2LDgOb0ODKK8OIVs%3D&reserv
>> ed=0
>> +//
>> +//  Unless required by applicable law or agreed to in writing, software
>> +//  distributed under the License is distributed on an "AS IS" BASIS,
>> +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +//  See the License for the specific language governing permissions and
>> +//  limitations under the License.
>> +//
>> +/////////////////////////////////////////////////////////////////////////
>> ///////
>> +package org.apache.royale.html.beads
>> +{
>> +    import org.apache.royale.core.IBead;
>> +    import org.apache.royale.core.IStrand;
>> +	COMPILE::JS
>> +	{
>> +		import org.apache.royale.utils.object.defineSimpleGetter;
>> +	}
>> +
>> +	/**
>> +	 *  The IEEventAdapterBead is used to get URL parameter values specified
>> +     *  when loading an application. It's different than the
>> ApplicationParametersBead
>> +     *  in that URL parameter keys are case insensitive.
>> +	 * 
>> +	 *  @langversion 3.0
>> +	 *  @playerversion Flash 10.2
>> +	 *  @playerversion AIR 2.6
>> +	 *  @productversion Royale 0.9.2
>> +	 */
>> +    public class IEEventAdapterBead implements IBead
>> +    {
>> +        public function IEEventAdapterBead()
>> +        {
>> +            
>> +        }
>> +
>> +		/**
>> +		 *  @copy org.apache.royale.core.IBead#strand
>> +		 *  
>> +		 *  @langversion 3.0
>> +		 *  @playerversion Flash 10.2
>> +		 *  @playerversion AIR 2.6
>> +		 *  @productversion Royale 0.9.3
>> +		 */
>> +		public function set strand(value:IStrand):void
>> +		{
>> +			COMPILE::JS
>> +			{
>> +				if(typeof window["KeyboardEvent"].prototype["name"] == "undefined")
>> +				{// IE does not have a prototype name property
>> +					defineSimpleGetter(window["KeyboardEvent"].prototype,"name","Keyboar
>> dEvent");
>> +					defineSimpleGetter(window["MouseEvent"].prototype,"name","MouseEvent
>> ");
>> +				}
>> +			}
>> +		}
>> +
>> +    }
>> +}
>> \ No newline at end of file
>> diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as
>> b/frameworks/projects/Core/src/main/royale/CoreClasses.as
>> index f29e2e5..8685789 100644
>> --- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
>> +++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
>> @@ -222,6 +222,8 @@ internal class CoreClasses
>> 	{
>> 		import org.apache.royale.core.WrappedHTMLElement ;WrappedHTMLElement;
>> 	    import org.apache.royale.core.IRoyaleElement; IRoyaleElement;
>> +		import org.apache.royale.utils.object.defineGetter; defineGetter;
>> +		import org.apache.royale.utils.object.defineSimpleGetter;
>> defineSimpleGetter;
>> 	}
>> 	//Package Level Functions
>> 	import org.apache.royale.debugging.assert; assert;
>> diff --git 
>> a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>> defineGetter.as 
>> b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>> defineGetter.as
>> new file mode 100644
>> index 0000000..501cd14
>> --- /dev/null
>> +++ 
>> b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>> defineGetter.as
>> @@ -0,0 +1,34 @@
>> +/////////////////////////////////////////////////////////////////////////
>> ///////
>> +//
>> +//  Licensed to the Apache Software Foundation (ASF) under one or more
>> +//  contributor license agreements.  See the NOTICE file distributed with
>> +//  this work for additional information regarding copyright ownership.
>> +//  The ASF licenses this file to You under the Apache License, Version
>> 2.0
>> +//  (the "License"); you may not use this file except in compliance with
>> +//  the License.  You may obtain a copy of the License at
>> +//
>> +//      
>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache
>> .org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7Caharui%40adobe.com%7C68535bf3
>> 86224e27c2b008d58a541c7f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365
>> 67016216425669&sdata=Gg6raEdIO9ac3PPOqDowCbknYLq2LDgOb0ODKK8OIVs%3D&reserv
>> ed=0
>> +//
>> +//  Unless required by applicable law or agreed to in writing, software
>> +//  distributed under the License is distributed on an "AS IS" BASIS,
>> +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +//  See the License for the specific language governing permissions and
>> +//  limitations under the License.
>> +//
>> +/////////////////////////////////////////////////////////////////////////
>> ///////
>> +package org.apache.royale.utils.object
>> +{
>> +	/**
>> +	 *  Defines a getter function on a Javascript object (often used to add
>> to prototypes)
>> +     *  Takes a function which returns a value
>> +	 *  @langversion 3.0
>> +	 *  @playerversion Flash 10.2
>> +	 *  @playerversion AIR 2.6
>> +	 *  @productversion Royale 0.9.3
>> +	 */
>> +    public function
>> defineGetter(obj:Object,prop:String,getterFunction:Function):void
>> +    {
>> +            Object.defineProperty(obj, prop, {"get": getterFunction});
>> +        }
>> +    
>> +}
>> \ No newline at end of file
>> diff --git 
>> a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>> defineSimpleGetter.as
>> b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>> defineSimpleGetter.as
>> new file mode 100644
>> index 0000000..42b5d9f
>> --- /dev/null
>> +++ 
>> b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>> defineSimpleGetter.as
>> @@ -0,0 +1,38 @@
>> +/////////////////////////////////////////////////////////////////////////
>> ///////
>> +//
>> +//  Licensed to the Apache Software Foundation (ASF) under one or more
>> +//  contributor license agreements.  See the NOTICE file distributed with
>> +//  this work for additional information regarding copyright ownership.
>> +//  The ASF licenses this file to You under the Apache License, Version
>> 2.0
>> +//  (the "License"); you may not use this file except in compliance with
>> +//  the License.  You may obtain a copy of the License at
>> +//
>> +//      
>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache
>> .org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7Caharui%40adobe.com%7C68535bf3
>> 86224e27c2b008d58a541c7f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365
>> 67016216425669&sdata=Gg6raEdIO9ac3PPOqDowCbknYLq2LDgOb0ODKK8OIVs%3D&reserv
>> ed=0
>> +//
>> +//  Unless required by applicable law or agreed to in writing, software
>> +//  distributed under the License is distributed on an "AS IS" BASIS,
>> +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +//  See the License for the specific language governing permissions and
>> +//  limitations under the License.
>> +//
>> +/////////////////////////////////////////////////////////////////////////
>> ///////
>> +package org.apache.royale.utils.object
>> +{
>> +	/**
>> +	 *  Defines a getter function on a Javascript object (often used to add
>> to prototypes)
>> +     *  Takes a simple value to return.
>> +	 *  @langversion 3.0
>> +	 *  @playerversion Flash 10.2
>> +	 *  @playerversion AIR 2.6
>> +	 *  @productversion Royale 0.9.3
>> +	 */
>> +    public function
>> defineSimpleGetter(obj:Object,prop:String,returnVal:*):void
>> +    {
>> +            Object.defineProperty(obj, prop, {
>> +                "get": function ():* {
>> +                    return returnVal;
>> +                }
>> +            });
>> +        }
>> +    
>> +}
>> \ No newline at end of file
>> 
>> -- 
>> To stop receiving notification emails like this one, please contact
>> harbs@apache.org.
> 


Re: [royale-asjs] branch develop updated: Added utility function for adding JS getters

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Harbs, did you test trying calling defineSimpleGetter then
defineSimpleSetter to define a read/write property?  I would think
defineSimpleSetter would wipe out the getter.  IIRC, the object passed to
Object.defineProperty is not merged with any existing/prior object.

Thanks,
-Alex

On 3/15/18, 2:06 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://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.ap
>ache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com
>%7C68535bf386224e27c2b008d58a541c7f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0
>%7C0%7C636567016216425669&sdata=alUyYJmeNSjS%2BH3SIspygisJzNeysA1YjfjBKtna
>6lU%3D&reserved=0
>
>
>The following commit(s) were added to refs/heads/develop by this push:
>     new af19f12  Added utility function for adding JS getters
>af19f12 is described below
>
>commit af19f12fb623a473e16a4d83e0d89234abdaea4d
>Author: Harbs <ha...@in-tools.com>
>AuthorDate: Thu Mar 15 11:06:51 2018 +0200
>
>    Added utility function for adding JS getters
>    
>    Added IEEventAdapterBead which adds required name getters for
>MouseEvent and KeyboardEvent protoypes.
>---
> .../Basic/src/main/resources/basic-manifest.xml    |  1 +
> .../apache/royale/html/beads/IEEventAdapterBead.as | 66
>++++++++++++++++++++++
> .../projects/Core/src/main/royale/CoreClasses.as   |  2 +
> .../org/apache/royale/utils/object/defineGetter.as | 34 +++++++++++
> .../royale/utils/object/defineSimpleGetter.as      | 38 +++++++++++++
> 5 files changed, 141 insertions(+)
>
>diff --git 
>a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>index dbff20e..442fc49 100644
>--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>@@ -96,6 +96,7 @@
> 
>     <component id="ApplicationParameters"
>class="org.apache.royale.html.beads.ApplicationParametersBead"/>
>     <component id="ApplicationParametersCaseInsensitive"
>class="org.apache.royale.html.beads.ApplicationParametersCaseInsensitiveBe
>ad"/>
>+    <component id="IEEventAdapter"
>class="org.apache.royale.html.beads.IEEventAdapterBead"/>
> 
>     <component id="SimpleAlert"
>class="org.apache.royale.html.SimpleAlert"/>
>     <component id="Alert" class="org.apache.royale.html.Alert"/>
>diff --git 
>a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/I
>EEventAdapterBead.as
>b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/I
>EEventAdapterBead.as
>new file mode 100644
>index 0000000..41711a6
>--- /dev/null
>+++ 
>b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/I
>EEventAdapterBead.as
>@@ -0,0 +1,66 @@
>+/////////////////////////////////////////////////////////////////////////
>///////
>+//
>+//  Licensed to the Apache Software Foundation (ASF) under one or more
>+//  contributor license agreements.  See the NOTICE file distributed with
>+//  this work for additional information regarding copyright ownership.
>+//  The ASF licenses this file to You under the Apache License, Version
>2.0
>+//  (the "Licens"); you may not use this file except in compliance with
>+//  the License.  You may obtain a copy of the License at
>+//
>+//      
>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache
>.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7Caharui%40adobe.com%7C68535bf3
>86224e27c2b008d58a541c7f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365
>67016216425669&sdata=Gg6raEdIO9ac3PPOqDowCbknYLq2LDgOb0ODKK8OIVs%3D&reserv
>ed=0
>+//
>+//  Unless required by applicable law or agreed to in writing, software
>+//  distributed under the License is distributed on an "AS IS" BASIS,
>+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>implied.
>+//  See the License for the specific language governing permissions and
>+//  limitations under the License.
>+//
>+/////////////////////////////////////////////////////////////////////////
>///////
>+package org.apache.royale.html.beads
>+{
>+    import org.apache.royale.core.IBead;
>+    import org.apache.royale.core.IStrand;
>+	COMPILE::JS
>+	{
>+		import org.apache.royale.utils.object.defineSimpleGetter;
>+	}
>+
>+	/**
>+	 *  The IEEventAdapterBead is used to get URL parameter values specified
>+     *  when loading an application. It's different than the
>ApplicationParametersBead
>+     *  in that URL parameter keys are case insensitive.
>+	 * 
>+	 *  @langversion 3.0
>+	 *  @playerversion Flash 10.2
>+	 *  @playerversion AIR 2.6
>+	 *  @productversion Royale 0.9.2
>+	 */
>+    public class IEEventAdapterBead implements IBead
>+    {
>+        public function IEEventAdapterBead()
>+        {
>+            
>+        }
>+
>+		/**
>+		 *  @copy org.apache.royale.core.IBead#strand
>+		 *  
>+		 *  @langversion 3.0
>+		 *  @playerversion Flash 10.2
>+		 *  @playerversion AIR 2.6
>+		 *  @productversion Royale 0.9.3
>+		 */
>+		public function set strand(value:IStrand):void
>+		{
>+			COMPILE::JS
>+			{
>+				if(typeof window["KeyboardEvent"].prototype["name"] == "undefined")
>+				{// IE does not have a prototype name property
>+					defineSimpleGetter(window["KeyboardEvent"].prototype,"name","Keyboar
>dEvent");
>+					defineSimpleGetter(window["MouseEvent"].prototype,"name","MouseEvent
>");
>+				}
>+			}
>+		}
>+
>+    }
>+}
>\ No newline at end of file
>diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as
>b/frameworks/projects/Core/src/main/royale/CoreClasses.as
>index f29e2e5..8685789 100644
>--- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
>+++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
>@@ -222,6 +222,8 @@ internal class CoreClasses
> 	{
> 		import org.apache.royale.core.WrappedHTMLElement ;WrappedHTMLElement;
> 	    import org.apache.royale.core.IRoyaleElement; IRoyaleElement;
>+		import org.apache.royale.utils.object.defineGetter; defineGetter;
>+		import org.apache.royale.utils.object.defineSimpleGetter;
>defineSimpleGetter;
> 	}
> 	//Package Level Functions
> 	import org.apache.royale.debugging.assert; assert;
>diff --git 
>a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>defineGetter.as 
>b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>defineGetter.as
>new file mode 100644
>index 0000000..501cd14
>--- /dev/null
>+++ 
>b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>defineGetter.as
>@@ -0,0 +1,34 @@
>+/////////////////////////////////////////////////////////////////////////
>///////
>+//
>+//  Licensed to the Apache Software Foundation (ASF) under one or more
>+//  contributor license agreements.  See the NOTICE file distributed with
>+//  this work for additional information regarding copyright ownership.
>+//  The ASF licenses this file to You under the Apache License, Version
>2.0
>+//  (the "License"); you may not use this file except in compliance with
>+//  the License.  You may obtain a copy of the License at
>+//
>+//      
>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache
>.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7Caharui%40adobe.com%7C68535bf3
>86224e27c2b008d58a541c7f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365
>67016216425669&sdata=Gg6raEdIO9ac3PPOqDowCbknYLq2LDgOb0ODKK8OIVs%3D&reserv
>ed=0
>+//
>+//  Unless required by applicable law or agreed to in writing, software
>+//  distributed under the License is distributed on an "AS IS" BASIS,
>+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>implied.
>+//  See the License for the specific language governing permissions and
>+//  limitations under the License.
>+//
>+/////////////////////////////////////////////////////////////////////////
>///////
>+package org.apache.royale.utils.object
>+{
>+	/**
>+	 *  Defines a getter function on a Javascript object (often used to add
>to prototypes)
>+     *  Takes a function which returns a value
>+	 *  @langversion 3.0
>+	 *  @playerversion Flash 10.2
>+	 *  @playerversion AIR 2.6
>+	 *  @productversion Royale 0.9.3
>+	 */
>+    public function
>defineGetter(obj:Object,prop:String,getterFunction:Function):void
>+    {
>+            Object.defineProperty(obj, prop, {"get": getterFunction});
>+        }
>+    
>+}
>\ No newline at end of file
>diff --git 
>a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>defineSimpleGetter.as
>b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>defineSimpleGetter.as
>new file mode 100644
>index 0000000..42b5d9f
>--- /dev/null
>+++ 
>b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/object/
>defineSimpleGetter.as
>@@ -0,0 +1,38 @@
>+/////////////////////////////////////////////////////////////////////////
>///////
>+//
>+//  Licensed to the Apache Software Foundation (ASF) under one or more
>+//  contributor license agreements.  See the NOTICE file distributed with
>+//  this work for additional information regarding copyright ownership.
>+//  The ASF licenses this file to You under the Apache License, Version
>2.0
>+//  (the "License"); you may not use this file except in compliance with
>+//  the License.  You may obtain a copy of the License at
>+//
>+//      
>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache
>.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7Caharui%40adobe.com%7C68535bf3
>86224e27c2b008d58a541c7f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365
>67016216425669&sdata=Gg6raEdIO9ac3PPOqDowCbknYLq2LDgOb0ODKK8OIVs%3D&reserv
>ed=0
>+//
>+//  Unless required by applicable law or agreed to in writing, software
>+//  distributed under the License is distributed on an "AS IS" BASIS,
>+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>implied.
>+//  See the License for the specific language governing permissions and
>+//  limitations under the License.
>+//
>+/////////////////////////////////////////////////////////////////////////
>///////
>+package org.apache.royale.utils.object
>+{
>+	/**
>+	 *  Defines a getter function on a Javascript object (often used to add
>to prototypes)
>+     *  Takes a simple value to return.
>+	 *  @langversion 3.0
>+	 *  @playerversion Flash 10.2
>+	 *  @playerversion AIR 2.6
>+	 *  @productversion Royale 0.9.3
>+	 */
>+    public function
>defineSimpleGetter(obj:Object,prop:String,returnVal:*):void
>+    {
>+            Object.defineProperty(obj, prop, {
>+                "get": function ():* {
>+                    return returnVal;
>+                }
>+            });
>+        }
>+    
>+}
>\ No newline at end of file
>
>-- 
>To stop receiving notification emails like this one, please contact
>harbs@apache.org.