clean build after merge and fork

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

Branch: refs/heads/feature/mdl
Commit: fdc2a4c2386494f980d35ba7091a9d7f345ddcb1
Parents: ef2b90a
Author: Alex Harui <aha...@apache.org>
Authored: Mon Oct 31 21:42:38 2016 -0700
Committer: Alex Harui <aha...@apache.org>
Committed: Tue Nov 1 08:12:11 2016 -0700

----------------------------------------------------------------------
 frameworks/build.xml                            |   2 +-
 .../Basic/src/main/flex/BasicClasses.as         |   5 +-
 .../flex/org/apache/flex/core/Application.as    |  46 ++--
 .../org/apache/flex/core/FilledRectangle.as     |   2 +-
 .../org/apache/flex/core/HTMLElementWrapper.as  | 265 +++++++++++++++++++
 .../main/flex/org/apache/flex/core/ImageBase.as |  84 ++++++
 .../main/flex/org/apache/flex/core/UIBase.as    |  51 +++-
 .../flex/org/apache/flex/core/UIButtonBase.as   |  17 +-
 .../src/main/flex/org/apache/flex/html/Image.as |   8 +-
 .../org/apache/flex/html/beads/ComboBoxView.as  |   3 +-
 .../org/apache/flex/html/beads/ContainerView.as |  11 +-
 .../apache/flex/html/beads/DropDownListView.as  |   3 +-
 .../org/apache/flex/html/beads/ImageView.as     | 181 +------------
 .../apache/flex/html/beads/SliderThumbView.as   |   2 +-
 .../apache/flex/html/beads/WebBrowserView.as    |   2 +-
 .../flex/html/beads/layouts/HorizontalLayout.as |   3 +-
 .../apache/flex/html/beads/models/ImageModel.as |  12 +-
 .../html/supportClasses/ContainerContentArea.as |   5 +-
 .../flex/html/supportClasses/DataGroup.as       |   5 +-
 .../html/supportClasses/ScrollingViewport.as    |   5 +-
 .../supportClasses/TextFieldItemRenderer.as     |  16 ++
 .../flex/org/apache/flex/svg/BinaryImage.as     |  87 ++++++
 .../org/apache/flex/svg/GraphicContainer.as     |   4 +-
 .../flex/org/apache/flex/svg/GraphicShape.as    |   6 +-
 .../src/main/flex/org/apache/flex/svg/Image.as  | 133 ++++++++++
 .../flex/org/apache/flex/svg/beads/ImageView.as |  87 ++++++
 .../projects/Core/src/main/flex/CoreClasses.as  |   7 +
 .../flex/org/apache/flex/core/IFlexJSElement.as |   4 +-
 .../flex/org/apache/flex/core/ImageViewBase.as  |  23 +-
 .../org/apache/flex/core/WrappedMovieClip.as    |   6 +-
 .../flex/org/apache/flex/core/WrappedShape.as   |   6 +-
 .../org/apache/flex/core/WrappedSimpleButton.as |   6 +-
 .../flex/org/apache/flex/core/WrappedSprite.as  |   6 +-
 .../org/apache/flex/core/WrappedTextField.as    |   6 +-
 .../projects/HTML/src/main/flex/HTMLClasses.as  |   5 +-
 .../flex/org/apache/flex/core/Application.as    |   4 +-
 .../main/flex/org/apache/flex/core/UIBase.as    |   3 +-
 37 files changed, 847 insertions(+), 274 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/build.xml b/frameworks/build.xml
index 65d06f7..ec3b6ff 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -81,7 +81,6 @@
         <antcall target="Graphics"/>
         <antcall target="Binding"/>
         <antcall target="Collections"/>
-        <antcall target="Basic"/>
         <antcall target="HTML"/>
         <antcall target="Flat"/>
         <antcall target="Charts"/>
@@ -97,6 +96,7 @@
         <antcall target="Reflection"/>
         <antcall target="Storage"/>
         <antcall target="XML"/>
+        <antcall target="Basic"/>
     </target>
     
     <target name="fonts">

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/BasicClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/BasicClasses.as 
b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
index e63e9de..69fb902 100644
--- a/frameworks/projects/Basic/src/main/flex/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
@@ -54,7 +54,7 @@ internal class BasicClasses
                import org.apache.flex.html.beads.DropDownListView; 
DropDownListView;
                import org.apache.flex.html.beads.CloseButtonView; 
CloseButtonView;
        import org.apache.flex.html.beads.ImageAndTextButtonView; 
ImageAndTextButtonView;
-               import org.apache.flex.html.beads.ImageView; ImageView;
+               import org.apache.flex.html.beads.ImageView; 
org.apache.flex.html.beads.ImageView;
        }
        import org.apache.flex.html.beads.ImageButtonView; ImageButtonView;
        import org.apache.flex.html.beads.ListView; ListView;
@@ -194,6 +194,9 @@ internal class BasicClasses
        import org.apache.flex.svg.Rect; Rect;
        import org.apache.flex.svg.Ellipse; Ellipse;
        import org.apache.flex.svg.Circle; Circle;
+       import org.apache.flex.svg.Image; Image;
+       import org.apache.flex.svg.BinaryImage; BinaryImage;
+       import org.apache.flex.svg.beads.ImageView; 
org.apache.flex.svg.beads.ImageView;
        import org.apache.flex.svg.Path; Path;
        import org.apache.flex.svg.Text; Text;
        import org.apache.flex.svg.CompoundGraphic; CompoundGraphic;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/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 85609cb..81c2855 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
@@ -21,9 +21,6 @@ package org.apache.flex.core
     import org.apache.flex.events.Event;
     import org.apache.flex.events.IEventDispatcher;
     import org.apache.flex.events.MouseEvent;
-       COMPILE::SWF {
-           import org.apache.flex.events.utils.MouseEventConverter;
-       }
     import org.apache.flex.utils.MXMLDataInterpreter;
        import org.apache.flex.utils.Timer;
 
@@ -36,6 +33,7 @@ package org.apache.flex.core
         import flash.events.Event;
         import flash.system.ApplicationDomain;
         import flash.utils.getQualifiedClassName;
+        import org.apache.flex.events.utils.MouseEventConverter;
     }
 
     //--------------------------------------
@@ -416,21 +414,26 @@ package org.apache.flex.core
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
+         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
+         *  @flexjsignorecoercion HTMLElement
          */
-        public function addElement(c:Object, dispatchEvent:Boolean = true):void
+        public function addElement(c:IChild, dispatchEvent:Boolean = true):void
         {
             COMPILE::SWF {
                 if (c is IUIBase)
                 {
-                    addChild(IUIBase(c).element as DisplayObject);
+                    if (c is IRenderedObject)
+                        addChild(IRenderedObject(c).$displayObject);
+                    else
+                        addChild(c as DisplayObject);
                     IUIBase(c).addedToParent();
                 }
                 else
                     addChild(c as DisplayObject);
             }
             COMPILE::JS {
-                this.element.appendChild(c.element);
-                c.addedToParent();
+                this.element.appendChild(c.element as HTMLElement);
+                (c as IUIBase).addedToParent();
             }
         }
 
