Removed the need to set flexjs_wrapper
positioner is just a pointer to element unless needed to be separate
Modified classes in Basic and MDL to use addElementToWrapper()


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/f0022764
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/f0022764
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/f0022764

Branch: refs/heads/feature/flexjs_wrapper
Commit: f002276492e1b095ac27800e81e917eb1dcbb3a5
Parents: 49585ec
Author: Harbs <[email protected]>
Authored: Tue Sep 26 20:52:47 2017 +0300
Committer: Harbs <[email protected]>
Committed: Tue Sep 26 20:52:47 2017 +0300

----------------------------------------------------------------------
 .../flex/org/apache/flex/core/Application.as    |  1 -
 .../main/flex/org/apache/flex/core/GroupBase.as | 12 ++++-----
 .../org/apache/flex/core/HTMLElementWrapper.as  |  1 +
 .../org/apache/flex/core/SimpleApplication.as   |  5 ++--
 .../main/flex/org/apache/flex/core/UIBase.as    | 12 +++------
 .../main/flex/org/apache/flex/html/ButtonBar.as |  9 +------
 .../flex/org/apache/flex/html/ButtonBase.as     |  7 +----
 .../flex/org/apache/flex/html/CSSCheckBox.as    |  5 +---
 .../main/flex/org/apache/flex/html/CheckBox.as  |  6 +----
 .../flex/org/apache/flex/html/ControlBar.as     |  5 +---
 .../flex/org/apache/flex/html/DropDownList.as   |  8 +-----
 .../src/main/flex/org/apache/flex/html/Form.as  |  8 +-----
 .../src/main/flex/org/apache/flex/html/HRule.as |  6 +----
 .../src/main/flex/org/apache/flex/html/Image.as |  7 +----
 .../org/apache/flex/html/ImageAndTextButton.as  |  7 +----
 .../flex/org/apache/flex/html/ImageButton.as    |  7 +----
 .../src/main/flex/org/apache/flex/html/Label.as |  4 +--
 .../flex/org/apache/flex/html/MultilineLabel.as |  4 +--
 .../flex/org/apache/flex/html/NumericStepper.as |  7 +----
 .../flex/org/apache/flex/html/RadioButton.as    |  7 +----
 .../flex/org/apache/flex/html/SimpleList.as     |  6 +----
 .../main/flex/org/apache/flex/html/Slider.as    |  8 +-----
 .../main/flex/org/apache/flex/html/Spacer.as    | 13 ---------
 .../main/flex/org/apache/flex/html/Spinner.as   |  6 +----
 .../src/main/flex/org/apache/flex/html/Table.as |  7 +----
 .../main/flex/org/apache/flex/html/TableCell.as |  7 +----
 .../flex/org/apache/flex/html/TableHeader.as    |  7 +----
 .../main/flex/org/apache/flex/html/TableRow.as  |  7 +----
 .../main/flex/org/apache/flex/html/TextArea.as  |  8 +-----
 .../flex/org/apache/flex/html/TextButton.as     |  3 +--
 .../main/flex/org/apache/flex/html/TextInput.as |  7 +----
 .../main/flex/org/apache/flex/html/TitleBar.as  |  7 +----
 .../main/flex/org/apache/flex/html/ToolTip.as   |  2 +-
 .../src/main/flex/org/apache/flex/html/VRule.as | 17 +++++-------
 .../flex/org/apache/flex/html/WebBrowser.as     |  9 ++-----
 .../org/apache/flex/html/addElementToWrapper.as |  3 +--
 .../flex/html/supportClasses/CheckBoxIcon.as    |  6 -----
 .../html/supportClasses/DataItemRenderer.as     |  8 ++----
 .../flex/html/supportClasses/RadioButtonIcon.as | 17 ++++++------
 .../html/supportClasses/StringItemRenderer.as   |  6 -----
 .../main/flex/org/apache/flex/svg/DOMWrapper.as |  4 ---
 .../org/apache/flex/svg/GraphicContainer.as     |  7 -----
 .../flex/org/apache/flex/svg/GraphicShape.as    |  4 ---
 .../src/main/flex/org/apache/flex/svg/Image.as  |  3 ---
 .../flex/org/apache/flex/core/ElementWrapper.as |  1 +
 .../apache/flex/core/UIHTMLElementWrapper.as    |  7 ++---
 .../main/flex/org/apache/flex/events/Event.as   |  5 ++--
 .../flex/org/apache/flex/events/MouseEvent.as   |  5 ++--
 .../src/main/flex/org/apache/flex/mdl/Button.as |  8 ++----
 .../main/flex/org/apache/flex/mdl/ButtonChip.as | 10 ++-----
 .../src/main/flex/org/apache/flex/mdl/Card.as   |  9 ++-----
 .../flex/org/apache/flex/mdl/CardActions.as     |  9 ++-----
 .../main/flex/org/apache/flex/mdl/CardMedia.as  |  9 ++-----
 .../main/flex/org/apache/flex/mdl/CardMenu.as   |  9 ++-----
 .../org/apache/flex/mdl/CardSupportingText.as   |  9 ++-----
 .../main/flex/org/apache/flex/mdl/CardTitle.as  |  9 ++-----
 .../flex/org/apache/flex/mdl/CardTitleText.as   | 10 +++----
 .../main/flex/org/apache/flex/mdl/CheckBox.as   |  8 +++---
 .../src/main/flex/org/apache/flex/mdl/Chip.as   |  8 ++----
 .../src/main/flex/org/apache/flex/mdl/Dialog.as |  8 ++----
 .../flex/org/apache/flex/mdl/DialogActions.as   |  9 ++-----
 .../flex/org/apache/flex/mdl/DialogContent.as   |  9 ++-----
 .../flex/org/apache/flex/mdl/DialogTitle.as     | 10 +++----
 .../src/main/flex/org/apache/flex/mdl/Drawer.as |  9 ++-----
 .../flex/org/apache/flex/mdl/DropDownList.as    | 10 +++----
 .../src/main/flex/org/apache/flex/mdl/Footer.as |  9 ++-----
 .../org/apache/flex/mdl/FooterBottomSection.as  |  9 ++-----
 .../apache/flex/mdl/FooterDropDownSection.as    |  9 ++-----
 .../flex/org/apache/flex/mdl/FooterHeading.as   | 10 +++----
 .../org/apache/flex/mdl/FooterLeftSection.as    |  9 ++-----
 .../flex/org/apache/flex/mdl/FooterLinkList.as  | 11 +++-----
 .../main/flex/org/apache/flex/mdl/FooterLogo.as |  9 ++-----
 .../org/apache/flex/mdl/FooterMiddleSection.as  |  9 ++-----
 .../org/apache/flex/mdl/FooterRightSection.as   |  9 ++-----
 .../org/apache/flex/mdl/FooterSocialButton.as   |  9 ++-----
 .../org/apache/flex/mdl/FooterTopSection.as     |  9 ++-----
 .../src/main/flex/org/apache/flex/mdl/Grid.as   |  9 ++-----
 .../main/flex/org/apache/flex/mdl/GridCell.as   |  9 ++-----
 .../src/main/flex/org/apache/flex/mdl/Header.as |  9 ++-----
 .../main/flex/org/apache/flex/mdl/HeaderRow.as  |  9 ++-----
 .../main/flex/org/apache/flex/mdl/IconToggle.as |  9 ++-----
 .../flex/org/apache/flex/mdl/LayoutTitle.as     |  9 ++-----
 .../src/main/flex/org/apache/flex/mdl/List.as   | 11 +++-----
 .../src/main/flex/org/apache/flex/mdl/Menu.as   | 11 +++-----
 .../main/flex/org/apache/flex/mdl/Navigation.as |  9 ++-----
 .../org/apache/flex/mdl/NavigationLayout.as     |  9 ++-----
 .../apache/flex/mdl/NavigationLayoutContent.as  |  9 ++-----
 .../flex/org/apache/flex/mdl/NavigationLink.as  | 13 +++------
 .../flex/org/apache/flex/mdl/ProgressBar.as     |  8 ++----
 .../flex/org/apache/flex/mdl/RadioButton.as     |  8 ++----
 .../src/main/flex/org/apache/flex/mdl/Slider.as | 25 ++++++++++++-----
 .../src/main/flex/org/apache/flex/mdl/Spacer.as | 10 +++----
 .../main/flex/org/apache/flex/mdl/Spinner.as    |  9 ++-----
 .../src/main/flex/org/apache/flex/mdl/Switch.as |  8 ++----
 .../src/main/flex/org/apache/flex/mdl/TBody.as  |  8 ++----
 .../src/main/flex/org/apache/flex/mdl/THead.as  |  8 ++----
 .../src/main/flex/org/apache/flex/mdl/TabBar.as |  8 ++----
 .../flex/org/apache/flex/mdl/TabBarButton.as    |  9 ++-----
 .../flex/org/apache/flex/mdl/TabBarPanel.as     |  8 ++----
 .../src/main/flex/org/apache/flex/mdl/Table.as  |  7 ++---
 .../src/main/flex/org/apache/flex/mdl/Tabs.as   |  9 ++-----
 .../main/flex/org/apache/flex/mdl/TextArea.as   | 25 ++++++++++++-----
 .../main/flex/org/apache/flex/mdl/TextField.as  | 27 ++++++++++++++-----
 .../src/main/flex/org/apache/flex/mdl/Toast.as  |  8 +++---
 .../itemRenderers/DropDownListItemRenderer.as   |  4 ---
 .../mdl/itemRenderers/FooterLinkItemRenderer.as |  9 +++----
 .../flex/mdl/itemRenderers/ListItemRenderer.as  | 10 +++----
 .../flex/mdl/itemRenderers/MenuItemRenderer.as  | 10 +++----
 .../itemRenderers/NavigationLinkItemRenderer.as | 12 +++------
 .../itemRenderers/TabBarLayoutItemRenderer.as   |  9 ++-----
 .../itemRenderers/TabBarPanelItemRenderer.as    |  9 ++-----
 .../mdl/itemRenderers/TableRowItemRenderer.as   | 28 ++++++++++++++------
 .../apache/flex/mdl/supportClasses/CardInner.as |  8 ++----
 .../flex/mdl/supportClasses/MaterialIconBase.as | 14 +++-------
 .../TabBarButtonItemRendererBase.as             |  9 ++-----
 115 files changed, 288 insertions(+), 708 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
