You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ha...@apache.org on 2017/09/26 17:52:54 UTC

[1/2] git commit: [flex-asjs] [refs/heads/feature/flexjs_wrapper] - 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()

Repository: flex-asjs
Updated Branches:
  refs/heads/feature/flexjs_wrapper [created] f00227649


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLeftSection.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLeftSection.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLeftSection.as
index e4dab7a..ecffbe2 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLeftSection.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLeftSection.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__left-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/FooterLinkList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLinkList.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLinkList.as
index 970b4e3..d34d0b2 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLinkList.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLinkList.as
@@ -23,7 +23,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,13 +62,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-mega-footer__link-list";
-            
-            element = document.createElement('ul') as WrappedHTMLElement;
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return positioner;
+			return addElementToWrapper(this,'ul');
         }
 
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLogo.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLogo.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLogo.as
index 12f7b14..fbf1bb9 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLogo.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterLogo.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-logo";
-
-            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/FooterMiddleSection.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterMiddleSection.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterMiddleSection.as
index de74530..6256b33 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterMiddleSection.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterMiddleSection.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__middle-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/FooterRightSection.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterRightSection.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterRightSection.as
index 14915fd..26c6d51 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterRightSection.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterRightSection.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__right-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/FooterSocialButton.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterSocialButton.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterSocialButton.as
index 61276c7..6de1250 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterSocialButton.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterSocialButton.as
@@ -25,6 +25,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__social-btn";
-
-            element = document.createElement('button') as WrappedHTMLElement;
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'button');
         }
 
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterTopSection.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterTopSection.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterTopSection.as
index 112be10..559eaf6 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterTopSection.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/FooterTopSection.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__top-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/Grid.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Grid.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Grid.as
index 9f2bb90..ea489c0 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Grid.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Grid.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
 
 	/**
@@ -71,13 +72,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
 			typeNames = "mdl-grid";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-			positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'div');
         }
 
 		protected var _nospacing:Boolean = false;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/GridCell.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/GridCell.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/GridCell.as
index c323896..04f2e86 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/GridCell.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/GridCell.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-cell";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-			positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'div');
         }
 
 		protected var _column:Number = 4;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Header.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Header.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Header.as
index 7f6dfdc..1e9e8b1 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Header.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Header.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-layout__header";
-
-            element = document.createElement('header') as WrappedHTMLElement;
-
-			positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'header');
         }
 
 		protected var _transparent:Boolean;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/HeaderRow.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/HeaderRow.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/HeaderRow.as
index b002a13..fd03ad1 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/HeaderRow.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/HeaderRow.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-layout__header-row";
-
-            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/IconToggle.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/IconToggle.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/IconToggle.as
index 36f5d69..71b02ac 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/IconToggle.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/IconToggle.as
@@ -34,6 +34,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {    
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     //--------------------------------------
@@ -229,9 +230,8 @@ package org.apache.flex.mdl
         {
             typeNames = "mdl-icon-toggle mdl-js-icon-toggle";
 
-            label = document.createElement("label") as HTMLLabelElement;
+            label = addElementToWrapper(this,'label') as HTMLLabelElement;
 
-            element = label as WrappedHTMLElement;
             element.setAttribute('for', _dataMdlFor);
 
             if (_dataMdlFor)
@@ -249,13 +249,8 @@ package org.apache.flex.mdl
                 throw new Error("dataMdlFor need to be specify in order to display IconToggle");
             }
             
-            positioner = element;
-
             (input as WrappedHTMLElement).flexjs_wrapper = this;
-            element.flexjs_wrapper = this;
-
             element.addEventListener(MouseEvent.CLICK, clickHandler, false);
-
             return element;
         }
                 

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

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/List.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/List.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/List.as
index 23c1a3c..e30259f 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/List.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/List.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;
     }
 
 	/**
@@ -46,13 +47,7 @@ package org.apache.flex.mdl
 		override protected function createElement():WrappedHTMLElement
 		{
 			typeNames = "mdl-list";
-			
-			element = document.createElement('ul') as WrappedHTMLElement;
-			
-			positioner = element;
-			element.flexjs_wrapper = this;
-			
-			return positioner;
+			return addElementToWrapper(this,'ul');
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Menu.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Menu.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Menu.as
index 193addd..a932ce3 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Menu.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Menu.as
@@ -24,7 +24,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;
     }
 	
     /**
@@ -85,13 +86,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-menu mdl-js-menu";
-
-            element = document.createElement('ul') as WrappedHTMLElement;
-
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return element;
+			return addElementToWrapper(this,'ul');
         }
 
         private var _bottom:Boolean = true;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Navigation.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Navigation.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Navigation.as
index 2524bce..f546dd6 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Navigation.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Navigation.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-navigation";
-
-            element = document.createElement('nav') as WrappedHTMLElement;
-
-			positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'nav');
         }
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayout.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayout.as
index bce771f..da0fda4 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayout.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayout.as
@@ -25,6 +25,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
 
 	/**
@@ -89,13 +90,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
 			typeNames = "mdl-layout mdl-js-layout";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-
-			positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'div');
         }
 
 		protected var _fixedHeader:Boolean;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayoutContent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayoutContent.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayoutContent.as
index aafcaa7..bec0a72 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayoutContent.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLayoutContent.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-layout__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/NavigationLink.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLink.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLink.as
index 0669b14..7779ac7 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLink.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/NavigationLink.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
     
 	/**
@@ -61,18 +62,12 @@ package org.apache.flex.mdl
         {
 			typeNames = "mdl-navigation__link";
 
-			var a:HTMLElement = document.createElement('a') as HTMLElement;
+			var a:WrappedHTMLElement = addElementToWrapper(this,'a');
             a.setAttribute('href', href);
             
             textNode = document.createTextNode('') as Text;
-            a.appendChild(textNode); 
-
-			element = a as WrappedHTMLElement;
-            
-            positioner = element;
-			element.flexjs_wrapper = this;
-            
-            return element;
+            a.appendChild(textNode);
+            return a;
         }
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as
index 8120c63..939db79 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ProgressBar.as
@@ -24,6 +24,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {        
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
     /**
      *  The ProgressBar indicate loading and progress states.
@@ -124,13 +125,8 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-progress mdl-js-progress";
-
-            element = document.createElement("div") as WrappedHTMLElement;
+			addElementToWrapper(this,'div');
             element.addEventListener("mdl-componentupgraded", onElementMdlComponentUpgraded, false);
-
-            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/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
index 1b93392..bc02f25 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
@@ -34,6 +34,7 @@ package org.apache.flex.mdl
     {
         import org.apache.flex.core.UIBase;
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     //--------------------------------------
@@ -331,15 +332,10 @@ package org.apache.flex.mdl
 
             //radio.addEventListener('mouseover', mouseOverHandler, false);
             //radio.addEventListener('mouseout', mouseOutHandler, false);
-
-            label = document.createElement("label") as HTMLLabelElement;
+            label = addElementToWrapper(this,'label') as HTMLLabelElement;
             label.appendChild(icon);
             label.appendChild(radio);
 
-            element = label as WrappedHTMLElement;
-
-            positioner = element;
-            (element as WrappedHTMLElement).flexjs_wrapper = this;
             (textNode as WrappedHTMLElement).flexjs_wrapper = this;
             (icon as WrappedHTMLElement).flexjs_wrapper = this;
             (radio as WrappedHTMLElement).flexjs_wrapper = this;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Slider.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Slider.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Slider.as
index b488871..fcdb122 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Slider.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Slider.as
@@ -24,7 +24,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;
     }
 
 	//--------------------------------------
@@ -155,6 +156,20 @@ package org.apache.flex.mdl
         {
             IRangeModel(model).stepSize = value;
         }
+		COMPILE::JS
+		private var _positioner:WrappedHTMLElement;
+
+		COMPILE::JS
+		override public function get positioner():WrappedHTMLElement
+		{
+			return _positioner;
+		}
+
+		COMPILE::JS
+		override public function set positioner(value:WrappedHTMLElement):void
+		{
+			_positioner = value;
+		}
 
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
@@ -166,18 +181,14 @@ package org.apache.flex.mdl
         {
 			var div:HTMLElement = document.createElement('div') as HTMLElement;
 
-			var input:HTMLInputElement = document.createElement('input') as HTMLInputElement;
+			var input:HTMLInputElement = addElementToWrapper(this,'input') as HTMLInputElement;
 			input.type = "range";
 			input.className = "mdl-slider mdl-js-slider";
 			
 			div.appendChild(input);
-
-			element = input as WrappedHTMLElement;
             
             positioner = div as WrappedHTMLElement;
-			(input as WrappedHTMLElement).flexjs_wrapper = this;
-            element.flexjs_wrapper = this;
-
+            _positioner.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/Spacer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spacer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spacer.as
index c63a398..4916dac 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spacer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spacer.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;        
     }
 	
     /**
@@ -57,12 +58,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-layout-spacer";
-
-            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/Spinner.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as
index 0529eaf..6fae5b4 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Spinner.as
@@ -24,6 +24,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {    
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
     /**
      *  The Material Design Lite (MDL) spinner component is an enhanced replacement for
@@ -109,13 +110,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-spinner mdl-js-spinner";
-
-            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/Switch.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Switch.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Switch.as
index abe0290..1c0f425 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Switch.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Switch.as
@@ -31,6 +31,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {    
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     //--------------------------------------
@@ -204,8 +205,7 @@ package org.apache.flex.mdl
         {
             typeNames = "mdl-switch mdl-js-switch";
 
-            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";
@@ -218,14 +218,10 @@ package org.apache.flex.mdl
 
             label.appendChild(span);
 
-            positioner = element;
-
             (input as WrappedHTMLElement).flexjs_wrapper = this;
             (span as WrappedHTMLElement).flexjs_wrapper = this;
-            element.flexjs_wrapper = this;
 
             element.addEventListener(MouseEvent.CLICK, clickHandler, false);
-
             return element;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TBody.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TBody.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TBody.as
index 8452c48..80ac2ee 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TBody.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TBody.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,12 +57,7 @@ package org.apache.flex.mdl
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('tbody') as WrappedHTMLElement;
-
-			positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'tbody');
         }
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/THead.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/THead.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/THead.as
index 9cdc0c3..a4fa690 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/THead.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/THead.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,12 +58,7 @@ package org.apache.flex.mdl
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('thead') as WrappedHTMLElement;
-
-			positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'thead');
         }
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBar.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBar.as
index e5d04ac..6ba3a77 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBar.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBar.as
@@ -24,6 +24,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
     
 	/**
@@ -126,12 +127,7 @@ package org.apache.flex.mdl
         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/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarButton.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarButton.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarButton.as
index 534d63d..34e9278 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarButton.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarButton.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
     
 	/**
@@ -82,14 +83,8 @@ package org.apache.flex.mdl
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-			var a:HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;
+			var a:HTMLAnchorElement = addElementToWrapper(this,'a') as HTMLAnchorElement;
             a.href = href;
-
-			element = a 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/TabBarPanel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarPanel.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarPanel.as
index b325ad1..d45323d 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarPanel.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TabBarPanel.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,12 +59,7 @@ package org.apache.flex.mdl
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-			element = document.createElement('section') as WrappedHTMLElement;
-
-            positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'section');
         }
 
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as
index d4a7514..2f0bd83 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as
@@ -24,6 +24,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
     
 	/**
@@ -166,11 +167,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
 			typeNames = "mdl-data-table mdl-js-data-table";
-
-			element = document.createElement('table') as WrappedHTMLElement;
-
-			positioner = element;
-            element.flexjs_wrapper = this;
+			addElementToWrapper(this,'table');
 
             addTHeadToParent();
             addTBodyToParent();

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Tabs.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Tabs.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Tabs.as
index 6bab01e..1b15344 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Tabs.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Tabs.as
@@ -24,6 +24,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
     
 	/**
@@ -140,13 +141,7 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
 			typeNames = "mdl-tabs mdl-js-tabs";
-
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-			positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'div');
         }
 
 		private var _ripple:Boolean = false;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextArea.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextArea.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextArea.as
index b9a58c1..42bd133 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextArea.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextArea.as
@@ -25,7 +25,8 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
     
     /**
@@ -116,6 +117,21 @@ package org.apache.flex.mdl
             }
         }
 
+        COMPILE::JS
+        private var _positioner:WrappedHTMLElement;
+
+		COMPILE::JS
+        override public function get positioner():WrappedHTMLElement
+		{
+			return _positioner;
+		}
+
+		COMPILE::JS
+        override public function set positioner(value:WrappedHTMLElement):void
+		{
+			_positioner = value;
+		}
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          * @flexjsignorecoercion HTMLDivElement
@@ -133,7 +149,7 @@ package org.apache.flex.mdl
 
             addBead(new UpgradeElement(div));
 
-            input = document.createElement('textarea') as HTMLInputElement;
+            input = addElementToWrapper(this,'textarea') as HTMLInputElement;
             input.setAttribute('type', 'text');
             input.setAttribute('rows', rows);
             //input.setAttribute('maxrows', maxrows);
@@ -152,12 +168,9 @@ package org.apache.flex.mdl
             div.appendChild(input);
             div.appendChild(label);
 
-            element = input as WrappedHTMLElement;
-
             positioner = div as WrappedHTMLElement;
-            (input as WrappedHTMLElement).flexjs_wrapper = this;
             (label as WrappedHTMLElement).flexjs_wrapper = this;
-            element.flexjs_wrapper = this;
+            _positioner.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/TextField.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextField.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextField.as
index ec7f7db..0606458 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextField.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/TextField.as
@@ -23,7 +23,8 @@ package org.apache.flex.mdl
     COMPILE::JS
     {
         import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
     
     /**
@@ -60,7 +61,22 @@ package org.apache.flex.mdl
 			super();
             className = ""; //set to empty string avoid 'undefined' output when no class selector is assigned by user;
         }
-        
+
+        COMPILE::JS
+        private var _positioner:WrappedHTMLElement;
+
+		COMPILE::JS
+        override public function get positioner():WrappedHTMLElement
+		{
+			return _positioner;
+		}
+
+		COMPILE::JS
+        override public function set positioner(value:WrappedHTMLElement):void
+		{
+			_positioner = value;
+		}
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          * @flexjsignorecoercion HTMLDivElement
@@ -78,7 +94,7 @@ package org.apache.flex.mdl
 
             addBead(new UpgradeElement(div));
 
-            input = document.createElement('input') as HTMLInputElement;
+            input = addElementToWrapper(this,'input') as HTMLInputElement;
             input.setAttribute('type', 'text');
             input.className = "mdl-textfield__input";
             
@@ -95,12 +111,9 @@ package org.apache.flex.mdl
             div.appendChild(input);
             div.appendChild(label);
 
-            element = input as WrappedHTMLElement;
-
             positioner = div as WrappedHTMLElement;
-            (input as WrappedHTMLElement).flexjs_wrapper = this;
             (label as WrappedHTMLElement).flexjs_wrapper = this;
-            element.flexjs_wrapper = this;
+            _positioner.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/Toast.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Toast.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Toast.as
index 37a692c..a59dfe1 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Toast.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Toast.as
@@ -25,6 +25,7 @@ package org.apache.flex.mdl
     COMPILE::JS
     {    
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     /**
@@ -131,8 +132,8 @@ package org.apache.flex.mdl
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-js-snackbar mdl-snackbar";
-
-            element = document.createElement("div") as WrappedHTMLElement;
+			
+            addElementToWrapper(this,'div');
             element.addEventListener("mdl-componentupgraded", onElementMdlComponentUpgraded, false);
 
             snackbarText = document.createElement("div") as HTMLDivElement;
@@ -143,9 +144,6 @@ package org.apache.flex.mdl
             snackbarAction.classList.add("mdl-snackbar__action");
             element.appendChild(snackbarAction);
 
-            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/itemRenderers/DropDownListItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as
index d8ba333..63c28c6 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as
@@ -98,10 +98,6 @@ package org.apache.flex.mdl.itemRenderers
             item = new Option();
 
             element = item.element 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/itemRenderers/FooterLinkItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/FooterLinkItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/FooterLinkItemRenderer.as
index 6f64b21..d7a2c0d 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/FooterLinkItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/FooterLinkItemRenderer.as
@@ -20,7 +20,8 @@ package org.apache.flex.mdl.itemRenderers
 {
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;        
+        import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
 
 	import org.apache.flex.html.supportClasses.MXMLItemRenderer;
@@ -135,7 +136,7 @@ package org.apache.flex.mdl.itemRenderers
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('li') as WrappedHTMLElement;
+			addElementToWrapper(this,'li');
             
 			var a:HTMLElement = document.createElement('a') as HTMLElement;
             a.setAttribute('href', href);
@@ -147,10 +148,6 @@ package org.apache.flex.mdl.itemRenderers
 				textNode = document.createTextNode('') as Text;
 				a.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/itemRenderers/ListItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/ListItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/ListItemRenderer.as
index a3466a3..fe28105 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/ListItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/ListItemRenderer.as
@@ -20,7 +20,8 @@ package org.apache.flex.mdl.itemRenderers
 {
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;        
+        import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
 
 	import org.apache.flex.html.supportClasses.MXMLItemRenderer;
@@ -111,18 +112,13 @@ package org.apache.flex.mdl.itemRenderers
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-list__item";
-
-            element = document.createElement('li') as WrappedHTMLElement;
+			addElementToWrapper(this,'li');
             
 			if(MXMLDescriptor == null)
 			{
 				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/itemRenderers/MenuItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/MenuItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/MenuItemRenderer.as
index 7b4bc30..e0b64f8 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/MenuItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/MenuItemRenderer.as
@@ -22,7 +22,8 @@ package org.apache.flex.mdl.itemRenderers
 
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;        
+        import org.apache.flex.html.addElementToWrapper;    
     }
 	
     /**
@@ -128,15 +129,10 @@ package org.apache.flex.mdl.itemRenderers
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-menu__item";
-
-            element = document.createElement('li') as WrappedHTMLElement;
+			addElementToWrapper(this,'li');
             
             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/itemRenderers/NavigationLinkItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/NavigationLinkItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/NavigationLinkItemRenderer.as
index bcbfad3..bdc9cde 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/NavigationLinkItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/NavigationLinkItemRenderer.as
@@ -20,7 +20,8 @@ package org.apache.flex.mdl.itemRenderers
 {
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;        
+        import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
 
 	import org.apache.flex.html.supportClasses.MXMLItemRenderer;
@@ -139,8 +140,7 @@ package org.apache.flex.mdl.itemRenderers
         override protected function createElement():WrappedHTMLElement
         {
 			typeNames = "mdl-navigation__link";
-
-            var a:HTMLElement = document.createElement('a') as HTMLElement;
+            var a:WrappedHTMLElement = addElementToWrapper(this,'a');
             a.setAttribute('href', href);
 
 			if(MXMLDescriptor == null)
@@ -148,12 +148,6 @@ package org.apache.flex.mdl.itemRenderers
 				textNode = document.createTextNode('') as Text;
 				a.appendChild(textNode);
 			}
-			
-			element = a 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/itemRenderers/TabBarLayoutItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarLayoutItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarLayoutItemRenderer.as
index 6b3174b..b17bba5 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarLayoutItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarLayoutItemRenderer.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl.itemRenderers
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     /**
@@ -48,13 +49,7 @@ package org.apache.flex.mdl.itemRenderers
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-layout__tab-panel";
-            
-            element = document.createElement('section') as WrappedHTMLElement;
-
-            positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'section');
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarPanelItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarPanelItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarPanelItemRenderer.as
index 350cf04..c99e2b8 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarPanelItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TabBarPanelItemRenderer.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl.itemRenderers
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     /**
@@ -48,13 +49,7 @@ package org.apache.flex.mdl.itemRenderers
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "mdl-tabs__panel";
-
-            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/itemRenderers/TableRowItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TableRowItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TableRowItemRenderer.as
index 3d6265b..bd4330b 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TableRowItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/TableRowItemRenderer.as
@@ -20,7 +20,8 @@ package org.apache.flex.mdl.itemRenderers
 {
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;        
+        import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
 
 	import org.apache.flex.html.supportClasses.MXMLItemRenderer;
@@ -100,6 +101,20 @@ package org.apache.flex.mdl.itemRenderers
 				}	
 			}
 		}
+		COMPILE::JS
+		private var _positioner:WrappedHTMLElement;
+
+		COMPILE::JS
+		override public function get positioner():WrappedHTMLElement
+		{
+			return _positioner;
+		}
+
+		COMPILE::JS
+		override public function set positioner(value:WrappedHTMLElement):void
+		{
+			_positioner = value;
+		}
 
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
@@ -111,22 +126,19 @@ package org.apache.flex.mdl.itemRenderers
             if(MXMLDescriptor == null)
 			{
                 positioner = document.createElement('tr') as WrappedHTMLElement;
-                element = document.createElement('td') as WrappedHTMLElement;
+				
+				addElementToWrapper(this,'td');
                 element.classList.add("mdl-data-table__cell--non-numeric");
 
                 positioner.appendChild(element);
 
 				textNode = document.createTextNode('') as Text;
 				element.appendChild(textNode);
-                element.flexjs_wrapper = this;
+                positioner.flexjs_wrapper = this;
                 return positioner;
 			} else {
-                element = document.createElement('tr') as WrappedHTMLElement;
-                
+				addElementToWrapper(this,'tr');
                 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/supportClasses/CardInner.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/CardInner.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/CardInner.as
index 4a0b449..e4fc411 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/CardInner.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/CardInner.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl.supportClasses
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+		import org.apache.flex.html.addElementToWrapper;
     }
 
 	/**
@@ -56,12 +57,7 @@ package org.apache.flex.mdl.supportClasses
         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');
         }
 
 		private var _border:Boolean = false;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/MaterialIconBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/MaterialIconBase.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/MaterialIconBase.as
index 88f41f8..b51dc74 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/MaterialIconBase.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/MaterialIconBase.as
@@ -23,7 +23,8 @@ package org.apache.flex.mdl.supportClasses
 
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     /**
@@ -67,18 +68,11 @@ package org.apache.flex.mdl.supportClasses
         override protected function createElement():WrappedHTMLElement
         {
             typeNames = "material-icons";
-
-			var i:HTMLElement = document.createElement('i') as HTMLElement;
+			var i:WrappedHTMLElement = addElementToWrapper(this,'i');
             
             textNode = document.createTextNode(iconText) as Text;
             i.appendChild(textNode); 
-
-			element = i as WrappedHTMLElement;
-            
-            positioner = element;
-			element.flexjs_wrapper = this;
-            
-            return element;
+            return i;
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0022764/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/TabBarButtonItemRendererBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/TabBarButtonItemRendererBase.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/TabBarButtonItemRendererBase.as
index c980bd2..ff71732 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/TabBarButtonItemRendererBase.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/TabBarButtonItemRendererBase.as
@@ -23,6 +23,7 @@ package org.apache.flex.mdl.supportClasses
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.html.addElementToWrapper;
     }
 
     /**
@@ -127,13 +128,7 @@ package org.apache.flex.mdl.supportClasses
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            var a:HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;
-            element = a as WrappedHTMLElement;
-
-            positioner = element;
-            element.flexjs_wrapper = this;
-
-            return element;
+			return addElementToWrapper(this,'a');
         }
     }
 }


[2/2] git commit: [flex-asjs] [refs/heads/feature/flexjs_wrapper] - 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()

Posted by ha...@apache.org.
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 <ha...@in-tools.com>
Authored: Tue Sep 26 20:52:47 2017 +0300
Committer: Harbs <ha...@in-tools.com>
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;
 		}
 	}