@@ -441,13 +444,17 @@ package org.apache.flex.core
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
+         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
          */
-        public function addElementAt(c:Object, index:int, 
dispatchEvent:Boolean = true):void
+        public function addElementAt(c:IChild, index:int, 
dispatchEvent:Boolean = true):void
         {
             COMPILE::SWF {
                 if (c is IUIBase)
                 {
-                    addChildAt(IUIBase(c).element as DisplayObject, index);
+                    if (c is IRenderedObject)
+                        addChildAt(IRenderedObject(c).$displayObject, index);
+                    else
+                        addChildAt(c as DisplayObject, index);
                     IUIBase(c).addedToParent();
                 }
                 else
@@ -461,7 +468,7 @@ package org.apache.flex.core
                 {
                     element.insertBefore(c.positioner,
                         children[index]);
-                    c.addedToParent();
+                       (c as IUIBase).addedToParent();
                 }
 
             }
@@ -475,10 +482,10 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function getElementAt(index:int):Object
+        public function getElementAt(index:int):IChild
         {
             COMPILE::SWF {
-                return getChildAt(index);
+                return getChildAt(index) as IChild;
             }
             COMPILE::JS {
                 var children:NodeList = internalChildren();
@@ -494,11 +501,11 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function getElementIndex(c:Object):int
+        public function getElementIndex(c:IChild):int
         {
             COMPILE::SWF {
-                if (c is IUIBase)
-                    return getChildIndex(IUIBase(c).element as DisplayObject);
+                if (c is IRenderedObject)
+                    return getChildIndex(IRenderedObject(c).$displayObject);
 
                 return getChildIndex(c as DisplayObject);
             }
@@ -521,19 +528,20 @@ package org.apache.flex.core
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
+         *  @flexjsignorecoercion HTMLElement
          */
-        public function removeElement(c:Object, dispatchEvent:Boolean = 
true):void
+        public function removeElement(c:IChild, dispatchEvent:Boolean = 
true):void
         {
             COMPILE::SWF {
-                if (c is IUIBase)
+                if (c is IRenderedObject)
                 {
-                    removeChild(IUIBase(c).element as DisplayObject);
+                    removeChild(IRenderedObject(c).$displayObject);
                 }
                 else
                     removeChild(c as DisplayObject);
             }
             COMPILE::JS {
-                element.removeChild(c.element);
+                element.removeChild(c.element as HTMLElement);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/FilledRectangle.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/FilledRectangle.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/FilledRectangle.as
index 962a11d..1068363 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/FilledRectangle.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/FilledRectangle.as
@@ -51,7 +51,7 @@ package org.apache.flex.core
             COMPILE::SWF
             {
                 _shape = new flash.display.Shape();
-                this.addElement(_shape);
+                this.addChild(_shape);
             }
                }
                

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/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
new file mode 100644
index 0000000..57e4ce3
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
@@ -0,0 +1,265 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.core
+{
+    COMPILE::SWF
+    {
+        import flash.display.Sprite;
+    }
+        
+    COMPILE::JS
+    {
+        import window.Event;
+        import org.apache.flex.events.Event;        
+        import org.apache.flex.events.BrowserEvent;
+        import org.apache.flex.events.ElementEvents;
+        import org.apache.flex.events.EventDispatcher;
+        import goog.events;
+        import goog.events.EventTarget;
+    }
+
+    COMPILE::SWF
+    public class HTMLElementWrapper extends Sprite
+    {
+        /**
+         * "abstract" method so we can override in JS
+         * @param bead The new bead.
+         */
+        public function addBead(bead:IBead):void
+        {            
+        }
+    }
+    
+       COMPILE::JS
+       public class HTMLElementWrapper extends EventDispatcher implements 
IStrand
+       {
+
+               //--------------------------------------
+               //   Static Function
+               //--------------------------------------
+
+        /**
+         * @param listener The listener object to call {goog.events.Listener}.
+         * @param eventObject The event object to pass to the listener.
+         * @return Result of listener.
+         */
+               static public function fireListenerOverride(listener:Object, 
eventObject:BrowserEvent):Boolean
+               {
+                       var e:BrowserEvent = new BrowserEvent();
+                       e.wrappedEvent = eventObject;
+                       return HTMLElementWrapper.googFireListener(listener, e);
+               }
+
+        /**
+         * Static initializer
+         */
+               static public function installOverride():Boolean
+               {
+                       HTMLElementWrapper.googFireListener = 
goog.events.fireListener;
+                       goog.events.fireListener = 
HTMLElementWrapper.fireListenerOverride;
+                       return true;
+               }
+
+        //--------------------------------------
+        //   Static Property
+        //--------------------------------------
+        
+        static public var googFireListener:Function;
+        
+        /**
+         * The properties that triggers the static initializer.
+         * Note, in JS, this property has to be declared
+         * after the installOverride.
+         */
+        static public var installedOverride:Boolean = installOverride();
+        
+               //--------------------------------------
+               //   Property
+               //--------------------------------------
+
+               private var _element:WrappedHTMLElement;
+        
+        public function get element():WrappedHTMLElement
+        {
+            return _element;
+        }
+        
+        public function set element(value:WrappedHTMLElement):void
+        {
+            _element = value;
+        }
+        
+        /**
+         * allow access from overrides
+         */
+               protected var _model:IBeadModel;
+        
+        /**
+         * @flexjsignorecoercion Class 
+         * @flexjsignorecoercion org.apache.flex.core.IBeadModel 
+         */
+        public function get model():Object
+        {
+            if (_model == null) 
+            {
+                // addbead will set _model
+                var m:Class = org.apache.flex.core.ValuesManager.valuesImpl.
+                        getValue(this, 'iBeadModel') as Class;
+                var b:IBeadModel = new m() as IBeadModel;
+                addBead(b);
+            }
+            return _model;
+        }
+        
+        public function set model(value:Object):void
+        {
+            if (_model != value)
+            {
+                addBead(value as IBead);
+                dispatchEvent(new 
org.apache.flex.events.Event("modelChanged"));
+            }
+        }
+
+               protected var _beads:Vector.<IBead>;
+        
+               //--------------------------------------
+               //   Function
+               //--------------------------------------
+
+        /**
+         * @param bead The new bead.
+         */
+               public function addBead(bead:IBead):void
+               {
+                       if (!_beads)
+                       {
+                               _beads = new Vector.<IBead>();
+                       }
+
+                       _beads.push(bead);
+
+                       if (bead is IBeadModel)
+                       {
+                               _model = bead as IBeadModel;
+                       }
+
+                       bead.strand = this;
+               }
+
+        /**
+         * @param classOrInterface The requested bead type.
+         * @return The bead.
+         */
+               public function getBeadByType(classOrInterface:Class):IBead
+               {
+                       var bead:IBead, i:uint, n:uint;
+
+            if (!_beads) return null;
+            
+                       n = _beads.length;
+
+                       for (i = 0; i < n; i++)
+                       {
+                               bead = _beads[i];
+
+                               if (bead is classOrInterface)
+                               {
+                                       return bead;
+                               }
+                       }
+
+                       return null;
+               }
+
+               /**
+                * @param bead The bead to remove.
+                * @return The bead.
+                */
+               public function removeBead(bead:IBead):IBead
+               {
+                       var i:uint, n:uint, value:Object;
+
+                       n = _beads.length;
+
+                       for (i = 0; i < n; i++)
+                       {
+                               value = _beads[i];
+
+                               if (bead === value)
+                               {
+                                       _beads.splice(i, 1);
+
+                                       return bead;
+                               }
+                       }
+
+                       return null;
+               }
+        
+        override public function addEventListener(type:String, 
handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = 
null):void
+        {
+            var source:Object = getActualDispatcher_(type);
+            goog.events.listen(source, type, handler);
+        }
+        
+        override public function removeEventListener(type:String, 
handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = 
null):void
+        {
+            var source:Object = getActualDispatcher_(type);
+            goog.events.unlisten(source, type, handler);
+        }
+        
+        private function getActualDispatcher_(type:String):Object
+        {
+            var source:Object = this;
+            if (ElementEvents.elementEvents[type]) {
+                // mouse and keyboard events also dispatch off the element.
+                source = this.element;
+            }
+            return source;
+        }
+        
+        override public function hasEventListener(type:String):Boolean
+        {
+            var source:Object = this.getActualDispatcher_(type);
+            
+            return goog.events.hasListener(source, type);
+        }
+
+        override public function dispatchEvent(e:Object):Boolean
+        {
+            var t:String;
+            if (typeof(e) === 'string') {
+                t = e as String;
+                if (e === 'change')
+                    e = new window.Event(t);
+            }
+            else {
+                t = e.type;
+                if (ElementEvents.elementEvents[t]) {
+                    e = new window.Event(t);
+                }
+            }
+            var source:Object = this.getActualDispatcher_(t);
+            if (source == this)
+                return super.dispatchEvent(e);
+            
+            return source.dispatchEvent(e);
+        }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ImageBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ImageBase.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ImageBase.as
new file mode 100644
index 0000000..71454a7
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ImageBase.as
@@ -0,0 +1,84 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.core
+{
+       import org.apache.flex.core.IImage;
+       import org.apache.flex.core.IImageModel;
+       import org.apache.flex.core.UIBase;
+       
+       /**
+        *  The ImageBase class serves as a base class for components that 
displays a bitmap. The Image uses
+        *  the following beads:
+        * 
+        *  org.apache.flex.core.IBeadModel: the data model for the Image, 
including the url/binary property.
+        *  org.apache.flex.core.IBeadView: constructs the visual elements of 
the component.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ImageBase extends UIBase implements IImage
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ImageBase()
+               {
+                       super();
+               }
+               
+               /**
+                *  The location of the bitmap, usually a URL.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+         *  @flexjsignorecoercion org.apache.flex.core.IImageModel
+                */
+               public function get url():String
+               {
+                       return (model as IImageModel).url;
+               }
+               public function set url(value:String):void
+               {
+                       (model as IImageModel).url = value;
+               }
+               
+               COMPILE::JS
+               public function get imageElement():Element
+               {
+                       return null;
+                       // override this
+               }
+               
+               COMPILE::JS
+               public function applyImageData(binaryDataAsString:String):void
+               {
+                       // override this
+               }
+               
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/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 300b008..dc2b774 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
@@ -165,6 +165,20 @@ package org.apache.flex.core
             }
         }
         
+        COMPILE::SWF
+        public function get $displayObject():DisplayObject
+        {
+            return this;
+        }
+        
+        public function get flexjs_wrapper():Object
+        {
+            return this;
+        }
+        public function set flexjs_wrapper(value:Object):void
+        {
+        }
+        
                private var _explicitWidth:Number;
         
         /**
@@ -1091,7 +1105,10 @@ package org.apache.flex.core
             {
                 if (c is IUIBase)
                 {
-                    addChild(IUIBase(c).element as DisplayObject);
+                    if (c is IRenderedObject)
+                        addChild(IRenderedObject(c).$displayObject);
+                    else
+                        addChild(c as DisplayObject);                        
                     IUIBase(c).addedToParent();
                 }
                 else
@@ -1118,7 +1135,10 @@ package org.apache.flex.core
             {
                 if (c is IUIBase)
                 {
-                    addChildAt(IUIBase(c).element as DisplayObject, index);
+                    if (c is IRenderedObject)
+                        addChildAt(IUIBase(c).$displayObject, index);
+                    else
+                        addChildAt(c as DisplayObject, index);
                     IUIBase(c).addedToParent();
                 }
                 else
@@ -1150,7 +1170,7 @@ package org.apache.flex.core
         {
             COMPILE::SWF
             {
-                return getChildAt(index);
+                return getChildAt(index) as IChild;
             }
             COMPILE::JS
             {
@@ -1171,8 +1191,8 @@ package org.apache.flex.core
         {
             COMPILE::SWF
             {
-                if (c is IUIBase)
-                    return getChildIndex(IUIBase(c).element as DisplayObject);
+                if (c is IRenderedObject)
+                    return getChildIndex(IRenderedObject(c).$displayObject);
                 else
                     return getChildIndex(c as DisplayObject);
             }
@@ -1201,8 +1221,8 @@ package org.apache.flex.core
         {
             COMPILE::SWF
             {
-                if (c is IUIBase)
-                    removeChild(IUIBase(c).element as DisplayObject);
+                if (c is IRenderedObject)
+                    removeChild(IRenderedObject(c).$displayObject);
                 else
                     removeChild(c as DisplayObject);
             }
@@ -1471,15 +1491,26 @@ package org.apache.flex.core
         /**
          * @param value The event containing new style properties.
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         * @flexjsignorecoercion org.apache.flex.core.IUIBase
+         * @flexjsignorecoercion org.apache.flex.core.IParent
          */
         COMPILE::JS
-        public function get parent():IUIBase
+        public function get parent():IParent
         {
             var p:WrappedHTMLElement = this.positioner.parentNode as 
WrappedHTMLElement;
-            var wrapper:IUIBase = p ? p.flexjs_wrapper as IUIBase : null;
+            var wrapper:IParent = p ? p.flexjs_wrapper as IParent : null;
             return wrapper;
         }
         
+               COMPILE::SWF
+               public function get transformElement():IFlexJSElement
+               {
+                       return this;
+               }
+               
+               COMPILE::JS
+               public function get transformElement():WrappedHTMLElement
+               {
+                       return element;
+               }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
index d158665..d9615f1 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
@@ -75,7 +75,22 @@ package org.apache.flex.core
                        // mouseEnabled = true;
             MouseEventConverter.setupInstanceConverters(this);
                }
-                               
+
+        COMPILE::SWF
+        public function get $displayObject():DisplayObject
+        {
+            return this;
+        }
+        
+        public function get flexjs_wrapper():Object
+        {
+            return this;
+        }
+        public function set flexjs_wrapper(value:Object):void
+        {
+            
+        }
+
         private var _x:Number;
         
                /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/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 0a42d2a..e815a59 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
@@ -63,13 +63,13 @@ package org.apache.flex.html
                 *  @productversion FlexJS 0.0
          *  @flexjsignorecoercion org.apache.flex.core.IImageModel
                 */
-               public function get source():String
+               public function get url():String
                {
-                       return (model as IImageModel).source;
+                       return (model as IImageModel).url;
                }
-               public function set source(value:String):void
+               public function set url(value:String):void
                {
-                       (model as IImageModel).source = value;
+                       (model as IImageModel).url = value;
                }
         
         /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
index e725517..83c261a 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
@@ -24,6 +24,7 @@ package org.apache.flex.html.beads
        
     import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.IChild;
        import org.apache.flex.core.IComboBoxModel;
        import org.apache.flex.core.IPopUpHost;
        import org.apache.flex.core.IStrand;
@@ -218,7 +219,7 @@ package org.apache.flex.html.beads
                                        while (host && !(host is IPopUpHost))
                                                host = host.parent;
                     if (host)
-                                       IPopUpHost(host).addElement(popUp);
+                                       IPopUpHost(host).addElement(popUp as 
IChild);
                                }
                                else
                                {

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
index 0c6696a..d62e799 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
@@ -23,6 +23,7 @@ package org.apache.flex.html.beads
        import org.apache.flex.core.IBead;
        import org.apache.flex.core.IBeadLayout;
        import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.IChild;
        import org.apache.flex.core.IContainer;
        import org.apache.flex.core.IContainerView;
        import org.apache.flex.core.IContentViewHost;
@@ -143,7 +144,7 @@ package org.apache.flex.html.beads
                /**
                 * @private
                 */
-               public function addElement(c:Object, dispatchEvent:Boolean = 
true):void
+               public function addElement(c:IChild, dispatchEvent:Boolean = 
true):void
                {
                        contentView.addElement(c, dispatchEvent);
                }
@@ -151,7 +152,7 @@ package org.apache.flex.html.beads
                /**
                 * @private
                 */
-               public function addElementAt(c:Object, index:int, 
dispatchEvent:Boolean = true):void
+               public function addElementAt(c:IChild, index:int, 
dispatchEvent:Boolean = true):void
                {
                        contentView.addElementAt(c, index, dispatchEvent);
                }
@@ -159,7 +160,7 @@ package org.apache.flex.html.beads
                /**
                 * @private
                 */
-               public function getElementIndex(c:Object):int
+               public function getElementIndex(c:IChild):int
                {
                        return contentView.getElementIndex(c);
                }
@@ -167,7 +168,7 @@ package org.apache.flex.html.beads
                /**
                 * @private
                 */
-               public function removeElement(c:Object, dispatchEvent:Boolean = 
true):void
+               public function removeElement(c:IChild, dispatchEvent:Boolean = 
true):void
                {
                        contentView.removeElement(c, dispatchEvent);
                }
@@ -183,7 +184,7 @@ package org.apache.flex.html.beads
                /**
                 * @private
                 */
-               public function getElementAt(index:int):Object
+               public function getElementAt(index:int):IChild
                {
                        return contentView.getElementAt(index);
                }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
index 1334227..d3d7ebd 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
@@ -29,6 +29,7 @@ package org.apache.flex.html.beads
        import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.CSSTextField;
        import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.IChild;
        import org.apache.flex.core.IPopUpHost;
        import org.apache.flex.core.ISelectionModel;
        import org.apache.flex.core.IStrand;
@@ -287,7 +288,7 @@ package org.apache.flex.html.beads
                     while (host && !(host is IPopUpHost))
                         host = host.parent;
                     if (host)
-                        IPopUpHost(host).addElement(popUp);
+                        IPopUpHost(host).addElement(popUp as IChild);
                 }
                 else
                 {

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageView.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageView.as
index 652392a..8c20686 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageView.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageView.as
@@ -18,27 +18,7 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-    COMPILE::SWF
-    {
-        import flash.display.Bitmap;
-        import flash.display.Loader;
-        import flash.display.LoaderInfo;
-        import flash.events.IOErrorEvent;
-        import flash.net.URLRequest;            
-    }
-    COMPILE::JS
-    {
-        import goog.events;
-    }
-       
-       import org.apache.flex.core.BeadViewBase;
-       import org.apache.flex.core.IBeadView;
-       import org.apache.flex.core.IImageModel;
-       import org.apache.flex.core.IStrand;
-       import org.apache.flex.core.IUIBase;
-       import org.apache.flex.core.UIBase;
-       import org.apache.flex.events.Event;
-       import org.apache.flex.events.IEventDispatcher;
+       import org.apache.flex.core.ImageViewBase;
        
        /**
         *  The ImageView class creates the visual elements of the 
org.apache.flex.html.Image component.
@@ -48,7 +28,7 @@ package org.apache.flex.html.beads
         *  @playerversion AIR 2.6
         *  @productversion FlexJS 0.0
         */
-       public class ImageView extends BeadViewBase implements IBeadView
+       public class ImageView extends ImageViewBase
        {
                /**
                 *  constructor.
@@ -62,162 +42,5 @@ package org.apache.flex.html.beads
                {
                }
                
-        COMPILE::SWF
-               private var bitmap:Bitmap;
-        COMPILE::SWF
-               private var loader:Loader;
-               
-               private var _model:IImageModel;
-               
-               /**
-                *  @copy org.apache.flex.core.IBead#strand
-                *  
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion FlexJS 0.0
-                */
-               override public function set strand(value:IStrand):void
-               {
-                       super.strand = value;
-                       
-            COMPILE::SWF
-            {
-                
IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
-                
IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);   
                 
-            }
-                       
-                       _model = value.getBeadByType(IImageModel) as 
IImageModel;
-                       _model.addEventListener("urlChanged",handleUrlChange);
-                       
-                       handleUrlChange(null);
-               }
-               
-               /**
-                * @private
-                */
-               private function handleUrlChange(event:Event):void
-               {
-            COMPILE::SWF
-            {
-                if (_model.source) {
-                    loader = new Loader();
-                    
loader.contentLoaderInfo.addEventListener("complete",onComplete);
-                    
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function 
(e:IOErrorEvent):void {
-                        trace(e);
-                        e.preventDefault();
-                    });
-                    loader.load(new URLRequest(_model.source));
-                }                    
-            }
-            COMPILE::JS
-            {
-                               if (_model.source) {
-                       var host:IUIBase = _strand as IUIBase;
-                       host.element.addEventListener('load',
-                           loadHandler, false);
-                       host.addEventListener('sizeChanged',
-                           sizeChangedHandler);
-                       (host.element as HTMLImageElement).src = _model.source;
-                               }
-            }
-               }
-               
-               /**
-                * @private
-                */
-        COMPILE::SWF
-               private function onComplete(event:Object):void
-               {
-            var host:UIBase = UIBase(_strand);
-                       if (bitmap) {
-                               host.removeChild(bitmap);
-                       }
-                       
-                       bitmap = Bitmap(LoaderInfo(event.target).content);
-                       
-                       host.addChild(bitmap);
-                       
-            if (host.isWidthSizedToContent())
-            {
-                host.dispatchEvent(new Event("widthChanged"));
-                if (host.parent)
-                    host.parent.dispatchEvent(new Event("layoutNeeded"));
-            }
-            else
-                bitmap.width = UIBase(_strand).width;
-                
-            if (host.isHeightSizedToContent())
-            {
-                host.dispatchEvent(new Event("heightChanged"));
-                if (host.parent)
-                    host.parent.dispatchEvent(new Event("layoutNeeded"));
-            }
-            else
-                bitmap.height = UIBase(_strand).height;
-                
-               }
-               
-               /**
-                * @private
-                */
-        COMPILE::SWF
-               private function handleSizeChange(event:Object):void
-               {
-            var host:UIBase = UIBase(_strand);
-            if (bitmap) {
-                if (!isNaN(host.explicitWidth) || !isNaN(host.percentWidth))
-                               bitmap.width = UIBase(_strand).width;
-                if (!isNaN(host.explicitHeight) || !isNaN(host.percentHeight))
-                               bitmap.height = UIBase(_strand).height;
-                       }
-               }
-        
-        COMPILE::JS
-        private function loadHandler(event:Object):void
-        {
-            var host:UIBase = UIBase(_strand);
-            host.parent.dispatchEvent(new Event("layoutNeeded"));
-        }
-        
-        /**
-         * @flexjsignorecoercion HTMLElement
-         */
-        COMPILE::JS
-        private function sizeChangedHandler(event:Object):void
-        {
-            var host:UIBase = _strand as UIBase;
-            var s:Object = host.positioner.style;
-            var l:Number = NaN;
-            var ls:String = s.left;
-            if (typeof(ls) === 'string' && ls.length > 0)
-                l = parseFloat(ls.substring(0, ls.length - 2));
-            var r:Number = NaN;
-            var rs:String = s.right;
-            if (typeof(rs) === 'string' && rs.length > 0)
-                r = parseFloat(rs.substring(0, rs.length - 2));
-            if (!isNaN(l) &&
-                !isNaN(r)) {
-                // if just using size constraints and image will not shrink or 
grow
-                var computedWidth:Number = (host.positioner.offsetParent as 
HTMLElement).offsetWidth -
-                    l - r;
-                s.width = computedWidth.toString() + 'px';
-            }
-            var t:Number = NaN;
-            var ts:String = s.top;
-            if (typeof(ts) === 'string' && ts.length > 0)
-                t = parseFloat(ts.substring(0, ts.length - 2));
-            var b:Number = NaN;
-            var bs:String = s.right;
-            if (typeof(bs) === 'string' && bs.length > 0)
-                b = parseFloat(bs.substring(0, bs.length - 2));
-            if (!isNaN(t) &&
-                !isNaN(b)) {
-                // if just using size constraints and image will not shrink or 
grow
-                var computedHeight:Number = (host.positioner.offsetParent as 
HTMLElement).offsetHeight -
-                    t - b;
-                s.height = computedHeight.toString() + 'px';
-            }
-        }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
index 2e99eef..e9b4ea5 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
@@ -124,7 +124,7 @@ package org.apache.flex.html.beads
                 element.style.top = '-10px';
                 element.style.left = '20px';
                 
-                host.element.appendChild(element);
+                (host.element as WrappedHTMLElement).appendChild(element);
                 
                 element.flexjs_wrapper = this;
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
index 63d04e2..276a8d6 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
@@ -94,7 +94,7 @@ package org.apache.flex.html.beads
                        loader.y = 0;
                        loader.width = host.width;
                        loader.height = host.height;
-                       (host as UIBase).addElement(loader);
+                       (host as UIBase).addChild(loader);
                }
 
                /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
index 225e0ac..501799f 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
@@ -73,13 +73,14 @@ package org.apache.flex.html.beads.layouts
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
+                *  @flexjsignorecoercion HTMLElement
          */
                public function set strand(value:IStrand):void
                {
                        host = value as ILayoutChild;
             COMPILE::JS
             {
-                (value as IUIBase).element.style.display = 'block';
+                ((value as IUIBase).element as HTMLElement).style.display = 
'block';
             }
                }
        

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
index 7742c2b..c4f110f 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
@@ -62,7 +62,7 @@ package org.apache.flex.html.beads.models
                        _strand = value;
                }
                
-               private var _source:String;
+               private var _url:String;
                
                /**
                 *  The source of the image.
@@ -74,14 +74,14 @@ package org.apache.flex.html.beads.models
                 *  @playerversion AIR 2.6
                 *  @productversion FlexJS 0.0
                 */
-               public function get source():String
+               public function get url():String
                {
-                       return _source;
+                       return _url;
                }
-               public function set source(value:String):void
+               public function set url(value:String):void
                {
-                       if (value != _source) {
-                               _source = value;
+                       if (value != _url) {
+                               _url = value;
                                dispatchEvent( new Event("urlChanged") );
                        }
                }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
index 46426cd..6e1bb69 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
@@ -21,6 +21,7 @@ package org.apache.flex.html.supportClasses
        import org.apache.flex.core.IContentView;
        import org.apache.flex.core.UIBase;
     import org.apache.flex.events.Event;
+       import org.apache.flex.events.IEventDispatcher;
        
     /**
      *  The ContainerContentArea class implements the contentView for
@@ -50,8 +51,8 @@ package org.apache.flex.html.supportClasses
         
         private function forwardEventHandler(event:Event):void
         {
-            if (parent)
-                parent.dispatchEvent(event);
+            if (parent is IEventDispatcher)
+                (parent as IEventDispatcher).dispatchEvent(event);
         }
                
                /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
index 15b6587..f7ebf01 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
@@ -18,6 +18,7 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.supportClasses
 {      
+    import org.apache.flex.core.IChild;
     import org.apache.flex.core.IContentView;
     import org.apache.flex.core.IItemRenderer;
     import org.apache.flex.core.IItemRendererParent;
@@ -58,7 +59,7 @@ package org.apache.flex.html.supportClasses
                /**
                 * @private
                 */
-               override public function addElement(c:Object, 
dispatchEvent:Boolean = true):void
+               override public function addElement(c:IChild, 
dispatchEvent:Boolean = true):void
                {
                        super.addElement(c, dispatchEvent);
                        
@@ -72,7 +73,7 @@ package org.apache.flex.html.supportClasses
                /**
                 * @private
                 */
-               override public function removeElement(c:Object, 
dispatchEvent:Boolean = true):void
+               override public function removeElement(c:IChild, 
dispatchEvent:Boolean = true):void
                {       
                        super.removeElement(c, dispatchEvent);
                        

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
index d7c8d71..46ba9a6 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
@@ -137,11 +137,14 @@ package org.apache.flex.html.supportClasses
             }
         }
 
+        /**
+         * @flexjsignorecoercion HTMLElement 
+         */
         COMPILE::JS
         override public function set strand(value:IStrand):void
         {
             super.strand = value;
-            contentView.element.style.overflow = 'auto';
+            (contentView.element as HTMLElement).style.overflow = 'auto';
         }
 
         private var viewportWidth:Number;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
index 5908d73..f370476 100644
--- 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
@@ -18,6 +18,7 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.supportClasses
 {
+    import flash.display.DisplayObject;
     import flash.text.TextFieldType;
     
     import org.apache.flex.core.CSSTextField;
@@ -69,6 +70,21 @@ package org.apache.flex.html.supportClasses
                
                private var _explicitWidth:Number;
                
+        COMPILE::SWF
+        public function get $displayObject():DisplayObject
+        {
+            return this;
+        }
+        
+        public function get flexjs_wrapper():Object
+        {
+            return this;
+        }
+        public function set flexjs_wrapper(value:Object):void
+        {
+            
+        }
+        
                /**
                 *  The explicitly set width (as opposed to measured width
                 *  or percentage width).

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/BinaryImage.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/BinaryImage.as 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/BinaryImage.as
new file mode 100644
index 0000000..c03793c
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/BinaryImage.as
@@ -0,0 +1,87 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.svg
+{
+       import org.apache.flex.core.IBinaryImage;
+       import org.apache.flex.core.IBinaryImageModel;
+       import org.apache.flex.core.ValuesManager;
+       import org.apache.flex.core.IBinaryImageLoader;
+       import org.apache.flex.utils.BinaryData;
+
+       /**
+        *  The Image class is a component that displays a bitmap. The Image 
uses
+        *  the following beads:
+        * 
+        *  org.apache.flex.core.IBeadModel: the data model for the Image, 
including the url/binary property.
+        *  org.apache.flex.core.IBeadView: constructs the visual elements of 
the component.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class BinaryImage extends Image implements IBinaryImage
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function BinaryImage()
+               {
+                       super();
+               }
+               
+               override public function addedToParent():void
+               {
+                       var c:Class = ValuesManager.valuesImpl.getValue(this, 
"iBinaryImageLoader") as Class;
+                       if (c)
+                       {
+                               if (c)
+                               {
+                                       var loader:IBinaryImageLoader = (new 
c()) as IBinaryImageLoader;
+                                       addBead(loader);
+                               }
+                       }
+                       super.addedToParent();
+               }
+               
+               /**
+                *  The binary bitmap data.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+         *  @flexjsignorecoercion org.apache.flex.core.IImageModel
+                */
+               public function get binary():BinaryData
+               {
+                       return (model as IBinaryImageModel).binary;
+               }
+               public function set binary(value:BinaryData):void
+               {
+                       (model as IBinaryImageModel).binary = value;
+               }
+        
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/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 48c51d1..b25ebf2 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
@@ -26,7 +26,7 @@ package org.apache.flex.svg
        [DefaultProperty("mxmlContent")]
 
        COMPILE::SWF
-    public class GraphicContainer extends ContainerBase implements 
ITransformHost
+    public class GraphicContainer extends ContainerBase
     {
         public function GraphicContainer()
         {
@@ -41,7 +41,7 @@ package org.apache.flex.svg
     }
        
        COMPILE::JS
-       public class GraphicContainer extends UIBase implements ITransformHost, 
IContainer
+       public class GraphicContainer extends UIBase implements IContainer
        {
                private var graphicGroup:ContainerBase;
                

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/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 c2baa41..dc3f4a3 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
@@ -102,7 +102,7 @@ package org.apache.flex.svg
                {
                        if(stroke)
                        {
-                               stroke.apply(this);
+                               stroke.apply(graphics);
                        }
                }
 
@@ -111,7 +111,7 @@ package org.apache.flex.svg
                {
                        if(fill)
                        {
-                               fill.begin(this, targetBounds,targetOrigin);
+                               fill.begin(graphics, targetBounds,targetOrigin);
                        }
                }
 
@@ -120,7 +120,7 @@ package org.apache.flex.svg
                {
                        if(fill)
                        {
-                               fill.end(this);
+                               fill.end(graphics);
                        }
                }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/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
new file mode 100644
index 0000000..cd0729f
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
@@ -0,0 +1,133 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flex.svg
+{
+       import org.apache.flex.core.ImageBase;
+
+       COMPILE::JS
+       {
+               import org.apache.flex.core.WrappedHTMLElement;            
+       }
+    public class Image extends ImageBase
+    {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.7
+                */
+        public function Image()
+        {
+                       super();
+       }
+               
+               /**
+                * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+                */
+               COMPILE::JS
+               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;
+               }
+               
+               COMPILE::JS
+               protected var _image:WrappedHTMLElement;
+               
+               /**
+                * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+                */
+               COMPILE::JS
+               protected function addImageElement():void
+               {
+                       if (_image == null) {
+                               _image = 
document.createElementNS('http://www.w3.org/2000/svg', 'image') as 
WrappedHTMLElement;
+                               _image.setAttribute("width", "100%");
+                               _image.setAttribute("height", "100%");
+                               _image.flexjs_wrapper = this;
+                               element.appendChild(_image);
+                       }
+               }
+               
+               COMPILE::JS
+               override public function get imageElement():Element
+               {
+                       return _image;
+               }
+               
+               COMPILE::JS
+               override public function get 
transformElement():WrappedHTMLElement
+               {
+                       return _image;
+               }
+               
+               COMPILE::JS
+               override public function 
applyImageData(binaryDataAsString:String):void
+               {
+                       (_image as 
SVGImageElement).setAttributeNS('http://www.w3.org/1999/xlink','href', 
binaryDataAsString);
+               }
+               COMPILE::JS
+               override public function setWidth(value:Number, 
noEvent:Boolean=false):void
+               {
+                       super.setWidth(value, noEvent);
+                       positioner.setAttribute("width", value);
+               }
+
+               COMPILE::JS
+               override public function setHeight(value:Number, 
noEvent:Boolean=false):void
+               {
+                       super.setHeight(value, noEvent);
+                       positioner.setAttribute("height", value);
+               }
+               
+               COMPILE::JS
+               override public function setX(value:Number):void
+               {
+                       super.setX(value);
+                       positioner.setAttribute("x", value);
+
+               }
+               COMPILE::JS
+               override public function setY(value:Number):void
+               {
+                       super.setY(value);
+                       positioner.setAttribute("y", value);
+                       
+               }
+               
+               COMPILE::JS
+               override public function set x(value:Number):void
+               {
+                       super.x = value;
+                       positioner.setAttribute("x", value);
+               }
+               
+               COMPILE::JS
+               override public function set y(value:Number):void
+               {
+                       super.y = value;
+                       positioner.setAttribute("y", value);
+               }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/beads/ImageView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/beads/ImageView.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/beads/ImageView.as
new file mode 100644
index 0000000..8cbd789
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/beads/ImageView.as
@@ -0,0 +1,87 @@
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.svg.beads
+{
+       import org.apache.flex.core.ImageViewBase;
+       COMPILE::JS
+               {
+                       import org.apache.flex.core.UIBase;
+                       import org.apache.flex.core.ValuesManager;
+               }
+       
+       /**
+        *  The ImageView class creates the visual elements of the 
org.apache.flex.svg.Image component.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ImageView extends ImageViewBase
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ImageView()
+               {
+               }
+               
+               COMPILE::JS
+               override protected function 
sizeChangedHandler(event:Object):void
+               {
+                       super.sizeChangedHandler(event);
+                       var host:UIBase = _strand as UIBase;
+                       
+                       var left:* = ValuesManager.valuesImpl.getValue(host, 
"left");
+                       var right:* = ValuesManager.valuesImpl.getValue(host, 
"right");
+                       var l:Number = isNaN(left) ? NaN : left;
+                       var r:Number = isNaN(right) ? NaN : right;
+
+                       var top:* = ValuesManager.valuesImpl.getValue(host, 
"top");
+                       var bottom:* = ValuesManager.valuesImpl.getValue(host, 
"bottom");
+                       var t:Number = isNaN(top) ? NaN : top;
+                       var b:Number = isNaN(bottom) ? NaN : bottom;
+                       
+                       var p:Object = host.positioner;
+
+                       if (!isNaN(l) &&
+                               !isNaN(r)) {
+                               // if just using size constraints and image 
will not shrink or grow
+                               var computedWidth:Number = 
(host.positioner.offsetParent as HTMLElement).offsetWidth -
+                                       l - r;
+                               p.setAttribute("width", computedWidth);
+
+                       }
+                       if (!isNaN(t) &&
+                               !isNaN(b)) {
+                               // if just using size constraints and image 
will not shrink or grow
+                               var computedHeight:Number = 
(host.positioner.offsetParent as HTMLElement).offsetHeight -
+                                       t - b;
+                               p.setAttribute("height", computedHeight);
+                       }
+               }
+
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Core/src/main/flex/CoreClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/CoreClasses.as 
b/frameworks/projects/Core/src/main/flex/CoreClasses.as
index 797fafb..aff0dbc 100644
--- a/frameworks/projects/Core/src/main/flex/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/flex/CoreClasses.as
@@ -27,6 +27,7 @@ package {
 internal class CoreClasses
 {
     import org.apache.flex.core.BeadViewBase; BeadViewBase;
+    import org.apache.flex.core.ImageViewBase; ImageViewBase;
     import org.apache.flex.core.BrowserWindow; BrowserWindow;
        COMPILE::SWF
        {
@@ -35,6 +36,11 @@ internal class CoreClasses
                import org.apache.flex.core.CSSSprite; CSSSprite;
                import org.apache.flex.core.CSSTextField; CSSTextField;
            import org.apache.flex.core.StyleableCSSTextField; 
StyleableCSSTextField;
+               import org.apache.flex.core.WrappedMovieClip; WrappedMovieClip;
+               import org.apache.flex.core.WrappedShape; WrappedShape;
+               import org.apache.flex.core.WrappedSimpleButton; 
WrappedSimpleButton;
+               import org.apache.flex.core.WrappedSprite; WrappedSprite;
+               import org.apache.flex.core.WrappedTextField; WrappedTextField;
        }
        import org.apache.flex.core.IBinaryImageLoader; IBinaryImageLoader;
     import org.apache.flex.core.ItemRendererClassFactory; 
ItemRendererClassFactory;
@@ -75,6 +81,7 @@ internal class CoreClasses
     import org.apache.flex.core.IParentIUIBase; IParentIUIBase;
     import org.apache.flex.core.IPopUp; IPopUp;
     import org.apache.flex.core.IRangeModel; IRangeModel;
+    import org.apache.flex.core.ISWFApplication; ISWFApplication;
        import org.apache.flex.core.ITransformModel; ITransformModel;
        import org.apache.flex.core.ITransformHost; ITransformHost;
     import org.apache.flex.core.IRollOverModel; IRollOverModel;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IFlexJSElement.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IFlexJSElement.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IFlexJSElement.as
index 6586fe9..95fe4be 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IFlexJSElement.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IFlexJSElement.as
@@ -33,8 +33,8 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.7
          */
-        function get flexjs_wrapper():ElementWrapper;
-        function set flexjs_wrapper(value:ElementWrapper):void;
+        function get flexjs_wrapper():Object;
+        function set flexjs_wrapper(value:Object):void;
     }
 
        COMPILE::JS

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as
index afc7def..f9c4d1c 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as
@@ -23,6 +23,7 @@ package org.apache.flex.core
         import flash.display.Bitmap;
         import flash.display.Loader;
         import flash.display.LoaderInfo;
+        import flash.display.Sprite;
         import flash.events.IOErrorEvent;
         import flash.net.URLRequest;            
     }
@@ -34,8 +35,10 @@ package org.apache.flex.core
        
        import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IImageModel;
+       import org.apache.flex.core.ILayoutChild;
+       import org.apache.flex.core.IRenderedObject;
        import org.apache.flex.core.IStrand;
-       import org.apache.flex.core.UIBase;
+       import org.apache.flex.core.IUIBase;
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
     import org.apache.flex.core.IImageView;
@@ -156,14 +159,16 @@ package org.apache.flex.core
         COMPILE::SWF
                private function onComplete(event:Object):void
                {
-            var host:UIBase = UIBase(_strand);
+            var host:ILayoutChild = ILayoutChild(_strand);
+                       var hostSprite:Sprite = (host as 
IRenderedObject).$displayObject as Sprite;
+                       
                        if (bitmap) {
-                               host.$sprite.removeChild(bitmap);
+                               hostSprite.removeChild(bitmap);
                        }
                        
                        bitmap = Bitmap(LoaderInfo(event.target).content);
                        
-                       host.$sprite.addChild(bitmap);
+                       hostSprite.addChild(bitmap);
                        
             if (host.isWidthSizedToContent())
             {
@@ -191,19 +196,19 @@ package org.apache.flex.core
         COMPILE::SWF
                private function handleSizeChange(event:Object):void
                {
-            var host:UIBase = UIBase(_strand);
+            var host:ILayoutChild = ILayoutChild(_strand);
             if (bitmap) {
                 if (!isNaN(host.explicitWidth) || !isNaN(host.percentWidth))
-                               bitmap.width = UIBase(_strand).width;
+                               bitmap.width = IUIBase(_strand).width;
                 if (!isNaN(host.explicitHeight) || !isNaN(host.percentHeight))
-                               bitmap.height = UIBase(_strand).height;
+                               bitmap.height = IUIBase(_strand).height;
                        }
                }
         
         COMPILE::JS
         private function loadHandler(event:Object):void
         {
-            var host:UIBase = UIBase(_strand);
+            var host:IUIBase = IUIBase(_strand);
             IEventDispatcher(host.parent).dispatchEvent(new 
Event("layoutNeeded"));
         }
         
@@ -213,7 +218,7 @@ package org.apache.flex.core
         COMPILE::JS
         protected function sizeChangedHandler(event:Object):void
         {
-            var host:UIBase = _strand as UIBase;
+            var host:IUIBase = _strand as IUIBase;
             var s:Object = host.positioner.style;
             var l:Number = NaN;
             var ls:String = s.left;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as
 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as
index 1b91d63..c3f9545 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as
@@ -28,7 +28,7 @@ package org.apache.flex.core
        COMPILE::SWF
        public class WrappedMovieClip extends MovieClip implements 
IFlexJSElement, IRenderedObject
        {
-        private var _flexjs_wrapper:ElementWrapper;
+        private var _flexjs_wrapper:Object;
         
         //--------------------------------------
         //   Property
@@ -42,11 +42,11 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function get flexjs_wrapper():ElementWrapper
+        public function get flexjs_wrapper():Object
         {
             return _flexjs_wrapper;
         }
-        public function set flexjs_wrapper(value:ElementWrapper):void
+        public function set flexjs_wrapper(value:Object):void
         {
             _flexjs_wrapper = value;
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as
index 1978fff..10fafd6 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as
@@ -28,7 +28,7 @@ package org.apache.flex.core
        COMPILE::SWF
        public class WrappedShape extends Shape implements IFlexJSElement, 
IRenderedObject
        {
-        private var _flexjs_wrapper:ElementWrapper;
+        private var _flexjs_wrapper:Object;
         
         //--------------------------------------
         //   Property
@@ -42,11 +42,11 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function get flexjs_wrapper():ElementWrapper
+        public function get flexjs_wrapper():Object
         {
             return _flexjs_wrapper;
         }
-        public function set flexjs_wrapper(value:ElementWrapper):void
+        public function set flexjs_wrapper(value:Object):void
         {
             _flexjs_wrapper = value;
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as
 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as
index 557ddf9..6b2411c 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as
@@ -33,7 +33,7 @@ package org.apache.flex.core
 
         }
 
-        private var _flexjs_wrapper:ElementWrapper;
+        private var _flexjs_wrapper:Object;
         
         //--------------------------------------
         //   Property
@@ -47,11 +47,11 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function get flexjs_wrapper():ElementWrapper
+        public function get flexjs_wrapper():Object
         {
             return _flexjs_wrapper;
         }
-        public function set flexjs_wrapper(value:ElementWrapper):void
+        public function set flexjs_wrapper(value:Object):void
         {
             _flexjs_wrapper = value;
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as
index 0fc230b..4f84300 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as
@@ -29,7 +29,7 @@ package org.apache.flex.core
        public class WrappedSprite extends Sprite implements IFlexJSElement, 
IRenderedObject
        {
 
-        private var _flexjs_wrapper:ElementWrapper;
+        private var _flexjs_wrapper:Object;
         
         //--------------------------------------
         //   Property
@@ -43,11 +43,11 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function get flexjs_wrapper():ElementWrapper
+        public function get flexjs_wrapper():Object
         {
             return _flexjs_wrapper;
         }
-        public function set flexjs_wrapper(value:ElementWrapper):void
+        public function set flexjs_wrapper(value:Object):void
         {
             _flexjs_wrapper = value;
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as
 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as
index ae7faf4..e025646 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as
@@ -29,7 +29,7 @@ package org.apache.flex.core
        public class WrappedTextField extends TextField implements 
IFlexJSElement, IRenderedObject
        {
 
-        private var _flexjs_wrapper:ElementWrapper;
+        private var _flexjs_wrapper:Object;
         
                //--------------------------------------
                //   Property
@@ -43,11 +43,11 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function get flexjs_wrapper():ElementWrapper
+        public function get flexjs_wrapper():Object
         {
             return _flexjs_wrapper;
         }
-        public function set flexjs_wrapper(value:ElementWrapper):void
+        public function set flexjs_wrapper(value:Object):void
         {
             _flexjs_wrapper = value;
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as 
b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
index b1714ff..6f7db21 100644
--- a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
+++ b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
@@ -55,7 +55,7 @@ internal class HTMLClasses
                import org.apache.flex.html.beads.CloseButtonView; 
CloseButtonView;
        import org.apache.flex.html.beads.ImageAndTextButtonView; 
ImageAndTextButtonView;
        }
-       import org.apache.flex.html.beads.ImageView; ImageView;
+       import org.apache.flex.html.beads.ImageView; 
org.apache.flex.html.beads.ImageView;
        import org.apache.flex.html.beads.BinaryImageLoader; BinaryImageLoader;
        import org.apache.flex.html.beads.models.BinaryImageModel; 
BinaryImageModel;
        import org.apache.flex.html.beads.ImageButtonView; ImageButtonView;
@@ -196,6 +196,9 @@ internal class HTMLClasses
        import org.apache.flex.svg.Rect; Rect;
        import org.apache.flex.svg.Ellipse; Ellipse;
        import org.apache.flex.svg.Circle; Circle;
+       import org.apache.flex.svg.Image; Image;
+       import org.apache.flex.svg.BinaryImage; BinaryImage;
+       import org.apache.flex.svg.beads.ImageView; 
org.apache.flex.svg.beads.ImageView;
        import org.apache.flex.svg.Path; Path;
        import org.apache.flex.svg.Text; Text;
        import org.apache.flex.svg.CompoundGraphic; CompoundGraphic;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as
index f8cbe01..2277802 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as
@@ -21,9 +21,6 @@ package org.apache.flex.core
     import org.apache.flex.events.Event;
     import org.apache.flex.events.IEventDispatcher;
     import org.apache.flex.events.MouseEvent;
-       COMPILE::SWF {
-           import org.apache.flex.events.utils.MouseEventConverter;
-       }
     import org.apache.flex.utils.MXMLDataInterpreter;
     import org.apache.flex.utils.Timer;
 
@@ -34,6 +31,7 @@ package org.apache.flex.core
                import flash.events.Event;
         import flash.system.ApplicationDomain;
         import flash.utils.getQualifiedClassName;
+        import org.apache.flex.events.utils.MouseEventConverter;
     }
 
     //--------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fdc2a4c2/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as
index ca01f54..5dbea38 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as
@@ -957,8 +957,7 @@ package org.apache.flex.core
                {
                        element.className = value;           
                }
-               
-        
+                       
         /**
          *  @copy org.apache.flex.core.Application#beads
          *  

Reply via email to