index c92ad95..9b94d9d 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
@@ -131,7 +131,6 @@ package org.apache.flex.core
             }
                        COMPILE::JS {
                                element = 
document.getElementsByTagName('body')[0];
-                               element.flexjs_wrapper = this;
                                element.className = 'Application';              
        
                        }
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as
index 3a89556..24de9e3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as
@@ -28,6 +28,11 @@ package org.apache.flex.core
        import org.apache.flex.states.State;
        import org.apache.flex.utils.MXMLDataInterpreter;
 
+    COMPILE::JS
+    {
+        import org.apache.flex.html.addElementToWrapper;
+    }
+
     /**
      *  Indicates that the state change has completed.  All properties
      *  that need to change have been changed, and all transitinos
@@ -93,12 +98,7 @@ package org.apache.flex.core
                COMPILE::JS
                override protected function createElement():WrappedHTMLElement
                {
-                       element = document.createElement('div') as 
WrappedHTMLElement;
-                       element.flexjs_wrapper = this;
-                       
-                       positioner = element;
-                       
-                       return element;
+                       return addElementToWrapper(this,'div');
                }
                
                override public function addedToParent():void

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
index 415eb78..03fe7e4 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
@@ -123,6 +123,7 @@ package org.apache.flex.core
         public function set element(value:WrappedHTMLElement):void
         {
             _element = value;
+            _element.flexjs_wrapper = this;
         }
         
         /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/SimpleApplication.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/SimpleApplication.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/SimpleApplication.as
index 7a75863..fffc426 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/SimpleApplication.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/SimpleApplication.as
@@ -95,9 +95,8 @@ package org.apache.flex.core
                {
                  COMPILE::JS
                  {
-                         this.element = 
document.getElementsByTagName('body')[0];
-                         this.element.flexjs_wrapper = this;
-                         this.element.className = 'SimpleApplication';
+                         element = document.getElementsByTagName('body')[0];
+                         element.className = 'SimpleApplication';
                  }
                }
        }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
index 33764be..8e11974 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
@@ -34,6 +34,7 @@ package org.apache.flex.core
 
     COMPILE::JS
     {
+        import org.apache.flex.html.addElementToWrapper;
         import org.apache.flex.utils.CSSUtils;
     }
        
@@ -1506,17 +1507,10 @@ package org.apache.flex.core
         COMPILE::JS
         protected function createElement():WrappedHTMLElement
         {
-            if (element == null)
-                element = document.createElement('div') as WrappedHTMLElement;
-            // initially undefined could be set to null
-            if (positioner == null)
-                positioner = element;
+                       addElementToWrapper(this,'div');
             positioner.style.display = 'block';
             //positioner.style.position = 'relative';
-            
-            element.flexjs_wrapper = this;
-            
-            return positioner;
+            return element;
         }
         
         

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as
index 0dffead..01027da 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as
@@ -82,14 +82,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('div') as WrappedHTMLElement;
-            positioner = element;
-
-            className = 'ButtonBar';
-
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'div');
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as
index 72d19e1..086985f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as
@@ -80,18 +80,13 @@ package org.apache.flex.html
          */
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('button') as WrappedHTMLElement;
+                       addElementToWrapper(this,'button');
             element.setAttribute('type', 'button');
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
             /* AJH comment out until we figure out why it is needed
             if (org.apache.flex.core.ValuesManager.valuesImpl.getValue) {
                 var impl:Object = 
org.apache.flex.core.ValuesManager.valuesImpl.
                     getValue(this, 'iStatesImpl');
             }*/
-            
             return element;
         }        
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.as
index bbcb387..4c11c08 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.as
@@ -169,7 +169,7 @@ package org.apache.flex.html
          */
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('label') as WrappedHTMLElement;
+                       addElementToWrapper(this,'label');
                        _label = element;
                        _icon = new CheckBoxIcon();
             element.appendChild(_icon.element);
@@ -180,10 +180,7 @@ package org.apache.flex.html
             element.appendChild(_styleDiv);
             _textNode = document.createTextNode('') as WrappedHTMLElement;
             element.appendChild(_textNode);
-
-            positioner = element;
             //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
                        _icon.element.flexjs_wrapper = this;
             _styleDiv.flexjs_wrapper = this;
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as
index eb1afbe..849ae1c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as
@@ -156,17 +156,13 @@ package org.apache.flex.html
         override protected function createElement():WrappedHTMLElement
         {
             var cb:HTMLInputElement;
-
-            element = document.createElement('label') as WrappedHTMLElement;
+                       addElementToWrapper(this,'label');
                        _label = element;
                        _icon = new CheckBoxIcon();
             element.appendChild(_icon.element);
 
             element.appendChild(document.createTextNode(''));
-
-            positioner = element;
             //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
                        _icon.element.flexjs_wrapper = this;
 
             className = 'CheckBox';

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
index 31d917a..7c8358e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
@@ -83,10 +83,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-                       element = document.createElement('div') as 
WrappedHTMLElement;
-                       
-                       positioner = element;
-                       element.flexjs_wrapper = this;
+                       addElementToWrapper(this,'div');
                        typeNames = "ControlBar";
 
             return element;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
index eb7e7ff..d27d9c4 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
@@ -212,16 +212,10 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('select') as WrappedHTMLElement;
+                       addElementToWrapper(this,'select');
             (element as HTMLSelectElement).size = 1;
             goog.events.listen(element, 'change',
                 changeHandler);
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            element.flexjs_wrapper = this;
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
index ef258c2..37b1c8c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
@@ -55,13 +55,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('form') as WrappedHTMLElement;
-
-            positioner = element;
-
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-            return element;
+                       return addElementToWrapper(this,'form');
         }
 
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
index 3017a34..0c80cfa 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
@@ -54,11 +54,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('hr') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-            return element;
+                       return addElementToWrapper(this,'hr');
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
index 6b206c1..645bf7e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
@@ -55,14 +55,9 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('img') as WrappedHTMLElement;
+                       addElementToWrapper(this,'img');
             element.className = 'Image';
             typeNames = 'Image';
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
index ccdbc3b..cc94fe4 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
@@ -103,13 +103,8 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('button') as WrappedHTMLElement;
+                       addElementToWrapper(this,'button');
             element.setAttribute('type', 'button');
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
index 4b89037..95bd403 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
@@ -58,13 +58,8 @@ package org.apache.flex.html
                COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('button') as WrappedHTMLElement;
+                       addElementToWrapper(this,'button');
             element.setAttribute('type', 'button');
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Label.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Label.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Label.as
index 310c758..01fc4d2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Label.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Label.as
@@ -163,9 +163,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('span') as WrappedHTMLElement;
-            positioner = element;
-            element.flexjs_wrapper = this;
+                       addElementToWrapper(this,'span');
             element.style.whiteSpace = "nowrap";
 
             className = "Label";

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MultilineLabel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MultilineLabel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MultilineLabel.as
index a776206..d6b55a3 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MultilineLabel.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MultilineLabel.as
@@ -58,10 +58,8 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('div') as WrappedHTMLElement;
+                       addElementToWrapper(this,'div');
                        element.style.whiteSpace = 'normal'; // was nowrap on 
safari?
-            positioner = element;
-            element.flexjs_wrapper = this;
             return element;
         }        
                                                

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
index 7a69033..d6bae60 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
@@ -161,13 +161,8 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('div') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            element.flexjs_wrapper = this;
+                       addElementToWrapper(this,'div');
             typeNames = 'NumericStepper';
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
index a7dd387..2bad713 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
@@ -251,12 +251,7 @@ package org.apache.flex.html
             labelFor.appendChild(textNode);
 
             element = labelFor as WrappedHTMLElement;
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            (element as WrappedHTMLElement).flexjs_wrapper = this;
-            (textNode as WrappedHTMLElement).flexjs_wrapper = this;
+           (textNode as WrappedHTMLElement).flexjs_wrapper = this;
                        (icon.element as WrappedHTMLElement).flexjs_wrapper = 
this;
 
             className = 'RadioButton';

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
index b71b7cd..91ae334 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
@@ -57,15 +57,11 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('select') as WrappedHTMLElement;
-            element.flexjs_wrapper = this;
+                       addElementToWrapper(this,'select');
             (element as HTMLSelectElement).size = 5;
             goog.events.listen(element, 'change',
                 changeHandler);
-            positioner = element;
-            //positioner.style.position = 'relative';
             className = 'SimpleList';
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
index c980fde..be8ddc1 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
@@ -162,18 +162,12 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('div') as WrappedHTMLElement;
+                       addElementToWrapper(this,'div');
 
                        // just to give it some default values
             element.style.width = '100px';
             element.style.height = '30px';
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
             className = 'Slider';
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spacer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spacer.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spacer.as
index d7ab050..36048e9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spacer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spacer.as
@@ -47,18 +47,5 @@ package org.apache.flex.html
                        super();
         }
         
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            this.element = document.createElement('div') as WrappedHTMLElement;
-            this.positioner = this.element;
-            this.element.flexjs_wrapper = this;
-            
-            return element;
-        }        
-
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
index de92409..893a86a 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
@@ -154,13 +154,9 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('div') as WrappedHTMLElement;
-            positioner = element;
-
+                       addElementToWrapper(this,'div');
             element.style.verticalAlign = 'middle';
-            element.flexjs_wrapper = this;
                        typeNames = "Spinner";
-
             return element;
         }
        }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as
index 2a572d4..3bfa0ee 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as
@@ -56,12 +56,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-                       element = document.createElement('table') as 
WrappedHTMLElement;
-
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return element;
+                       return addElementToWrapper(this,'table');
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as
index 863eeb7..92166ca 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as
@@ -57,12 +57,7 @@ package org.apache.flex.html
                COMPILE::JS
                override protected function createElement():WrappedHTMLElement
                {
-                       element = document.createElement('td') as 
WrappedHTMLElement;
-                       
-                       positioner = element;
-                       element.flexjs_wrapper = this;
-                       
-                       return element;
+                       return addElementToWrapper(this,'td');
                }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as
index 9c6e043..3ad0c73 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as
@@ -56,12 +56,7 @@ package org.apache.flex.html
                COMPILE::JS
                override protected function createElement():WrappedHTMLElement
                {
-                       element = document.createElement('th') as 
WrappedHTMLElement;
-                       
-                       positioner = element;
-                       element.flexjs_wrapper = this;
-                       
-                       return element;
+                       return addElementToWrapper(this,'th');
                }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as
index f5bc359..d456db7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as
@@ -58,12 +58,7 @@ package org.apache.flex.html
                COMPILE::JS
                override protected function createElement():WrappedHTMLElement
                {
-                       element = document.createElement('tr') as 
WrappedHTMLElement;
-                       
-                       positioner = element;
-                       element.flexjs_wrapper = this;
-                       
-                       return element;
+                       return addElementToWrapper(this,'tr');
                }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
index 2eb9c72..4df3f3a 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
@@ -152,16 +152,10 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('textarea') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-
+                       addElementToWrapper(this,'textarea');
             goog.events.listen(element, 'input', textChangeHandler);
-
-            element.flexjs_wrapper = this;
             element.className = 'TextArea';
             typeNames = 'TextArea';
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
index b2997c2..118c758 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
@@ -124,12 +124,11 @@ package org.apache.flex.html
 
                /**
                 * @private
-                * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
                 */
                COMPILE::JS
                override protected function createElement():WrappedHTMLElement
                {
-                       var element:WrappedHTMLElement = super.createElement();
+                       super.createElement();
                        className = "TextButton";
                        typeNames = "TextButton";
                        return element;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
index 0a63c95..2fd7e21 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
@@ -168,7 +168,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('input') as WrappedHTMLElement;
+                       addElementToWrapper(this,'input');
             element.setAttribute('type', 'text');
             element.className = 'TextInput';
             typeNames = 'TextInput';
@@ -176,11 +176,6 @@ package org.apache.flex.html
             //attach input handler to dispatch flexjs change event when user 
write in textinput
             //goog.events.listen(element, 'change', killChangeHandler);
             goog.events.listen(element, 'input', textChangeHandler);
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
index 2764731..b57c2b4 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
@@ -133,12 +133,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return element;
+                       return addElementToWrapper(this,'div');
         }        
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToolTip.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToolTip.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToolTip.as
index 1d39b4d..4ddb1ad 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToolTip.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToolTip.as
@@ -70,7 +70,7 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-                       var element:WrappedHTMLElement = super.createElement();
+                       super.createElement();
                        positioner.style.position = 'absolute';
                        positioner.style.pointerEvents = "none";
                        typeNames = "ToolTip";

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
index bdf05eb..cf1899b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
@@ -54,16 +54,13 @@ package org.apache.flex.html
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('div') as WrappedHTMLElement;
-            element.style.borderLeftStyle = 'solid';
-            element.style.borderLeftWidth = '1px';
-            element.style.borderTop = 'none';
-            element.style.borderBottom = 'none';
-            element.style.borderRight = 'none';
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-            return element;
+                       var elem:WrappedHTMLElement = 
addElementToWrapper(this,'div');
+            elem.style.borderLeftStyle = 'solid';
+            elem.style.borderLeftWidth = '1px';
+            elem.style.borderTop = 'none';
+            elem.style.borderBottom = 'none';
+            elem.style.borderRight = 'none';
+            return elem;
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/WebBrowser.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/WebBrowser.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/WebBrowser.as
index 7027359..68a4b94 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/WebBrowser.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/WebBrowser.as
@@ -107,19 +107,14 @@ package org.apache.flex.html
 
                /**
                 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+                * @flexjsignorecoercion org.apache.flex.core.HTMLIFrameElement
                 */
                override protected function createElement():WrappedHTMLElement
                {
-                       element = document.createElement('iframe') as 
WrappedHTMLElement;
-                       element.flexjs_wrapper = this;
-
-                       var iframe:HTMLIFrameElement = element as 
HTMLIFrameElement;
+                       var iframe:HTMLIFrameElement = 
addElementToWrapper(this,'iframe') as HTMLIFrameElement;
                        iframe.frameBorder = "0";
                        iframe.src = "JavaScript:''";
                        iframe.sandbox = "allow-top-navigation allow-forms 
allow-scripts";
-
-                       positioner = element;
-
                        return element;
                }
                

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
index f7638ba..a9de5c0 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
@@ -31,8 +31,7 @@ package org.apache.flex.html
     public function 
addElementToWrapper(wrapper:UIBase,type:String):WrappedHTMLElement
     {
         var elem:WrappedHTMLElement = document.createElement(type) as 
WrappedHTMLElement;
-                       wrapper.positioner = wrapper.element = elem;
-                       elem.flexjs_wrapper = wrapper;
+                       wrapper.element = elem;
             return elem;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
index c9eeefb..f613d8c 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
@@ -80,12 +80,6 @@ package org.apache.flex.html.supportClasses
                        input.type = 'checkbox';
 
                        element = input as WrappedHTMLElement;
-
-                       positioner = element;
-                       //positioner.style.position = 'relative';
-
-                       (element as WrappedHTMLElement).flexjs_wrapper = this;
-
                        return element;
                }
        }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
index c1da93c..f1d609b 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
@@ -25,6 +25,7 @@ package org.apache.flex.html.supportClasses
        COMPILE::JS
        {
                import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
                import 
org.apache.flex.html.beads.controllers.ItemRendererMouseController;
        }
        import org.apache.flex.core.ValuesManager;
@@ -147,13 +148,8 @@ package org.apache.flex.html.supportClasses
                COMPILE::JS
                override protected function createElement():WrappedHTMLElement
                {
-                       element = document.createElement('div') as 
WrappedHTMLElement;
-                       positioner = element;
-                       //positioner.style.position = 'relative';
-
-                       element.flexjs_wrapper = this;
+                       addElementToWrapper(this,'div');
                        className = 'DataItemRenderer';
-
                        controller = new ItemRendererMouseController();
                        controller.strand = this;
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
index 3c29ae5..1622427 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
@@ -46,11 +46,15 @@ package org.apache.flex.html.supportClasses
                        className = 'RadioButtonIcon';
                }
 
-               COMPILE::JS {
+               COMPILE::JS 
                public var element:WrappedHTMLElement;
-               public var positioner:WrappedHTMLElement;
+               
+               COMPILE::JS
+               public function get positioner():WrappedHTMLElement
+               {
+                       return element;
                }
-
+               
                private var _className:String;
 
                /**
@@ -95,15 +99,12 @@ package org.apache.flex.html.supportClasses
                COMPILE::JS
                protected function createElement():WrappedHTMLElement
                {
+                       //This class does not subclass anything, so these 
properties must be set explicitly
                        var input:HTMLInputElement = 
document.createElement('input') as HTMLInputElement;
                        input.type = 'radio';
 
                        element = input as WrappedHTMLElement;
-
-                       positioner = element;
-                       //positioner.style.position = 'relative';
-
-                       (element as WrappedHTMLElement).flexjs_wrapper = this;
+                       element.flexjs_wrapper = this;
 
                        return element;
                }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
index 0f12f1b..89873a6 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
@@ -163,16 +163,10 @@ package org.apache.flex.html.supportClasses
         override protected function createElement():WrappedHTMLElement
         {
             element = document.createElement('span') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            element.flexjs_wrapper = this;
             className = 'StringItemRenderer';
-
             // itemRenderers should provide something for the background to 
handle
             // the selection and highlight
             backgroundView = element;
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
index 007cc6a..68d91f7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
@@ -45,13 +45,9 @@ package org.apache.flex.svg
                override protected function createElement():WrappedHTMLElement
                {
                        element = 
document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject') as 
WrappedHTMLElement;
-                       element.flexjs_wrapper = this;
                        element.style.left = "0px";
                        element.style.top = "0px";
                        //element.offsetParent = null;
-                       positioner = element;
-                       //positioner.style.position = 'relative';
-                       
                        return element;
                }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
index 8734ebb..2fca3bb 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
@@ -58,15 +58,11 @@ package org.apache.flex.svg
                {
                        element = 
document.createElementNS('http://www.w3.org/2000/svg', 'svg') as 
org.apache.flex.core.WrappedHTMLElement;
 
-                       positioner = element;
-
                        // absolute positioned children need a non-null
                        // position value in the parent.  It might
                        // get set to 'absolute' if the container is
                        // also absolutely positioned
                        //positioner.style.position = 'relative';
-                       element.flexjs_wrapper = this;
-
                        graphicGroup = new GraphicGroup();
                        super.addElement(graphicGroup);
                        return element;
@@ -199,14 +195,11 @@ class GraphicGroup extends GroupBase
        {
                element = 
document.createElementNS('http://www.w3.org/2000/svg', 'g') as 
org.apache.flex.core.WrappedHTMLElement;
 
-               positioner = element;
-
                // absolute positioned children need a non-null
                // position value in the parent.  It might
                // get set to 'absolute' if the container is
                // also absolutely positioned
                //positioner.style.position = 'relative';
-               element.flexjs_wrapper = this;
 
                /*addEventListener('childrenAdded',
                runLayoutHandler);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
index c6197dc..5e360fa 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
@@ -95,11 +95,7 @@ package org.apache.flex.svg
                override protected function createElement():WrappedHTMLElement
                {
                        element = 
document.createElementNS('http://www.w3.org/2000/svg', 'svg') as 
WrappedHTMLElement;
-                       element.flexjs_wrapper = this;
                        //element.offsetParent = null;
-                       positioner = element;
-                       //positioner.style.position = 'relative';
-
                        return element;
                }
                

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
index 372dd6d..ef369380 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
@@ -46,12 +46,9 @@ package org.apache.flex.svg
                override protected function createElement():WrappedHTMLElement
                {
                        element = 
document.createElementNS('http://www.w3.org/2000/svg', 'svg') as 
WrappedHTMLElement;
-                       element.flexjs_wrapper = this;
                        element.setAttribute('x', 0);
                        element.setAttribute('y', 0);
                        //element.offsetParent = null;
-                       positioner = element;
-                       //positioner.style.position = 'relative';
                        addImageElement();
                        return element;
                }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
index ce0cf0e..61c48f2 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
@@ -59,6 +59,7 @@ package org.apache.flex.core
         public function set element(value:IFlexJSElement):void
         {
             _element = value;
+            _element.flexjs_wrapper = this;
         }
         
         protected var _beads:Vector.<IBead>;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as
 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as
index 77e0b90..e16d7b9 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as
@@ -77,16 +77,13 @@ COMPILE::SWF
                {
         }
 
-        COMPILE::JS
-        private var _positioner:WrappedHTMLElement;
-        
         /**
          * The HTMLElement used to position the component.
          */
         COMPILE::JS
         public function get positioner():WrappedHTMLElement
         {
-            return _positioner;
+            return _element;
         }
         
         /**
@@ -95,7 +92,7 @@ COMPILE::SWF
         COMPILE::JS
         public function set positioner(value:WrappedHTMLElement):void
         {
-            _positioner = value;
+            element = value;
         }
         
         /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
index 4bc5445..b1fb2ca 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
@@ -110,12 +110,13 @@ package org.apache.flex.events
          * @playerversion Flash 10.2
          * @playerversion AIR 2.6
          * @productversion FlexJS 0.0
+                * @flexjsignorecoercion org.apache.flex.core.IFlexJSElement
          */
         public function isSameTarget(potentialTarget:IEventDispatcher):Boolean
         {
-            if (potentialTarget === target)
+            if (potentialTarget == target)
                                return true;
-            if (target is IFlexJSElement && 
IFlexJSElement(target).flexjs_wrapper === potentialTarget)
+            if (target is IFlexJSElement && (target as 
IFlexJSElement).flexjs_wrapper == potentialTarget)
                                return true;
             return false;
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
index d35ade7..e3189d9 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
@@ -216,12 +216,13 @@ package org.apache.flex.events
          * @playerversion Flash 10.2
          * @playerversion AIR 2.6
          * @productversion FlexJS 0.0
+                * @flexjsignorecoercion org.apache.flex.core.IFlexJSElement
          */
         public function isSameTarget(potentialTarget:IEventDispatcher):Boolean
         {
-            if (potentialTarget === target) return true;
+            if (potentialTarget == target) return true;
             if (target is IFlexJSElement)
-                if (IFlexJSElement(target).flexjs_wrapper === potentialTarget) 
return true;
+                if ((target as IFlexJSElement).flexjs_wrapper == 
potentialTarget) return true;
             return false;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as
index f68d4b2..6062fd7 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as
@@ -26,6 +26,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
     
     /**
@@ -65,12 +66,7 @@ package org.apache.flex.mdl
                {
             typeNames = "mdl-button mdl-js-button";
             
-            element = document.createElement('button') as WrappedHTMLElement;
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'button');
                }
 
         private var _materialIcon:IMaterialIcon;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as
index 2f6b750..2e5adb4 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     /**
@@ -58,15 +59,8 @@ package org.apache.flex.mdl
 
             textNode = document.createTextNode('') as Text;
             chipTextSpan.appendChild(textNode);
-
-            chip = document.createElement("button") as HTMLButtonElement;
+            chip = addElementToWrapper(this,'button') as HTMLButtonElement;
             chip.appendChild(chipTextSpan);
-
-            element = chip as WrappedHTMLElement;
-
-            positioner = element;
-            element.flexjs_wrapper = this;
-
             return element;
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Card.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Card.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Card.as
index e3bfabd..7acb989 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Card.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Card.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
 
        /**
@@ -60,13 +61,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-card";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-                       positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'div');
         }
 
                protected var _shadow:Number = 0;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardActions.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardActions.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardActions.as
index d835435..a968f24 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardActions.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardActions.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
     
        /**
@@ -57,13 +58,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-card__actions";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return element;
+                       return addElementToWrapper(this,'div');
         }    
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMedia.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMedia.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMedia.as
index 5b47b46..106ada3 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMedia.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMedia.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
     
        /**
@@ -56,13 +57,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-card__media";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return element;
+                       return addElementToWrapper(this,'div');
         }    
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMenu.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMenu.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMenu.as
index 9f0d13d..f8560dc 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMenu.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardMenu.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
     
        /**
@@ -56,13 +57,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-card__menu";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return element;
+                       return addElementToWrapper(this,'div');
         }    
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardSupportingText.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardSupportingText.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardSupportingText.as
index 588cf3f..abc824b 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardSupportingText.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardSupportingText.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
     
        /**
@@ -56,13 +57,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-card__supporting-text";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-            positioner = element;            
-            element.flexjs_wrapper = this;
-            
-            return element;
+                       return addElementToWrapper(this,'div');
         }    
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitle.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitle.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitle.as
index 8001cee..1b2b6b3 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitle.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitle.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
     
        /**
@@ -56,13 +57,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-card__title";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-                       
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return element;
+                       return addElementToWrapper(this,'div');
         }    
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitleText.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitleText.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitleText.as
index 85312bc..26f2901 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitleText.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CardTitleText.as
@@ -22,7 +22,8 @@ package org.apache.flex.mdl
 
        COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;   
+        import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
        
        /**
@@ -61,15 +62,10 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-card__title-text";
-
-                       element = document.createElement('h2') as 
WrappedHTMLElement;
+                       addElementToWrapper(this,'h2');
             
             textNode = document.createTextNode('') as Text;
             element.appendChild(textNode);
-            
-            positioner = element;
-                       element.flexjs_wrapper = this;
-            
             return element;
                }
        }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CheckBox.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CheckBox.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CheckBox.as
index c3a405a..33e1e1a 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CheckBox.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/CheckBox.as
@@ -27,6 +27,7 @@ package org.apache.flex.mdl
     {
         import org.apache.flex.core.WrappedHTMLElement;
         import org.apache.flex.events.Event;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     /**
@@ -85,9 +86,9 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-checkbox mdl-js-checkbox";
+                       
 
-            label = document.createElement('label') as HTMLLabelElement;
-            element = label as WrappedHTMLElement;
+            label = addElementToWrapper(this,'label') as HTMLLabelElement;
             
             input = document.createElement('input') as HTMLInputElement;
             input.type = 'checkbox';    
@@ -98,11 +99,8 @@ package org.apache.flex.mdl
             checkbox.className = 'mdl-checkbox__label';
             label.appendChild(checkbox);
             
-            positioner = element;
             (input as WrappedHTMLElement).flexjs_wrapper = this;
             (checkbox as WrappedHTMLElement).flexjs_wrapper = this;
-            element.flexjs_wrapper = this;
-            
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as
index 759247d..25299f2 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     /**
@@ -58,14 +59,9 @@ package org.apache.flex.mdl
             textNode = document.createTextNode('') as Text;
             chipTextSpan.appendChild(textNode);
 
-            chip = document.createElement("span") as HTMLSpanElement;
+            chip = addElementToWrapper(this,'span') as HTMLSpanElement;
             chip.appendChild(chipTextSpan);
 
-            element = chip as WrappedHTMLElement;
-
-            positioner = element;
-            element.flexjs_wrapper = this;
-
             return element;
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
index 9bfcb8b..68e218f 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
@@ -25,6 +25,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
 
        /**
@@ -80,12 +81,7 @@ package org.apache.flex.mdl
         {
                        typeNames = "mdl-dialog";
 
-            dialog = document.createElement('dialog') as HTMLDialogElement;
-                       element = dialog as WrappedHTMLElement;
-
-                       positioner = element;
-            element.flexjs_wrapper = this;
-
+            dialog = addElementToWrapper(this,'dialog') as HTMLDialogElement;
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogActions.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogActions.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogActions.as
index 2140ae9..44cb2cf 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogActions.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogActions.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
 
        /**
@@ -58,13 +59,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-dialog__actions";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-                       positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'div');
         }
 
                protected var _fullWidth:Boolean = false;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogContent.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogContent.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogContent.as
index 493d1ad..2c2d2ac 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogContent.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogContent.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
 
        /**
@@ -59,13 +60,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-dialog__content";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-                       positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'div');
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogTitle.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogTitle.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogTitle.as
index 1231913..adf5bb9 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogTitle.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DialogTitle.as
@@ -22,7 +22,8 @@ package org.apache.flex.mdl
 
        COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;   
+        import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
        
        /**
@@ -61,14 +62,9 @@ package org.apache.flex.mdl
         {
                        typeNames = "mdl-dialog__title";
                        
-                       element = document.createElement('h4') as 
WrappedHTMLElement;
-            
+                       addElementToWrapper(this,'h4');
             textNode = document.createTextNode('') as Text;
             element.appendChild(textNode);
-            
-            positioner = element;
-                       element.flexjs_wrapper = this;
-            
             return element;
                }
        }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Drawer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Drawer.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Drawer.as
index e458d2d..2cdc0eb 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Drawer.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Drawer.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
 
        /**
@@ -60,13 +61,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-layout__drawer";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-                       positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'div');
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
index 610f587..c9a4ce9 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
@@ -29,7 +29,8 @@ package org.apache.flex.mdl
 
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;        
+        import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     [Event(name="change", type="org.apache.flex.events.Event")]
@@ -204,13 +205,8 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = 'mdl-textfield mdl-js-textfield';
-            
-            element = document.createElement('div') as WrappedHTMLElement;
+                       addElementToWrapper(this,'div');
             element.classList.add("mdl-textfield--floating-label");
-
-            positioner = element;
-            element.flexjs_wrapper = this;
-
             return element;
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Footer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Footer.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Footer.as
index 6c37da3..85ef040 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Footer.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Footer.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
 
        /**
@@ -58,13 +59,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-mega-footer";
-
-            element = document.createElement('footer') as WrappedHTMLElement;
-
-                       positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'footer');
         }
 
                protected var _mini:Boolean = false;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterBottomSection.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterBottomSection.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterBottomSection.as
index 7d94c74..dddb4bb 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterBottomSection.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterBottomSection.as
@@ -24,6 +24,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
 
        /**
@@ -59,13 +60,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-mega-footer__bottom-section";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-                       positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'div');
         }
 
                /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterDropDownSection.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterDropDownSection.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterDropDownSection.as
index 1d585e5..e86aa3a 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterDropDownSection.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterDropDownSection.as
@@ -24,6 +24,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
 
        /**
@@ -59,13 +60,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
                        typeNames = "mdl-mega-footer__drop-down-section";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-                       positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+                       return addElementToWrapper(this,'div');
         }
 
                /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterHeading.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterHeading.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterHeading.as
index 42097a1..b446070 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterHeading.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterHeading.as
@@ -22,7 +22,8 @@ package org.apache.flex.mdl
 
        COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;   
+        import org.apache.flex.core.WrappedHTMLElement;
+               import org.apache.flex.html.addElementToWrapper;
     }
        
        /**
@@ -63,14 +64,9 @@ package org.apache.flex.mdl
         {
                        typeNames = "mdl-mega-footer__heading";
 
-                       element = document.createElement('h1') as 
WrappedHTMLElement;
-            
+                       addElementToWrapper(this,'h1');
             textNode = document.createTextNode('') as Text;
             element.appendChild(textNode);
-            
-            positioner = element;
-                       element.flexjs_wrapper = this;
-            
             return element;
                }
        }

Reply via email to