You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/04/13 05:16:31 UTC

[01/50] incubator-weex git commit: * [all] add DISCLAIMER

Repository: incubator-weex
Updated Branches:
  refs/heads/dev d25919fdd -> fcd362bcc


* [all] add DISCLAIMER


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/bd306754
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/bd306754
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/bd306754

Branch: refs/heads/dev
Commit: bd306754ee528e0a3840ca70c705f1689ac1b5b6
Parents: 6bcc0ee
Author: sospartan <so...@apache.org>
Authored: Tue Apr 11 17:55:28 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Tue Apr 11 17:55:28 2017 +0800

----------------------------------------------------------------------
 DISCLAIMER | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/bd306754/DISCLAIMER
----------------------------------------------------------------------
diff --git a/DISCLAIMER b/DISCLAIMER
new file mode 100644
index 0000000..f688a3b
--- /dev/null
+++ b/DISCLAIMER
@@ -0,0 +1 @@
+Apache Weex is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
\ No newline at end of file


[48/50] incubator-weex git commit: Merge branch '0.12-dev-gradient' of github.com:xkli/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev-gradient' of github.com:xkli/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/39006789
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/39006789
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/39006789

Branch: refs/heads/dev
Commit: 390067896ad396ced43ac780d9433f3158e32959
Parents: 0305e35 b5990a1
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 11:47:36 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 11:47:36 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/ui/component/WXComponent.java   | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/39006789/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------


[38/50] incubator-weex git commit: Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/f5fa7737
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/f5fa7737
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/f5fa7737

Branch: refs/heads/dev
Commit: f5fa7737dc668be25d8c68f29252f2937d0bb4a6
Parents: 2c4d669 68acd19
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 10:18:48 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 10:18:48 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 32 +++++++++++++-------
 1 file changed, 21 insertions(+), 11 deletions(-)
----------------------------------------------------------------------



[09/50] incubator-weex git commit: * [android] Fix layerType name in WXComponent

Posted by so...@apache.org.
* [android] Fix layerType name in WXComponent


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/28dac6df
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/28dac6df
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/28dac6df

Branch: refs/heads/dev
Commit: 28dac6df7c95554c2fde4c706bc627c597e8c338
Parents: 8e51cef
Author: YorkShen <sh...@gmail.com>
Authored: Wed Apr 12 10:34:28 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Wed Apr 12 10:34:28 2017 +0800

----------------------------------------------------------------------
 .../src/main/java/com/taobao/weex/ui/component/WXComponent.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/28dac6df/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index c1c99bc..7b9bca1 100755
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -1510,7 +1510,7 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
    * For now, this method respect the result of {@link WXSDKInstance#isLayerTypeEnabled()}
    * @return Refer {@link WXSDKInstance#isLayerTypeEnabled()}
    */
-  public boolean enableLayerType() {
+  public boolean isLayerTypeEnabled() {
     return getInstance().isLayerTypeEnabled();
   }
 }
\ No newline at end of file


[04/50] incubator-weex git commit: Merge branch 'ios-feature-picker-0.12-dev' of https://github.com/kfeagle/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch 'ios-feature-picker-0.12-dev' of https://github.com/kfeagle/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c92617a6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c92617a6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c92617a6

Branch: refs/heads/dev
Commit: c92617a6d2790ba8a9231de4a5c59199e7b3f0ed
Parents: 57f395d cddebfb
Author: cxfeng <cx...@apache.org>
Authored: Tue Apr 11 21:40:44 2017 +0800
Committer: cxfeng <cx...@apache.org>
Committed: Tue Apr 11 21:40:44 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 122 ++++++++++++++++++-
 1 file changed, 116 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c92617a6/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
----------------------------------------------------------------------


[21/50] incubator-weex git commit: * [android] recycler test case bug fix

Posted by so...@apache.org.
* [android] recycler test case bug fix


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/8dcc2350
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/8dcc2350
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/8dcc2350

Branch: refs/heads/dev
Commit: 8dcc23506f84e61ba3b27ac668758bde3b978f31
Parents: 9f379ad
Author: zshshr <zh...@gmail.com>
Authored: Wed Apr 12 14:06:59 2017 +0800
Committer: zshshr <zh...@gmail.com>
Committed: Wed Apr 12 14:06:59 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/WXSDKEngine.java  |   3 +
 .../com/taobao/weex/dom/WXCellDomObject.java    | 243 +++++++++++++++++++
 .../taobao/weex/dom/WXRecyclerDomObject.java    |  29 +--
 test/pages/components/recycler.vue              |  19 +-
 test/scripts/components/recycler.test.js        |  56 ++---
 5 files changed, 292 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8dcc2350/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
index d4cd954..81aeeac 100755
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
@@ -140,6 +140,7 @@ import com.taobao.weex.common.WXInstanceWrap;
 import com.taobao.weex.common.WXModule;
 import com.taobao.weex.dom.BasicEditTextDomObject;
 import com.taobao.weex.dom.TextAreaEditTextDomObject;
+import com.taobao.weex.dom.WXCellDomObject;
 import com.taobao.weex.dom.WXDomObject;
 import com.taobao.weex.dom.WXDomRegistry;
 import com.taobao.weex.dom.WXListDomObject;
@@ -390,6 +391,8 @@ public class WXSDKEngine {
 
       registerDomObject(WXBasicComponentType.INDICATOR, WXIndicator.IndicatorDomNode.class);
       registerDomObject(WXBasicComponentType.TEXT, WXTextDomObject.class);
+      registerDomObject(WXBasicComponentType.HEADER, WXCellDomObject.class);
+      registerDomObject(WXBasicComponentType.CELL, WXCellDomObject.class);
       registerDomObject(WXBasicComponentType.INPUT, BasicEditTextDomObject.class);
       registerDomObject(WXBasicComponentType.TEXTAREA, TextAreaEditTextDomObject.class);
       registerDomObject(WXBasicComponentType.SWITCH, WXSwitchDomObject.class);

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8dcc2350/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
new file mode 100644
index 0000000..4bf3ee1
--- /dev/null
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
@@ -0,0 +1,243 @@
+/**
+ *
+ *                                  Apache License
+ *                            Version 2.0, January 2004
+ *                         http://www.apache.org/licenses/
+ *
+ *    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+ *
+ *    1. Definitions.
+ *
+ *       "License" shall mean the terms and conditions for use, reproduction,
+ *       and distribution as defined by Sections 1 through 9 of this document.
+ *
+ *       "Licensor" shall mean the copyright owner or entity authorized by
+ *       the copyright owner that is granting the License.
+ *
+ *       "Legal Entity" shall mean the union of the acting entity and all
+ *       other entities that control, are controlled by, or are under common
+ *       control with that entity. For the purposes of this definition,
+ *       "control" means (i) the power, direct or indirect, to cause the
+ *       direction or management of such entity, whether by contract or
+ *       otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ *       outstanding shares, or (iii) beneficial ownership of such entity.
+ *
+ *       "You" (or "Your") shall mean an individual or Legal Entity
+ *       exercising permissions granted by this License.
+ *
+ *       "Source" form shall mean the preferred form for making modifications,
+ *       including but not limited to software source code, documentation
+ *       source, and configuration files.
+ *
+ *       "Object" form shall mean any form resulting from mechanical
+ *       transformation or translation of a Source form, including but
+ *       not limited to compiled object code, generated documentation,
+ *       and conversions to other media types.
+ *
+ *       "Work" shall mean the work of authorship, whether in Source or
+ *       Object form, made available under the License, as indicated by a
+ *       copyright notice that is included in or attached to the work
+ *       (an example is provided in the Appendix below).
+ *
+ *       "Derivative Works" shall mean any work, whether in Source or Object
+ *       form, that is based on (or derived from) the Work and for which the
+ *       editorial revisions, annotations, elaborations, or other modifications
+ *       represent, as a whole, an original work of authorship. For the purposes
+ *       of this License, Derivative Works shall not include works that remain
+ *       separable from, or merely link (or bind by name) to the interfaces of,
+ *       the Work and Derivative Works thereof.
+ *
+ *       "Contribution" shall mean any work of authorship, including
+ *       the original version of the Work and any modifications or additions
+ *       to that Work or Derivative Works thereof, that is intentionally
+ *       submitted to Licensor for inclusion in the Work by the copyright owner
+ *       or by an individual or Legal Entity authorized to submit on behalf of
+ *       the copyright owner. For the purposes of this definition, "submitted"
+ *       means any form of electronic, verbal, or written communication sent
+ *       to the Licensor or its representatives, including but not limited to
+ *       communication on electronic mailing lists, source code control systems,
+ *       and issue tracking systems that are managed by, or on behalf of, the
+ *       Licensor for the purpose of discussing and improving the Work, but
+ *       excluding communication that is conspicuously marked or otherwise
+ *       designated in writing by the copyright owner as "Not a Contribution."
+ *
+ *       "Contributor" shall mean Licensor and any individual or Legal Entity
+ *       on behalf of whom a Contribution has been received by Licensor and
+ *       subsequently incorporated within the Work.
+ *
+ *    2. Grant of Copyright License. Subject to the terms and conditions of
+ *       this License, each Contributor hereby grants to You a perpetual,
+ *       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ *       copyright license to reproduce, prepare Derivative Works of,
+ *       publicly display, publicly perform, sublicense, and distribute the
+ *       Work and such Derivative Works in Source or Object form.
+ *
+ *    3. Grant of Patent License. Subject to the terms and conditions of
+ *       this License, each Contributor hereby grants to You a perpetual,
+ *       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ *       (except as stated in this section) patent license to make, have made,
+ *       use, offer to sell, sell, import, and otherwise transfer the Work,
+ *       where such license applies only to those patent claims licensable
+ *       by such Contributor that are necessarily infringed by their
+ *       Contribution(s) alone or by combination of their Contribution(s)
+ *       with the Work to which such Contribution(s) was submitted. If You
+ *       institute patent litigation against any entity (including a
+ *       cross-claim or counterclaim in a lawsuit) alleging that the Work
+ *       or a Contribution incorporated within the Work constitutes direct
+ *       or contributory patent infringement, then any patent licenses
+ *       granted to You under this License for that Work shall terminate
+ *       as of the date such litigation is filed.
+ *
+ *    4. Redistribution. You may reproduce and distribute copies of the
+ *       Work or Derivative Works thereof in any medium, with or without
+ *       modifications, and in Source or Object form, provided that You
+ *       meet the following conditions:
+ *
+ *       (a) You must give any other recipients of the Work or
+ *           Derivative Works a copy of this License; and
+ *
+ *       (b) You must cause any modified files to carry prominent notices
+ *           stating that You changed the files; and
+ *
+ *       (c) You must retain, in the Source form of any Derivative Works
+ *           that You distribute, all copyright, patent, trademark, and
+ *           attribution notices from the Source form of the Work,
+ *           excluding those notices that do not pertain to any part of
+ *           the Derivative Works; and
+ *
+ *       (d) If the Work includes a "NOTICE" text file as part of its
+ *           distribution, then any Derivative Works that You distribute must
+ *           include a readable copy of the attribution notices contained
+ *           within such NOTICE file, excluding those notices that do not
+ *           pertain to any part of the Derivative Works, in at least one
+ *           of the following places: within a NOTICE text file distributed
+ *           as part of the Derivative Works; within the Source form or
+ *           documentation, if provided along with the Derivative Works; or,
+ *           within a display generated by the Derivative Works, if and
+ *           wherever such third-party notices normally appear. The contents
+ *           of the NOTICE file are for informational purposes only and
+ *           do not modify the License. You may add Your own attribution
+ *           notices within Derivative Works that You distribute, alongside
+ *           or as an addendum to the NOTICE text from the Work, provided
+ *           that such additional attribution notices cannot be construed
+ *           as modifying the License.
+ *
+ *       You may add Your own copyright statement to Your modifications and
+ *       may provide additional or different license terms and conditions
+ *       for use, reproduction, or distribution of Your modifications, or
+ *       for any such Derivative Works as a whole, provided Your use,
+ *       reproduction, and distribution of the Work otherwise complies with
+ *       the conditions stated in this License.
+ *
+ *    5. Submission of Contributions. Unless You explicitly state otherwise,
+ *       any Contribution intentionally submitted for inclusion in the Work
+ *       by You to the Licensor shall be under the terms and conditions of
+ *       this License, without any additional terms or conditions.
+ *       Notwithstanding the above, nothing herein shall supersede or modify
+ *       the terms of any separate license agreement you may have executed
+ *       with Licensor regarding such Contributions.
+ *
+ *    6. Trademarks. This License does not grant permission to use the trade
+ *       names, trademarks, service marks, or product names of the Licensor,
+ *       except as required for reasonable and customary use in describing the
+ *       origin of the Work and reproducing the content of the NOTICE file.
+ *
+ *    7. Disclaimer of Warranty. Unless required by applicable law or
+ *       agreed to in writing, Licensor provides the Work (and each
+ *       Contributor provides its Contributions) on an "AS IS" BASIS,
+ *       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ *       implied, including, without limitation, any warranties or conditions
+ *       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ *       PARTICULAR PURPOSE. You are solely responsible for determining the
+ *       appropriateness of using or redistributing the Work and assume any
+ *       risks associated with Your exercise of permissions under this License.
+ *
+ *    8. Limitation of Liability. In no event and under no legal theory,
+ *       whether in tort (including negligence), contract, or otherwise,
+ *       unless required by applicable law (such as deliberate and grossly
+ *       negligent acts) or agreed to in writing, shall any Contributor be
+ *       liable to You for damages, including any direct, indirect, special,
+ *       incidental, or consequential damages of any character arising as a
+ *       result of this License or out of the use or inability to use the
+ *       Work (including but not limited to damages for loss of goodwill,
+ *       work stoppage, computer failure or malfunction, or any and all
+ *       other commercial damages or losses), even if such Contributor
+ *       has been advised of the possibility of such damages.
+ *
+ *    9. Accepting Warranty or Additional Liability. While redistributing
+ *       the Work or Derivative Works thereof, You may choose to offer,
+ *       and charge a fee for, acceptance of support, warranty, indemnity,
+ *       or other liability obligations and/or rights consistent with this
+ *       License. However, in accepting such obligations, You may act only
+ *       on Your own behalf and on Your sole responsibility, not on behalf
+ *       of any other Contributor, and only if You agree to indemnify,
+ *       defend, and hold each Contributor harmless for any liability
+ *       incurred by, or claims asserted against, such Contributor by reason
+ *       of your accepting any such warranty or additional liability.
+ *
+ *    END OF TERMS AND CONDITIONS
+ *
+ *    APPENDIX: How to apply the Apache License to your work.
+ *
+ *       To apply the Apache License to your work, attach the following
+ *       boilerplate notice, with the fields enclosed by brackets "[]"
+ *       replaced with your own identifying information. (Don't include
+ *       the brackets!)  The text should be enclosed in the appropriate
+ *       comment syntax for the file format. We also recommend that a
+ *       file or class name and description of purpose be included on the
+ *       same "printed page" as the copyright notice for easier
+ *       identification within third-party archives.
+ *
+ *    Copyright 2016 Alibaba Group
+ *
+ *    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 com.taobao.weex.dom;
+
+import com.taobao.weex.dom.flex.CSSNode;
+import com.taobao.weex.dom.flex.MeasureOutput;
+import com.taobao.weex.ui.component.WXBasicComponentType;
+import com.taobao.weex.utils.WXLogUtils;
+
+/**
+ * Created by zhengshihan on 2017/4/11.
+ */
+
+public class WXCellDomObject extends WXDomObject {
+
+  /** package **/ static final CSSNode.MeasureFunction CELL_MEASURE_FUNCTION = new MeasureFunction() {
+    @Override
+    public void measure(CSSNode node, float width, MeasureOutput measureOutput) {
+      if (node != null) {
+        CSSNode parent = node.getParent();
+        if (parent != null && parent instanceof WXRecyclerDomObject) {
+          WXRecyclerDomObject parentDom = ((WXRecyclerDomObject) parent);
+          parentDom.preCalculateCellWidth();
+          WXDomObject domObject = (WXDomObject) node;
+          if (WXBasicComponentType.CELL.equals(domObject.getType())) {
+            float w = ((WXRecyclerDomObject) parent).getColumnWidth();
+            node.setLayoutWidth(w);
+          } else if (WXBasicComponentType.HEADER.equals(domObject.getType())){
+            float w = parentDom.getAvailableWidth();
+            WXLogUtils.d("getAvailableWidth:"+w);
+            node.setLayoutWidth(w);
+          }
+        }
+      }
+    }
+  };
+
+  public WXCellDomObject() {
+    setMeasureFunction(CELL_MEASURE_FUNCTION);
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8dcc2350/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
index 049f47f..6fc86f8 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
@@ -223,8 +223,13 @@ public class WXRecyclerDomObject extends WXDomObject{
     private int mColumnCount = Constants.Value.COLUMN_COUNT_NORMAL;
     private float mColumnWidth = Constants.Value.AUTO;
     private float mColumnGap = Constants.Value.COLUMN_GAP_NORMAL;
+    private float mAvailableWidth = 0;
     private boolean mIsPreCalculateCellWidth =false;
 
+    public float getAvailableWidth() {
+        return WXViewUtils.getRealPxByWidth(mAvailableWidth,getViewPortWidth());
+    }
+
     public int getLayoutType(){
         return getAttrs().getLayoutType();
     }
@@ -259,28 +264,27 @@ public class WXRecyclerDomObject extends WXDomObject{
             mColumnWidth = getAttrs().getColumnWidth();
             mColumnGap =  getAttrs().getColumnGap();
 
-            float availableWidth = getStyleWidth()-getPadding().get(Spacing.LEFT)-getPadding().get(Spacing.RIGHT);
-            availableWidth = WXViewUtils.getWebPxByWidth(availableWidth,getViewPortWidth());
+            mAvailableWidth = getStyleWidth()-getPadding().get(Spacing.LEFT)-getPadding().get(Spacing.RIGHT);
+            mAvailableWidth = WXViewUtils.getWebPxByWidth(mAvailableWidth,getViewPortWidth());
 
             if (Constants.Value.AUTO == mColumnCount && Constants.Value.AUTO == mColumnWidth) {
                 mColumnCount = Constants.Value.COLUMN_COUNT_NORMAL;
             } else if (Constants.Value.AUTO == mColumnWidth && Constants.Value.AUTO != mColumnCount) {
-                mColumnWidth = (availableWidth - ((mColumnCount - 1) * mColumnGap)) / mColumnCount;
+                mColumnWidth = (mAvailableWidth - ((mColumnCount - 1) * mColumnGap)) / mColumnCount;
                 mColumnWidth = mColumnWidth > 0 ? mColumnWidth :0;
             } else if (Constants.Value.AUTO != mColumnWidth && Constants.Value.AUTO == mColumnCount) {
-                mColumnCount = Math.round((availableWidth + mColumnGap) / (mColumnWidth + mColumnGap)-0.5f);
+                mColumnCount = Math.round((mAvailableWidth + mColumnGap) / (mColumnWidth + mColumnGap)-0.5f);
                 mColumnCount = mColumnCount > 0 ? mColumnCount :1;
-                mColumnWidth =((availableWidth + mColumnGap) / mColumnCount) - mColumnGap;
+                mColumnWidth =((mAvailableWidth + mColumnGap) / mColumnCount) - mColumnGap;
             } else if(Constants.Value.AUTO != mColumnWidth && Constants.Value.AUTO != mColumnCount){
-                int columnCount = Math.round((availableWidth + mColumnGap) / (mColumnWidth + mColumnGap)-0.5f);
+                int columnCount = Math.round((mAvailableWidth + mColumnGap) / (mColumnWidth + mColumnGap)-0.5f);
                 mColumnCount = columnCount > mColumnCount ? mColumnCount :columnCount;
-                mColumnWidth= ((availableWidth + mColumnGap) / mColumnCount) - mColumnGap;
+                mColumnWidth= ((mAvailableWidth + mColumnGap) / mColumnCount) - mColumnGap;
             }
             mIsPreCalculateCellWidth = true;
             if(WXEnvironment.isApkDebugable()) {
                 WXLogUtils.d("preCalculateCellWidth mColumnGap :" + mColumnGap + " mColumnWidth:" + mColumnWidth + " mColumnCount:" + mColumnCount);
             }
-
         }
     }
 
@@ -305,13 +309,4 @@ public class WXRecyclerDomObject extends WXDomObject{
         }
     }
 
-    @Override
-    public void updateStyle(Map<String, Object> styles, boolean byPesudo) {
-        super.updateStyle(styles, byPesudo);
-        if(styles.containsKey(Constants.Name.PADDING)
-                ||styles.containsKey(Constants.Name.PADDING_LEFT)
-                || styles.containsKey(Constants.Name.PADDING_RIGHT)){
-            preCalculateCellWidth();
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8dcc2350/test/pages/components/recycler.vue
----------------------------------------------------------------------
diff --git a/test/pages/components/recycler.vue b/test/pages/components/recycler.vue
index ae52e7a..46ad0d9 100644
--- a/test/pages/components/recycler.vue
+++ b/test/pages/components/recycler.vue
@@ -24,7 +24,8 @@
         </div>
       </div>
     </header>
-    <header class="stickyHeader" test-id="header2">
+    <header  class="stickyHeader" >
+      <div class="header2" test-id="header2">
       <div v-if="stickyHeaderType === 'none'" class="stickyWrapper">
         <text class="stickyText" test-id="stickyText1">Sticky Header</text>
       </div>
@@ -38,11 +39,13 @@
           <image class="stickyImage" :src="disappearImage"></image>
         </div>
       </div>
+     
       <div v-if="stickyHeaderType === 'scroll'" class="stickyWrapper">
         <text class="stickyText">Content Offset:{{contentOffset}}</text>
       </div>
+     </div>
     </header>
-    <cell v-for="(item, index) in items" :key="item.src" class="cell" :test-id="'cell' + index" ref="index">
+  <cell v-for="(item, index) in items" :key="item.src" class="cell" :test-id="'cell' + index" ref="index">
       <div class="item" @click="onItemclick(item.behaviour, index)" @appear="itemAppear(item.src)" @disappear="itemDisappear(item.src)">
         <text v-if="item.name" class="itemName">{{item.name}}</text>
         <image class="itemPhoto" :src="item.src"></image>
@@ -50,8 +53,10 @@
         <text v-if="item.behaviourName" class="itemClickBehaviour"> {{item.behaviourName}}</text>
       </div>
     </cell>
-    <header class="footer" ref="footer" test-id="footer1" >
+    <header>
+      <div  class="footer" ref="footer" test-id="footer1">
       <text class="stickyText">Footer</text>
+      </div>
     </header>
     <div ref="fixed" class="fixedItem" test-id="fixed1" @click="scrollToNext">
       <text class="fixedText">bot</text>
@@ -142,6 +147,12 @@
   }
   .stickyHeader {
     position: sticky;
+    /*height: 94;
+    flex-direction: row;
+    padding-bottom:6;*/
+  }
+  .header2 {
+    position: sticky;
     height: 94;
     flex-direction: row;
     padding-bottom:6;
@@ -447,7 +458,7 @@
       },
 
       scrollToNext: function() {
-        weex.requireModule('dom').scrollToElement(this.$refs.footer)
+        weex.requireModule('dom').scrollToElement(this.$refs.footer,{})
       },
 
       setRecyclerPadding: function() {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8dcc2350/test/scripts/components/recycler.test.js
----------------------------------------------------------------------
diff --git a/test/scripts/components/recycler.test.js b/test/scripts/components/recycler.test.js
index 9850945..f03f08c 100644
--- a/test/scripts/components/recycler.test.js
+++ b/test/scripts/components/recycler.test.js
@@ -11,32 +11,17 @@ var util = require("../util.js");
 const platform = process.env.platform.toLowerCase() || 'android';
 const isAndroid = platform === 'android';
 
-// const fixedPath = '//div[1]'
-// const header1Path = '//recycler[1]/div[1]/'
-// const header2Path = '//recycler[1]/div[2]/'
-// const cell1Path = isAndroid ? '//recycler[1]/div[3]/' : '//recycler[1]/cell[1]/'
-// const cell2Path = isAndroid ? '//recycler[1]/div[4]/' : '//recycler[1]/cell[2]/'
-// const cell3Path = isAndroid ? '//recycler[1]/div[5]/' : '//recycler[1]/cell[3]/'
-// const cell4Path = isAndroid ? '//recycler[1]/div[6]/' : '//recycler[1]/cell[4]/'
-// const cell27Path = isAndroid ? '//recycler[1]/div[29]/' : '//recycler[1]/cell[27]/'
-// const cell28Path = isAndroid ? '//recycler[1]/div[30]/' : '//recycler[1]/cell[28]/'
-// const cell29Path = isAndroid ? '//recycler[1]/div[31]/' : '//recycler[1]/cell[29]/'
-// const cell30Path = isAndroid ? '//recycler[1]/div[32]/' : '//recycler[1]/cell[30]/'
-// const footerPath = '//recycler[1]/div[1]'
-
 const isApproximate = (x, y) =>  {
-  return Math.abs(x - y) <= (isAndroid ? 1 : 1.5)
+  return Math.abs(x - y) <= (isAndroid ? 2 : 1.5)
 }
 
-// if (isAndroid) {
-//   return;
-// }
-
 describe('recycler', function () {
   this.timeout(util.getTimeoutMills())
   const driver = util.createDriver(wd)
 
   before(function () {
+
+    console.log(util.getPage('/components/recycler.js'))
     return util.init(driver)
       .get(util.getPage('/components/recycler.js'))
       .waitForElementById('waterfall',util.getGETActionWaitTimeMills(),1000)
@@ -58,9 +43,11 @@ describe('recycler', function () {
     .then(size=>{
       scaleFactor = size.width / 750
       screenHeight = size.height
-      recyclerWidth = isAndroid ? (size.width + 12) : 750 * scaleFactor
+      recyclerWidth = 750 * scaleFactor
       console.log(`screen size:${JSON.stringify(size)}`)
       console.log(`scale factor:${scaleFactor}`)
+      console.log(`recyclerWidth:${recyclerWidth}`)
+      console.log(`screenHeight:${screenHeight}`)
     })
     .sleep(2000)
     .elementById('waterfall')
@@ -128,7 +115,7 @@ describe('recycler', function () {
 
   it('#2 test column count', () => {
     return driver
-   .elementById('cell2')
+    .elementById('cell2')
     .click()
     .elementById('cell0')
     .getRect()
@@ -217,6 +204,10 @@ describe('recycler', function () {
     .getRect()
     .then((rect)=>{
       console.log(`cell 1 rect after changing column width to 600:${JSON.stringify(rect)}`)
+      console.log(`navBarHeight:${navBarHeight}`)
+      console.log(`scaleFactor:${scaleFactor}`)
+      console.log(`recyclerWidth:${recyclerWidth}`)
+
       cell1Height = rect.height
       assert.isOk(isApproximate(rect.x, 0))
       assert.isOk(isApproximate(rect.y, navBarHeight + 471 * scaleFactor))
@@ -313,7 +304,6 @@ describe('recycler', function () {
     .getRect()
     .then((rect)=>{
       console.log(`cell 28 rect after moving cell 30 to 1:${JSON.stringify(rect)}`)
-      assert.isOk(isApproximate(rect.x, 381 * scaleFactor))
       assert.isOk(isApproximate(rect.y, screenHeight - 94 * scaleFactor - rect.height))
       assert.isOk(isApproximate(rect.width, 369 * scaleFactor))
     })
@@ -329,8 +319,9 @@ describe('recycler', function () {
     .getRect()
     .then((rect)=>{
       console.log(`sticking header rect after setting padding to 12:${JSON.stringify(rect)}`)
+  
       assert.isOk(isApproximate(rect.x, 12 * scaleFactor))
-      assert.isOk(isApproximate(rect.y, navBarHeight))
+      assert.isOk(isApproximate(rect.y, navBarHeight+12 * scaleFactor))
       assert.isOk(isApproximate(rect.width, recyclerWidth - 24 * scaleFactor))
       assert.isOk(isApproximate(rect.height, 94 * scaleFactor))
     })
@@ -343,33 +334,24 @@ describe('recycler', function () {
       assert.isOk(isApproximate(rect.width, recyclerWidth - 24 * scaleFactor))
       assert.isOk(isApproximate(rect.height, 94 * scaleFactor))
     })
-    .elementById('cell27')
+    .elementById('cell26')
     .getRect()
     .then((rect)=>{
-      console.log(`cell 27 rect after setting padding to 12:${JSON.stringify(rect)}`)
+      console.log(`cell 26 rect after setting padding to 12:${JSON.stringify(rect)}`)
       assert.isOk(isApproximate(rect.x, 12 * scaleFactor))
       assert.isOk(isApproximate(rect.width, 357 * scaleFactor))
     })
-    .elementById('cell28')
-    .getRect()
-    .then((rect)=>{
-      console.log(`cell 28 rect after setting padding to 12:${JSON.stringify(rect)}`)
-      assert.isOk(isApproximate(rect.x, 381 * scaleFactor))
-      assert.isOk(isApproximate(rect.width, 357 * scaleFactor))
-    })
-     .elementById('cell27')
-    .click()
   })
 
   it('#11 test onscroll', () => {
     let originContentOffset = 0
     return driver
-    .elementById('cell28')
+    .elementById('cell27')
     .getRect()
     .then((rect)=>{
       console.log(`cell 29 rect:${JSON.stringify(rect)}`)
     })
-    .elementById('cell28')
+    .elementById('cell27')
     .click()
     .elementById('stickyText1')
     .text() 
@@ -385,7 +367,7 @@ describe('recycler', function () {
     .then(text => {
       console.log(text)
       const contentOffset = Number.parseInt(text.replace('Content Offset:-',''))
-      assert.isOk(originContentOffset - contentOffset > screenHeight / scaleFactor)
+       assert.isOk(originContentOffset - contentOffset > screenHeight / scaleFactor)
     })
     .elementById('fixed1')
     .click()
@@ -394,7 +376,7 @@ describe('recycler', function () {
   it('#12 test scrollable', () => {
     let originContentOffset = 0
     return driver
-    .elementById('cell26')
+    .elementById('cell25')
     .click()
     .elementById('stickyText1')
     .text()


[28/50] incubator-weex git commit: Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/64b08576
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/64b08576
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/64b08576

Branch: refs/heads/dev
Commit: 64b08576b6e916dcc8f4c87d5917f8073fc4d38e
Parents: 24e8ba0 c22d8e4
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 15:35:05 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 15:35:05 2017 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/view/IRenderResult.java  | 221 ++-----------------
 1 file changed, 17 insertions(+), 204 deletions(-)
----------------------------------------------------------------------



[42/50] incubator-weex git commit: Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/8c90235c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/8c90235c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/8c90235c

Branch: refs/heads/dev
Commit: 8c90235c2b464ad224d09c984b699220c00a920e
Parents: b932600 3806842
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 10:31:45 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 10:31:45 2017 +0800

----------------------------------------------------------------------
 android/sdk/assets/main.js        | 15 ++++++++-------
 ios/sdk/WeexSDK/Resources/main.js | 15 ++++++++-------
 2 files changed, 16 insertions(+), 14 deletions(-)
----------------------------------------------------------------------



[50/50] incubator-weex git commit: Merge branch 'dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into dev

Posted by so...@apache.org.
Merge branch 'dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/fcd362bc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/fcd362bc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/fcd362bc

Branch: refs/heads/dev
Commit: fcd362bccdf34556962ea52bf938257b832b2b27
Parents: ea6a54c d25919f
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 13:16:07 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 13:16:07 2017 +0800

----------------------------------------------------------------------
 doc/source/cn/guide/integrate-to-your-app.md       | 11 ++++++-----
 doc/source/cn/references/advanced/extend-to-ios.md |  6 ++++++
 doc/source/guide/integrate-to-your-app.md          |  5 +++--
 doc/source/references/advanced/extend-to-ios.md    |  6 ++++++
 4 files changed, 21 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[20/50] incubator-weex git commit: Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/579a2b32
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/579a2b32
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/579a2b32

Branch: refs/heads/dev
Commit: 579a2b320a85439105a1a9651eda3ef43b2d5851
Parents: 419d019 ac49663
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 12:11:28 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 12:11:28 2017 +0800

----------------------------------------------------------------------
 .../java/com/taobao/weex/WXSDKInstance.java     | 25 ++++++++++++++++++++
 .../taobao/weex/dom/action/AnimationAction.java |  3 ++-
 .../taobao/weex/ui/component/WXComponent.java   | 14 ++++++++---
 doc/source/cn/references/modules/modal.md       |  2 ++
 doc/source/references/modules/modal.md          |  2 ++
 .../Sources/Component/WXImageComponent.m        |  6 ++---
 .../Sources/Display/WXComponent+Display.m       |  2 +-
 7 files changed, 45 insertions(+), 9 deletions(-)
----------------------------------------------------------------------



[47/50] incubator-weex git commit: * [android] update recover setproperty

Posted by so...@apache.org.
* [android] update recover setproperty


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b5990a14
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b5990a14
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b5990a14

Branch: refs/heads/dev
Commit: b5990a14287dd49b35259cf7313c67818d0c9c76
Parents: 715823d
Author: xkli <56...@qq.com>
Authored: Thu Apr 13 11:46:02 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Thu Apr 13 11:46:02 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/ui/component/WXComponent.java  | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b5990a14/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index ef1a5b9..b7bc0ed 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -607,10 +607,10 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
           setBackgroundColor(bgColor);
         return true;
       case Constants.Name.BACKGROUND_IMAGE:
-        /**
-         * Since the gradient color needs to depend on the layout to be completed,
-         * the settings are moved to the {@link #onFinishLayout()} method
-         * **/
+        String bgImage = WXUtils.getString(param, null);
+        if (bgImage != null && mHost != null) {
+          setBackgroundImage(bgImage);
+        }
         return true;
       case Constants.Name.OPACITY:
         Float opacity = WXUtils.getFloat(param,null);


[34/50] incubator-weex git commit: Merge branch '0.12-dev' into 0.12-dev-feature-jsfm0.20.3

Posted by so...@apache.org.
Merge branch '0.12-dev' into 0.12-dev-feature-jsfm0.20.3


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3ea37642
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3ea37642
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3ea37642

Branch: refs/heads/dev
Commit: 3ea37642800bdbe87f0e011244e8508248c39de8
Parents: 3fb44b0 b92bf6f
Author: atomtong <to...@qq.com>
Authored: Wed Apr 12 16:24:27 2017 +0800
Committer: atomtong <to...@qq.com>
Committed: Wed Apr 12 16:24:27 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/WXSDKEngine.java  |   3 +
 .../java/com/taobao/weex/WXSDKInstance.java     |  25 +++++
 .../com/taobao/weex/dom/WXCellDomObject.java    |  57 ++++++++++
 .../taobao/weex/dom/WXRecyclerDomObject.java    |  29 +++--
 .../taobao/weex/dom/action/AnimationAction.java |   3 +-
 .../taobao/weex/ui/component/WXComponent.java   |  16 ++-
 .../com/taobao/weex/ui/component/WXDiv.java     |   4 +-
 .../com/taobao/weex/ui/view/IRenderResult.java  |  26 +++++
 .../com/taobao/weex/ui/view/WXFrameLayout.java  |  19 +++-
 .../com/taobao/weex/ui/view/WXImageView.java    |   9 +-
 .../com/taobao/weex/ui/view/WXTextView.java     |   9 +-
 .../com/taobao/weex/utils/WXResourceUtils.java  | 105 +++++++++----------
 .../taobao/weex/ui/component/WXTextTest.java    |   5 +-
 .../taobao/weex/utils/WXResourceUtilsTest.java  |  13 +--
 dangerfile.js                                   |  11 +-
 doc/source/cn/references/modules/modal.md       |   2 +
 doc/source/references/modules/modal.md          |   2 +
 html5/render/browser/base/component/lazyload.js |   1 -
 html5/render/browser/extend/api/webSocket.js    |   1 -
 .../browser/extend/components/image/index.js    |   1 -
 .../extend/components/scrollable/motion.js      |   1 -
 .../extend/components/scrollable/scrollable.js  |   1 -
 html5/render/browser/utils/index.js             |   1 -
 .../Sources/Component/WXImageComponent.m        |   6 +-
 .../Sources/Display/WXComponent+Display.m       |   2 +-
 package.json                                    |   2 +-
 test/ci-funcs.sh                                |   1 +
 test/pages/components/recycler.vue              |  19 +++-
 test/pages/slider-infinite.vue                  |  11 +-
 test/scripts/components/recycler.test.js        |  56 ++++------
 test/scripts/components/slider-infinite.test.js |  15 +--
 31 files changed, 296 insertions(+), 160 deletions(-)
----------------------------------------------------------------------



[31/50] incubator-weex git commit: * [android] Fix opacity issue

Posted by so...@apache.org.
* [android] Fix opacity issue


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2deccfdb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2deccfdb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2deccfdb

Branch: refs/heads/dev
Commit: 2deccfdbf761ce932c0c03c76454b532daf04148
Parents: c22d8e4
Author: YorkShen <sh...@gmail.com>
Authored: Wed Apr 12 15:57:03 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Wed Apr 12 15:57:03 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/ui/component/WXComponent.java    | 6 ++++--
 .../src/test/java/com/taobao/weex/ui/component/WXTextTest.java | 5 ++---
 2 files changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2deccfdb/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 52cad7c..5aa791a 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -1059,8 +1059,10 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
   }
 
   public void setOpacity(float opacity) {
-    if (opacity >= 0 && opacity <= 1 && mHost.getAlpha() != opacity && isLayerTypeEnabled()) {
-      mHost.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+    if (opacity >= 0 && opacity <= 1 && mHost.getAlpha() != opacity) {
+      if (isLayerTypeEnabled()) {
+        mHost.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+      }
       mHost.setAlpha(opacity);
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2deccfdb/android/sdk/src/test/java/com/taobao/weex/ui/component/WXTextTest.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/test/java/com/taobao/weex/ui/component/WXTextTest.java b/android/sdk/src/test/java/com/taobao/weex/ui/component/WXTextTest.java
index 108a2e9..0181457 100644
--- a/android/sdk/src/test/java/com/taobao/weex/ui/component/WXTextTest.java
+++ b/android/sdk/src/test/java/com/taobao/weex/ui/component/WXTextTest.java
@@ -26,9 +26,8 @@ import com.taobao.weex.dom.TestDomObject;
 import com.taobao.weex.dom.WXDomObject;
 import com.taobao.weex.dom.WXTextDomObject;
 import com.taobao.weex.dom.flex.Spacing;
-
 import com.taobao.weex.ui.SimpleComponentHolder;
-import org.apache.tools.ant.taskdefs.EchoXML;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -157,7 +156,7 @@ public class WXTextTest {
         prop.put(Constants.Name.OPACITY, 0.8f);
         mWXText.updateProperties(prop);
         assertTrue(mWXText.getHostView().isEnabled());
-        assertTrue(mWXText.getHostView().getAlpha()>=0.799 && mWXText.getHostView().getAlpha()<=0.811);
+        assertEquals(0.8f, mWXText.getHostView().getAlpha(), 0.001f);
 
         prop.put(Constants.Name.DISABLED, "true");
         mWXText.updateProperties(prop);


[17/50] incubator-weex git commit: * [android] update modify LinearGradient

Posted by so...@apache.org.
* [android] update modify LinearGradient


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/715823da
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/715823da
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/715823da

Branch: refs/heads/dev
Commit: 715823da31ac1e397d077329d061210b6beac216
Parents: c469378
Author: xkli <56...@qq.com>
Authored: Wed Apr 12 11:35:47 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Wed Apr 12 11:35:47 2017 +0800

----------------------------------------------------------------------
 .../src/main/java/com/taobao/weex/ui/component/WXComponent.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/715823da/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index a8626d5..ef1a5b9 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -489,8 +489,8 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
    * DOM can be changed in js runtime.
    */
   protected void onFinishLayout() {
-    Object param=mDomObj.getStyles().get(Constants.Name.BACKGROUND_IMAGE);
-    if(param!=null){
+    Object param = mDomObj.getStyles() != null ? mDomObj.getStyles().get(Constants.Name.BACKGROUND_IMAGE) : null;
+    if (param != null) {
       setBackgroundImage(param.toString());
     }
   }


[10/50] incubator-weex git commit: Merge branch '0.12-dev' into 0.12-dev-feature-jsfm0.20.3

Posted by so...@apache.org.
Merge branch '0.12-dev' into 0.12-dev-feature-jsfm0.20.3


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3fb44b03
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3fb44b03
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3fb44b03

Branch: refs/heads/dev
Commit: 3fb44b03582bac1e8ae06586caa0db6a44832b93
Parents: ca89012 c92617a
Author: atomtong <to...@qq.com>
Authored: Wed Apr 12 10:36:32 2017 +0800
Committer: atomtong <to...@qq.com>
Committed: Wed Apr 12 10:36:32 2017 +0800

----------------------------------------------------------------------
 DISCLAIMER                                      |   1 +
 LICENSE                                         |   2 +-
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 122 ++++++++++++++++++-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m     |   6 +-
 test/run.sh                                     |   9 +-
 test/scripts/components/recycler.test.js        |   2 +-
 6 files changed, 130 insertions(+), 12 deletions(-)
----------------------------------------------------------------------



[49/50] incubator-weex git commit: Merge branch '0.12-dev' into dev

Posted by so...@apache.org.
Merge branch '0.12-dev' into dev

# Conflicts:
#	doc/source/cn/references/modules/dom.md
#	doc/source/references/modules/dom.md
#	ios/sdk/WeexSDK/Sources/Display/WXComponent+BoxShadow.m
#	ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.h
#	ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ea6a54c8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ea6a54c8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ea6a54c8

Branch: refs/heads/dev
Commit: ea6a54c8422081a1603322883522670e3803012e
Parents: 5a15881 3900678
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 13:15:30 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 13:15:30 2017 +0800

----------------------------------------------------------------------
 .eslintignore                                   |    1 +
 .eslintrc                                       |    3 +
 .gitignore                                      |    2 +-
 .rat-excludes                                   |   11 +
 .travis.yml                                     |    4 +-
 CHANGELOG.md                                    |    7 +
 DISCLAIMER                                      |    1 +
 LICENSE                                         |    2 +-
 NOTICE                                          |   15 +-
 README.md                                       |   50 +-
 android/commons/build.gradle                    |    3 +-
 .../alibaba/weex/commons/ApplicationTest.java   |  222 +--
 .../weex/commons/AbstractWeexActivity.java      |  246 +---
 .../weex/commons/SimpleWeexActivity.java        |  220 +--
 .../weex/commons/WXAnalyzerDelegate.java        |  220 +--
 .../alibaba/weex/commons/adapter/BlurTool.java  |  220 +--
 .../commons/adapter/BlurTransformation.java     |  222 +--
 .../adapter/DefaultWebSocketAdapter.java        |  220 +--
 .../adapter/DefaultWebSocketAdapterFactory.java |  220 +--
 .../commons/adapter/FrescoImageAdapter.java     |  220 +--
 .../commons/adapter/FrescoImageComponent.java   |  220 +--
 .../weex/commons/adapter/FrescoImageView.java   |  220 +--
 .../weex/commons/adapter/ImageAdapter.java      |  220 +--
 .../commons/adapter/JSExceptionAdapter.java     |  220 +--
 .../alibaba/weex/commons/util/AssertUtil.java   |  220 +--
 .../alibaba/weex/commons/util/ScreenUtil.java   |  220 +--
 android/playground/app/build.gradle             |    3 +-
 .../java/com/alibaba/weex/ApplicationTest.java  |   20 +-
 .../com/alibaba/weex/WeappJsBaseTestCase.java   |   18 +
 .../benchmark/BenchmarkActivityTestRule.java    |  218 +--
 .../alibaba/weex/benchmark/BenchmarkTest.java   |  218 +--
 .../com/alibaba/weex/benchmark/BoxPlot.java     |  218 +--
 .../java/com/alibaba/weex/benchmark/Repeat.java |  218 +--
 .../com/alibaba/weex/benchmark/RepeatRule.java  |  218 +--
 .../weex/benchmark/WeexNativeCompareTest.java   |  218 +--
 .../java/com/alibaba/weex/util/Falcon.java      |   18 +
 .../java/com/alibaba/weex/util/ScreenShot.java  |   18 +
 .../com/alibaba/weex/util/SdCardHelper.java     |   18 +
 .../java/com/alibaba/weex/util/TestFlow.java    |   18 +
 .../java/com/alibaba/weex/util/ViewUtil.java    |   18 +
 .../playground/app/src/main/assets/animation.js |   11 +-
 .../app/src/main/assets/component/a-demo.js     |   11 +-
 .../src/main/assets/component/countdown-demo.js |   11 +-
 .../app/src/main/assets/component/image-demo.js |   11 +-
 .../app/src/main/assets/component/input-demo.js |   11 +-
 .../main/assets/component/list/list-basic.js    |    8 +
 .../assets/component/list/list-demo-horizon.js  |    8 +
 .../src/main/assets/component/list/list-demo.js |    8 +
 .../src/main/assets/component/marquee-demo.js   |   11 +-
 .../src/main/assets/component/navigator-demo.js |   15 +-
 .../main/assets/component/process-bar-demo.js   |   11 +-
 .../src/main/assets/component/scroller-demo.js  |   11 +-
 .../slider-neighbor/slider-neighbor-item.js     |    8 +
 .../slider-neighbor/slider-neighbor-page.js     |    8 +
 .../src/main/assets/component/slider/index.js   |   11 +-
 .../main/assets/component/slider/slider-item.js |    8 +
 .../main/assets/component/slider/slider-page.js |    8 +
 .../main/assets/component/tabbar/tabbar-demo.js |   15 +-
 .../main/assets/component/tabbar/tabbar-item.js |    8 +
 .../app/src/main/assets/component/text-demo.js  |   11 +-
 .../app/src/main/assets/component/video-demo.js |   11 +-
 .../app/src/main/assets/component/web-demo.js   |   11 +-
 android/playground/app/src/main/assets/hello.js |    8 +
 .../playground/app/src/main/assets/iconfont.js  |    8 +
 .../app/src/main/assets/module/clipboard.js     |   11 +-
 .../com/alibaba/weex/BenchmarkActivity.java     |  218 +--
 .../java/com/alibaba/weex/IndexActivity.java    |  226 +---
 .../java/com/alibaba/weex/SplashActivity.java   |  220 +--
 .../src/main/java/com/alibaba/weex/Utility.java |   91 ++
 .../java/com/alibaba/weex/WXApplication.java    |  224 +--
 .../java/com/alibaba/weex/WXBaseActivity.java   |  220 +--
 .../java/com/alibaba/weex/WXDebugActivity.java  |  220 +--
 .../java/com/alibaba/weex/WXPageActivity.java   |  278 ++--
 .../com/alibaba/weex/constants/Constants.java   |  220 +--
 .../alibaba/weex/extend/PlayDebugAdapter.java   |  220 +--
 .../extend/WXInstanceStatisticsListener.java    |   82 ++
 .../extend/adapter/InterceptWXHttpAdapter.java  |  220 +--
 .../alibaba/weex/extend/component/RichText.java |  220 +--
 .../extend/component/WXComponentSyncTest.java   |  220 +--
 .../alibaba/weex/extend/component/WXMask.java   |  126 +-
 .../extend/component/dom/WXMaskDomObject.java   |  220 +--
 .../weex/extend/module/GeolocationModule.java   |  220 +--
 .../alibaba/weex/extend/module/MyModule.java    |  220 +--
 .../weex/extend/module/RenderModule.java        |  220 +--
 .../weex/extend/module/SyncTestModule.java      |  220 +--
 .../weex/extend/module/WXEventModule.java       |  220 +--
 .../extend/module/location/DefaultLocation.java |  222 +--
 .../weex/extend/module/location/ILocatable.java |  220 +--
 .../extend/module/location/LocationFactory.java |  220 +--
 .../alibaba/weex/extend/view/WXMaskView.java    |  220 +--
 .../alibaba/weex/https/HotRefreshManager.java   |  220 +--
 .../com/alibaba/weex/https/WXHttpManager.java   |  220 +--
 .../com/alibaba/weex/https/WXHttpResponse.java  |  220 +--
 .../java/com/alibaba/weex/https/WXHttpTask.java |  220 +--
 .../alibaba/weex/https/WXOkHttpDispatcher.java  |  220 +--
 .../alibaba/weex/https/WXRequestListener.java   |  220 +--
 .../app/src/main/res/layout/id_stub.xml         |   57 +
 android/sdk/assets/main.js                      |   15 +-
 android/sdk/build.gradle                        |    2 +
 android/sdk/libs/armeabi/libweexv8.so           |  Bin 3583820 -> 3579944 bytes
 android/sdk/libs/x86/libweexv8.so               |  Bin 4336768 -> 4545544 bytes
 android/sdk/license/LICENSE                     |  218 +--
 .../taobao/weex/IWXActivityStateListener.java   |  220 +--
 .../java/com/taobao/weex/IWXRenderListener.java |  220 +--
 .../com/taobao/weex/IWXStatisticsListener.java  |   66 +
 .../main/java/com/taobao/weex/InitConfig.java   |  234 +---
 .../java/com/taobao/weex/RenderContainer.java   |  220 +--
 .../java/com/taobao/weex/WXEnvironment.java     |  256 +---
 .../com/taobao/weex/WXGlobalEventModule.java    |  126 +-
 .../com/taobao/weex/WXGlobalEventReceiver.java  |  220 +--
 .../java/com/taobao/weex/WXRenderErrorCode.java |  220 +--
 .../main/java/com/taobao/weex/WXSDKEngine.java  |  137 +-
 .../java/com/taobao/weex/WXSDKInstance.java     |  340 ++---
 .../main/java/com/taobao/weex/WXSDKManager.java |  236 ++--
 .../taobao/weex/adapter/DefaultUriAdapter.java  |  228 +---
 .../weex/adapter/DefaultWXHttpAdapter.java      |  220 +--
 .../taobao/weex/adapter/DrawableStrategy.java   |  218 +--
 .../taobao/weex/adapter/IDrawableLoader.java    |  218 +--
 .../taobao/weex/adapter/IWXDebugAdapter.java    |  220 +--
 .../com/taobao/weex/adapter/IWXHttpAdapter.java |  220 +--
 .../weex/adapter/IWXImgLoaderAdapter.java       |  220 +--
 .../weex/adapter/IWXJSExceptionAdapter.java     |  220 +--
 .../taobao/weex/adapter/IWXSoLoaderAdapter.java |   50 +
 .../weex/adapter/IWXUserTrackAdapter.java       |  220 +--
 .../com/taobao/weex/adapter/URIAdapter.java     |  220 +--
 .../com/taobao/weex/annotation/Component.java   |  220 +--
 .../com/taobao/weex/annotation/JSMethod.java    |  220 +--
 .../weex/appfram/clipboard/IWXClipboard.java    |  220 +--
 .../appfram/clipboard/WXClipboardModule.java    |  220 +--
 .../navigator/IActivityNavBarSetter.java        |  220 +--
 .../appfram/navigator/WXNavigatorModule.java    |  130 +-
 .../weex/appfram/pickers/DatePickerImpl.java    |  220 +--
 .../weex/appfram/pickers/WXPickersModule.java   |  394 +++---
 .../weex/appfram/storage/DefaultWXStorage.java  |  220 +--
 .../taobao/weex/appfram/storage/IWXStorage.java |  220 +--
 .../weex/appfram/storage/IWXStorageAdapter.java |  220 +--
 .../appfram/storage/StorageResultHandler.java   |  220 +--
 .../appfram/storage/WXSQLiteOpenHelper.java     |  220 +--
 .../weex/appfram/storage/WXStorageModule.java   |  220 +--
 .../appfram/websocket/IWebSocketAdapter.java    |  220 +--
 .../websocket/IWebSocketAdapterFactory.java     |  220 +--
 .../appfram/websocket/WebSocketCloseCodes.java  |  220 +--
 .../weex/appfram/websocket/WebSocketModule.java |  220 +--
 .../java/com/taobao/weex/bridge/Invoker.java    |  220 +--
 .../java/com/taobao/weex/bridge/JSCallback.java |  220 +--
 .../taobao/weex/bridge/JavascriptInvokable.java |  220 +--
 .../com/taobao/weex/bridge/MethodInvoker.java   |  220 +--
 .../com/taobao/weex/bridge/ModuleFactory.java   |  220 +--
 .../taobao/weex/bridge/NativeInvokeHelper.java  |  220 +--
 .../taobao/weex/bridge/SimpleJSCallback.java    |  220 +--
 .../java/com/taobao/weex/bridge/WXBridge.java   |  234 +---
 .../com/taobao/weex/bridge/WXBridgeManager.java |  293 ++--
 .../java/com/taobao/weex/bridge/WXHashMap.java  |  220 +--
 .../java/com/taobao/weex/bridge/WXJSObject.java |  220 +--
 .../com/taobao/weex/bridge/WXModuleManager.java |  220 +--
 .../java/com/taobao/weex/bridge/WXParams.java   |  156 +--
 .../taobao/weex/bridge/WXServiceManager.java    |  220 +--
 .../java/com/taobao/weex/bridge/WXTask.java     |  220 +--
 .../taobao/weex/bridge/WXValidateProcessor.java |  220 +--
 .../java/com/taobao/weex/common/Constants.java  |  232 +---
 .../com/taobao/weex/common/Destroyable.java     |  220 +--
 .../java/com/taobao/weex/common/IWXBridge.java  |  229 +---
 .../com/taobao/weex/common/IWXDebugProxy.java   |  220 +--
 .../java/com/taobao/weex/common/IWXObject.java  |  220 +--
 .../java/com/taobao/weex/common/IWXTask.java    |  220 +--
 .../taobao/weex/common/OnWXScrollListener.java  |  143 +-
 .../taobao/weex/common/TypeModuleFactory.java   |  220 +--
 .../com/taobao/weex/common/WXCompatModule.java  |  220 +--
 .../java/com/taobao/weex/common/WXConfig.java   |  220 +--
 .../com/taobao/weex/common/WXErrorCode.java     |  220 +--
 .../com/taobao/weex/common/WXException.java     |  220 +--
 .../com/taobao/weex/common/WXImageSharpen.java  |  220 +--
 .../com/taobao/weex/common/WXImageStrategy.java |  222 +--
 .../com/taobao/weex/common/WXInstanceWrap.java  |  220 +--
 .../taobao/weex/common/WXJSBridgeMsgType.java   |  221 +--
 .../taobao/weex/common/WXJSEngineListener.java  |  220 +--
 .../taobao/weex/common/WXJSExceptionInfo.java   |  220 +--
 .../com/taobao/weex/common/WXJSService.java     |  220 +--
 .../java/com/taobao/weex/common/WXModule.java   |  220 +--
 .../com/taobao/weex/common/WXModuleAnno.java    |  222 +--
 .../com/taobao/weex/common/WXPerformance.java   |  222 +--
 .../com/taobao/weex/common/WXRefreshData.java   |  220 +--
 .../taobao/weex/common/WXRenderStrategy.java    |  223 +--
 .../java/com/taobao/weex/common/WXRequest.java  |  220 +--
 .../taobao/weex/common/WXRequestListener.java   |  220 +--
 .../java/com/taobao/weex/common/WXResponse.java |  220 +--
 .../taobao/weex/common/WXRuntimeException.java  |  220 +--
 .../java/com/taobao/weex/common/WXThread.java   |  220 +--
 .../com/taobao/weex/dom/ApplyStyleConsumer.java |   59 +
 .../taobao/weex/dom/BasicEditTextDomObject.java |  220 +--
 .../com/taobao/weex/dom/CSSAlignConvert.java    |  220 +--
 .../weex/dom/CSSFlexDirectionConvert.java       |  220 +--
 .../com/taobao/weex/dom/CSSJustifyConvert.java  |  220 +--
 .../taobao/weex/dom/CSSPositionTypeConvert.java |  220 +--
 .../com/taobao/weex/dom/CSSWrapConvert.java     |  220 +--
 .../java/com/taobao/weex/dom/DOMAction.java     |   30 +
 .../com/taobao/weex/dom/DOMActionContext.java   |   69 +
 .../taobao/weex/dom/DOMActionContextImpl.java   |  434 ++++++
 .../java/com/taobao/weex/dom/DomContext.java    |  220 +--
 .../com/taobao/weex/dom/ImmutableDomObject.java |  220 +--
 .../java/com/taobao/weex/dom/RenderAction.java  |   29 +
 .../taobao/weex/dom/RenderActionContext.java    |   32 +
 .../com/taobao/weex/dom/RenderActionTask.java   |   41 +
 .../weex/dom/SafePutConcurrentHashMap.java      |  220 +--
 .../weex/dom/TextAreaEditTextDomObject.java     |  220 +--
 .../main/java/com/taobao/weex/dom/WXAttr.java   |  220 +--
 .../com/taobao/weex/dom/WXCellDomObject.java    |   57 +
 .../com/taobao/weex/dom/WXCustomStyleSpan.java  |  220 +--
 .../java/com/taobao/weex/dom/WXDomHandler.java  |  302 +----
 .../java/com/taobao/weex/dom/WXDomManager.java  |  520 +------
 .../java/com/taobao/weex/dom/WXDomModule.java   |  659 +--------
 .../java/com/taobao/weex/dom/WXDomObject.java   |  224 +--
 .../com/taobao/weex/dom/WXDomObjectFactory.java |  220 +--
 .../java/com/taobao/weex/dom/WXDomRegistry.java |  220 +--
 .../com/taobao/weex/dom/WXDomStatement.java     | 1272 ------------------
 .../java/com/taobao/weex/dom/WXDomTask.java     |  220 +--
 .../main/java/com/taobao/weex/dom/WXEvent.java  |  220 +--
 .../com/taobao/weex/dom/WXImageQuality.java     |  222 +--
 .../com/taobao/weex/dom/WXLineHeightSpan.java   |  220 +--
 .../com/taobao/weex/dom/WXListDomObject.java    |  220 +--
 .../taobao/weex/dom/WXRecyclerDomObject.java    |  249 +---
 .../taobao/weex/dom/WXScrollerDomObject.java    |  220 +--
 .../main/java/com/taobao/weex/dom/WXStyle.java  |  220 +--
 .../com/taobao/weex/dom/WXSwitchDomObject.java  |  220 +--
 .../com/taobao/weex/dom/WXTextDomObject.java    |  220 +--
 .../dom/action/AbstractAddElementAction.java    |  127 ++
 .../dom/action/AbstractLayoutFinishAction.java  |   54 +
 .../java/com/taobao/weex/dom/action/Action.java |   26 +
 .../com/taobao/weex/dom/action/Actions.java     |  164 +++
 .../weex/dom/action/AddElementAction.java       |  109 ++
 .../taobao/weex/dom/action/AddEventAction.java  |   76 ++
 .../taobao/weex/dom/action/AddRuleAction.java   |   68 +
 .../taobao/weex/dom/action/AnimationAction.java |  278 ++++
 .../weex/dom/action/CreateBodyAction.java       |  116 ++
 .../weex/dom/action/CreateFinishAction.java     |   38 +
 .../weex/dom/action/GetComponentRectAction.java |  113 ++
 .../weex/dom/action/InvokeMethodAction.java     |   50 +
 .../weex/dom/action/MoveElementAction.java      |   95 ++
 .../weex/dom/action/RefreshFinishAction.java    |   35 +
 .../weex/dom/action/RemoveElementAction.java    |  100 ++
 .../weex/dom/action/RemoveEventAction.java      |   78 ++
 .../weex/dom/action/ScrollToElementAction.java  |   71 +
 .../weex/dom/action/UpdateAttributeAction.java  |   77 ++
 .../weex/dom/action/UpdateFinishAction.java     |   51 +
 .../weex/dom/action/UpdateStyleAction.java      |  112 ++
 .../main/java/com/taobao/weex/http/Options.java |  220 +--
 .../main/java/com/taobao/weex/http/Status.java  |  220 +--
 .../java/com/taobao/weex/http/WXHttpUtil.java   |  220 +--
 .../com/taobao/weex/http/WXStreamModule.java    |  220 +--
 .../com/taobao/weex/ui/ComponentCreator.java    |  220 +--
 .../weex/ui/ExternalLoaderComponentHolder.java  |  220 +--
 .../weex/ui/IExternalComponentGetter.java       |  220 +--
 .../taobao/weex/ui/IExternalMoudleGetter.java   |   29 +
 .../com/taobao/weex/ui/IFComponentHolder.java   |  220 +--
 .../java/com/taobao/weex/ui/IWXRenderTask.java  |  220 +--
 .../taobao/weex/ui/RenderActionContextImpl.java |  113 ++
 .../taobao/weex/ui/SimpleComponentHolder.java   |  220 +--
 .../com/taobao/weex/ui/WXComponentRegistry.java |  220 +--
 .../com/taobao/weex/ui/WXRenderHandler.java     |  220 +--
 .../com/taobao/weex/ui/WXRenderManager.java     |  411 +-----
 .../com/taobao/weex/ui/WXRenderStatement.java   |  556 --------
 .../ui/animation/BackgroundColorProperty.java   |  218 +--
 .../ui/animation/DimensionUpdateListener.java   |  224 +--
 .../weex/ui/animation/WXAnimationBean.java      |  225 +---
 .../weex/ui/animation/WXAnimationModule.java    |  419 +-----
 .../ui/component/AbstractEditComponent.java     |  270 +---
 .../weex/ui/component/AppearanceHelper.java     |  220 +--
 .../weex/ui/component/NestedContainer.java      |  222 +--
 .../taobao/weex/ui/component/Scrollable.java    |  220 +--
 .../com/taobao/weex/ui/component/Textarea.java  |  220 +--
 .../java/com/taobao/weex/ui/component/WXA.java  |  220 +--
 .../taobao/weex/ui/component/WXBaseRefresh.java |  220 +--
 .../weex/ui/component/WXBasicComponentType.java |  221 +--
 .../taobao/weex/ui/component/WXComponent.java   |  228 ++--
 .../weex/ui/component/WXComponentFactory.java   |  220 +--
 .../weex/ui/component/WXComponentProp.java      |  220 +--
 .../com/taobao/weex/ui/component/WXDiv.java     |  224 +--
 .../com/taobao/weex/ui/component/WXEmbed.java   |  268 +---
 .../com/taobao/weex/ui/component/WXHeader.java  |  220 +--
 .../com/taobao/weex/ui/component/WXImage.java   |  227 +---
 .../taobao/weex/ui/component/WXIndicator.java   |  220 +--
 .../com/taobao/weex/ui/component/WXInput.java   |  220 +--
 .../com/taobao/weex/ui/component/WXLoading.java |  220 +--
 .../weex/ui/component/WXLoadingIndicator.java   |  220 +--
 .../com/taobao/weex/ui/component/WXRefresh.java |  220 +--
 .../taobao/weex/ui/component/WXScroller.java    |  220 +--
 .../com/taobao/weex/ui/component/WXSlider.java  |  301 ++---
 .../weex/ui/component/WXSliderNeighbor.java     |  220 +--
 .../com/taobao/weex/ui/component/WXSwitch.java  |  220 +--
 .../com/taobao/weex/ui/component/WXText.java    |  228 +---
 .../weex/ui/component/WXTextDecoration.java     |  220 +--
 .../taobao/weex/ui/component/WXVContainer.java  |  220 +--
 .../com/taobao/weex/ui/component/WXVideo.java   |  220 +--
 .../com/taobao/weex/ui/component/WXWeb.java     |  220 +--
 .../component/helper/SoftKeyboardDetector.java  |  148 ++
 .../ui/component/helper/WXStickyHelper.java     |  220 +--
 .../ui/component/helper/WXTimeInputHelper.java  |  222 +--
 .../ui/component/list/BasicListComponent.java   |  220 +--
 .../component/list/HorizontalListComponent.java |  220 +--
 .../ui/component/list/ListComponentView.java    |  220 +--
 .../ui/component/list/SimpleListComponent.java  |  220 +--
 .../ui/component/list/SimpleRecyclerView.java   |  220 +--
 .../ui/component/list/StickyHeaderHelper.java   |  220 +--
 .../taobao/weex/ui/component/list/WXCell.java   |  220 +--
 .../weex/ui/component/list/WXListComponent.java |  220 +--
 .../component/pesudo/OnActivePseudoListner.java |  220 +--
 .../weex/ui/component/pesudo/PesudoStatus.java  |  220 +--
 .../pesudo/TouchActivePseudoListener.java       |  220 +--
 .../com/taobao/weex/ui/module/WXMetaModule.java |  220 +--
 .../taobao/weex/ui/module/WXModalUIModule.java  |  222 +--
 .../taobao/weex/ui/module/WXTimerModule.java    |  222 +--
 .../taobao/weex/ui/module/WXWebViewModule.java  |  220 +--
 .../com/taobao/weex/ui/view/IRenderResult.java  |   26 +
 .../com/taobao/weex/ui/view/IRenderStatus.java  |  218 +--
 .../com/taobao/weex/ui/view/IWXScroller.java    |  220 +--
 .../com/taobao/weex/ui/view/IWXTextView.java    |  220 +--
 .../java/com/taobao/weex/ui/view/IWebView.java  |  220 +--
 .../weex/ui/view/WXBaseCircleIndicator.java     |  222 +--
 .../weex/ui/view/WXBaseRefreshLayout.java       |  220 +--
 .../taobao/weex/ui/view/WXCircleIndicator.java  |  220 +--
 .../weex/ui/view/WXCirclePageAdapter.java       |  220 +--
 .../taobao/weex/ui/view/WXCircleViewPager.java  |  241 +---
 .../com/taobao/weex/ui/view/WXEditText.java     |  220 +--
 .../com/taobao/weex/ui/view/WXFrameLayout.java  |  239 +---
 .../weex/ui/view/WXHorizontalScrollView.java    |  220 +--
 .../com/taobao/weex/ui/view/WXImageView.java    |  229 +---
 .../taobao/weex/ui/view/WXLoadingLayout.java    |  220 +--
 .../taobao/weex/ui/view/WXRefreshLayout.java    |  220 +--
 .../com/taobao/weex/ui/view/WXScrollView.java   |  220 +--
 .../taobao/weex/ui/view/WXSmoothScroller.java   |  220 +--
 .../com/taobao/weex/ui/view/WXSwitchView.java   |  220 +--
 .../com/taobao/weex/ui/view/WXTextView.java     |  247 +---
 .../com/taobao/weex/ui/view/WXVideoView.java    |  220 +--
 .../java/com/taobao/weex/ui/view/WXWebView.java |  220 +--
 .../weex/ui/view/border/BorderCorner.java       |  220 +--
 .../weex/ui/view/border/BorderDrawable.java     |  222 +--
 .../taobao/weex/ui/view/border/BorderEdge.java  |  220 +--
 .../weex/ui/view/border/BorderRadiusType.java   |  218 +--
 .../taobao/weex/ui/view/border/BorderStyle.java |  220 +--
 .../taobao/weex/ui/view/border/BorderUtil.java  |  220 +--
 .../view/border/BorderWidthStyleColorType.java  |  218 +--
 .../weex/ui/view/border/BottomLeftCorner.java   |  220 +--
 .../weex/ui/view/border/BottomRightCorner.java  |  220 +--
 .../weex/ui/view/border/TopLeftCorner.java      |  220 +--
 .../weex/ui/view/border/TopRightCorner.java     |  220 +--
 .../taobao/weex/ui/view/gesture/WXGesture.java  |  235 +---
 .../ui/view/gesture/WXGestureObservable.java    |  220 +--
 .../weex/ui/view/gesture/WXGestureType.java     |  220 +--
 .../listview/ExtendedLinearLayoutManager.java   |  220 +--
 .../weex/ui/view/listview/WXRecyclerView.java   |  220 +--
 .../listview/adapter/IOnLoadMoreListener.java   |  220 +--
 .../adapter/IRecyclerAdapterListener.java       |  220 +--
 .../listview/adapter/ListBaseViewHolder.java    |  220 +--
 .../adapter/RecyclerViewBaseAdapter.java        |  222 +--
 .../adapter/TransformItemDecoration.java        |  220 +--
 .../adapter/WXRecyclerViewOnScrollListener.java |  220 +--
 .../refresh/circlebar/CircleProgressBar.java    |  222 +--
 .../circlebar/MaterialProgressDrawable.java     |  222 +--
 .../ui/view/refresh/core/WXRefreshView.java     |  220 +--
 .../ui/view/refresh/core/WXSwipeLayout.java     |  220 +--
 .../ui/view/refresh/wrapper/BaseBounceView.java |  220 +--
 .../refresh/wrapper/BounceRecyclerView.java     |  220 +--
 .../refresh/wrapper/BounceScrollerView.java     |  220 +--
 .../java/com/taobao/weex/utils/ATagUtil.java    |  226 +---
 .../main/java/com/taobao/weex/utils/FontDO.java |  222 +--
 .../com/taobao/weex/utils/FunctionParser.java   |  220 +--
 .../com/taobao/weex/utils/ImageDrawable.java    |  218 +--
 .../java/com/taobao/weex/utils/ImgURIUtil.java  |  218 +--
 .../java/com/taobao/weex/utils/LogLevel.java    |  220 +--
 .../java/com/taobao/weex/utils/OsVersion.java   |   47 +
 .../taobao/weex/utils/SingleFunctionParser.java |  218 +--
 .../main/java/com/taobao/weex/utils/Trace.java  |  115 ++
 .../com/taobao/weex/utils/TypefaceUtil.java     |  220 +--
 .../taobao/weex/utils/WXDataStructureUtil.java  |  220 +--
 .../java/com/taobao/weex/utils/WXDomUtils.java  |  218 +--
 .../java/com/taobao/weex/utils/WXFileUtils.java |  220 +--
 .../com/taobao/weex/utils/WXInterception.java   |  220 +--
 .../java/com/taobao/weex/utils/WXJsonUtils.java |  220 +--
 .../java/com/taobao/weex/utils/WXLogUtils.java  |  126 +-
 .../taobao/weex/utils/WXReflectionUtils.java    |  220 +--
 .../com/taobao/weex/utils/WXResourceUtils.java  |  325 +----
 .../taobao/weex/utils/WXSoInstallMgrSdk.java    |  271 +---
 .../java/com/taobao/weex/utils/WXUtils.java     |  304 ++---
 .../java/com/taobao/weex/utils/WXViewUtils.java |  220 +--
 .../taobao/weex/utils/batch/BactchExecutor.java |  220 +--
 .../weex/utils/batch/BatchOperationHelper.java  |  220 +--
 .../taobao/weex/utils/batch/Interceptor.java    |  220 +--
 .../test/java/com/taobao/weex/TestActivity.java |  220 +--
 .../java/com/taobao/weex/TestApplication.java   |  220 +--
 .../java/com/taobao/weex/WXSDKEngineTest.java   |  222 +--
 .../java/com/taobao/weex/WXSDKInstanceTest.java |  222 +--
 .../java/com/taobao/weex/WXSDKManagerTest.java  |  224 +--
 .../weex/adapter/DefaultUriAdapterTest.java     |  222 +--
 .../clipboard/WXClipboardModuleTest.java        |  222 +--
 .../navigator/WXNavigatorModuleTest.java        |  222 +--
 .../appfram/storage/DefaultWXStorageTest.java   |  222 +--
 .../appfram/storage/WXStorageModuleTest.java    |  222 +--
 .../taobao/weex/bridge/WXBridgeManagerTest.java |  222 +--
 .../com/taobao/weex/bridge/WXBridgeTest.java    |  222 +--
 .../com/taobao/weex/bridge/WXHashMapTest.java   |  220 +--
 .../taobao/weex/bridge/WXModuleManagerTest.java |  222 +--
 .../java/com/taobao/weex/common/TestModule.java |  220 +--
 .../taobao/weex/common/TestModuleFactory.java   |  220 +--
 .../com/taobao/weex/common/WXModuleTest.java    |  222 +--
 .../java/com/taobao/weex/dom/TestDomObject.java |  220 +--
 .../java/com/taobao/weex/dom/WXAttrTest.java    |  222 +--
 .../com/taobao/weex/dom/WXDomManagerTest.java   |  222 +--
 .../com/taobao/weex/dom/WXDomModuleTest.java    |  222 +--
 .../com/taobao/weex/dom/WXDomObjectTest.java    |  222 +--
 .../com/taobao/weex/dom/WXDomStatementTest.java |  341 ++---
 .../java/com/taobao/weex/dom/WXStyleTest.java   |  220 +--
 .../taobao/weex/dom/WXTextDomObjectTest.java    |  222 +--
 .../com/taobao/weex/dom/action/TestActions.java |   77 ++
 .../taobao/weex/http/WXStreamModuleTest.java    |  220 +--
 .../com/taobao/weex/ui/ComponentHolderTest.java |  222 +--
 .../taobao/weex/ui/WXRenderStatementTest.java   |  226 +---
 .../ui/animation/WXAnimationModuleTest.java     |  240 +---
 .../taobao/weex/ui/component/ComponentTest.java |  220 +--
 .../weex/ui/component/EditComponentTest.java    |  222 +--
 .../taobao/weex/ui/component/TestComponent.java |  220 +--
 .../taobao/weex/ui/component/TestConstants.java |  220 +--
 .../taobao/weex/ui/component/TextareaTest.java  |  222 +--
 .../weex/ui/component/WXComponentTest.java      |  222 +--
 .../com/taobao/weex/ui/component/WXDivTest.java |  222 +--
 .../taobao/weex/ui/component/WXEmbedTest.java   |  222 +--
 .../taobao/weex/ui/component/WXHeaderTest.java  |  222 +--
 .../taobao/weex/ui/component/WXImageTest.java   |  128 +-
 .../taobao/weex/ui/component/WXLoadingTest.java |  222 +--
 .../taobao/weex/ui/component/WXRefreshTest.java |  222 +--
 .../weex/ui/component/WXScrollerTest.java       |  222 +--
 .../weex/ui/component/WXSliderNeighborTest.java |  222 +--
 .../taobao/weex/ui/component/WXSliderTest.java  |  222 +--
 .../taobao/weex/ui/component/WXSwitchTest.java  |  222 +--
 .../taobao/weex/ui/component/WXTextTest.java    |  227 +---
 .../taobao/weex/ui/component/WXVideoTest.java   |  222 +--
 .../com/taobao/weex/ui/component/WXWebTest.java |  222 +--
 .../component/helper/WXTimeInputHelperTest.java |  220 +--
 .../ui/component/list/WXListComponentTest.java  |  222 +--
 .../taobao/weex/ui/module/WXMetaModuleTest.java |  222 +--
 .../weex/ui/module/WXModalUIModuleTest.java     |  222 +--
 .../weex/ui/module/WXTimerModuleTest.java       |  222 +--
 .../weex/ui/module/WXWebViewModuleTest.java     |  222 +--
 .../weex/ui/view/WXCirclePageAdapterTest.java   |  222 +--
 .../taobao/weex/ui/view/WXScrollViewTest.java   |  222 +--
 .../com/taobao/weex/ui/view/WXWebViewTest.java  |  222 +--
 .../weex/ui/view/border/BorderCornerTest.java   |  220 +--
 .../weex/ui/view/border/BorderDrawableTest.java |  220 +--
 .../weex/ui/view/gesture/WXGestureTest.java     |  222 +--
 .../taobao/weex/utils/FunctionParserTest.java   |  222 +--
 .../com/taobao/weex/utils/TypefaceUtilTest.java |  222 +--
 .../com/taobao/weex/utils/WXFileUtilsTest.java  |  222 +--
 .../com/taobao/weex/utils/WXJsonUtilsTest.java  |  222 +--
 .../com/taobao/weex/utils/WXLogUtilsTest.java   |  222 +--
 .../weex/utils/WXReflectionUtilsTest.java       |  222 +--
 .../taobao/weex/utils/WXResourceUtilsTest.java  |  233 +---
 .../java/com/taobao/weex/utils/WXUtilsTest.java |  222 +--
 .../configuration/MockitoConfiguration.java     |  220 +--
 .../java/com/taobao/weex/ApplicationTest.java   |   20 +-
 .../main/java/com/taobao/weex/WXDebugTool.java  |   18 +
 .../java/com/taobao/weex/WXPFComponent.java     |   18 +
 .../main/java/com/taobao/weex/WXPrettyFish.java |   18 +
 .../taobao/weex/adapter/DefautDebugAdapter.java |   18 +
 .../taobao/weex/bridge/WXWebsocketBridge.java   |  226 +---
 .../taobao/weex/scalpel/ScalpelFrameLayout.java |   18 +
 .../weex/websocket/WXWebSocketManager.java      |  126 +-
 .../java/com/taobao/weex/ExampleUnitTest.java   |   20 +-
 build/build.js                                  |    2 +
 build/examples-banner-plugin.js                 |   65 +
 build/karma.vue.conf.js                         |    7 +-
 build/webpack.ci.config.js                      |   53 +
 build/webpack.ci.web.config.js                  |   68 +
 build/webpack.deprecatedmacacatest.config.js    |   53 +
 build/webpack.examples.config.js                |    1 +
 build/webpack.examples.web.config.js            |   31 +-
 build/webpack.macacatest.config.js              |   53 -
 build/webpack.test.web.config.js                |   81 ++
 circle.yml                                      |   37 -
 dangerfile.js                                   |   32 +-
 doc/source/cn/references/modules/dom.md         |    5 +-
 doc/source/cn/references/modules/modal.md       |    2 +
 doc/source/references/modules/dom.md            |    2 +-
 doc/source/references/modules/modal.md          |    2 +
 examples/accessibilitySupport.we                |   57 +
 examples/component/list/list-basic.we           |   72 +-
 examples/component/scroller-demo.we             |   64 +-
 examples/linear-gradient.we                     |    3 +
 examples/module/componentRect.we                |    4 +-
 examples/vue/components/sliderinfinite.vue      |   46 +
 examples/vue/index.vue                          |   10 +-
 examples/vue/showcase/compositing.vue           |   89 ++
 examples/vue/showcase/itemlist.vue              |   11 +-
 examples/vue/style/index.vue                    |    2 +-
 .../npm/karma-rollup-preprocessor_vx.x.x.js     |   53 +
 flow-typed/npm/karma-sinon-chai_vx.x.x.js       |   38 +
 html5/frameworks/index.js                       |   18 +
 html5/frameworks/legacy/api/methods.js          |   18 +
 html5/frameworks/legacy/api/modules.js          |   18 +
 html5/frameworks/legacy/app/bundle/bootstrap.js |   18 +
 html5/frameworks/legacy/app/bundle/define.js    |   18 +
 html5/frameworks/legacy/app/bundle/index.js     |   18 +
 html5/frameworks/legacy/app/ctrl/index.js       |   18 +
 html5/frameworks/legacy/app/ctrl/init.js        |  115 +-
 html5/frameworks/legacy/app/ctrl/misc.js        |   18 +
 html5/frameworks/legacy/app/differ.js           |   18 +
 html5/frameworks/legacy/app/downgrade.js        |   18 +
 html5/frameworks/legacy/app/index.js            |   18 +
 html5/frameworks/legacy/app/instance.js         |   18 +
 html5/frameworks/legacy/app/register.js         |   18 +
 html5/frameworks/legacy/app/viewport.js         |   18 +
 html5/frameworks/legacy/config.js               |   19 +
 html5/frameworks/legacy/core/array.js           |   19 +
 html5/frameworks/legacy/core/dep.js             |   19 +
 html5/frameworks/legacy/core/object.js          |   19 +
 html5/frameworks/legacy/core/observer.js        |   19 +
 html5/frameworks/legacy/core/state.js           |   19 +
 html5/frameworks/legacy/core/watcher.js         |   19 +
 html5/frameworks/legacy/index.js                |   18 +
 html5/frameworks/legacy/static/bridge.js        |   18 +
 html5/frameworks/legacy/static/create.js        |   23 +-
 html5/frameworks/legacy/static/life.js          |   37 +
 html5/frameworks/legacy/static/map.js           |   18 +
 html5/frameworks/legacy/static/misc.js          |   18 +
 html5/frameworks/legacy/static/register.js      |   18 +
 html5/frameworks/legacy/util/index.js           |   18 +
 html5/frameworks/legacy/util/shared.js          |   18 +
 html5/frameworks/legacy/vm/compiler.js          |   18 +
 html5/frameworks/legacy/vm/directive.js         |   18 +
 html5/frameworks/legacy/vm/dom-helper.js        |   18 +
 html5/frameworks/legacy/vm/events.js            |   18 +
 html5/frameworks/legacy/vm/index.js             |   18 +
 html5/frameworks/vanilla/index.js               |   18 +
 html5/render/browser/base/atomic.js             |   18 +
 html5/render/browser/base/component/flexbox.js  |   18 +
 html5/render/browser/base/component/index.js    |   18 +
 html5/render/browser/base/component/lazyload.js |   18 +
 html5/render/browser/base/component/operate.js  |   18 +
 html5/render/browser/base/component/position.js |   18 +
 html5/render/browser/base/component/sticky.js   |   18 +
 .../browser/base/component/valueFilter.js       |   18 +
 html5/render/browser/base/div.js                |   18 +
 html5/render/browser/base/droot.js              |   18 +
 html5/render/browser/base/moduleEvent.js        |   18 +
 html5/render/browser/base/root.js               |   18 +
 html5/render/browser/bridge/index.js            |   18 +
 html5/render/browser/bridge/protocol.js         |   18 +
 html5/render/browser/bridge/receiver.js         |   18 +
 html5/render/browser/bridge/sender.js           |   18 +
 html5/render/browser/dom/appearWatcher.js       |   18 +
 html5/render/browser/dom/componentManager.js    |   18 +
 html5/render/browser/dom/index.js               |   18 +
 .../browser/extend/api/animation/index.js       |   18 +
 .../render/browser/extend/api/animation/lib.js  |   18 +
 html5/render/browser/extend/api/clipboard.js    |   18 +
 html5/render/browser/extend/api/dom.js          |   18 +
 html5/render/browser/extend/api/event.js        |   18 +
 html5/render/browser/extend/api/geolocation.js  |   18 +
 html5/render/browser/extend/api/globalEvent.js  |   18 +
 html5/render/browser/extend/api/meta.js         |   18 +
 html5/render/browser/extend/api/modal.js        |   18 +
 html5/render/browser/extend/api/navigator.js    |   18 +
 html5/render/browser/extend/api/pageInfo.js     |   18 +
 html5/render/browser/extend/api/storage.js      |   19 +
 html5/render/browser/extend/api/stream.js       |   18 +
 html5/render/browser/extend/api/timer.js        |   19 +-
 html5/render/browser/extend/api/webSocket.js    |   19 +
 html5/render/browser/extend/api/webview.js      |   18 +
 html5/render/browser/extend/components/a.js     |   18 +
 .../browser/extend/components/countdown.js      |   18 +
 .../browser/extend/components/datepicker.js     |   18 +
 html5/render/browser/extend/components/embed.js |   18 +
 .../browser/extend/components/image/index.js    |   18 +
 .../extend/components/indicator/index.js        |   18 +
 html5/render/browser/extend/components/input.js |   18 +
 .../render/browser/extend/components/marquee.js |   18 +
 .../browser/extend/components/neighbor/index.js |   18 +
 .../browser/extend/components/richtext.js       |   18 +
 .../extend/components/scrollable/index.js       |   18 +
 .../extend/components/scrollable/list/hlist.js  |   18 +
 .../extend/components/scrollable/list/index.js  |   18 +
 .../extend/components/scrollable/list/list.js   |   18 +
 .../extend/components/scrollable/list/vlist.js  |   18 +
 .../components/scrollable/loading/index.js      |   18 +
 .../extend/components/scrollable/motion.js      |   18 +
 .../components/scrollable/refresh/index.js      |   18 +
 .../extend/components/scrollable/scroll.js      |   19 +
 .../extend/components/scrollable/scrollable.js  |   18 +
 .../components/scrollable/scroller/index.js     |   18 +
 .../render/browser/extend/components/select.js  |   18 +
 .../extend/components/slider/carrousel.js       |   19 +
 .../browser/extend/components/slider/index.js   |   18 +
 .../browser/extend/components/slider/timer.js   |   19 +
 .../browser/extend/components/spinner/index.js  |   18 +
 .../browser/extend/components/switch/index.js   |   18 +
 .../extend/components/tabheader/index.js        |   18 +
 html5/render/browser/extend/components/text.js  |   18 +
 .../browser/extend/components/textarea.js       |   18 +
 .../browser/extend/components/timepicker.js     |   18 +
 .../browser/extend/components/video/index.js    |   18 +
 html5/render/browser/extend/components/web.js   |   18 +
 html5/render/browser/extend/index.js            |   18 +
 html5/render/browser/index.js                   |   18 +
 html5/render/browser/render/config.js           |   18 +
 html5/render/browser/render/gesture.js          |   18 +
 html5/render/browser/render/index.js            |   19 +
 html5/render/browser/render/loader.js           |   19 +
 html5/render/browser/render/register.js         |   18 +
 html5/render/browser/utils/array.js             |   18 +
 html5/render/browser/utils/index.js             |   19 +
 html5/render/browser/utils/logger.js            |   20 +-
 html5/render/native/index.js                    |   18 +
 html5/render/vue/README.md                      |   24 +-
 html5/render/vue/components/a.js                |   35 +-
 html5/render/vue/components/div.js              |   35 +-
 html5/render/vue/components/image.js            |   44 +-
 html5/render/vue/components/index.js            |   18 +
 html5/render/vue/components/input.js            |   37 +-
 .../render/vue/components/scrollable/header.js  |   25 +-
 .../vue/components/scrollable/list/cell.js      |   24 +-
 .../vue/components/scrollable/list/index.js     |   24 +-
 .../vue/components/scrollable/list/listMixin.js |   18 +
 .../vue/components/scrollable/list/style.js     |   16 +
 .../components/scrollable/loading-indicator.js  |   61 +-
 .../render/vue/components/scrollable/loading.js |   24 +-
 .../render/vue/components/scrollable/refresh.js |   24 +-
 .../vue/components/scrollable/scroller.js       |   26 +-
 html5/render/vue/components/slider/index.js     |   60 +-
 html5/render/vue/components/slider/indicator.js |   76 +-
 .../render/vue/components/slider/slideMixin.js  |   42 +-
 html5/render/vue/components/switch.js           |   84 +-
 html5/render/vue/components/text.js             |   46 +-
 html5/render/vue/components/textarea.js         |   37 +-
 html5/render/vue/components/video.js            |   24 +-
 html5/render/vue/components/warning.js          |   18 +
 html5/render/vue/components/web.js              |   37 +-
 html5/render/vue/core/index.js                  |    2 +
 html5/render/vue/core/node.js                   |   28 +
 html5/render/vue/core/style.js                  |  212 +++
 html5/render/vue/env/global.js                  |   11 +
 html5/render/vue/env/index.js                   |   29 +-
 html5/render/vue/env/viewport.js                |  180 ++-
 html5/render/vue/env/weex.js                    |   28 +-
 html5/render/vue/env/wx-env.js                  |   94 +-
 html5/render/vue/index.js                       |   32 +-
 html5/render/vue/mixins/base.js                 |   61 +-
 html5/render/vue/mixins/index.js                |   18 +
 html5/render/vue/mixins/input-common.js         |   19 +
 html5/render/vue/mixins/scrollable.js           |   18 +
 html5/render/vue/mixins/style.js                |  160 +--
 html5/render/vue/modules/animation.js           |   25 +-
 html5/render/vue/modules/dom.js                 |   27 +-
 html5/render/vue/modules/index.js               |   22 +-
 html5/render/vue/modules/modal/alert.js         |   18 +
 html5/render/vue/modules/modal/confirm.js       |   18 +
 html5/render/vue/modules/modal/index.js         |   28 +-
 html5/render/vue/modules/modal/modal.js         |   18 +
 html5/render/vue/modules/modal/prompt.js        |   18 +
 html5/render/vue/modules/modal/style.js         |  146 ++
 html5/render/vue/modules/modal/toast.js         |   18 +
 html5/render/vue/modules/navigator.js           |   19 +
 html5/render/vue/modules/webview.js             |   19 +
 html5/render/vue/styles/base.css                |  194 +++
 html5/render/vue/styles/components.css          |  513 -------
 html5/render/vue/utils/component.js             |   18 +
 html5/render/vue/utils/event.js                 |   19 +-
 html5/render/vue/utils/func.js                  |   19 +
 html5/render/vue/utils/index.js                 |   54 +-
 html5/render/vue/utils/lazyload.js              |   19 +
 html5/render/vue/utils/perf.js                  |   19 +
 html5/render/vue/utils/style.js                 |  129 ++
 html5/render/vue/utils/type.js                  |   19 +
 html5/render/vue/validator/check.js             |   18 +
 html5/render/vue/validator/index.js             |   18 +
 html5/render/vue/validator/prop.js              |   18 +
 html5/render/vue/validator/style.js             |   18 +
 html5/runtime/callback-manager.js               |   19 +
 html5/runtime/config.js                         |   18 +
 html5/runtime/handler.js                        |   19 +
 html5/runtime/index.js                          |   19 +
 html5/runtime/init.js                           |   18 +
 html5/runtime/listener.js                       |   19 +
 html5/runtime/service.js                        |   19 +
 html5/runtime/task-center.js                    |   18 +
 html5/runtime/vdom/comment.js                   |   19 +
 html5/runtime/vdom/document.js                  |   19 +
 html5/runtime/vdom/element-types.js             |   18 +
 html5/runtime/vdom/element.js                   |   19 +
 html5/runtime/vdom/index.js                     |   18 +
 html5/runtime/vdom/node.js                      |   19 +
 html5/runtime/vdom/operation.js                 |   18 +
 html5/services/amd/index.js                     |   19 +
 html5/services/broadcast-channel/index.js       |   19 +
 .../services/broadcast-channel/message-event.js |   19 +
 html5/services/index.js                         |   18 +
 html5/shared/arrayFrom.js                       |   19 +
 html5/shared/console.js                         |   19 +
 html5/shared/freeze.js                          |   18 +
 html5/shared/index.js                           |   18 +
 html5/shared/objectAssign.js                    |   18 +
 html5/shared/objectSetPrototypeOf.js            |   19 +
 html5/shared/promise.js                         |   20 +
 html5/shared/setTimeout.js                      |   19 +
 html5/test/render/vue/components/image.js       |    4 +-
 html5/test/render/vue/components/switch.js      |    4 -
 html5/test/render/vue/components/text.js        |    4 -
 html5/test/render/vue/components/web.js         |    4 -
 html5/test/render/vue/core/scope-style-map.js   |   76 ++
 html5/test/render/vue/core/style.js             |   65 +
 .../vue/data/build/dotvue/scoped-style.js       |  525 ++++++++
 html5/test/render/vue/data/css/head1.css        |   38 +
 html5/test/render/vue/data/css/head10.css       |   14 +
 html5/test/render/vue/data/css/head11.css       |    2 +
 html5/test/render/vue/data/css/head12.css       |    2 +
 html5/test/render/vue/data/css/head13.css       |   25 +
 html5/test/render/vue/data/css/head2.css        |   11 +
 html5/test/render/vue/data/css/head3.css        |   25 +
 html5/test/render/vue/data/css/head4.css        |   56 +
 html5/test/render/vue/data/css/head5.css        |  153 +++
 html5/test/render/vue/data/css/head6.css        |    4 +
 html5/test/render/vue/data/css/head7.css        |   61 +
 html5/test/render/vue/data/css/head8.css        |  507 +++++++
 html5/test/render/vue/data/css/head9.css        |  173 +++
 .../render/vue/data/dotvue/scoped-style.vue     |   13 +
 html5/test/render/vue/data/head-css.js          |   13 +
 html5/test/render/vue/data/head-map.js          |  275 ++++
 html5/test/render/vue/helper.js                 |  140 --
 html5/test/render/vue/helper/env.js             |   20 +
 html5/test/render/vue/helper/index.js           |   73 +
 html5/test/render/vue/helper/runtime.js         |   74 +
 html5/test/render/vue/helper/utils.js           |    8 +
 html5/test/render/vue/utils.js                  |   47 -
 html5/test/render/vue/utils/func.js             |   49 +
 html5/test/render/vue/utils/style.js            |   68 +
 .../WeexDemo.xcodeproj/project.pbxproj          |    6 +
 ios/playground/WeexDemo/AppDelegate.h           |   23 +-
 ios/playground/WeexDemo/AppDelegate.m           |   28 +-
 .../delete.imageset/Contents.json               |   23 +
 .../Assets.xcassets/delete.imageset/delete.png  |  Bin 0 -> 289 bytes
 .../delete.imageset/delete@2x.png               |  Bin 0 -> 504 bytes
 .../delete.imageset/delete@3x.png               |  Bin 0 -> 690 bytes
 .../scan_history.imageset/Contents.json         |   23 +
 .../scan_history.imageset/history.png           |  Bin 0 -> 546 bytes
 .../scan_history.imageset/history@2x.png        |  Bin 0 -> 1037 bytes
 .../scan_history.imageset/history@3x.png        |  Bin 0 -> 1628 bytes
 .../WeexDemo/DemoBaseViewController.h           |   23 +-
 .../WeexDemo/DemoBaseViewController.m           |   23 +-
 ios/playground/WeexDemo/DemoDefine.h            |   25 +-
 ios/playground/WeexDemo/Info.plist              |   12 +-
 .../WeexDemo/Scanner/WXScannerHistoryVC.h       |   13 +
 .../WeexDemo/Scanner/WXScannerHistoryVC.m       |  196 +++
 ios/playground/WeexDemo/Scanner/WXScannerVC.h   |   25 +-
 ios/playground/WeexDemo/Scanner/WXScannerVC.m   |   41 +-
 ios/playground/WeexDemo/UIView+UIThreadCheck.h  |   23 +-
 ios/playground/WeexDemo/UIView+UIThreadCheck.m  |   23 +-
 .../WeexDemo/UIViewController+WXDemoNaviBar.h   |   23 +-
 .../WeexDemo/UIViewController+WXDemoNaviBar.m   |   73 +-
 ios/playground/WeexDemo/WXDemoViewController.h  |   23 +-
 ios/playground/WeexDemo/WXDemoViewController.m  |   23 +-
 ios/playground/WeexDemo/WXSyncTestModule.h      |   23 +-
 ios/playground/WeexDemo/WXSyncTestModule.m      |   23 +-
 .../WeexDemo/debug/WXATLoggerPlugin.h           |   23 +-
 .../WeexDemo/debug/WXATLoggerPlugin.m           |   23 +-
 .../WeexDemo/debug/WXATViewHierarchyPlugin.h    |   23 +-
 .../WeexDemo/debug/WXATViewHierarchyPlugin.m    |   23 +-
 .../extend/component/WXSelectComponent.h        |   23 +-
 .../extend/component/WXSelectComponent.m        |   23 +-
 .../extend/handler/WXImgLoaderDefaultImpl.h     |   23 +-
 .../extend/handler/WXImgLoaderDefaultImpl.m     |   23 +-
 .../WeexDemo/extend/module/WXEventModule.h      |   23 +-
 .../WeexDemo/extend/module/WXEventModule.m      |   23 +-
 ios/playground/WeexDemo/main.m                  |   23 +-
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj       |   18 +-
 ios/sdk/WeexSDK/Resources/main.js               |   15 +-
 ios/sdk/WeexSDK/Sources/Bridge/JSValue+Weex.h   |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/JSValue+Weex.m   |   23 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.h    |   23 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m    |   27 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.h |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXCallJSMethod.h |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXCallJSMethod.m |   23 +-
 .../WeexSDK/Sources/Bridge/WXComponentMethod.h  |   23 +-
 .../WeexSDK/Sources/Bridge/WXComponentMethod.m  |   23 +-
 .../Sources/Bridge/WXDebugLoggerBridge.h        |   23 +-
 .../Sources/Bridge/WXDebugLoggerBridge.m        |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  100 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.h |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXPolyfillSet.h  |   23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXPolyfillSet.m  |   23 +-
 .../Component/Recycler/WXMultiColumnLayout.h    |   23 +-
 .../Component/Recycler/WXMultiColumnLayout.m    |   23 +-
 .../Component/Recycler/WXRecyclerComponent.h    |   23 +-
 .../Component/Recycler/WXRecyclerComponent.m    |   24 +-
 .../Recycler/WXRecyclerDataController.h         |   23 +-
 .../Recycler/WXRecyclerDataController.m         |   23 +-
 .../Recycler/WXRecyclerUpdateController.h       |   23 +-
 .../Recycler/WXRecyclerUpdateController.m       |   23 +-
 .../Recycler/WXSectionDataController.h          |   23 +-
 .../Recycler/WXSectionDataController.m          |   23 +-
 .../WeexSDK/Sources/Component/WXAComponent.h    |   23 +-
 .../WeexSDK/Sources/Component/WXAComponent.m    |   23 +-
 .../Sources/Component/WXCanvasComponent.h       |   23 +-
 .../Sources/Component/WXCanvasComponent.m       |   23 +-
 .../WeexSDK/Sources/Component/WXCellComponent.h |   23 +-
 .../WeexSDK/Sources/Component/WXCellComponent.m |   33 +-
 .../Component/WXComponent+GradientColor.h       |   21 -
 .../Component/WXComponent+GradientColor.m       |  120 --
 .../Sources/Component/WXComponent_internal.h    |   43 +-
 .../Sources/Component/WXCycleSliderComponent.h  |   18 +
 .../Sources/Component/WXCycleSliderComponent.m  |  594 ++++++++
 .../WeexSDK/Sources/Component/WXDivComponent.h  |   23 +-
 .../WeexSDK/Sources/Component/WXDivComponent.m  |   23 +-
 .../WeexSDK/Sources/Component/WXEditComponent.h |   23 +-
 .../WeexSDK/Sources/Component/WXEditComponent.m |   53 +-
 .../Sources/Component/WXEmbedComponent.h        |   23 +-
 .../Sources/Component/WXEmbedComponent.m        |   23 +-
 .../Sources/Component/WXFooterComponent.h       |   23 +-
 .../Sources/Component/WXFooterComponent.m       |   23 +-
 .../Sources/Component/WXHeaderComponent.h       |   23 +-
 .../Sources/Component/WXHeaderComponent.m       |   23 +-
 .../Sources/Component/WXImageComponent.h        |   25 +-
 .../Sources/Component/WXImageComponent.m        |  111 +-
 .../Sources/Component/WXIndicatorComponent.h    |   31 +-
 .../Sources/Component/WXIndicatorComponent.m    |   39 +-
 .../WeexSDK/Sources/Component/WXListComponent.h |   23 +-
 .../WeexSDK/Sources/Component/WXListComponent.m |   25 +-
 .../Sources/Component/WXLoadingComponent.h      |   25 +-
 .../Sources/Component/WXLoadingComponent.m      |   18 +
 .../Sources/Component/WXLoadingIndicator.h      |   23 +-
 .../Sources/Component/WXLoadingIndicator.m      |   23 +-
 .../Sources/Component/WXRefreshComponent.h      |   23 +-
 .../Sources/Component/WXRefreshComponent.m      |   23 +-
 .../Sources/Component/WXScrollerComponent.h     |   23 +-
 .../Sources/Component/WXScrollerComponent.m     |   23 +-
 .../Sources/Component/WXSliderComponent.h       |   23 +-
 .../Sources/Component/WXSliderComponent.m       |   28 +-
 .../Component/WXSliderNeighborComponent.h       |   26 +-
 .../Component/WXSliderNeighborComponent.m       |   28 +-
 .../Sources/Component/WXSwitchComponent.h       |   23 +-
 .../Sources/Component/WXSwitchComponent.m       |   23 +-
 .../Sources/Component/WXTextAreaComponent.h     |   23 +-
 .../Sources/Component/WXTextAreaComponent.m     |   23 +-
 .../WeexSDK/Sources/Component/WXTextComponent.h |   23 +-
 .../WeexSDK/Sources/Component/WXTextComponent.m |  162 +--
 .../Sources/Component/WXTextInputComponent.h    |   23 +-
 .../Sources/Component/WXTextInputComponent.m    |   23 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.h |   23 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.m |   23 +-
 .../Sources/Component/WXVideoComponent.h        |   23 +-
 .../Sources/Component/WXVideoComponent.m        |   23 +-
 .../WeexSDK/Sources/Component/WXWebComponent.h  |   23 +-
 .../WeexSDK/Sources/Component/WXWebComponent.m  |   23 +-
 .../Sources/Controller/WXBaseViewController.h   |   23 +-
 .../Sources/Controller/WXBaseViewController.m   |   28 +-
 .../Sources/Controller/WXRootViewController.h   |   23 +-
 .../Sources/Controller/WXRootViewController.m   |   23 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h     |   23 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m     |   23 +-
 .../WeexSDK/Sources/Display/UIBezierPath+Weex.h |   23 +-
 .../WeexSDK/Sources/Display/UIBezierPath+Weex.m |   23 +-
 .../Sources/Display/WXComponent+BoxShadow.h     |   23 +-
 .../Sources/Display/WXComponent+BoxShadow.m     |   25 +-
 .../Sources/Display/WXComponent+Display.h       |   23 +-
 .../Sources/Display/WXComponent+Display.m       |  244 ++--
 .../WeexSDK/Sources/Display/WXDisplayQueue.h    |   23 +-
 .../WeexSDK/Sources/Display/WXDisplayQueue.m    |   23 +-
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.h  |   25 +-
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.m  |   23 +-
 ios/sdk/WeexSDK/Sources/Display/WXLayer.h       |   23 +-
 ios/sdk/WeexSDK/Sources/Display/WXLayer.m       |   23 +-
 ios/sdk/WeexSDK/Sources/Display/WXRoundedRect.h |   27 +-
 .../WeexSDK/Sources/Display/WXRoundedRect.mm    |   33 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h    |   23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m    |   24 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h     |   23 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.h |   23 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.m |   23 +-
 .../Sources/Handler/WXNavigationDefaultImpl.h   |   23 +-
 .../Sources/Handler/WXNavigationDefaultImpl.m   |   23 +-
 .../Sources/Handler/WXURLRewriteDefaultImpl.h   |   23 +-
 .../Sources/Handler/WXURLRewriteDefaultImpl.m   |   23 +-
 .../WeexSDK/Sources/Layout/WXComponent+Layout.m |    3 +-
 .../WeexSDK/Sources/Loader/WXResourceLoader.h   |   23 +-
 .../WeexSDK/Sources/Loader/WXResourceLoader.m   |   23 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  |   23 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.m  |   23 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.h   |   23 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.m   |   23 +-
 .../Sources/Manager/WXComponentFactory.h        |   23 +-
 .../Sources/Manager/WXComponentFactory.m        |   23 +-
 .../Sources/Manager/WXComponentManager.h        |   27 +-
 .../Sources/Manager/WXComponentManager.m        |   32 +-
 .../Sources/Manager/WXDatePickerManager.h       |   23 +-
 .../Sources/Manager/WXDatePickerManager.m       |   23 +-
 .../WeexSDK/Sources/Manager/WXHandlerFactory.h  |   23 +-
 .../WeexSDK/Sources/Manager/WXHandlerFactory.m  |   23 +-
 .../Sources/Manager/WXInvocationConfig.h        |   23 +-
 .../Sources/Manager/WXInvocationConfig.m        |   23 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.h   |   23 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.m   |   23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.h |   23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m |   23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h  |   23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.m  |   23 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.h  |   23 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.m  |   23 +-
 .../Sources/Model/WXComponent+Navigation.h      |   23 +-
 .../Sources/Model/WXComponent+Navigation.m      |   23 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.h     |   97 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m     |   93 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.h   |   23 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.m   |   25 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h   |   23 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |   26 +-
 .../Sources/Model/WXSDKInstance_private.h       |   23 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.h  |   23 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.m  |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXCanvasModule.h |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXCanvasModule.m |   23 +-
 .../WeexSDK/Sources/Module/WXClipboardModule.h  |   23 +-
 .../WeexSDK/Sources/Module/WXClipboardModule.m  |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.h    |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.m    |   23 +-
 .../Sources/Module/WXGlobalEventModule.h        |   23 +-
 .../Sources/Module/WXGlobalEventModule.m        |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXInstanceWrap.h |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXInstanceWrap.m |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXMetaModule.h   |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXMetaModule.m   |   23 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.h    |   23 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.m    |   23 +-
 .../WeexSDK/Sources/Module/WXNavigatorModule.h  |   23 +-
 .../WeexSDK/Sources/Module/WXNavigatorModule.m  |   18 +
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.h |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m |  155 ++-
 .../WeexSDK/Sources/Module/WXStorageModule.h    |   23 +-
 .../WeexSDK/Sources/Module/WXStorageModule.m    |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXTimerModule.h  |   23 +-
 ios/sdk/WeexSDK/Sources/Module/WXTimerModule.m  |   23 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.h  |   23 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  |   23 +-
 .../WeexSDK/Sources/Module/WXWebViewModule.h    |   23 +-
 .../WeexSDK/Sources/Module/WXWebViewModule.m    |   23 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.h     |   23 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m     |   29 +-
 .../WeexSDK/Sources/Network/WXResourceRequest.h |   23 +-
 .../WeexSDK/Sources/Network/WXResourceRequest.m |   23 +-
 .../Sources/Network/WXResourceRequestHandler.h  |   23 +-
 .../WXResourceRequestHandlerDefaultImpl.h       |   23 +-
 .../WXResourceRequestHandlerDefaultImpl.m       |   23 +-
 .../Sources/Network/WXResourceResponse.h        |   23 +-
 .../Sources/Network/WXResourceResponse.m        |   23 +-
 .../Sources/Protocol/WXAppMonitorProtocol.h     |   23 +-
 .../WeexSDK/Sources/Protocol/WXBridgeProtocol.h |   27 +-
 .../Sources/Protocol/WXDestroyProtocol.h        |   23 +-
 .../Sources/Protocol/WXEventModuleProtocol.h    |   23 +-
 .../Sources/Protocol/WXImgLoaderProtocol.h      |   23 +-
 .../Sources/Protocol/WXJSExceptionProtocol.h    |   23 +-
 .../WeexSDK/Sources/Protocol/WXModuleProtocol.h |   23 +-
 .../Sources/Protocol/WXNavigationProtocol.h     |   23 +-
 .../Sources/Protocol/WXNetworkProtocol.h        |   23 +-
 .../Sources/Protocol/WXScrollerProtocol.h       |   23 +-
 .../Sources/Protocol/WXTextComponentProtocol.h  |   23 +-
 .../Sources/Protocol/WXURLRewriteProtocol.h     |   23 +-
 .../Sources/Protocol/WXValidateProtocol.h       |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSArray+Weex.h  |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSArray+Weex.m  |   23 +-
 .../Sources/Utility/NSObject+WXSwizzle.h        |   23 +-
 .../Sources/Utility/NSObject+WXSwizzle.m        |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSTimer+Weex.h  |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSTimer+Weex.m  |   23 +-
 .../Sources/Utility/WXAppConfiguration.h        |   23 +-
 .../Sources/Utility/WXAppConfiguration.m        |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXAssert.h      |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXAssert.m      |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.h   |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m   |   25 +-
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.h     |   24 +-
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.m     |   45 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDefine.h      |   34 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h    |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m    |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLength.h      |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLength.m      |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.h         |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.m         |   23 +-
 .../Utility/WXSimulatorShortcutManager.h        |   23 +-
 .../Utility/WXSimulatorShortcutManager.m        |   23 +-
 .../Sources/Utility/WXThreadSafeCounter.h       |   23 +-
 .../Sources/Utility/WXThreadSafeCounter.m       |   23 +-
 .../Sources/Utility/WXThreadSafeMutableArray.h  |   23 +-
 .../Sources/Utility/WXThreadSafeMutableArray.m  |   23 +-
 .../Utility/WXThreadSafeMutableDictionary.h     |   23 +-
 .../Utility/WXThreadSafeMutableDictionary.m     |   25 +-
 ios/sdk/WeexSDK/Sources/Utility/WXType.h        |   28 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.h     |   50 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.m     |  124 +-
 .../Sources/Utility/WXWeakObjectWrapper.h       |   23 +-
 .../Sources/Utility/WXWeakObjectWrapper.m       |   23 +-
 .../View/WXComponent+PseudoClassManagement.h    |   23 +-
 .../View/WXComponent+PseudoClassManagement.m    |   23 +-
 .../Sources/View/WXComponent+ViewManagement.h   |   23 +-
 .../Sources/View/WXComponent+ViewManagement.m   |   27 +-
 ios/sdk/WeexSDK/Sources/View/WXErrorView.h      |   23 +-
 ios/sdk/WeexSDK/Sources/View/WXErrorView.m      |   23 +-
 ios/sdk/WeexSDK/Sources/View/WXRootView.h       |   23 +-
 ios/sdk/WeexSDK/Sources/View/WXRootView.m       |   23 +-
 ios/sdk/WeexSDK/Sources/View/WXView.h           |   23 +-
 ios/sdk/WeexSDK/Sources/View/WXView.m           |   23 +-
 .../Sources/WebSocket/SRWebSocket+Weex.h        |   23 +-
 .../Sources/WebSocket/SRWebSocket+Weex.m        |   23 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.h  |   23 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  |   23 +-
 .../Sources/WebSocket/WXWebSocketHandler.h      |   23 +-
 ios/sdk/WeexSDK/Sources/WeexSDK.h               |   21 +-
 ios/sdk/WeexSDK_MTL/WeexSDK_MTL.h               |   23 +-
 ios/sdk/WeexSDK_MTL/WeexSDK_MTL.m               |   23 +-
 package.json                                    |   20 +-
 packages/weex-vue-render/README.md              |   24 +-
 packages/weex-vue-render/package.json           |    2 +-
 scripts/apache-rat-0.12.jar                     |  Bin 0 -> 1592593 bytes
 scripts/rat-ant-build.xml                       |    8 +
 scripts/rat-scan.sh                             |    3 +
 scripts/replace-header.sh                       |    4 +
 scripts/rh/LICENSE                              |  674 ++++++++++
 scripts/rh/README                               |   46 +
 scripts/rh/header.template                      |   18 +
 scripts/rh/remove_header.awk                    |   48 +
 scripts/rh/replace_header.sh                    |   11 +
 test/.gitignore                                 |    2 +
 test/ci-funcs.sh                                |    6 +-
 test/pages/components/recycler.vue              |   42 +-
 test/pages/components/scroller-fixed.vue        |   64 +
 test/pages/components/scroller-fixed.we         |   62 -
 test/pages/components/textarea-maxlength.vue    |   50 +
 test/pages/dom-operation.vue                    |   37 +
 test/pages/dom-operation.we                     |   32 -
 test/pages/image-onload.vue                     |   21 +
 test/pages/image-onload.we                      |   19 -
 test/pages/index.vue                            |   30 +
 test/pages/index.we                             |   27 -
 test/pages/list-scroll.vue                      |   34 +
 test/pages/list-scroll.we                       |   31 -
 test/pages/scroller-scroll.vue                  |   33 +
 test/pages/scroller-scroll.we                   |   31 -
 test/pages/slider-infinite.vue                  |   54 +
 test/run.sh                                     |   17 +-
 test/scripts/components/image-onload.test.js    |    6 +-
 test/scripts/components/recycler.test.js        |  166 ++-
 test/scripts/components/scroll-event.test.js    |    4 +-
 test/scripts/components/scroller-fixed.test.js  |    2 +-
 test/scripts/components/slider-infinite.test.js |   41 +
 .../components/textarea-maxlength.test.js       |   36 +
 test/scripts/dom.test.js                        |   11 +-
 test/scripts/index.test.js                      |   16 +-
 test/scripts/util.js                            |   24 +
 test/serve.sh                                   |    6 +-
 vue.html                                        |   10 +-
 1061 files changed, 27663 insertions(+), 80954 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ea6a54c8/doc/source/cn/references/modules/dom.md
----------------------------------------------------------------------
diff --cc doc/source/cn/references/modules/dom.md
index 1bfb0c6,f7eec80..c9586f0
--- a/doc/source/cn/references/modules/dom.md
+++ b/doc/source/cn/references/modules/dom.md
@@@ -30,8 -30,8 +30,7 @@@ version: 2.
  - `node {Node}`\uff1a\u4f60\u8981\u6eda\u52a8\u5230\u7684\u90a3\u4e2a\u8282\u70b9
  - `options {Object}`\uff1a\u5982\u4e0b\u9009\u9879
    - `offset {number}`\uff1a\u4e00\u4e2a\u5230\u5176\u53ef\u89c1\u4f4d\u7f6e\u7684\u504f\u79fb\u8ddd\u79bb\uff0c\u9ed8\u8ba4\u662f `0`
-   - `animated {bool}`\uff1a\u8bbe\u7f6e\u662f\u5426\u6709\u6eda\u52a8\u52a8\u753b\uff0c\u9ed8\u8ba4\u662f true
 -  - `animated {boolean}`\uff1a\u662f\u5426\u6709\u52a8\u753b\u6548\u679c\uff0c\u9ed8\u8ba4\u662f `true`
--
++ - `animated {bool}`\uff1a\u8bbe\u7f6e\u662f\u5426\u6709\u6eda\u52a8\u52a8\u753b\uff0c\u9ed8\u8ba4\u662f true
  #### \u793a\u4f8b
  
  ```html

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ea6a54c8/doc/source/references/modules/dom.md
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ea6a54c8/ios/playground/WeexDemo.xcodeproj/project.pbxproj
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ea6a54c8/ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m
----------------------------------------------------------------------
diff --cc ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m
index c16c12f,5888071..dbf7941
--- a/ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m
@@@ -11,8 -22,7 +22,6 @@@
  #import "WXUtility.h"
  
  @implementation WXBoxShadow
- 
- 
 -@synthesize shadowColor = _shadowColor;
  - (instancetype)init
  {
      self = [super init];


[36/50] incubator-weex git commit: * [test] change CI emulator sdk version

Posted by so...@apache.org.
* [test] change CI emulator sdk version


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2c4d6695
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2c4d6695
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2c4d6695

Branch: refs/heads/dev
Commit: 2c4d66954957aa56560d495f2ae48af847b850ab
Parents: b92bf6f
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 16:42:13 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 16:42:13 2017 +0800

----------------------------------------------------------------------
 .travis.yml                              | 2 +-
 test/ci-funcs.sh                         | 2 +-
 test/scripts/components/recycler.test.js | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c4d6695/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 51f93ee..29bcc68 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -38,7 +38,7 @@ matrix:
             - tools
             - build-tools-23.0.2
             - android-23
-            - android-19
+            - android-22
             - extra-google-m2repository
             - extra-android-m2repository
             - sys-img-armeabi-v7a-android-21

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c4d6695/test/ci-funcs.sh
----------------------------------------------------------------------
diff --git a/test/ci-funcs.sh b/test/ci-funcs.sh
index 8db51f6..c1448dc 100644
--- a/test/ci-funcs.sh
+++ b/test/ci-funcs.sh
@@ -14,7 +14,7 @@ function installAndroidSDK {
 }
 
 function createAVD {
-    echo no | android create avd --force -n weexavd -t android-19 --abi default/armeabi-v7a
+    echo no | android create avd --force -n weexavd -t android-22 --abi default/armeabi-v7a
 }
 
 function startAVD {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c4d6695/test/scripts/components/recycler.test.js
----------------------------------------------------------------------
diff --git a/test/scripts/components/recycler.test.js b/test/scripts/components/recycler.test.js
index c83534d..efde8e8 100644
--- a/test/scripts/components/recycler.test.js
+++ b/test/scripts/components/recycler.test.js
@@ -15,7 +15,7 @@ const isApproximate = (x, y) =>  {
   return Math.abs(x - y) <= (isAndroid ? 2 : 1.5)
 }
 
-describe('recycler @ignore_android', function () {
+describe('recycler', function () {
   this.timeout(util.getTimeoutMills())
   const driver = util.createDriver(wd)
 


[24/50] incubator-weex git commit: * [all] update wd library & fix danger flow check

Posted by so...@apache.org.
* [all] update wd library & fix danger flow check


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/91d88681
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/91d88681
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/91d88681

Branch: refs/heads/dev
Commit: 91d8868110fd20b7fe7db36a5328c160ef75beee
Parents: 579a2b3
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 14:40:15 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 14:40:15 2017 +0800

----------------------------------------------------------------------
 dangerfile.js | 2 +-
 package.json  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/91d88681/dangerfile.js
----------------------------------------------------------------------
diff --git a/dangerfile.js b/dangerfile.js
index e29fd40..b206e6e 100644
--- a/dangerfile.js
+++ b/dangerfile.js
@@ -24,7 +24,7 @@ const flowIgnorePaths = [
   'dist',
   'flow-typed'
 ].map(function (rel) {
-  return absolute('html5/' + rel)
+  return absolute(rel)
 });
 
 // new js files should have `@flow` at the top

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/91d88681/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index b9c0160..9195bad 100644
--- a/package.json
+++ b/package.json
@@ -158,7 +158,7 @@
     "weex-components": "^0.2.0",
     "weex-loader": "^0.4.0",
     "weex-vdom-tester": "^0.2.0",
-    "weex-wd": "^1.0.20",
+    "weex-wd": "^1.0.21",
     "wwp": "^0.3.5",
     "xml2map": "^1.0.2"
   }


[25/50] incubator-weex git commit: Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2ee570a3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2ee570a3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2ee570a3

Branch: refs/heads/dev
Commit: 2ee570a305ddc600aba692d6b0263a1a4f1de999
Parents: 91d8868 03f4434
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 14:40:23 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 14:40:23 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/WXSDKEngine.java  |   3 +
 .../com/taobao/weex/dom/WXCellDomObject.java    |  57 +++++
 .../taobao/weex/dom/WXRecyclerDomObject.java    |  29 ++-
 .../com/taobao/weex/ui/component/WXDiv.java     |   4 +-
 .../com/taobao/weex/ui/view/IRenderResult.java  | 213 +++++++++++++++++++
 .../com/taobao/weex/ui/view/WXFrameLayout.java  |  19 +-
 .../com/taobao/weex/ui/view/WXImageView.java    |   9 +-
 .../com/taobao/weex/ui/view/WXTextView.java     |   9 +-
 test/pages/components/recycler.vue              |  19 +-
 test/scripts/components/recycler.test.js        |  58 ++---
 10 files changed, 357 insertions(+), 63 deletions(-)
----------------------------------------------------------------------



[39/50] incubator-weex git commit: Merge branch '0.12-dev-feature-jsfm0.20.3' of https://github.com/atomtong/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev-feature-jsfm0.20.3' of https://github.com/atomtong/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3806842c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3806842c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3806842c

Branch: refs/heads/dev
Commit: 3806842c06749064091fa85b565b1c5c91893d76
Parents: 68acd19 3ea3764
Author: cxfeng <cx...@apache.org>
Authored: Thu Apr 13 10:18:55 2017 +0800
Committer: cxfeng <cx...@apache.org>
Committed: Thu Apr 13 10:18:55 2017 +0800

----------------------------------------------------------------------
 android/sdk/assets/main.js        | 15 ++++++++-------
 ios/sdk/WeexSDK/Resources/main.js | 15 ++++++++-------
 2 files changed, 16 insertions(+), 14 deletions(-)
----------------------------------------------------------------------



[26/50] incubator-weex git commit: * [Android] Fix License of IRenderResult

Posted by so...@apache.org.
* [Android] Fix License of IRenderResult


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c22d8e4b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c22d8e4b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c22d8e4b

Branch: refs/heads/dev
Commit: c22d8e4b8932f527f1746f9fef0acd8cb52f45ae
Parents: 2ee570a
Author: YorkShen <sh...@gmail.com>
Authored: Wed Apr 12 15:22:29 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Wed Apr 12 15:22:29 2017 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/view/IRenderResult.java  | 221 ++-----------------
 1 file changed, 17 insertions(+), 204 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c22d8e4b/android/sdk/src/main/java/com/taobao/weex/ui/view/IRenderResult.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/IRenderResult.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/IRenderResult.java
index 95b56a5..dab1106 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/IRenderResult.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/IRenderResult.java
@@ -1,208 +1,21 @@
-/*
- *
- *                                  Apache License
- *                            Version 2.0, January 2004
- *                         http://www.apache.org/licenses/
- *
- *    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
- *
- *    1. Definitions.
- *
- *       "License" shall mean the terms and conditions for use, reproduction,
- *       and distribution as defined by Sections 1 through 9 of this document.
- *
- *       "Licensor" shall mean the copyright owner or entity authorized by
- *       the copyright owner that is granting the License.
- *
- *       "Legal Entity" shall mean the union of the acting entity and all
- *       other entities that control, are controlled by, or are under common
- *       control with that entity. For the purposes of this definition,
- *       "control" means (i) the power, direct or indirect, to cause the
- *       direction or management of such entity, whether by contract or
- *       otherwise, or (ii) ownership of fifty percent (50%) or more of the
- *       outstanding shares, or (iii) beneficial ownership of such entity.
- *
- *       "You" (or "Your") shall mean an individual or Legal Entity
- *       exercising permissions granted by this License.
- *
- *       "Source" form shall mean the preferred form for making modifications,
- *       including but not limited to software source code, documentation
- *       source, and configuration files.
- *
- *       "Object" form shall mean any form resulting from mechanical
- *       transformation or translation of a Source form, including but
- *       not limited to compiled object code, generated documentation,
- *       and conversions to other media types.
- *
- *       "Work" shall mean the work of authorship, whether in Source or
- *       Object form, made available under the License, as indicated by a
- *       copyright notice that is included in or attached to the work
- *       (an example is provided in the Appendix below).
- *
- *       "Derivative Works" shall mean any work, whether in Source or Object
- *       form, that is based on (or derived from) the Work and for which the
- *       editorial revisions, annotations, elaborations, or other modifications
- *       represent, as a whole, an original work of authorship. For the purposes
- *       of this License, Derivative Works shall not include works that remain
- *       separable from, or merely link (or bind by name) to the interfaces of,
- *       the Work and Derivative Works thereof.
- *
- *       "Contribution" shall mean any work of authorship, including
- *       the original version of the Work and any modifications or additions
- *       to that Work or Derivative Works thereof, that is intentionally
- *       submitted to Licensor for inclusion in the Work by the copyright owner
- *       or by an individual or Legal Entity authorized to submit on behalf of
- *       the copyright owner. For the purposes of this definition, "submitted"
- *       means any form of electronic, verbal, or written communication sent
- *       to the Licensor or its representatives, including but not limited to
- *       communication on electronic mailing lists, source code control systems,
- *       and issue tracking systems that are managed by, or on behalf of, the
- *       Licensor for the purpose of discussing and improving the Work, but
- *       excluding communication that is conspicuously marked or otherwise
- *       designated in writing by the copyright owner as "Not a Contribution."
- *
- *       "Contributor" shall mean Licensor and any individual or Legal Entity
- *       on behalf of whom a Contribution has been received by Licensor and
- *       subsequently incorporated within the Work.
- *
- *    2. Grant of Copyright License. Subject to the terms and conditions of
- *       this License, each Contributor hereby grants to You a perpetual,
- *       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- *       copyright license to reproduce, prepare Derivative Works of,
- *       publicly display, publicly perform, sublicense, and distribute the
- *       Work and such Derivative Works in Source or Object form.
- *
- *    3. Grant of Patent License. Subject to the terms and conditions of
- *       this License, each Contributor hereby grants to You a perpetual,
- *       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- *       (except as stated in this section) patent license to make, have made,
- *       use, offer to sell, sell, import, and otherwise transfer the Work,
- *       where such license applies only to those patent claims licensable
- *       by such Contributor that are necessarily infringed by their
- *       Contribution(s) alone or by combination of their Contribution(s)
- *       with the Work to which such Contribution(s) was submitted. If You
- *       institute patent litigation against any entity (including a
- *       cross-claim or counterclaim in a lawsuit) alleging that the Work
- *       or a Contribution incorporated within the Work constitutes direct
- *       or contributory patent infringement, then any patent licenses
- *       granted to You under this License for that Work shall terminate
- *       as of the date such litigation is filed.
- *
- *    4. Redistribution. You may reproduce and distribute copies of the
- *       Work or Derivative Works thereof in any medium, with or without
- *       modifications, and in Source or Object form, provided that You
- *       meet the following conditions:
- *
- *       (a) You must give any other recipients of the Work or
- *           Derivative Works a copy of this License; and
- *
- *       (b) You must cause any modified files to carry prominent notices
- *           stating that You changed the files; and
- *
- *       (c) You must retain, in the Source form of any Derivative Works
- *           that You distribute, all copyright, patent, trademark, and
- *           attribution notices from the Source form of the Work,
- *           excluding those notices that do not pertain to any part of
- *           the Derivative Works; and
- *
- *       (d) If the Work includes a "NOTICE" text file as part of its
- *           distribution, then any Derivative Works that You distribute must
- *           include a readable copy of the attribution notices contained
- *           within such NOTICE file, excluding those notices that do not
- *           pertain to any part of the Derivative Works, in at least one
- *           of the following places: within a NOTICE text file distributed
- *           as part of the Derivative Works; within the Source form or
- *           documentation, if provided along with the Derivative Works; or,
- *           within a display generated by the Derivative Works, if and
- *           wherever such third-party notices normally appear. The contents
- *           of the NOTICE file are for informational purposes only and
- *           do not modify the License. You may add Your own attribution
- *           notices within Derivative Works that You distribute, alongside
- *           or as an addendum to the NOTICE text from the Work, provided
- *           that such additional attribution notices cannot be construed
- *           as modifying the License.
- *
- *       You may add Your own copyright statement to Your modifications and
- *       may provide additional or different license terms and conditions
- *       for use, reproduction, or distribution of Your modifications, or
- *       for any such Derivative Works as a whole, provided Your use,
- *       reproduction, and distribution of the Work otherwise complies with
- *       the conditions stated in this License.
- *
- *    5. Submission of Contributions. Unless You explicitly state otherwise,
- *       any Contribution intentionally submitted for inclusion in the Work
- *       by You to the Licensor shall be under the terms and conditions of
- *       this License, without any additional terms or conditions.
- *       Notwithstanding the above, nothing herein shall supersede or modify
- *       the terms of any separate license agreement you may have executed
- *       with Licensor regarding such Contributions.
- *
- *    6. Trademarks. This License does not grant permission to use the trade
- *       names, trademarks, service marks, or product names of the Licensor,
- *       except as required for reasonable and customary use in describing the
- *       origin of the Work and reproducing the content of the NOTICE file.
- *
- *    7. Disclaimer of Warranty. Unless required by applicable law or
- *       agreed to in writing, Licensor provides the Work (and each
- *       Contributor provides its Contributions) on an "AS IS" BASIS,
- *       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- *       implied, including, without limitation, any warranties or conditions
- *       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- *       PARTICULAR PURPOSE. You are solely responsible for determining the
- *       appropriateness of using or redistributing the Work and assume any
- *       risks associated with Your exercise of permissions under this License.
- *
- *    8. Limitation of Liability. In no event and under no legal theory,
- *       whether in tort (including negligence), contract, or otherwise,
- *       unless required by applicable law (such as deliberate and grossly
- *       negligent acts) or agreed to in writing, shall any Contributor be
- *       liable to You for damages, including any direct, indirect, special,
- *       incidental, or consequential damages of any character arising as a
- *       result of this License or out of the use or inability to use the
- *       Work (including but not limited to damages for loss of goodwill,
- *       work stoppage, computer failure or malfunction, or any and all
- *       other commercial damages or losses), even if such Contributor
- *       has been advised of the possibility of such damages.
- *
- *    9. Accepting Warranty or Additional Liability. While redistributing
- *       the Work or Derivative Works thereof, You may choose to offer,
- *       and charge a fee for, acceptance of support, warranty, indemnity,
- *       or other liability obligations and/or rights consistent with this
- *       License. However, in accepting such obligations, You may act only
- *       on Your own behalf and on Your sole responsibility, not on behalf
- *       of any other Contributor, and only if You agree to indemnify,
- *       defend, and hold each Contributor harmless for any liability
- *       incurred by, or claims asserted against, such Contributor by reason
- *       of your accepting any such warranty or additional liability.
- *
- *    END OF TERMS AND CONDITIONS
- *
- *    APPENDIX: How to apply the Apache License to your work.
- *
- *       To apply the Apache License to your work, attach the following
- *       boilerplate notice, with the fields enclosed by brackets "[]"
- *       replaced with your own identifying information. (Don't include
- *       the brackets!)  The text should be enclosed in the appropriate
- *       comment syntax for the file format. We also recommend that a
- *       file or class name and description of purpose be included on the
- *       same "printed page" as the copyright notice for easier
- *       identification within third-party archives.
- *
- *    Copyright 2016 Alibaba Group
- *
- *    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.
+/**
+ * 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 com.taobao.weex.ui.view;
 
 


[19/50] incubator-weex git commit: * [test] fix js lint

Posted by so...@apache.org.
* [test] fix js lint


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/419d0197
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/419d0197
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/419d0197

Branch: refs/heads/dev
Commit: 419d01979e96d12a9c34dc9d75a5533b426c45ab
Parents: 02487c9
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 12:11:20 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 12:11:20 2017 +0800

----------------------------------------------------------------------
 html5/render/browser/base/component/lazyload.js                 | 1 -
 html5/render/browser/extend/api/webSocket.js                    | 1 -
 html5/render/browser/extend/components/image/index.js           | 1 -
 html5/render/browser/extend/components/scrollable/motion.js     | 1 -
 html5/render/browser/extend/components/scrollable/scrollable.js | 1 -
 html5/render/browser/utils/index.js                             | 1 -
 6 files changed, 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/419d0197/html5/render/browser/base/component/lazyload.js
----------------------------------------------------------------------
diff --git a/html5/render/browser/base/component/lazyload.js b/html5/render/browser/base/component/lazyload.js
index 96e8f16..05f4c70 100644
--- a/html5/render/browser/base/component/lazyload.js
+++ b/html5/render/browser/base/component/lazyload.js
@@ -18,7 +18,6 @@
  */
 /* global lib, HTMLElement */
 
-
 'use strict'
 
 import 'lazyimg'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/419d0197/html5/render/browser/extend/api/webSocket.js
----------------------------------------------------------------------
diff --git a/html5/render/browser/extend/api/webSocket.js b/html5/render/browser/extend/api/webSocket.js
index b813bb8..481c88f 100644
--- a/html5/render/browser/extend/api/webSocket.js
+++ b/html5/render/browser/extend/api/webSocket.js
@@ -18,7 +18,6 @@
  */
 /* global WebSocket */
 
-
 'use strict'
 
 let instance

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/419d0197/html5/render/browser/extend/components/image/index.js
----------------------------------------------------------------------
diff --git a/html5/render/browser/extend/components/image/index.js b/html5/render/browser/extend/components/image/index.js
index e310080..a66e0d6 100644
--- a/html5/render/browser/extend/components/image/index.js
+++ b/html5/render/browser/extend/components/image/index.js
@@ -18,7 +18,6 @@
  */
 /* global lib */
 
-
 'use strict'
 
 import './image.css'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/419d0197/html5/render/browser/extend/components/scrollable/motion.js
----------------------------------------------------------------------
diff --git a/html5/render/browser/extend/components/scrollable/motion.js b/html5/render/browser/extend/components/scrollable/motion.js
index 12fea27..24ead1b 100644
--- a/html5/render/browser/extend/components/scrollable/motion.js
+++ b/html5/render/browser/extend/components/scrollable/motion.js
@@ -18,7 +18,6 @@
  */
 /* global lib: true */
 
-
 'use strict'
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/419d0197/html5/render/browser/extend/components/scrollable/scrollable.js
----------------------------------------------------------------------
diff --git a/html5/render/browser/extend/components/scrollable/scrollable.js b/html5/render/browser/extend/components/scrollable/scrollable.js
index 63e28e1..e6f7700 100644
--- a/html5/render/browser/extend/components/scrollable/scrollable.js
+++ b/html5/render/browser/extend/components/scrollable/scrollable.js
@@ -18,7 +18,6 @@
  */
 /* global lib */
 
-
 'use strict'
 
 import './scrollable.css'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/419d0197/html5/render/browser/utils/index.js
----------------------------------------------------------------------
diff --git a/html5/render/browser/utils/index.js b/html5/render/browser/utils/index.js
index f02b9a0..57ec1ab 100644
--- a/html5/render/browser/utils/index.js
+++ b/html5/render/browser/utils/index.js
@@ -19,7 +19,6 @@
 
 /* global Image */
 
-
 'use strict'
 
 // const WEAPP_STYLE_ID = 'weapp-style'


[29/50] incubator-weex git commit: + [ios] fix bug picker

Posted by so...@apache.org.
+ [ios] fix bug picker


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/26200834
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/26200834
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/26200834

Branch: refs/heads/dev
Commit: 262008346f171a4cb31845a92306bc27ca78c063
Parents: c22d8e4
Author: \u9f50\u5c71 <su...@163.com>
Authored: Wed Apr 12 15:45:38 2017 +0800
Committer: \u9f50\u5c71 <su...@163.com>
Committed: Wed Apr 12 15:45:38 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 32 +++++++++++++-------
 1 file changed, 21 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/26200834/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
index ac4ae53..41ec9cc 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
@@ -66,6 +66,11 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 
 #pragma mark -
 #pragma mark Single Picker
+-(void)dealloc
+{
+    [NSObject cancelPreviousPerformRequestsWithTarget:self];
+}
+
 -(void)pick:(NSDictionary *)options callback:(WXModuleCallback)callback
 {
     NSArray *items = @[];
@@ -117,6 +122,14 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
     }
 }
 
+-(void)SetColorDelay:(NSNumber *)number
+{
+    if(self.selectionColor) {
+        UILabel *labelSelected = (UILabel*)[self.picker viewForRow:[number integerValue] forComponent:0.3];
+        [labelSelected setBackgroundColor:self.selectionColor];
+    }
+}
+
 -(void)createPicker:(NSArray *)items index:(NSInteger)index
 {
     [self configPickerView];
@@ -124,8 +137,12 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
     self.index = index;
     if (items && index < [items count]) {
         [self.picker selectRow:index inComponent:0 animated:NO];
+        [self performSelector:@selector(SetColorDelay:) withObject:[NSNumber numberWithInteger:self.index] afterDelay:0.3];
+        
     } else if(items && [items count]>0) {
         [self.picker selectRow:0 inComponent:0 animated:NO];
+        [self performSelector:@selector(SetColorDelay:) withObject:[NSNumber numberWithInteger:0] afterDelay:0.3];
+
     }
     [self show];
 }
@@ -244,7 +261,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
     titleLabel.center = toolBar.center;
     titleLabel.textAlignment = NSTextAlignmentCenter;
     if(self.titleColor){
-        titleLabel.textColor = self.textColor;
+        titleLabel.textColor = self.titleColor;
     }
     if(self.title.length>0){
         titleLabel.text = self.title;
@@ -310,15 +327,6 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
     }
 }
 
-- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component{
-    NSString * reStr = self.items[row];
-    NSMutableAttributedString * attriStr = [[NSMutableAttributedString alloc] initWithString:reStr];
-    UIColor *color = self.textColor?self.textColor:[UIColor blackColor];
-    [attriStr addAttribute:NSForegroundColorAttributeName value:color range:NSMakeRange(0, reStr.length)];
-
-    return attriStr;
-}
-
 -(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
 {
     
@@ -329,7 +337,9 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
         
         label= [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)];
         label.textAlignment = NSTextAlignmentCenter;
-        label.text = self.items[row];
+        UIColor *color = self.textColor?self.textColor:[UIColor blackColor];
+        label.textColor = color;
+        label.text = [self convertItem:self.items[row]];
     }
     
     return label;


[15/50] incubator-weex git commit: * [android] Change compiling error due to enableLayerType

Posted by so...@apache.org.
* [android] Change compiling error due to enableLayerType


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4c9e195f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4c9e195f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4c9e195f

Branch: refs/heads/dev
Commit: 4c9e195f5c7717edd42071f8cc96e3456a972bff
Parents: b75c6c5
Author: YorkShen <sh...@gmail.com>
Authored: Wed Apr 12 10:48:09 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Wed Apr 12 10:48:09 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/dom/action/AnimationAction.java    | 2 +-
 .../src/main/java/com/taobao/weex/ui/component/WXComponent.java  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4c9e195f/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
index 1350ead..5b380f2 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
@@ -143,7 +143,7 @@ class AnimationAction implements DOMAction, RenderAction {
           if (animator != null) {
             Animator.AnimatorListener animatorCallback = createAnimatorListener(instance, callback);
             if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2 && component
-                .enableLayerType() ) {
+                .isLayerTypeEnabled() ) {
               component.getHostView().setLayerType(View.LAYER_TYPE_HARDWARE, null);
             }
             Interpolator interpolator = createTimeInterpolator();

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4c9e195f/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index e1b8e3b..52cad7c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -1059,7 +1059,7 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
   }
 
   public void setOpacity(float opacity) {
-    if (opacity >= 0 && opacity <= 1 && mHost.getAlpha() != opacity && enableLayerType()) {
+    if (opacity >= 0 && opacity <= 1 && mHost.getAlpha() != opacity && isLayerTypeEnabled()) {
       mHost.setLayerType(View.LAYER_TYPE_HARDWARE, null);
       mHost.setAlpha(opacity);
     }
@@ -1247,7 +1247,7 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
     if (WXEnvironment.isApkDebugable() && !WXUtils.isUiThread()) {
       throw new WXRuntimeException("[WXComponent] destroy can only be called in main thread");
     }
-    if(mHost!= null && mHost.getLayerType()==View.LAYER_TYPE_HARDWARE && enableLayerType()) {
+    if(mHost!= null && mHost.getLayerType()==View.LAYER_TYPE_HARDWARE && isLayerTypeEnabled()) {
       mHost.setLayerType(View.LAYER_TYPE_NONE, null);
     }
     removeAllEvent();


[18/50] incubator-weex git commit: Merge branch '0.12-dev' of https://github.com/cxfeng1/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://github.com/cxfeng1/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ac496637
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ac496637
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ac496637

Branch: refs/heads/dev
Commit: ac496637db72779a85f9abf78820c78335548559
Parents: 4c9e195 45761b1
Author: bobning <ni...@163.com>
Authored: Wed Apr 12 12:05:43 2017 +0800
Committer: bobning <ni...@163.com>
Committed: Wed Apr 12 12:05:43 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m  | 6 ++----
 ios/sdk/WeexSDK/Sources/Display/WXComponent+Display.m | 2 +-
 2 files changed, 3 insertions(+), 5 deletions(-)
----------------------------------------------------------------------



[44/50] incubator-weex git commit: * [html5] fix merge conflicts.

Posted by so...@apache.org.
* [html5] fix merge conflicts.


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/cb5d6c33
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/cb5d6c33
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/cb5d6c33

Branch: refs/heads/dev
Commit: cb5d6c33a37879f8d2b2aec90ed7bcd933ac4f30
Parents: e099904
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Apr 13 10:41:34 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Apr 13 10:41:34 2017 +0800

----------------------------------------------------------------------
 html5/render/vue/components/scrollable/loading-indicator.js | 1 -
 html5/render/vue/env/viewport.js                            | 5 -----
 2 files changed, 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb5d6c33/html5/render/vue/components/scrollable/loading-indicator.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/loading-indicator.js b/html5/render/vue/components/scrollable/loading-indicator.js
index 8d82eed..356236d 100644
--- a/html5/render/vue/components/scrollable/loading-indicator.js
+++ b/html5/render/vue/components/scrollable/loading-indicator.js
@@ -53,7 +53,6 @@ const _css = `
 }
 `
 
->>>>>>> 0.11-dev
 export default {
   render (createElement) {
     this.weexType = 'loading-indicator'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb5d6c33/html5/render/vue/env/viewport.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/viewport.js b/html5/render/vue/env/viewport.js
index dda12ca..278dbef 100644
--- a/html5/render/vue/env/viewport.js
+++ b/html5/render/vue/env/viewport.js
@@ -28,10 +28,6 @@ import { extend } from '../utils/func'
  * 3. process.env.VIEWPORT_WIDTH (buid time)
  *
  */
-<<<<<<< HEAD
-
-let viewportWidth = process.env.VIEWPORT_WIDTH
-=======
 let isInited = false
 const DEFAULT_VIEWPORT_WIDTH = 750
 
@@ -42,7 +38,6 @@ const envViewportWidth = parseInt(process.env.VIEWPORT_WIDTH)
 let width: number = !isNaN(envViewportWidth) && envViewportWidth > 0
   ? envViewportWidth
   : DEFAULT_VIEWPORT_WIDTH
->>>>>>> 0.11-dev
 
 let wxViewportMeta = document.querySelector('meta[name="weex-viewport"]')
 const metaWidth = wxViewportMeta && parseInt(wxViewportMeta.getAttribute('content'))


[33/50] incubator-weex git commit: Merge branch 'android-opaticy' of github.com:YorkShen/incubator-weex into 0.12-dev This closes #256

Posted by so...@apache.org.
Merge branch 'android-opaticy' of github.com:YorkShen/incubator-weex into 0.12-dev
This closes #256


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b92bf6fe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b92bf6fe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b92bf6fe

Branch: refs/heads/dev
Commit: b92bf6fecd5973adb9e28cbe930093352874a23b
Parents: f475d4a 2deccfd
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 16:05:30 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 16:05:30 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/ui/component/WXComponent.java    | 6 ++++--
 .../src/test/java/com/taobao/weex/ui/component/WXTextTest.java | 5 ++---
 2 files changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------



[11/50] incubator-weex git commit: Merge branch 'android-color' of github.com:YorkShen/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch 'android-color' of github.com:YorkShen/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/70f42aa9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/70f42aa9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/70f42aa9

Branch: refs/heads/dev
Commit: 70f42aa9ecfb910507b1a79cabe4a67218436cd5
Parents: 953c607 2d59d14
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 10:39:11 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 10:39:11 2017 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/utils/WXResourceUtils.java  | 105 +++++++++----------
 .../taobao/weex/utils/WXResourceUtilsTest.java  |  13 +--
 2 files changed, 50 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/70f42aa9/android/sdk/src/main/java/com/taobao/weex/utils/WXResourceUtils.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/utils/WXResourceUtils.java
index 08324f3,4be2fbd..4690fb2
mode 100644,100755..100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXResourceUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXResourceUtils.java

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/70f42aa9/android/sdk/src/test/java/com/taobao/weex/utils/WXResourceUtilsTest.java
----------------------------------------------------------------------


[45/50] incubator-weex git commit: Merge branch '0.12-dev' of https://github.com/lycool/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://github.com/lycool/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/73684e5a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/73684e5a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/73684e5a

Branch: refs/heads/dev
Commit: 73684e5a8b29ab61729f158aeb77cef44757c26e
Parents: cb5d6c3 043e632
Author: YorkShen <sh...@gmail.com>
Authored: Thu Apr 13 10:49:06 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu Apr 13 10:49:06 2017 +0800

----------------------------------------------------------------------
 android/sdk/libs/armeabi/libweexv8.so           | Bin 3563544 -> 3579944 bytes
 .../java/com/taobao/weex/WXSDKInstance.java     |   8 ++++++++
 .../java/com/taobao/weex/bridge/WXBridge.java   |   8 ++++++++
 .../com/taobao/weex/bridge/WXBridgeManager.java |   8 ++++++--
 .../java/com/taobao/weex/common/IWXBridge.java  |   2 ++
 .../taobao/weex/bridge/WXWebsocketBridge.java   |   3 +++
 6 files changed, 27 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73684e5a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index b7aea32,8ffd2cf..007cfea
mode 100644,100755..100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73684e5a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
index d42839e,6389cbb..0a3582a
mode 100644,100755..100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73684e5a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index e056663,997d127..de6f21d
mode 100644,100755..100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73684e5a/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
index 06b9827,9e7fc1b..a013767
mode 100644,100755..100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73684e5a/android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java
----------------------------------------------------------------------
diff --cc android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java
index e89d0fe,f5d4329..c53db0f
mode 100644,100755..100644
--- a/android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java
+++ b/android/weex_debug/src/main/java/com/taobao/weex/bridge/WXWebsocketBridge.java


[06/50] incubator-weex git commit: * [ios] remove the overflow:hidden limit for border-x-x-radius on image component

Posted by so...@apache.org.
* [ios] remove the overflow:hidden limit for border-x-x-radius on image component


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/f8fe7735
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/f8fe7735
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/f8fe7735

Branch: refs/heads/dev
Commit: f8fe77352956ec7df4c0c1ef9666b065c3cdbb33
Parents: 30c8c8a
Author: \u9690\u98ce <cx...@apache.org>
Authored: Tue Apr 11 21:55:52 2017 +0800
Committer: \u9690\u98ce <cx...@apache.org>
Committed: Tue Apr 11 21:55:52 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m | 4 ----
 1 file changed, 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f8fe7735/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
index ba55c12..b307458 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -361,10 +361,6 @@ static dispatch_queue_t WXImageUpdateQueue;
 
 - (void)_clipsToBounds
 {
-    if (!_clipToBounds) {
-        return;
-    }
-    
     WXRoundedRect *borderRect = [[WXRoundedRect alloc] initWithRect:self.view.bounds topLeft:_borderTopLeftRadius topRight:_borderTopRightRadius bottomLeft:_borderBottomLeftRadius bottomRight:_borderBottomRightRadius];
     // here is computed radii, do not use original style
     WXRadii *radii = borderRect.radii;


[46/50] incubator-weex git commit: * [android] fix wrong parameter pass to root comp

Posted by so...@apache.org.
* [android] fix wrong parameter pass to root comp

Reported by https://github.com/apache/incubator-weex/pull/195


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/0305e356
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0305e356
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0305e356

Branch: refs/heads/dev
Commit: 0305e356a0b24490921d2ba3ca56fb3db49085d1
Parents: 73684e5
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 11:18:52 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 11:38:39 2017 +0800

----------------------------------------------------------------------
 android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0305e356/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index 007cfea..c054b18 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -796,7 +796,7 @@ public class WXSDKInstance implements IWXActivityStateListener,DomContext, View.
     WXModuleManager.onActivityResult(getInstanceId(),requestCode,resultCode,data);
 
     if(mRootComp != null) {
-      mRootComp.onActivityResult(requestCode,requestCode,data);
+      mRootComp.onActivityResult(requestCode,resultCode,data);
     }else{
       WXLogUtils.w("Warning :Component tree has not build completely, onActivityResult can not be call!");
     }


[43/50] incubator-weex git commit: * [jsfm] fix package.json conflict

Posted by so...@apache.org.
* [jsfm] fix package.json conflict


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e0999045
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e0999045
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e0999045

Branch: refs/heads/dev
Commit: e0999045e11238797cbdf68d9e77b818ad001118
Parents: 8c90235
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 10:37:18 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 10:37:18 2017 +0800

----------------------------------------------------------------------
 package.json | 5 -----
 1 file changed, 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e0999045/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 30466fd..3c0b799 100644
--- a/package.json
+++ b/package.json
@@ -3,13 +3,8 @@
   "version": "0.4.0",
   "subversion": {
     "browser": "0.5.0",
-<<<<<<< HEAD
-    "vue-render": "0.11.2",
     "framework": "0.20.3",
-=======
-    "framework": "0.19.17",
     "vue-render": "0.11.5",
->>>>>>> 0.11-dev
     "transformer": ">=0.1.5 <0.5"
   },
   "description": "A framework for building Mobile cross-platform UI",


[40/50] incubator-weex git commit: Merge branch 'android-feature-picker-improvement' of github.com:misakuo/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch 'android-feature-picker-improvement' of github.com:misakuo/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/102e37dc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/102e37dc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/102e37dc

Branch: refs/heads/dev
Commit: 102e37dcde3dbed5cf101dea6db4b618edd6b981
Parents: f5fa773 e0a0c72
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 10:19:03 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 10:19:03 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/102e37dc/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
----------------------------------------------------------------------


[13/50] incubator-weex git commit: Merge branch 'android-feature-disable-layerType' of https://github.com/YorkShen/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch 'android-feature-disable-layerType' of https://github.com/YorkShen/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/476e58c9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/476e58c9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/476e58c9

Branch: refs/heads/dev
Commit: 476e58c9a5b5ce749494a3afbe1a15ad343b3c25
Parents: 02487c9 28dac6d
Author: YorkShen <sh...@gmail.com>
Authored: Wed Apr 12 10:41:27 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Wed Apr 12 10:41:27 2017 +0800

----------------------------------------------------------------------
 .../java/com/taobao/weex/WXSDKInstance.java     | 25 ++++++++++++++++++++
 .../taobao/weex/dom/action/AnimationAction.java |  3 ++-
 .../taobao/weex/ui/component/WXComponent.java   | 14 ++++++++---
 3 files changed, 38 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/476e58c9/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index d10a394,51903ea..b7aea32
mode 100644,100755..100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/476e58c9/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/476e58c9/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 42d9573,7b9bca1..e1b8e3b
mode 100644,100755..100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java


[32/50] incubator-weex git commit: * [test] skip recycler test

Posted by so...@apache.org.
* [test] skip recycler test


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/f475d4ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/f475d4ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/f475d4ae

Branch: refs/heads/dev
Commit: f475d4ae1a19de1ff55aa18b02e829835407a0c5
Parents: 076d11b
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 16:04:40 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 16:04:40 2017 +0800

----------------------------------------------------------------------
 test/scripts/components/recycler.test.js | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f475d4ae/test/scripts/components/recycler.test.js
----------------------------------------------------------------------
diff --git a/test/scripts/components/recycler.test.js b/test/scripts/components/recycler.test.js
index f03f08c..c83534d 100644
--- a/test/scripts/components/recycler.test.js
+++ b/test/scripts/components/recycler.test.js
@@ -15,13 +15,11 @@ const isApproximate = (x, y) =>  {
   return Math.abs(x - y) <= (isAndroid ? 2 : 1.5)
 }
 
-describe('recycler', function () {
+describe('recycler @ignore_android', function () {
   this.timeout(util.getTimeoutMills())
   const driver = util.createDriver(wd)
 
   before(function () {
-
-    console.log(util.getPage('/components/recycler.js'))
     return util.init(driver)
       .get(util.getPage('/components/recycler.js'))
       .waitForElementById('waterfall',util.getGETActionWaitTimeMills(),1000)


[41/50] incubator-weex git commit: Merge branch '0.11-dev' into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.11-dev' into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b932600a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b932600a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b932600a

Branch: refs/heads/dev
Commit: b932600a8f79b3ad9a75ca9be9c94a24e8e5811d
Parents: 102e37d bbb120d
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 10:31:21 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 10:31:21 2017 +0800

----------------------------------------------------------------------
 .eslintignore                                   |   1 +
 .gitignore                                      |   2 +-
 NOTICE                                          |   8 +-
 build/karma.vue.conf.js                         |   7 +-
 build/webpack.examples.web.config.js            |  31 +-
 build/webpack.test.web.config.js                |  81 +++
 examples/vue/showcase/itemlist.vue              |  11 +-
 examples/vue/style/index.vue                    |   2 +-
 .../npm/karma-rollup-preprocessor_vx.x.x.js     |  53 ++
 flow-typed/npm/karma-sinon-chai_vx.x.x.js       |  38 ++
 html5/render/vue/README.md                      |  24 +-
 html5/render/vue/components/a.js                |  18 +-
 html5/render/vue/components/div.js              |  18 +-
 html5/render/vue/components/image.js            |  25 +-
 html5/render/vue/components/input.js            |  18 +-
 .../render/vue/components/scrollable/header.js  |   6 +-
 .../vue/components/scrollable/list/cell.js      |   7 +-
 .../vue/components/scrollable/list/index.js     |   6 +-
 .../vue/components/scrollable/list/style.js     |  16 +
 .../components/scrollable/loading-indicator.js  |  44 +-
 .../render/vue/components/scrollable/loading.js |   6 +-
 .../render/vue/components/scrollable/refresh.js |   6 +-
 .../vue/components/scrollable/scroller.js       |   8 +-
 html5/render/vue/components/slider/index.js     |  37 +-
 html5/render/vue/components/slider/indicator.js |  58 +-
 html5/render/vue/components/switch.js           |  67 ++-
 html5/render/vue/components/text.js             |  27 +-
 html5/render/vue/components/textarea.js         |  19 +-
 html5/render/vue/components/video.js            |   7 +-
 html5/render/vue/components/web.js              |  19 +-
 html5/render/vue/core/index.js                  |   2 +
 html5/render/vue/core/node.js                   |  28 +
 html5/render/vue/core/style.js                  | 212 ++++++++
 html5/render/vue/env/global.js                  |  11 +
 html5/render/vue/env/index.js                   |  11 +-
 html5/render/vue/env/viewport.js                | 163 ++++--
 html5/render/vue/env/weex.js                    |   9 +-
 html5/render/vue/env/wx-env.js                  |  76 +--
 html5/render/vue/index.js                       |  13 +-
 html5/render/vue/mixins/base.js                 |  43 --
 html5/render/vue/mixins/style.js                | 142 +----
 html5/render/vue/modules/animation.js           |   7 +-
 html5/render/vue/modules/dom.js                 |   5 +-
 html5/render/vue/modules/index.js               |   2 +-
 html5/render/vue/modules/modal/index.js         |  10 +-
 html5/render/vue/modules/modal/style.js         | 146 ++++++
 html5/render/vue/styles/base.css                | 194 +++++++
 html5/render/vue/styles/components.css          | 513 ------------------
 html5/render/vue/utils/index.js                 |  36 +-
 html5/render/vue/utils/style.js                 | 110 ++++
 html5/test/render/vue/components/image.js       |   4 +-
 html5/test/render/vue/components/switch.js      |   4 -
 html5/test/render/vue/components/text.js        |   4 -
 html5/test/render/vue/components/web.js         |   4 -
 html5/test/render/vue/core/scope-style-map.js   |  76 +++
 html5/test/render/vue/core/style.js             |  65 +++
 .../vue/data/build/dotvue/scoped-style.js       | 525 +++++++++++++++++++
 html5/test/render/vue/data/css/head1.css        |  38 ++
 html5/test/render/vue/data/css/head10.css       |  14 +
 html5/test/render/vue/data/css/head11.css       |   2 +
 html5/test/render/vue/data/css/head12.css       |   2 +
 html5/test/render/vue/data/css/head13.css       |  25 +
 html5/test/render/vue/data/css/head2.css        |  11 +
 html5/test/render/vue/data/css/head3.css        |  25 +
 html5/test/render/vue/data/css/head4.css        |  56 ++
 html5/test/render/vue/data/css/head5.css        | 153 ++++++
 html5/test/render/vue/data/css/head6.css        |   4 +
 html5/test/render/vue/data/css/head7.css        |  61 +++
 html5/test/render/vue/data/css/head8.css        | 507 ++++++++++++++++++
 html5/test/render/vue/data/css/head9.css        | 173 ++++++
 .../render/vue/data/dotvue/scoped-style.vue     |  13 +
 html5/test/render/vue/data/head-css.js          |  13 +
 html5/test/render/vue/data/head-map.js          | 275 ++++++++++
 html5/test/render/vue/helper.js                 | 140 -----
 html5/test/render/vue/helper/env.js             |  20 +
 html5/test/render/vue/helper/index.js           |  73 +++
 html5/test/render/vue/helper/runtime.js         |  74 +++
 html5/test/render/vue/helper/utils.js           |   8 +
 html5/test/render/vue/utils.js                  |  47 --
 html5/test/render/vue/utils/func.js             |  49 ++
 html5/test/render/vue/utils/style.js            |  68 +++
 package.json                                    |   7 +-
 packages/weex-vue-render/README.md              |  24 +-
 packages/weex-vue-render/package.json           |   2 +-
 84 files changed, 3829 insertions(+), 1140 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/NOTICE
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/a.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/a.js
index e4c953c,83851b2..bf12d21
--- a/html5/render/vue/components/a.js
+++ b/html5/render/vue/components/a.js
@@@ -1,21 -1,11 +1,29 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, trimTextVNodes, createEventMap } from '../core'
+ // import { validateStyles } from '../validator'
+ 
+ const _css = `
+ .weex-a {
+   text-decoration: none;
+ }
+ `
  
  export default {
    name: 'weex-a',

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/div.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/div.js
index 3425476,bdc90d0..9811332
--- a/html5/render/vue/components/div.js
+++ b/html5/render/vue/components/div.js
@@@ -1,21 -1,11 +1,29 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../validator'
+ import { extractComponentStyle, trimTextVNodes, createEventMap } from '../core'
+ 
+ const _css = `
+ body > .weex-div {
+   min-height: 100%;
+ }
+ `
  
  export default {
    name: 'weex-div',

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/image.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/image.js
index 5ee785c,b245338..39caa55
--- a/html5/render/vue/components/image.js
+++ b/html5/render/vue/components/image.js
@@@ -1,22 -1,12 +1,31 @@@
 +/*
 + * 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.
 + */
 +
+ import { extractComponentStyle, createEventMap } from '../core'
+ import { extend } from '../utils'
+ 
+ const _css = `
+ .weex-image, .weex-img {
+   background-repeat: no-repeat;
+   background-position: 50% 50%;
+ }
+ `
  /**
   * get resize (stetch|cover|contain) related styles.
   */

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/input.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/header.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/header.js
index f58962b,9fdeddb..9753209
--- a/html5/render/vue/components/scrollable/header.js
+++ b/html5/render/vue/components/scrollable/header.js
@@@ -1,22 -1,6 +1,23 @@@
 -// import { validateStyles } from '../../validator'
 +/*
 + * 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.
 + */
  import { supportSticky } from '../../utils/style'
+ import { extractComponentStyle, createEventMap } from '../../core'
  
  export default {
    data () {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/list/cell.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/list/cell.js
index d3d6160,ab8910c..2f37f4a
--- a/html5/render/vue/components/scrollable/list/cell.js
+++ b/html5/render/vue/components/scrollable/list/cell.js
@@@ -1,21 -1,5 +1,23 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../../../validator'
+ import { extractComponentStyle, createEventMap } from '../../../core'
  
  export default {
    render (createElement) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/list/index.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/list/index.js
index b920879,fc803c6..a5fceff
--- a/html5/render/vue/components/scrollable/list/index.js
+++ b/html5/render/vue/components/scrollable/list/index.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, createEventMap } from '../../../core'
  import { scrollable } from '../../../mixins'
  // import { validateStyles } from '../../../validator'
  import { extend } from '../../../utils'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/loading-indicator.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/loading-indicator.js
index e41edf2,b184cca..8d82eed
--- a/html5/render/vue/components/scrollable/loading-indicator.js
+++ b/html5/render/vue/components/scrollable/loading-indicator.js
@@@ -1,21 -1,40 +1,59 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle } from '../../core'
+ 
+ const _css = `
+ .weex-refresh-indicator,
+ .weex-loading-indicator {
+   width: 1.0rem;
+   height: 1.0rem;
+   -webkit-box-align: center;
+   -webkit-align-items: center;
+       -ms-flex-align: center;
+           align-items: center;
+   -webkit-box-pack: center;
+   -webkit-justify-content: center;
+       -ms-flex-pack: center;
+           justify-content: center;
+   overflow: visible;
+   background: none;
+ }
+ .weex-refresh-indicator:before,
+ .weex-loading-indicator:before {
+   display: block;
+   content: '';
+   font-size: 0.16rem;
+   width: 1em;
+   height: 1em;
+   left: -60%;
+   top: 40%;
+   border-radius: 50%;
+   position: relative;
+   text-indent: -9999em;
+   -webkit-animation: weex-spinner 1.1s infinite ease;
+           animation: weex-spinner 1.1s infinite ease;
+   -webkit-transform: translate3d(1.0rem, 0, 0);
+           transform: translate3d(1.0rem, 0, 0);
+ }
+ `
+ 
++>>>>>>> 0.11-dev
  export default {
    render (createElement) {
      this.weexType = 'loading-indicator'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/loading.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/loading.js
index a8e07fa,8f01fde..e8bef52
--- a/html5/render/vue/components/scrollable/loading.js
+++ b/html5/render/vue/components/scrollable/loading.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle } from '../../core'
  import LoadingIndicator from './loading-indicator'
  
  export default {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/refresh.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/refresh.js
index 1093edf,1d941d4..a770095
--- a/html5/render/vue/components/scrollable/refresh.js
+++ b/html5/render/vue/components/scrollable/refresh.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle } from '../../core'
  import LoadingIndicator from './loading-indicator'
  import { createEvent } from '../../utils'
  

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/scroller.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/scroller.js
index 67fe9ca,b56ef70..96ebc10
--- a/html5/render/vue/components/scrollable/scroller.js
+++ b/html5/render/vue/components/scrollable/scroller.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, createEventMap } from '../../core'
  import { scrollable } from '../../mixins'
  // import { validateStyles } from '../../validator'
  import { extend } from '../../utils'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/slider/index.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/slider/index.js
index 1523edf,b37b0a2..c5a1eeb
--- a/html5/render/vue/components/slider/index.js
+++ b/html5/render/vue/components/slider/index.js
@@@ -1,21 -1,5 +1,23 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../../validator'
+ import { extractComponentStyle, createEventMap } from '../../core'
  import { throttle, bind, extend, fireLazyload } from '../../utils'
  import indicator from './indicator'
  import slideMixin from './slideMixin'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/slider/indicator.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/slider/indicator.js
index ce9e45b,6722041..97388bb
--- a/html5/render/vue/components/slider/indicator.js
+++ b/html5/render/vue/components/slider/indicator.js
@@@ -1,27 -1,39 +1,57 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle } from '../../core'
  import { extend, extendKeys } from '../../utils'
  
+ const _css = `
+ .weex-indicator {
+   position: absolute;
+   z-index: 10;
+   -webkit-flex-direction: row;
+   -ms-flex-direction: row;
+   flex-direction: row;
+   -webkit-box-orient: horizontal;
+   margin: 0;
+   padding: 0;
+ }
+ 
+ .weex-indicator-item {
+   display: inline-block;
+   position: relative;
+   border-radius: 50%;
+   width: 0.266667rem;
+   height: 0.266667rem;
+   background-color: #BBBBBB;
+ }
+ .weex-indicator-item + .weex-indicator-item {
+   margin-left: 0.133333rem;
+ }
+ 
+ .weex-indicator-item-active {
+   background-color: blue;
+ }
+ `
+ 
  function getIndicatorItemStyle (spec, isActive) {
    const style = {}
-   style['background-color'] = spec[isActive ? 'item-selected-color' : 'item-color']
-   style['width'] = style['height'] = spec['item-size']
+   style['background-color'] = spec[isActive ? 'itemSelectedColor' : 'itemColor']
+   style['width'] = style['height'] = spec['itemSize']
    return style
  }
  

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/switch.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/switch.js
index 49b55af,cf904c3..426beb5
--- a/html5/render/vue/components/switch.js
+++ b/html5/render/vue/components/switch.js
@@@ -1,21 -1,62 +1,80 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../validator'
+ import { extractComponentStyle } from '../core'
+ 
+ const _css = `
+ .weex-switch {
+   border: 0.013333rem solid #dfdfdf;
+   cursor: pointer;
+   display: inline-block;
+   position: relative;
+   vertical-align: middle;
+   -webkit-user-select: none;
+      -moz-user-select: none;
+       -ms-user-select: none;
+           user-select: none;
+   box-sizing: content-box;
+   background-clip: content-box;
+   color: #64bd63;
+   width: 1.333333rem;
+   height: 0.8rem;
+   background-color: white;
+   border-color: #dfdfdf;
+   box-shadow: #dfdfdf 0 0 0 0 inset;
+   border-radius: 0.8rem;
+   -webkit-transition: border 0.4s, box-shadow 0.4s, background-color 1.2s;
+           transition: border 0.4s, box-shadow 0.4s, background-color 1.2s;
+ }
+ 
+ .weex-switch-checked {
+   background-color: #64bd63;
+   border-color: #64bd63;
+   box-shadow: #64bd63 0 0 0 0.533333rem inset;
+ }
+ 
+ .weex-switch-checked.weex-switch-disabled {
+   background-color: #A0CCA0;
+   box-shadow: #A0CCA0 0 0 0 0.533333rem inset;
+ }
+ 
+ .weex-switch-disabled {
+   background-color: #EEEEEE;
+ }
+ 
+ .weex-switch-inner {
+   width: 0.8rem;
+   height: 0.8rem;
+   background: #fff;
+   border-radius: 100%;
+   box-shadow: 0 0.013333rem 0.04rem rgba(0, 0, 0, 0.4);
+   position: absolute;
+   top: 0;
+   left: 0;
+   -webkit-transition: background-color 0.4s, left 0.2s;
+           transition: background-color 0.4s, left 0.2s;
+ }
+ 
+ .weex-switch-checked > .weex-switch-inner {
+   left: 0.533333rem;
+ }
+ `
  
  export default {
    props: {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/text.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/textarea.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/textarea.js
index 65306f0,bc1ffdf..a1851ee
--- a/html5/render/vue/components/textarea.js
+++ b/html5/render/vue/components/textarea.js
@@@ -1,25 -1,18 +1,36 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, createEventMap } from '../core'
  import { inputCommon } from '../mixins'
  import { extend, mapFormEvents } from '../utils'
+ 
  // import { validateStyles } from '../validator'
  
+ const _css = `
+ .weex-textarea {
+   font-size: 0.426667rem
+ }
+ .weex-textarea:focus {
+   outline: none;
+ }
+ `
+ 
  export default {
    mixins: [inputCommon],
    props: {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/video.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/video.js
index 1031b5f,8c52672..b39bf4a
--- a/html5/render/vue/components/video.js
+++ b/html5/render/vue/components/video.js
@@@ -1,21 -1,5 +1,23 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../validator'
+ import { extractComponentStyle, createEventMap } from '../core'
  
  export default {
    props: {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/web.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/web.js
index a17ec8a,9ae7d5f..1bf95a6
--- a/html5/render/vue/components/web.js
+++ b/html5/render/vue/components/web.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, createEventMap } from '../core'
  import { createEvent } from '../utils'
  // import { validateStyles } from '../validator'
  

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/env/index.js
----------------------------------------------------------------------
diff --cc html5/render/vue/env/index.js
index 2f4f41b,73f640e..c00b251
--- a/html5/render/vue/env/index.js
+++ b/html5/render/vue/env/index.js
@@@ -1,23 -1,5 +1,23 @@@
 +/*
 + * 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.
 + */
  import '../styles/reset.css'
- import '../styles/components.css'
+ import '../styles/base.css'
  
  // import 'lazyimg'
  import '../../browser/render/gesture'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/env/viewport.js
----------------------------------------------------------------------
diff --cc html5/render/vue/env/viewport.js
index 3384b43,5a80893..dda12ca
--- a/html5/render/vue/env/viewport.js
+++ b/html5/render/vue/env/viewport.js
@@@ -1,21 -1,6 +1,24 @@@
 +/*
 + * 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.
 + */
+ // @flow
+ 
+ import { extend } from '../utils/func'
  
  /**
   * viewport priority:
@@@ -25,12 -10,41 +28,46 @@@
   * 3. process.env.VIEWPORT_WIDTH (buid time)
   *
   */
++<<<<<<< HEAD
 +
 +let viewportWidth = process.env.VIEWPORT_WIDTH
++=======
+ let isInited = false
+ const DEFAULT_VIEWPORT_WIDTH = 750
+ 
+ /**
+  * get viewport width from weex-viewport meta.
+  */
+ const envViewportWidth = parseInt(process.env.VIEWPORT_WIDTH)
+ let width: number = !isNaN(envViewportWidth) && envViewportWidth > 0
+   ? envViewportWidth
+   : DEFAULT_VIEWPORT_WIDTH
++>>>>>>> 0.11-dev
  
- const wxViewportMeta = document.querySelector('meta[name="weex-viewport"]')
+ let wxViewportMeta = document.querySelector('meta[name="weex-viewport"]')
  const metaWidth = wxViewportMeta && parseInt(wxViewportMeta.getAttribute('content'))
- if (metaWidth && !isNaN(metaWidth) && metaWidth > 0) { viewportWidth = metaWidth }
+ if (metaWidth && !isNaN(metaWidth) && metaWidth > 0) {
+   width = metaWidth
+ }
+ 
+ let dpr: number = 0
+ let deRect: mixed = null
+ let screenWidth: number = 0
+ let screenHeight: number = 0
+ 
+ const info: {
+   dpr: number,
+   scale: number,
+   rem: number,
+   deviceWidth: number,
+   deviceHeight: number
+ } = {
+   dpr,
+   scale: 0,
+   rem: 0,
+   deviceWidth: 0,
+   deviceHeight: 0
+ }
  
  /**
   * set root font-size for rem units. If already been set, just skip this.

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/env/weex.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/env/wx-env.js
----------------------------------------------------------------------
diff --cc html5/render/vue/env/wx-env.js
index 68cddb2,011b412..47d1706
--- a/html5/render/vue/env/wx-env.js
+++ b/html5/render/vue/env/wx-env.js
@@@ -1,66 -1,52 +1,70 @@@
 +/*
 + * 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.
 + */
  import 'envd'
  
- import { setViewport } from './viewport'
+ import { init as initViewport } from './viewport'
  import { extend } from '../utils'
  
- const scaleInfo = setViewport()
- 
- const lib = window.lib
- const env = {
-   platform: 'Web',
-   // weexVersion: '0.10.0', // TODO: get version from package.json (not sure)
-   weexVersion: 'process.env.WEEX_VERSION',
-   userAgent: navigator.userAgent,
-   appName: lib.env.aliapp ? lib.env.aliapp.appname : navigator.appName,
-   appVersion: lib.env.aliapp ? lib.env.aliapp.version.val : null,
-   osName: lib.env.browser ? lib.env.browser.name : null,
-   osVersion: lib.env.browser ? lib.env.browser.version.val : null,
-   deviceModel: lib.env.os.name || null
- }
- 
  /**
-  * scaleInfo: scale, deviceWidth, deviceHeight.
+  * get WXEnvironment info.
+  * @param  {object} viewportInfo: info about viewport.
+  * @param  {object} envInfo: info parsed from lib.env.
   */
- extend(env, scaleInfo)
+ export function initEnv (viewportInfo, envInfo) {
+   const env = {
+     platform: 'Web',
+     weexVersion: 'process.env.WEEX_VERSION',
+     userAgent: navigator.userAgent,
+     appName: envInfo.aliapp ? envInfo.aliapp.appname : navigator.appName,
+     appVersion: envInfo.aliapp ? envInfo.aliapp.version.val : null,
+     osName: envInfo.browser ? envInfo.browser.name : null,
+     osVersion: envInfo.browser ? envInfo.browser.version.val : null,
+     deviceModel: envInfo.os.name || null
+   }
+   /**
+    * viewportInfo: scale, deviceWidth, deviceHeight. dpr
+    */
+   return extend(env, viewportInfo)
+ }
+ 
+ // const viewportInfo = initViewport()
  
  // 750 by default currently
- const scale = env.scale
+ // const scale = viewportInfo.scale
  
- const units = {
-   REM: 12 * scale,
-   VW: env.deviceWidth / 100,
-   VH: env.deviceHeight / 100,
-   VMIN: Math.min(env.deviceWidth, env.deviceHeight) / 100,
-   VMAX: Math.max(env.deviceWidth, env.deviceHeight) / 100,
-   CM: 96 / 2.54 * scale,
-   MM: 96 / 25.4 * scale,
-   Q: 96 / 25.4 / 4 * scale,
-   IN: 96 * scale,
-   PT: 96 / 72 * scale,
-   PC: 96 / 6 * scale,
-   PX: scale
- }
+ // const units = {
+ //   REM: 12 * scale,
+ //   VW: viewportInfo.deviceWidth / 100,
+ //   VH: viewportInfo.deviceHeight / 100,
+ //   VMIN: Math.min(viewportInfo.deviceWidth, viewportInfo.deviceHeight) / 100,
+ //   VMAX: Math.max(viewportInfo.deviceWidth, viewportInfo.deviceHeight) / 100,
+ //   CM: 96 / 2.54 * scale,
+ //   MM: 96 / 25.4 * scale,
+ //   Q: 96 / 25.4 / 4 * scale,
+ //   IN: 96 * scale,
+ //   PT: 96 / 72 * scale,
+ //   PC: 96 / 6 * scale,
+ //   PX: scale
+ // }
  
- Object.freeze(units)
+ // Object.freeze(units)
  // Object.freeze(env)
  
- window.CSS_UNIT = units
- window.WXEnvironment = env
+ // window.CSS_UNIT = units
+ window.WXEnvironment = initEnv(initViewport(), window.lib.env)

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/index.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/mixins/base.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/mixins/style.js
----------------------------------------------------------------------
diff --cc html5/render/vue/mixins/style.js
index f7dc13e,1052501..8625537
--- a/html5/render/vue/mixins/style.js
+++ b/html5/render/vue/mixins/style.js
@@@ -1,85 -1,11 +1,29 @@@
 +/*
 + * 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.
 + */
  import {
-   camelizeKeys,
-   hyphenateKeys,
-   extend,
-   trimComment
- } from '../utils'
- import { tagBegin, tagEnd } from '../utils/perf'
- import addPrefix from 'inline-style-prefixer/static'
+   getHeadStyleMap,
+   getComponentStyle,
+   extractComponentStyle
+ } from '../core'
  
- function getHeadStyleMap () {
-   if (process.env.NODE_ENV === 'development') {
-     tagBegin('getHeadStyleMap')
-   }
-   const res = Array.from(document.styleSheets || [])
-     .reduce((pre, styleSheet) => {
-       // why not using styleSheet.rules || styleSheet.cssRules to get css rules ?
-       // because weex's components defined non-standard style attributes, which is
-       // auto ignored when access rule.cssText.
-       const strArr = trimComment(styleSheet.ownerNode.textContent.trim()).split(/}/)
-       const len = strArr.length
-       const rules = []
-       for (let i = 0; i < len; i++) {
-         const str = strArr[i]
-         if (!str || str.match(/^\s*$/)) {
-           continue
-         }
- 
-         const match = str.match(/((?:,?\s*\.[[\]\w-]+\s*)+)({[^}]+)/)
-         if (!match) {
-           // not the vue static class styles map. so acquire no rules for this styleSheet.
-           // just jump through this styleSheet and go to analyzing next.
-           return pre
-         }
-         const clsNms = match[1].split(',').map(n => n.trim())
-         const cssText = match[2].replace(/[{}]/g, '').trim()
-         let clsNmsIdx = 0
-         const clsNmsLen = clsNms.length
-         while (clsNmsIdx < clsNmsLen) {
-           rules.push({
-             selectorText: clsNms[clsNmsIdx],
-             cssText
-           })
-           clsNmsIdx++
-         }
-       }
-       Array.from(rules).forEach(rule => {
-         const selector = rule.selectorText || ''
-         pre[selector] = trimComment(rule.cssText).split(';')
-           .reduce((styleObj, statement) => {
-             statement = statement.trim()
-             if (statement && statement.indexOf('/*') <= -1) {
-               const resArr = statement.split(':').map((part) => part.trim())
-               styleObj[resArr[0]] = resArr[1]
-             }
-             return styleObj
-           }, {})
-       })
-       return pre
-     }, {})
-   if (process.env.NODE_ENV === 'development') {
-     tagEnd('getHeadStyleMap')
-   }
-   return res
- }
+ let warned = false
+ const warnInfo = `[vue-render] after v0.11.3 there's no need to add $processStyle in vue-loader config anymore.`
  
  export default {
    beforeCreate () {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/modules/animation.js
----------------------------------------------------------------------
diff --cc html5/render/vue/modules/animation.js
index 99bc0cb,bfcc159..9efc4ba
--- a/html5/render/vue/modules/animation.js
+++ b/html5/render/vue/modules/animation.js
@@@ -1,22 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
- import { nextFrame, toCSSText } from '../utils'
+ import { nextFrame, toCSSText, autoPrefix, camelizeKeys, normalizeStyle } from '../utils'
  
  function transitionOnce (vnode, config, callback) {
    const duration = config.duration || 1000 // ms

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/modules/dom.js
----------------------------------------------------------------------
diff --cc html5/render/vue/modules/dom.js
index 4b8425a,d290d7d..61f30dd
--- a/html5/render/vue/modules/dom.js
+++ b/html5/render/vue/modules/dom.js
@@@ -1,22 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
- import { camelToKebab, appendStyle } from '../utils'
+ import { camelToKebab, appendCss } from '../utils'
  
  function getParentScroller (vnode) {
    if (!vnode) return null

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/modules/index.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/modules/modal/index.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/utils/index.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/utils/style.js
----------------------------------------------------------------------
diff --cc html5/render/vue/utils/style.js
index 67f0e3a,0dc1879..5d565e1
--- a/html5/render/vue/utils/style.js
+++ b/html5/render/vue/utils/style.js
@@@ -1,24 -1,16 +1,35 @@@
 +/*
 + * 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.
 + */
 +
  // @flow
  
+ import { getViewportInfo } from '../env/viewport'
+ import addPrefix from 'inline-style-prefixer/static/index'
+ 
+ const noUnitsNumberKeys = [
+   'flex',
+   'opacity',
+   'zIndex',
+   'fontWeight',
+   'lines'
+ ]
+ 
  /**
   * remove comments from a cssText.
   */

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/package.json
----------------------------------------------------------------------
diff --cc package.json
index b2c4fd4,4524d59..30466fd
--- a/package.json
+++ b/package.json
@@@ -3,8 -3,8 +3,13 @@@
    "version": "0.4.0",
    "subversion": {
      "browser": "0.5.0",
++<<<<<<< HEAD
 +    "vue-render": "0.11.2",
 +    "framework": "0.20.3",
++=======
+     "framework": "0.19.17",
+     "vue-render": "0.11.5",
++>>>>>>> 0.11-dev
      "transformer": ">=0.1.5 <0.5"
    },
    "description": "A framework for building Mobile cross-platform UI",


[03/50] incubator-weex git commit: Merge branch 'ios-bugfix-0.12-dev' of https://github.com/kfeagle/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch 'ios-bugfix-0.12-dev' of https://github.com/kfeagle/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/57f395db
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/57f395db
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/57f395db

Branch: refs/heads/dev
Commit: 57f395db79073bcdd0415f784b2a80bc2e1ec386
Parents: 953c607 b8bacb1
Author: cxfeng <cx...@apache.org>
Authored: Tue Apr 11 21:40:24 2017 +0800
Committer: cxfeng <cx...@apache.org>
Committed: Tue Apr 11 21:40:24 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/57f395db/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
----------------------------------------------------------------------


[05/50] incubator-weex git commit: Merge remote-tracking branch 'upstream/0.12-dev' into 0.12-dev

Posted by so...@apache.org.
Merge remote-tracking branch 'upstream/0.12-dev' into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/30c8c8a6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/30c8c8a6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/30c8c8a6

Branch: refs/heads/dev
Commit: 30c8c8a604d866db8d763e00cab05d958b897727
Parents: ab0a72f 953c607
Author: \u9690\u98ce <cx...@apache.org>
Authored: Tue Apr 11 21:42:10 2017 +0800
Committer: \u9690\u98ce <cx...@apache.org>
Committed: Tue Apr 11 21:42:10 2017 +0800

----------------------------------------------------------------------
 .rat-excludes                                   |  11 +
 .travis.yml                                     |   2 +-
 DISCLAIMER                                      |   1 +
 LICENSE                                         |   2 +-
 NOTICE                                          |   7 +-
 .../alibaba/weex/commons/ApplicationTest.java   | 222 +-----
 .../weex/commons/AbstractWeexActivity.java      | 222 +-----
 .../weex/commons/SimpleWeexActivity.java        | 220 +-----
 .../weex/commons/WXAnalyzerDelegate.java        | 220 +-----
 .../alibaba/weex/commons/adapter/BlurTool.java  | 220 +-----
 .../commons/adapter/BlurTransformation.java     | 222 +-----
 .../adapter/DefaultWebSocketAdapter.java        | 220 +-----
 .../adapter/DefaultWebSocketAdapterFactory.java | 220 +-----
 .../commons/adapter/FrescoImageAdapter.java     | 220 +-----
 .../commons/adapter/FrescoImageComponent.java   | 220 +-----
 .../weex/commons/adapter/FrescoImageView.java   | 220 +-----
 .../weex/commons/adapter/ImageAdapter.java      | 220 +-----
 .../commons/adapter/JSExceptionAdapter.java     | 220 +-----
 .../alibaba/weex/commons/util/AssertUtil.java   | 220 +-----
 .../alibaba/weex/commons/util/ScreenUtil.java   | 220 +-----
 .../java/com/alibaba/weex/ApplicationTest.java  |  20 +-
 .../com/alibaba/weex/WeappJsBaseTestCase.java   |  18 +
 .../benchmark/BenchmarkActivityTestRule.java    | 218 +-----
 .../alibaba/weex/benchmark/BenchmarkTest.java   | 218 +-----
 .../com/alibaba/weex/benchmark/BoxPlot.java     | 218 +-----
 .../java/com/alibaba/weex/benchmark/Repeat.java | 218 +-----
 .../com/alibaba/weex/benchmark/RepeatRule.java  | 218 +-----
 .../weex/benchmark/WeexNativeCompareTest.java   | 218 +-----
 .../java/com/alibaba/weex/util/Falcon.java      |  18 +
 .../java/com/alibaba/weex/util/ScreenShot.java  |  18 +
 .../com/alibaba/weex/util/SdCardHelper.java     |  18 +
 .../java/com/alibaba/weex/util/TestFlow.java    |  18 +
 .../java/com/alibaba/weex/util/ViewUtil.java    |  18 +
 .../com/alibaba/weex/BenchmarkActivity.java     | 218 +-----
 .../java/com/alibaba/weex/IndexActivity.java    | 220 +-----
 .../java/com/alibaba/weex/SplashActivity.java   | 220 +-----
 .../src/main/java/com/alibaba/weex/Utility.java | 220 +-----
 .../java/com/alibaba/weex/WXApplication.java    | 220 +-----
 .../java/com/alibaba/weex/WXBaseActivity.java   | 220 +-----
 .../java/com/alibaba/weex/WXDebugActivity.java  | 220 +-----
 .../java/com/alibaba/weex/WXPageActivity.java   | 220 +-----
 .../com/alibaba/weex/constants/Constants.java   | 220 +-----
 .../alibaba/weex/extend/PlayDebugAdapter.java   | 220 +-----
 .../extend/WXInstanceStatisticsListener.java    | 220 +-----
 .../extend/adapter/InterceptWXHttpAdapter.java  | 220 +-----
 .../alibaba/weex/extend/component/RichText.java | 220 +-----
 .../extend/component/WXComponentSyncTest.java   | 220 +-----
 .../alibaba/weex/extend/component/WXMask.java   | 126 +---
 .../extend/component/dom/WXMaskDomObject.java   | 220 +-----
 .../weex/extend/module/GeolocationModule.java   | 220 +-----
 .../alibaba/weex/extend/module/MyModule.java    | 220 +-----
 .../weex/extend/module/RenderModule.java        | 220 +-----
 .../weex/extend/module/SyncTestModule.java      | 220 +-----
 .../weex/extend/module/WXEventModule.java       | 220 +-----
 .../extend/module/location/DefaultLocation.java | 222 +-----
 .../weex/extend/module/location/ILocatable.java | 220 +-----
 .../extend/module/location/LocationFactory.java | 220 +-----
 .../alibaba/weex/extend/view/WXMaskView.java    | 220 +-----
 .../alibaba/weex/https/HotRefreshManager.java   | 220 +-----
 .../com/alibaba/weex/https/WXHttpManager.java   | 220 +-----
 .../com/alibaba/weex/https/WXHttpResponse.java  | 220 +-----
 .../java/com/alibaba/weex/https/WXHttpTask.java | 220 +-----
 .../alibaba/weex/https/WXOkHttpDispatcher.java  | 220 +-----
 .../alibaba/weex/https/WXRequestListener.java   | 220 +-----
 android/sdk/license/LICENSE                     | 218 +-----
 .../taobao/weex/IWXActivityStateListener.java   | 220 +-----
 .../java/com/taobao/weex/IWXRenderListener.java | 220 +-----
 .../com/taobao/weex/IWXStatisticsListener.java  | 220 +-----
 .../main/java/com/taobao/weex/InitConfig.java   | 220 +-----
 .../java/com/taobao/weex/RenderContainer.java   | 220 +-----
 .../java/com/taobao/weex/WXEnvironment.java     | 238 +------
 .../com/taobao/weex/WXGlobalEventModule.java    | 126 +---
 .../com/taobao/weex/WXGlobalEventReceiver.java  | 220 +-----
 .../java/com/taobao/weex/WXRenderErrorCode.java | 220 +-----
 .../main/java/com/taobao/weex/WXSDKEngine.java  | 126 +---
 .../java/com/taobao/weex/WXSDKInstance.java     | 224 +-----
 .../main/java/com/taobao/weex/WXSDKManager.java | 143 +---
 .../taobao/weex/adapter/DefaultUriAdapter.java  | 220 +-----
 .../weex/adapter/DefaultWXHttpAdapter.java      | 220 +-----
 .../taobao/weex/adapter/DrawableStrategy.java   | 218 +-----
 .../taobao/weex/adapter/IDrawableLoader.java    | 218 +-----
 .../taobao/weex/adapter/IWXDebugAdapter.java    | 220 +-----
 .../com/taobao/weex/adapter/IWXHttpAdapter.java | 220 +-----
 .../weex/adapter/IWXImgLoaderAdapter.java       | 220 +-----
 .../weex/adapter/IWXJSExceptionAdapter.java     | 220 +-----
 .../taobao/weex/adapter/IWXSoLoaderAdapter.java | 220 +-----
 .../weex/adapter/IWXUserTrackAdapter.java       | 220 +-----
 .../com/taobao/weex/adapter/URIAdapter.java     | 220 +-----
 .../com/taobao/weex/annotation/Component.java   | 220 +-----
 .../com/taobao/weex/annotation/JSMethod.java    | 220 +-----
 .../weex/appfram/clipboard/IWXClipboard.java    | 220 +-----
 .../appfram/clipboard/WXClipboardModule.java    | 220 +-----
 .../navigator/IActivityNavBarSetter.java        | 220 +-----
 .../appfram/navigator/WXNavigatorModule.java    | 130 +---
 .../weex/appfram/pickers/DatePickerImpl.java    | 220 +-----
 .../weex/appfram/pickers/WXPickersModule.java   | 220 +-----
 .../weex/appfram/storage/DefaultWXStorage.java  | 220 +-----
 .../taobao/weex/appfram/storage/IWXStorage.java | 220 +-----
 .../weex/appfram/storage/IWXStorageAdapter.java | 220 +-----
 .../appfram/storage/StorageResultHandler.java   | 220 +-----
 .../appfram/storage/WXSQLiteOpenHelper.java     | 220 +-----
 .../weex/appfram/storage/WXStorageModule.java   | 220 +-----
 .../appfram/websocket/IWebSocketAdapter.java    | 220 +-----
 .../websocket/IWebSocketAdapterFactory.java     | 220 +-----
 .../appfram/websocket/WebSocketCloseCodes.java  | 220 +-----
 .../weex/appfram/websocket/WebSocketModule.java | 220 +-----
 .../java/com/taobao/weex/bridge/Invoker.java    | 220 +-----
 .../java/com/taobao/weex/bridge/JSCallback.java | 220 +-----
 .../taobao/weex/bridge/JavascriptInvokable.java | 220 +-----
 .../com/taobao/weex/bridge/MethodInvoker.java   | 220 +-----
 .../com/taobao/weex/bridge/ModuleFactory.java   | 220 +-----
 .../taobao/weex/bridge/NativeInvokeHelper.java  | 220 +-----
 .../taobao/weex/bridge/SimpleJSCallback.java    | 220 +-----
 .../java/com/taobao/weex/bridge/WXBridge.java   | 220 +-----
 .../com/taobao/weex/bridge/WXBridgeManager.java | 220 +-----
 .../java/com/taobao/weex/bridge/WXHashMap.java  | 220 +-----
 .../java/com/taobao/weex/bridge/WXJSObject.java | 220 +-----
 .../com/taobao/weex/bridge/WXModuleManager.java | 220 +-----
 .../java/com/taobao/weex/bridge/WXParams.java   | 143 +---
 .../taobao/weex/bridge/WXServiceManager.java    | 220 +-----
 .../java/com/taobao/weex/bridge/WXTask.java     | 220 +-----
 .../taobao/weex/bridge/WXValidateProcessor.java | 220 +-----
 .../java/com/taobao/weex/common/Constants.java  | 220 +-----
 .../com/taobao/weex/common/Destroyable.java     | 220 +-----
 .../java/com/taobao/weex/common/IWXBridge.java  | 220 +-----
 .../com/taobao/weex/common/IWXDebugProxy.java   | 220 +-----
 .../java/com/taobao/weex/common/IWXObject.java  | 220 +-----
 .../java/com/taobao/weex/common/IWXTask.java    | 220 +-----
 .../taobao/weex/common/OnWXScrollListener.java  | 143 +---
 .../taobao/weex/common/TypeModuleFactory.java   | 220 +-----
 .../com/taobao/weex/common/WXCompatModule.java  | 220 +-----
 .../java/com/taobao/weex/common/WXConfig.java   | 220 +-----
 .../com/taobao/weex/common/WXErrorCode.java     | 220 +-----
 .../com/taobao/weex/common/WXException.java     | 220 +-----
 .../com/taobao/weex/common/WXImageSharpen.java  | 220 +-----
 .../com/taobao/weex/common/WXImageStrategy.java | 222 +-----
 .../com/taobao/weex/common/WXInstanceWrap.java  | 220 +-----
 .../taobao/weex/common/WXJSBridgeMsgType.java   | 220 +-----
 .../taobao/weex/common/WXJSEngineListener.java  | 220 +-----
 .../taobao/weex/common/WXJSExceptionInfo.java   | 220 +-----
 .../com/taobao/weex/common/WXJSService.java     | 220 +-----
 .../java/com/taobao/weex/common/WXModule.java   | 220 +-----
 .../com/taobao/weex/common/WXModuleAnno.java    | 222 +-----
 .../com/taobao/weex/common/WXPerformance.java   | 222 +-----
 .../com/taobao/weex/common/WXRefreshData.java   | 220 +-----
 .../taobao/weex/common/WXRenderStrategy.java    | 223 +-----
 .../java/com/taobao/weex/common/WXRequest.java  | 220 +-----
 .../taobao/weex/common/WXRequestListener.java   | 220 +-----
 .../java/com/taobao/weex/common/WXResponse.java | 220 +-----
 .../taobao/weex/common/WXRuntimeException.java  | 220 +-----
 .../java/com/taobao/weex/common/WXThread.java   | 220 +-----
 .../com/taobao/weex/dom/ApplyStyleConsumer.java | 220 +-----
 .../taobao/weex/dom/BasicEditTextDomObject.java | 220 +-----
 .../com/taobao/weex/dom/CSSAlignConvert.java    | 220 +-----
 .../weex/dom/CSSFlexDirectionConvert.java       | 220 +-----
 .../com/taobao/weex/dom/CSSJustifyConvert.java  | 220 +-----
 .../taobao/weex/dom/CSSPositionTypeConvert.java | 220 +-----
 .../com/taobao/weex/dom/CSSWrapConvert.java     | 220 +-----
 .../java/com/taobao/weex/dom/DOMAction.java     | 220 +-----
 .../com/taobao/weex/dom/DOMActionContext.java   | 220 +-----
 .../taobao/weex/dom/DOMActionContextImpl.java   | 220 +-----
 .../java/com/taobao/weex/dom/DomContext.java    | 220 +-----
 .../com/taobao/weex/dom/ImmutableDomObject.java | 220 +-----
 .../java/com/taobao/weex/dom/RenderAction.java  | 220 +-----
 .../taobao/weex/dom/RenderActionContext.java    | 220 +-----
 .../com/taobao/weex/dom/RenderActionTask.java   | 220 +-----
 .../weex/dom/SafePutConcurrentHashMap.java      | 220 +-----
 .../weex/dom/TextAreaEditTextDomObject.java     | 220 +-----
 .../main/java/com/taobao/weex/dom/WXAttr.java   | 220 +-----
 .../com/taobao/weex/dom/WXCustomStyleSpan.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomHandler.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomManager.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomModule.java   | 220 +-----
 .../java/com/taobao/weex/dom/WXDomObject.java   | 220 +-----
 .../com/taobao/weex/dom/WXDomObjectFactory.java | 220 +-----
 .../java/com/taobao/weex/dom/WXDomRegistry.java | 220 +-----
 .../java/com/taobao/weex/dom/WXDomTask.java     | 220 +-----
 .../main/java/com/taobao/weex/dom/WXEvent.java  | 220 +-----
 .../com/taobao/weex/dom/WXImageQuality.java     | 222 +-----
 .../com/taobao/weex/dom/WXLineHeightSpan.java   | 220 +-----
 .../com/taobao/weex/dom/WXListDomObject.java    | 220 +-----
 .../taobao/weex/dom/WXRecyclerDomObject.java    | 220 +-----
 .../taobao/weex/dom/WXScrollerDomObject.java    | 220 +-----
 .../main/java/com/taobao/weex/dom/WXStyle.java  | 220 +-----
 .../com/taobao/weex/dom/WXSwitchDomObject.java  | 220 +-----
 .../com/taobao/weex/dom/WXTextDomObject.java    | 220 +-----
 .../dom/action/AbstractAddElementAction.java    | 220 +-----
 .../dom/action/AbstractLayoutFinishAction.java  | 220 +-----
 .../java/com/taobao/weex/dom/action/Action.java | 220 +-----
 .../com/taobao/weex/dom/action/Actions.java     | 220 +-----
 .../weex/dom/action/AddElementAction.java       | 220 +-----
 .../taobao/weex/dom/action/AddEventAction.java  | 220 +-----
 .../taobao/weex/dom/action/AddRuleAction.java   | 220 +-----
 .../taobao/weex/dom/action/AnimationAction.java | 218 +-----
 .../weex/dom/action/CreateBodyAction.java       | 220 +-----
 .../weex/dom/action/CreateFinishAction.java     | 220 +-----
 .../weex/dom/action/GetComponentRectAction.java | 220 +-----
 .../weex/dom/action/InvokeMethodAction.java     | 220 +-----
 .../weex/dom/action/MoveElementAction.java      | 220 +-----
 .../weex/dom/action/RefreshFinishAction.java    | 220 +-----
 .../weex/dom/action/RemoveElementAction.java    | 220 +-----
 .../weex/dom/action/RemoveEventAction.java      | 220 +-----
 .../weex/dom/action/ScrollToElementAction.java  | 220 +-----
 .../weex/dom/action/UpdateAttributeAction.java  | 220 +-----
 .../weex/dom/action/UpdateFinishAction.java     | 220 +-----
 .../weex/dom/action/UpdateStyleAction.java      | 220 +-----
 .../main/java/com/taobao/weex/http/Options.java | 220 +-----
 .../main/java/com/taobao/weex/http/Status.java  | 220 +-----
 .../java/com/taobao/weex/http/WXHttpUtil.java   | 220 +-----
 .../com/taobao/weex/http/WXStreamModule.java    | 220 +-----
 .../com/taobao/weex/ui/ComponentCreator.java    | 220 +-----
 .../weex/ui/ExternalLoaderComponentHolder.java  | 220 +-----
 .../weex/ui/IExternalComponentGetter.java       | 220 +-----
 .../taobao/weex/ui/IExternalMoudleGetter.java   | 220 +-----
 .../com/taobao/weex/ui/IFComponentHolder.java   | 220 +-----
 .../java/com/taobao/weex/ui/IWXRenderTask.java  | 220 +-----
 .../taobao/weex/ui/RenderActionContextImpl.java | 220 +-----
 .../taobao/weex/ui/SimpleComponentHolder.java   | 220 +-----
 .../com/taobao/weex/ui/WXComponentRegistry.java | 220 +-----
 .../com/taobao/weex/ui/WXRenderHandler.java     | 220 +-----
 .../com/taobao/weex/ui/WXRenderManager.java     | 220 +-----
 .../ui/animation/BackgroundColorProperty.java   | 218 +-----
 .../ui/animation/DimensionUpdateListener.java   | 218 +-----
 .../weex/ui/animation/WXAnimationBean.java      | 220 +-----
 .../weex/ui/animation/WXAnimationModule.java    | 220 +-----
 .../ui/component/AbstractEditComponent.java     | 222 +-----
 .../weex/ui/component/AppearanceHelper.java     | 220 +-----
 .../weex/ui/component/NestedContainer.java      | 220 +-----
 .../taobao/weex/ui/component/Scrollable.java    | 220 +-----
 .../com/taobao/weex/ui/component/Textarea.java  | 220 +-----
 .../java/com/taobao/weex/ui/component/WXA.java  | 220 +-----
 .../taobao/weex/ui/component/WXBaseRefresh.java | 220 +-----
 .../weex/ui/component/WXBasicComponentType.java | 220 +-----
 .../taobao/weex/ui/component/WXComponent.java   | 146 +---
 .../weex/ui/component/WXComponentFactory.java   | 220 +-----
 .../weex/ui/component/WXComponentProp.java      | 220 +-----
 .../com/taobao/weex/ui/component/WXDiv.java     | 220 +-----
 .../com/taobao/weex/ui/component/WXEmbed.java   | 262 ++-----
 .../com/taobao/weex/ui/component/WXHeader.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXImage.java   | 225 +------
 .../taobao/weex/ui/component/WXIndicator.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXInput.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXLoading.java | 220 +-----
 .../weex/ui/component/WXLoadingIndicator.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXRefresh.java | 220 +-----
 .../taobao/weex/ui/component/WXScroller.java    | 220 +-----
 .../com/taobao/weex/ui/component/WXSlider.java  | 220 +-----
 .../weex/ui/component/WXSliderNeighbor.java     | 220 +-----
 .../com/taobao/weex/ui/component/WXSwitch.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXText.java    | 220 +-----
 .../weex/ui/component/WXTextDecoration.java     | 220 +-----
 .../taobao/weex/ui/component/WXVContainer.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXVideo.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXWeb.java     | 220 +-----
 .../component/helper/SoftKeyboardDetector.java  | 218 +-----
 .../ui/component/helper/WXStickyHelper.java     | 220 +-----
 .../ui/component/helper/WXTimeInputHelper.java  | 222 +-----
 .../ui/component/list/BasicListComponent.java   | 220 +-----
 .../component/list/HorizontalListComponent.java | 220 +-----
 .../ui/component/list/ListComponentView.java    | 220 +-----
 .../ui/component/list/SimpleListComponent.java  | 220 +-----
 .../ui/component/list/SimpleRecyclerView.java   | 220 +-----
 .../ui/component/list/StickyHeaderHelper.java   | 220 +-----
 .../taobao/weex/ui/component/list/WXCell.java   | 220 +-----
 .../weex/ui/component/list/WXListComponent.java | 220 +-----
 .../component/pesudo/OnActivePseudoListner.java | 220 +-----
 .../weex/ui/component/pesudo/PesudoStatus.java  | 220 +-----
 .../pesudo/TouchActivePseudoListener.java       | 220 +-----
 .../com/taobao/weex/ui/module/WXMetaModule.java | 220 +-----
 .../taobao/weex/ui/module/WXModalUIModule.java  | 222 +-----
 .../taobao/weex/ui/module/WXTimerModule.java    | 222 +-----
 .../taobao/weex/ui/module/WXWebViewModule.java  | 220 +-----
 .../com/taobao/weex/ui/view/IRenderStatus.java  | 218 +-----
 .../com/taobao/weex/ui/view/IWXScroller.java    | 220 +-----
 .../com/taobao/weex/ui/view/IWXTextView.java    | 220 +-----
 .../java/com/taobao/weex/ui/view/IWebView.java  | 220 +-----
 .../weex/ui/view/WXBaseCircleIndicator.java     | 222 +-----
 .../weex/ui/view/WXBaseRefreshLayout.java       | 220 +-----
 .../taobao/weex/ui/view/WXCircleIndicator.java  | 220 +-----
 .../weex/ui/view/WXCirclePageAdapter.java       | 220 +-----
 .../taobao/weex/ui/view/WXCircleViewPager.java  | 220 +-----
 .../com/taobao/weex/ui/view/WXEditText.java     | 220 +-----
 .../com/taobao/weex/ui/view/WXFrameLayout.java  | 220 +-----
 .../weex/ui/view/WXHorizontalScrollView.java    | 220 +-----
 .../com/taobao/weex/ui/view/WXImageView.java    | 220 +-----
 .../taobao/weex/ui/view/WXLoadingLayout.java    | 220 +-----
 .../taobao/weex/ui/view/WXRefreshLayout.java    | 220 +-----
 .../com/taobao/weex/ui/view/WXScrollView.java   | 220 +-----
 .../taobao/weex/ui/view/WXSmoothScroller.java   | 220 +-----
 .../com/taobao/weex/ui/view/WXSwitchView.java   | 220 +-----
 .../com/taobao/weex/ui/view/WXTextView.java     | 220 +-----
 .../com/taobao/weex/ui/view/WXVideoView.java    | 220 +-----
 .../java/com/taobao/weex/ui/view/WXWebView.java | 220 +-----
 .../weex/ui/view/border/BorderCorner.java       | 220 +-----
 .../weex/ui/view/border/BorderDrawable.java     | 222 +-----
 .../taobao/weex/ui/view/border/BorderEdge.java  | 220 +-----
 .../weex/ui/view/border/BorderRadiusType.java   | 218 +-----
 .../taobao/weex/ui/view/border/BorderStyle.java | 220 +-----
 .../taobao/weex/ui/view/border/BorderUtil.java  | 220 +-----
 .../view/border/BorderWidthStyleColorType.java  | 218 +-----
 .../weex/ui/view/border/BottomLeftCorner.java   | 220 +-----
 .../weex/ui/view/border/BottomRightCorner.java  | 220 +-----
 .../weex/ui/view/border/TopLeftCorner.java      | 220 +-----
 .../weex/ui/view/border/TopRightCorner.java     | 220 +-----
 .../taobao/weex/ui/view/gesture/WXGesture.java  | 222 +-----
 .../ui/view/gesture/WXGestureObservable.java    | 220 +-----
 .../weex/ui/view/gesture/WXGestureType.java     | 220 +-----
 .../listview/ExtendedLinearLayoutManager.java   | 220 +-----
 .../weex/ui/view/listview/WXRecyclerView.java   | 220 +-----
 .../listview/adapter/IOnLoadMoreListener.java   | 220 +-----
 .../adapter/IRecyclerAdapterListener.java       | 220 +-----
 .../listview/adapter/ListBaseViewHolder.java    | 220 +-----
 .../adapter/RecyclerViewBaseAdapter.java        | 222 +-----
 .../adapter/TransformItemDecoration.java        | 220 +-----
 .../adapter/WXRecyclerViewOnScrollListener.java | 220 +-----
 .../refresh/circlebar/CircleProgressBar.java    | 222 +-----
 .../circlebar/MaterialProgressDrawable.java     | 222 +-----
 .../ui/view/refresh/core/WXRefreshView.java     | 220 +-----
 .../ui/view/refresh/core/WXSwipeLayout.java     | 220 +-----
 .../ui/view/refresh/wrapper/BaseBounceView.java | 220 +-----
 .../refresh/wrapper/BounceRecyclerView.java     | 220 +-----
 .../refresh/wrapper/BounceScrollerView.java     | 220 +-----
 .../java/com/taobao/weex/utils/ATagUtil.java    | 218 +-----
 .../main/java/com/taobao/weex/utils/FontDO.java | 222 +-----
 .../com/taobao/weex/utils/FunctionParser.java   | 220 +-----
 .../com/taobao/weex/utils/ImageDrawable.java    | 218 +-----
 .../java/com/taobao/weex/utils/ImgURIUtil.java  | 218 +-----
 .../java/com/taobao/weex/utils/LogLevel.java    | 220 +-----
 .../java/com/taobao/weex/utils/OsVersion.java   | 220 +-----
 .../taobao/weex/utils/SingleFunctionParser.java | 218 +-----
 .../main/java/com/taobao/weex/utils/Trace.java  | 220 +-----
 .../com/taobao/weex/utils/TypefaceUtil.java     | 220 +-----
 .../taobao/weex/utils/WXDataStructureUtil.java  | 220 +-----
 .../java/com/taobao/weex/utils/WXDomUtils.java  | 218 +-----
 .../java/com/taobao/weex/utils/WXFileUtils.java | 220 +-----
 .../com/taobao/weex/utils/WXInterception.java   | 220 +-----
 .../java/com/taobao/weex/utils/WXJsonUtils.java | 220 +-----
 .../java/com/taobao/weex/utils/WXLogUtils.java  | 126 +---
 .../taobao/weex/utils/WXReflectionUtils.java    | 220 +-----
 .../com/taobao/weex/utils/WXResourceUtils.java  | 220 +-----
 .../taobao/weex/utils/WXSoInstallMgrSdk.java    | 220 +-----
 .../java/com/taobao/weex/utils/WXUtils.java     | 220 +-----
 .../java/com/taobao/weex/utils/WXViewUtils.java | 220 +-----
 .../taobao/weex/utils/batch/BactchExecutor.java | 220 +-----
 .../weex/utils/batch/BatchOperationHelper.java  | 220 +-----
 .../taobao/weex/utils/batch/Interceptor.java    | 220 +-----
 .../test/java/com/taobao/weex/TestActivity.java | 220 +-----
 .../java/com/taobao/weex/TestApplication.java   | 220 +-----
 .../java/com/taobao/weex/WXSDKEngineTest.java   | 222 +-----
 .../java/com/taobao/weex/WXSDKInstanceTest.java | 222 +-----
 .../java/com/taobao/weex/WXSDKManagerTest.java  | 222 +-----
 .../weex/adapter/DefaultUriAdapterTest.java     | 222 +-----
 .../clipboard/WXClipboardModuleTest.java        | 222 +-----
 .../navigator/WXNavigatorModuleTest.java        | 222 +-----
 .../appfram/storage/DefaultWXStorageTest.java   | 222 +-----
 .../appfram/storage/WXStorageModuleTest.java    | 222 +-----
 .../taobao/weex/bridge/WXBridgeManagerTest.java | 222 +-----
 .../com/taobao/weex/bridge/WXBridgeTest.java    | 222 +-----
 .../com/taobao/weex/bridge/WXHashMapTest.java   | 220 +-----
 .../taobao/weex/bridge/WXModuleManagerTest.java | 222 +-----
 .../java/com/taobao/weex/common/TestModule.java | 220 +-----
 .../taobao/weex/common/TestModuleFactory.java   | 220 +-----
 .../com/taobao/weex/common/WXModuleTest.java    | 222 +-----
 .../java/com/taobao/weex/dom/TestDomObject.java | 220 +-----
 .../java/com/taobao/weex/dom/WXAttrTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomManagerTest.java   | 222 +-----
 .../com/taobao/weex/dom/WXDomModuleTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomObjectTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomStatementTest.java | 222 +-----
 .../java/com/taobao/weex/dom/WXStyleTest.java   | 220 +-----
 .../taobao/weex/dom/WXTextDomObjectTest.java    | 222 +-----
 .../com/taobao/weex/dom/action/TestActions.java |  18 +
 .../taobao/weex/http/WXStreamModuleTest.java    | 220 +-----
 .../com/taobao/weex/ui/ComponentHolderTest.java | 222 +-----
 .../taobao/weex/ui/WXRenderStatementTest.java   | 222 +-----
 .../ui/animation/WXAnimationModuleTest.java     | 222 +-----
 .../taobao/weex/ui/component/ComponentTest.java | 220 +-----
 .../weex/ui/component/EditComponentTest.java    | 222 +-----
 .../taobao/weex/ui/component/TestComponent.java | 220 +-----
 .../taobao/weex/ui/component/TestConstants.java | 220 +-----
 .../taobao/weex/ui/component/TextareaTest.java  | 222 +-----
 .../weex/ui/component/WXComponentTest.java      | 222 +-----
 .../com/taobao/weex/ui/component/WXDivTest.java | 222 +-----
 .../taobao/weex/ui/component/WXEmbedTest.java   | 222 +-----
 .../taobao/weex/ui/component/WXHeaderTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXImageTest.java   | 128 +---
 .../taobao/weex/ui/component/WXLoadingTest.java | 222 +-----
 .../taobao/weex/ui/component/WXRefreshTest.java | 222 +-----
 .../weex/ui/component/WXScrollerTest.java       | 222 +-----
 .../weex/ui/component/WXSliderNeighborTest.java | 222 +-----
 .../taobao/weex/ui/component/WXSliderTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXSwitchTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXTextTest.java    | 222 +-----
 .../taobao/weex/ui/component/WXVideoTest.java   | 222 +-----
 .../com/taobao/weex/ui/component/WXWebTest.java | 222 +-----
 .../component/helper/WXTimeInputHelperTest.java | 220 +-----
 .../ui/component/list/WXListComponentTest.java  | 222 +-----
 .../taobao/weex/ui/module/WXMetaModuleTest.java | 222 +-----
 .../weex/ui/module/WXModalUIModuleTest.java     | 222 +-----
 .../weex/ui/module/WXTimerModuleTest.java       | 222 +-----
 .../weex/ui/module/WXWebViewModuleTest.java     | 222 +-----
 .../weex/ui/view/WXCirclePageAdapterTest.java   | 222 +-----
 .../taobao/weex/ui/view/WXScrollViewTest.java   | 222 +-----
 .../com/taobao/weex/ui/view/WXWebViewTest.java  | 222 +-----
 .../weex/ui/view/border/BorderCornerTest.java   | 220 +-----
 .../weex/ui/view/border/BorderDrawableTest.java | 220 +-----
 .../weex/ui/view/gesture/WXGestureTest.java     | 222 +-----
 .../taobao/weex/utils/FunctionParserTest.java   | 222 +-----
 .../com/taobao/weex/utils/TypefaceUtilTest.java | 222 +-----
 .../com/taobao/weex/utils/WXFileUtilsTest.java  | 222 +-----
 .../com/taobao/weex/utils/WXJsonUtilsTest.java  | 222 +-----
 .../com/taobao/weex/utils/WXLogUtilsTest.java   | 222 +-----
 .../weex/utils/WXReflectionUtilsTest.java       | 222 +-----
 .../taobao/weex/utils/WXResourceUtilsTest.java  | 220 +-----
 .../java/com/taobao/weex/utils/WXUtilsTest.java | 222 +-----
 .../configuration/MockitoConfiguration.java     | 220 +-----
 .../java/com/taobao/weex/ApplicationTest.java   |  20 +-
 .../main/java/com/taobao/weex/WXDebugTool.java  |  18 +
 .../java/com/taobao/weex/WXPFComponent.java     |  18 +
 .../main/java/com/taobao/weex/WXPrettyFish.java |  18 +
 .../taobao/weex/adapter/DefautDebugAdapter.java |  18 +
 .../taobao/weex/bridge/WXWebsocketBridge.java   | 220 +-----
 .../taobao/weex/scalpel/ScalpelFrameLayout.java |  18 +
 .../weex/websocket/WXWebSocketManager.java      | 126 +---
 .../java/com/taobao/weex/ExampleUnitTest.java   |  20 +-
 dangerfile.js                                   |  21 +-
 examples/vue/components/sliderinfinite.vue      |  46 ++
 html5/frameworks/index.js                       |  18 +
 html5/frameworks/legacy/api/methods.js          |  18 +
 html5/frameworks/legacy/api/modules.js          |  18 +
 html5/frameworks/legacy/app/bundle/bootstrap.js |  18 +
 html5/frameworks/legacy/app/bundle/define.js    |  18 +
 html5/frameworks/legacy/app/bundle/index.js     |  18 +
 html5/frameworks/legacy/app/ctrl/index.js       |  18 +
 html5/frameworks/legacy/app/ctrl/init.js        |  18 +
 html5/frameworks/legacy/app/ctrl/misc.js        |  18 +
 html5/frameworks/legacy/app/differ.js           |  18 +
 html5/frameworks/legacy/app/downgrade.js        |  18 +
 html5/frameworks/legacy/app/index.js            |  18 +
 html5/frameworks/legacy/app/instance.js         |  18 +
 html5/frameworks/legacy/app/register.js         |  18 +
 html5/frameworks/legacy/app/viewport.js         |  18 +
 html5/frameworks/legacy/config.js               |  19 +
 html5/frameworks/legacy/core/array.js           |  19 +
 html5/frameworks/legacy/core/dep.js             |  19 +
 html5/frameworks/legacy/core/object.js          |  19 +
 html5/frameworks/legacy/core/observer.js        |  19 +
 html5/frameworks/legacy/core/state.js           |  19 +
 html5/frameworks/legacy/core/watcher.js         |  19 +
 html5/frameworks/legacy/index.js                |  18 +
 html5/frameworks/legacy/static/bridge.js        |  18 +
 html5/frameworks/legacy/static/create.js        |  18 +
 html5/frameworks/legacy/static/life.js          |  18 +
 html5/frameworks/legacy/static/map.js           |  18 +
 html5/frameworks/legacy/static/misc.js          |  18 +
 html5/frameworks/legacy/static/register.js      |  18 +
 html5/frameworks/legacy/util/index.js           |  18 +
 html5/frameworks/legacy/util/shared.js          |  18 +
 html5/frameworks/legacy/vm/compiler.js          |  18 +
 html5/frameworks/legacy/vm/directive.js         |  18 +
 html5/frameworks/legacy/vm/dom-helper.js        |  18 +
 html5/frameworks/legacy/vm/events.js            |  18 +
 html5/frameworks/legacy/vm/index.js             |  18 +
 html5/frameworks/vanilla/index.js               |  18 +
 html5/render/browser/base/atomic.js             |  18 +
 html5/render/browser/base/component/flexbox.js  |  18 +
 html5/render/browser/base/component/index.js    |  18 +
 html5/render/browser/base/component/lazyload.js |  19 +
 html5/render/browser/base/component/operate.js  |  18 +
 html5/render/browser/base/component/position.js |  18 +
 html5/render/browser/base/component/sticky.js   |  18 +
 .../browser/base/component/valueFilter.js       |  18 +
 html5/render/browser/base/div.js                |  18 +
 html5/render/browser/base/droot.js              |  18 +
 html5/render/browser/base/moduleEvent.js        |  18 +
 html5/render/browser/base/root.js               |  18 +
 html5/render/browser/bridge/index.js            |  18 +
 html5/render/browser/bridge/protocol.js         |  18 +
 html5/render/browser/bridge/receiver.js         |  18 +
 html5/render/browser/bridge/sender.js           |  18 +
 html5/render/browser/dom/appearWatcher.js       |  18 +
 html5/render/browser/dom/componentManager.js    |  18 +
 html5/render/browser/dom/index.js               |  18 +
 .../browser/extend/api/animation/index.js       |  18 +
 .../render/browser/extend/api/animation/lib.js  |  18 +
 html5/render/browser/extend/api/clipboard.js    |  18 +
 html5/render/browser/extend/api/dom.js          |  18 +
 html5/render/browser/extend/api/event.js        |  18 +
 html5/render/browser/extend/api/geolocation.js  |  18 +
 html5/render/browser/extend/api/globalEvent.js  |  18 +
 html5/render/browser/extend/api/meta.js         |  18 +
 html5/render/browser/extend/api/modal.js        |  18 +
 html5/render/browser/extend/api/navigator.js    |  18 +
 html5/render/browser/extend/api/pageInfo.js     |  18 +
 html5/render/browser/extend/api/storage.js      |  19 +
 html5/render/browser/extend/api/stream.js       |  18 +
 html5/render/browser/extend/api/timer.js        |  19 +-
 html5/render/browser/extend/api/webSocket.js    |  20 +
 html5/render/browser/extend/api/webview.js      |  18 +
 html5/render/browser/extend/components/a.js     |  18 +
 .../browser/extend/components/countdown.js      |  18 +
 .../browser/extend/components/datepicker.js     |  18 +
 html5/render/browser/extend/components/embed.js |  18 +
 .../browser/extend/components/image/index.js    |  19 +
 .../extend/components/indicator/index.js        |  18 +
 html5/render/browser/extend/components/input.js |  18 +
 .../render/browser/extend/components/marquee.js |  18 +
 .../browser/extend/components/neighbor/index.js |  18 +
 .../browser/extend/components/richtext.js       |  18 +
 .../extend/components/scrollable/index.js       |  18 +
 .../extend/components/scrollable/list/hlist.js  |  18 +
 .../extend/components/scrollable/list/index.js  |  18 +
 .../extend/components/scrollable/list/list.js   |  18 +
 .../extend/components/scrollable/list/vlist.js  |  18 +
 .../components/scrollable/loading/index.js      |  18 +
 .../extend/components/scrollable/motion.js      |  19 +
 .../components/scrollable/refresh/index.js      |  18 +
 .../extend/components/scrollable/scroll.js      |  19 +
 .../extend/components/scrollable/scrollable.js  |  19 +
 .../components/scrollable/scroller/index.js     |  18 +
 .../render/browser/extend/components/select.js  |  18 +
 .../extend/components/slider/carrousel.js       |  19 +
 .../browser/extend/components/slider/index.js   |  18 +
 .../browser/extend/components/slider/timer.js   |  19 +
 .../browser/extend/components/spinner/index.js  |  18 +
 .../browser/extend/components/switch/index.js   |  18 +
 .../extend/components/tabheader/index.js        |  18 +
 html5/render/browser/extend/components/text.js  |  18 +
 .../browser/extend/components/textarea.js       |  18 +
 .../browser/extend/components/timepicker.js     |  18 +
 .../browser/extend/components/video/index.js    |  18 +
 html5/render/browser/extend/components/web.js   |  18 +
 html5/render/browser/extend/index.js            |  18 +
 html5/render/browser/index.js                   |  18 +
 html5/render/browser/render/config.js           |  18 +
 html5/render/browser/render/gesture.js          |  18 +
 html5/render/browser/render/index.js            |  19 +
 html5/render/browser/render/loader.js           |  19 +
 html5/render/browser/render/register.js         |  18 +
 html5/render/browser/utils/array.js             |  18 +
 html5/render/browser/utils/index.js             |  20 +
 html5/render/browser/utils/logger.js            |  20 +-
 html5/render/native/index.js                    |  18 +
 html5/render/vue/components/a.js                |  19 +-
 html5/render/vue/components/div.js              |  19 +-
 html5/render/vue/components/image.js            |  19 +
 html5/render/vue/components/index.js            |  18 +
 html5/render/vue/components/input.js            |  19 +
 .../render/vue/components/scrollable/header.js  |  19 +-
 .../vue/components/scrollable/list/cell.js      |  19 +-
 .../vue/components/scrollable/list/index.js     |  18 +
 .../vue/components/scrollable/list/listMixin.js |  18 +
 .../components/scrollable/loading-indicator.js  |  18 +
 .../render/vue/components/scrollable/loading.js |  18 +
 .../render/vue/components/scrollable/refresh.js |  18 +
 .../vue/components/scrollable/scroller.js       |  18 +
 html5/render/vue/components/slider/index.js     |  25 +-
 html5/render/vue/components/slider/indicator.js |  18 +
 .../render/vue/components/slider/slideMixin.js  |  42 +-
 html5/render/vue/components/switch.js           |  19 +-
 html5/render/vue/components/text.js             |  19 +
 html5/render/vue/components/textarea.js         |  18 +
 html5/render/vue/components/video.js            |  19 +-
 html5/render/vue/components/warning.js          |  18 +
 html5/render/vue/components/web.js              |  18 +
 html5/render/vue/env/index.js                   |  18 +
 html5/render/vue/env/viewport.js                |  20 +
 html5/render/vue/env/weex.js                    |  19 +
 html5/render/vue/env/wx-env.js                  |  18 +
 html5/render/vue/index.js                       |  19 +-
 html5/render/vue/mixins/base.js                 |  18 +
 html5/render/vue/mixins/index.js                |  18 +
 html5/render/vue/mixins/input-common.js         |  19 +
 html5/render/vue/mixins/scrollable.js           |  18 +
 html5/render/vue/mixins/style.js                |  18 +
 html5/render/vue/modules/animation.js           |  18 +
 html5/render/vue/modules/dom.js                 |  22 +
 html5/render/vue/modules/index.js               |  20 +
 html5/render/vue/modules/modal/alert.js         |  18 +
 html5/render/vue/modules/modal/confirm.js       |  18 +
 html5/render/vue/modules/modal/index.js         |  18 +
 html5/render/vue/modules/modal/modal.js         |  18 +
 html5/render/vue/modules/modal/prompt.js        |  18 +
 html5/render/vue/modules/modal/toast.js         |  18 +
 html5/render/vue/modules/navigator.js           |  19 +
 html5/render/vue/modules/webview.js             |  19 +
 html5/render/vue/utils/component.js             |  18 +
 html5/render/vue/utils/event.js                 |  19 +-
 html5/render/vue/utils/func.js                  |  19 +
 html5/render/vue/utils/index.js                 |  18 +
 html5/render/vue/utils/lazyload.js              |  19 +
 html5/render/vue/utils/perf.js                  |  19 +
 html5/render/vue/utils/style.js                 |  19 +
 html5/render/vue/utils/type.js                  |  19 +
 html5/render/vue/validator/check.js             |  18 +
 html5/render/vue/validator/index.js             |  18 +
 html5/render/vue/validator/prop.js              |  18 +
 html5/render/vue/validator/style.js             |  18 +
 html5/runtime/callback-manager.js               |  19 +
 html5/runtime/config.js                         |  18 +
 html5/runtime/handler.js                        |  19 +
 html5/runtime/index.js                          |  19 +
 html5/runtime/init.js                           |  18 +
 html5/runtime/listener.js                       |  19 +
 html5/runtime/service.js                        |  19 +
 html5/runtime/task-center.js                    |  18 +
 html5/runtime/vdom/comment.js                   |  19 +
 html5/runtime/vdom/document.js                  |  19 +
 html5/runtime/vdom/element-types.js             |  18 +
 html5/runtime/vdom/element.js                   |  19 +
 html5/runtime/vdom/index.js                     |  18 +
 html5/runtime/vdom/node.js                      |  19 +
 html5/runtime/vdom/operation.js                 |  18 +
 html5/services/amd/index.js                     |  19 +
 html5/services/broadcast-channel/index.js       |  19 +
 .../services/broadcast-channel/message-event.js |  19 +
 html5/services/index.js                         |  18 +
 html5/shared/arrayFrom.js                       |  19 +
 html5/shared/console.js                         |  19 +
 html5/shared/freeze.js                          |  18 +
 html5/shared/index.js                           |  18 +
 html5/shared/objectAssign.js                    |  18 +
 html5/shared/objectSetPrototypeOf.js            |  19 +
 html5/shared/promise.js                         |  20 +
 html5/shared/setTimeout.js                      |  19 +
 .../WeexDemo.xcodeproj/project.pbxproj          |   6 +
 ios/playground/WeexDemo/AppDelegate.h           |  23 +-
 ios/playground/WeexDemo/AppDelegate.m           |  28 +-
 .../delete.imageset/Contents.json               |  23 +
 .../Assets.xcassets/delete.imageset/delete.png  | Bin 0 -> 289 bytes
 .../delete.imageset/delete@2x.png               | Bin 0 -> 504 bytes
 .../delete.imageset/delete@3x.png               | Bin 0 -> 690 bytes
 .../scan_history.imageset/Contents.json         |  23 +
 .../scan_history.imageset/history.png           | Bin 0 -> 546 bytes
 .../scan_history.imageset/history@2x.png        | Bin 0 -> 1037 bytes
 .../scan_history.imageset/history@3x.png        | Bin 0 -> 1628 bytes
 .../WeexDemo/DemoBaseViewController.h           |  23 +-
 .../WeexDemo/DemoBaseViewController.m           |  23 +-
 ios/playground/WeexDemo/DemoDefine.h            |  25 +-
 ios/playground/WeexDemo/Info.plist              |  12 +-
 .../WeexDemo/Scanner/WXScannerHistoryVC.h       |  13 +
 .../WeexDemo/Scanner/WXScannerHistoryVC.m       | 196 ++++++
 ios/playground/WeexDemo/Scanner/WXScannerVC.h   |  25 +-
 ios/playground/WeexDemo/Scanner/WXScannerVC.m   |  41 +-
 ios/playground/WeexDemo/UIView+UIThreadCheck.h  |  23 +-
 ios/playground/WeexDemo/UIView+UIThreadCheck.m  |  23 +-
 .../WeexDemo/UIViewController+WXDemoNaviBar.h   |  23 +-
 .../WeexDemo/UIViewController+WXDemoNaviBar.m   |  73 +-
 ios/playground/WeexDemo/WXDemoViewController.h  |  23 +-
 ios/playground/WeexDemo/WXDemoViewController.m  |  23 +-
 ios/playground/WeexDemo/WXSyncTestModule.h      |  23 +-
 ios/playground/WeexDemo/WXSyncTestModule.m      |  23 +-
 .../WeexDemo/debug/WXATLoggerPlugin.h           |  23 +-
 .../WeexDemo/debug/WXATLoggerPlugin.m           |  23 +-
 .../WeexDemo/debug/WXATViewHierarchyPlugin.h    |  23 +-
 .../WeexDemo/debug/WXATViewHierarchyPlugin.m    |  23 +-
 .../extend/component/WXSelectComponent.h        |  23 +-
 .../extend/component/WXSelectComponent.m        |  23 +-
 .../extend/handler/WXImgLoaderDefaultImpl.h     |  23 +-
 .../extend/handler/WXImgLoaderDefaultImpl.m     |  23 +-
 .../WeexDemo/extend/module/WXEventModule.h      |  23 +-
 .../WeexDemo/extend/module/WXEventModule.m      |  23 +-
 ios/playground/WeexDemo/main.m                  |  23 +-
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj       |   2 +
 ios/sdk/WeexSDK/Sources/Bridge/JSValue+Weex.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/JSValue+Weex.m   |  23 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.h    |  23 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXCallJSMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXCallJSMethod.m |  23 +-
 .../WeexSDK/Sources/Bridge/WXComponentMethod.h  |  23 +-
 .../WeexSDK/Sources/Bridge/WXComponentMethod.m  |  23 +-
 .../Sources/Bridge/WXDebugLoggerBridge.h        |  23 +-
 .../Sources/Bridge/WXDebugLoggerBridge.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXPolyfillSet.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXPolyfillSet.m  |  23 +-
 .../Component/Recycler/WXMultiColumnLayout.h    |  23 +-
 .../Component/Recycler/WXMultiColumnLayout.m    |  23 +-
 .../Component/Recycler/WXRecyclerComponent.h    |  23 +-
 .../Component/Recycler/WXRecyclerComponent.m    |  23 +-
 .../Recycler/WXRecyclerDataController.h         |  23 +-
 .../Recycler/WXRecyclerDataController.m         |  23 +-
 .../Recycler/WXRecyclerUpdateController.h       |  23 +-
 .../Recycler/WXRecyclerUpdateController.m       |  23 +-
 .../Recycler/WXSectionDataController.h          |  23 +-
 .../Recycler/WXSectionDataController.m          |  23 +-
 .../WeexSDK/Sources/Component/WXAComponent.h    |  23 +-
 .../WeexSDK/Sources/Component/WXAComponent.m    |  23 +-
 .../Sources/Component/WXCanvasComponent.h       |  23 +-
 .../Sources/Component/WXCanvasComponent.m       |  23 +-
 .../WeexSDK/Sources/Component/WXCellComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXCellComponent.m |  23 +-
 .../Sources/Component/WXComponent_internal.h    |  23 +-
 .../WeexSDK/Sources/Component/WXDivComponent.h  |  23 +-
 .../WeexSDK/Sources/Component/WXDivComponent.m  |  23 +-
 .../WeexSDK/Sources/Component/WXEditComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXEditComponent.m |  31 +-
 .../Sources/Component/WXEmbedComponent.h        |  23 +-
 .../Sources/Component/WXEmbedComponent.m        |  23 +-
 .../Sources/Component/WXFooterComponent.h       |  23 +-
 .../Sources/Component/WXFooterComponent.m       |  23 +-
 .../Sources/Component/WXHeaderComponent.h       |  23 +-
 .../Sources/Component/WXHeaderComponent.m       |  23 +-
 .../Sources/Component/WXImageComponent.h        |  25 +-
 .../Sources/Component/WXImageComponent.m        |  23 +-
 .../Sources/Component/WXIndicatorComponent.h    |  23 +-
 .../Sources/Component/WXIndicatorComponent.m    |  23 +-
 .../WeexSDK/Sources/Component/WXListComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXListComponent.m |  23 +-
 .../Sources/Component/WXLoadingComponent.h      |  25 +-
 .../Sources/Component/WXLoadingComponent.m      |  18 +
 .../Sources/Component/WXLoadingIndicator.h      |  23 +-
 .../Sources/Component/WXLoadingIndicator.m      |  23 +-
 .../Sources/Component/WXRefreshComponent.h      |  23 +-
 .../Sources/Component/WXRefreshComponent.m      |  23 +-
 .../Sources/Component/WXScrollerComponent.h     |  23 +-
 .../Sources/Component/WXScrollerComponent.m     |  23 +-
 .../Sources/Component/WXSliderComponent.h       |  23 +-
 .../Sources/Component/WXSliderComponent.m       |  23 +-
 .../Component/WXSliderNeighborComponent.h       |  23 +-
 .../Component/WXSliderNeighborComponent.m       |  23 +-
 .../Sources/Component/WXSwitchComponent.h       |  23 +-
 .../Sources/Component/WXSwitchComponent.m       |  23 +-
 .../Sources/Component/WXTextAreaComponent.h     |  23 +-
 .../Sources/Component/WXTextAreaComponent.m     |  23 +-
 .../WeexSDK/Sources/Component/WXTextComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXTextComponent.m |  23 +-
 .../Sources/Component/WXTextInputComponent.h    |  23 +-
 .../Sources/Component/WXTextInputComponent.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.h |  23 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.m |  23 +-
 .../Sources/Component/WXVideoComponent.h        |  23 +-
 .../Sources/Component/WXVideoComponent.m        |  23 +-
 .../WeexSDK/Sources/Component/WXWebComponent.h  |  23 +-
 .../WeexSDK/Sources/Component/WXWebComponent.m  |  23 +-
 .../Sources/Controller/WXBaseViewController.h   |  23 +-
 .../Sources/Controller/WXBaseViewController.m   |  28 +-
 .../Sources/Controller/WXRootViewController.h   |  23 +-
 .../Sources/Controller/WXRootViewController.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m     |  23 +-
 .../WeexSDK/Sources/Display/UIBezierPath+Weex.h |  23 +-
 .../WeexSDK/Sources/Display/UIBezierPath+Weex.m |  23 +-
 .../Sources/Display/WXComponent+BoxShadow.h     |  23 +-
 .../Sources/Display/WXComponent+BoxShadow.m     |  23 +-
 .../Sources/Display/WXComponent+Display.h       |  23 +-
 .../Sources/Display/WXComponent+Display.m       |  23 +-
 .../WeexSDK/Sources/Display/WXDisplayQueue.h    |  23 +-
 .../WeexSDK/Sources/Display/WXDisplayQueue.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXLayer.h       |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXLayer.m       |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXRoundedRect.h |  23 +-
 .../WeexSDK/Sources/Display/WXRoundedRect.mm    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h     |  23 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.h |  23 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.m |  23 +-
 .../Sources/Handler/WXNavigationDefaultImpl.h   |  23 +-
 .../Sources/Handler/WXNavigationDefaultImpl.m   |  23 +-
 .../Sources/Handler/WXURLRewriteDefaultImpl.h   |  23 +-
 .../Sources/Handler/WXURLRewriteDefaultImpl.m   |  23 +-
 .../WeexSDK/Sources/Loader/WXResourceLoader.h   |  23 +-
 .../WeexSDK/Sources/Loader/WXResourceLoader.m   |  23 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  |  23 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.m  |  23 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.h   |  23 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.m   |  23 +-
 .../Sources/Manager/WXComponentFactory.h        |  23 +-
 .../Sources/Manager/WXComponentFactory.m        |  23 +-
 .../Sources/Manager/WXComponentManager.h        |  23 +-
 .../Sources/Manager/WXComponentManager.m        |  23 +-
 .../Sources/Manager/WXDatePickerManager.h       |  23 +-
 .../Sources/Manager/WXDatePickerManager.m       |  23 +-
 .../WeexSDK/Sources/Manager/WXHandlerFactory.h  |  23 +-
 .../WeexSDK/Sources/Manager/WXHandlerFactory.m  |  23 +-
 .../Sources/Manager/WXInvocationConfig.h        |  23 +-
 .../Sources/Manager/WXInvocationConfig.m        |  23 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.h   |  23 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.h |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.m  |  23 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.h  |  23 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.m  |  23 +-
 .../Sources/Model/WXComponent+Navigation.h      |  23 +-
 .../Sources/Model/WXComponent+Navigation.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m     |  23 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.h   |  23 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.m   |  25 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |  23 +-
 .../Sources/Model/WXSDKInstance_private.h       |  23 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXCanvasModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXCanvasModule.m |  23 +-
 .../WeexSDK/Sources/Module/WXClipboardModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXClipboardModule.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.m    |  23 +-
 .../Sources/Module/WXGlobalEventModule.h        |  23 +-
 .../Sources/Module/WXGlobalEventModule.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXInstanceWrap.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXInstanceWrap.m |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXMetaModule.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXMetaModule.m   |  23 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.m    |  23 +-
 .../WeexSDK/Sources/Module/WXNavigatorModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXNavigatorModule.m  |  18 +
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m |  23 +-
 .../WeexSDK/Sources/Module/WXStorageModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXStorageModule.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXTimerModule.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXTimerModule.m  |  23 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  |  23 +-
 .../WeexSDK/Sources/Module/WXWebViewModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXWebViewModule.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m     |  23 +-
 .../WeexSDK/Sources/Network/WXResourceRequest.h |  23 +-
 .../WeexSDK/Sources/Network/WXResourceRequest.m |  23 +-
 .../Sources/Network/WXResourceRequestHandler.h  |  23 +-
 .../WXResourceRequestHandlerDefaultImpl.h       |  23 +-
 .../WXResourceRequestHandlerDefaultImpl.m       |  23 +-
 .../Sources/Network/WXResourceResponse.h        |  23 +-
 .../Sources/Network/WXResourceResponse.m        |  23 +-
 .../Sources/Protocol/WXAppMonitorProtocol.h     |  23 +-
 .../WeexSDK/Sources/Protocol/WXBridgeProtocol.h |  23 +-
 .../Sources/Protocol/WXDestroyProtocol.h        |  23 +-
 .../Sources/Protocol/WXEventModuleProtocol.h    |  23 +-
 .../Sources/Protocol/WXImgLoaderProtocol.h      |  23 +-
 .../Sources/Protocol/WXJSExceptionProtocol.h    |  23 +-
 .../WeexSDK/Sources/Protocol/WXModuleProtocol.h |  23 +-
 .../Sources/Protocol/WXNavigationProtocol.h     |  23 +-
 .../Sources/Protocol/WXNetworkProtocol.h        |  23 +-
 .../Sources/Protocol/WXScrollerProtocol.h       |  23 +-
 .../Sources/Protocol/WXTextComponentProtocol.h  |  23 +-
 .../Sources/Protocol/WXURLRewriteProtocol.h     |  23 +-
 .../Sources/Protocol/WXValidateProtocol.h       |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSArray+Weex.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSArray+Weex.m  |  23 +-
 .../Sources/Utility/NSObject+WXSwizzle.h        |  23 +-
 .../Sources/Utility/NSObject+WXSwizzle.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSTimer+Weex.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSTimer+Weex.m  |  23 +-
 .../Sources/Utility/WXAppConfiguration.h        |  23 +-
 .../Sources/Utility/WXAppConfiguration.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXAssert.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXAssert.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.m     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDefine.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLength.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLength.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.h         |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.m         |  23 +-
 .../Utility/WXSimulatorShortcutManager.h        |  23 +-
 .../Utility/WXSimulatorShortcutManager.m        |  23 +-
 .../Sources/Utility/WXThreadSafeCounter.h       |  23 +-
 .../Sources/Utility/WXThreadSafeCounter.m       |  23 +-
 .../Sources/Utility/WXThreadSafeMutableArray.h  |  23 +-
 .../Sources/Utility/WXThreadSafeMutableArray.m  |  23 +-
 .../Utility/WXThreadSafeMutableDictionary.h     |  23 +-
 .../Utility/WXThreadSafeMutableDictionary.m     |  25 +-
 ios/sdk/WeexSDK/Sources/Utility/WXType.h        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.m     |  23 +-
 .../Sources/Utility/WXWeakObjectWrapper.h       |  23 +-
 .../Sources/Utility/WXWeakObjectWrapper.m       |  23 +-
 .../View/WXComponent+PseudoClassManagement.h    |  23 +-
 .../View/WXComponent+PseudoClassManagement.m    |  23 +-
 .../Sources/View/WXComponent+ViewManagement.h   |  23 +-
 .../Sources/View/WXComponent+ViewManagement.m   |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXErrorView.h      |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXErrorView.m      |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXRootView.h       |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXRootView.m       |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXView.h           |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXView.m           |  23 +-
 .../Sources/WebSocket/SRWebSocket+Weex.h        |  23 +-
 .../Sources/WebSocket/SRWebSocket+Weex.m        |  23 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.h  |  23 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  |  23 +-
 .../Sources/WebSocket/WXWebSocketHandler.h      |  23 +-
 ios/sdk/WeexSDK/Sources/WeexSDK.h               |  21 +-
 ios/sdk/WeexSDK_MTL/WeexSDK_MTL.h               |  23 +-
 ios/sdk/WeexSDK_MTL/WeexSDK_MTL.m               |  23 +-
 scripts/apache-rat-0.12.jar                     | Bin 0 -> 1592593 bytes
 scripts/rat-ant-build.xml                       |   8 +
 scripts/rat-scan.sh                             |   3 +
 scripts/replace-header.sh                       |   4 +
 scripts/rh/LICENSE                              | 674 +++++++++++++++++++
 scripts/rh/README                               |  46 ++
 scripts/rh/header.template                      |  18 +
 scripts/rh/remove_header.awk                    |  48 ++
 scripts/rh/replace_header.sh                    |  11 +
 test/pages/image-onload.vue                     |   2 +-
 test/run.sh                                     |   9 +-
 test/scripts/components/image-onload.test.js    |   4 +-
 test/scripts/components/recycler.test.js        |   2 +-
 vue.html                                        |  10 +-
 921 files changed, 16749 insertions(+), 82982 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/30c8c8a6/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/30c8c8a6/ios/sdk/WeexSDK/Sources/Display/WXComponent+Display.m
----------------------------------------------------------------------


[37/50] incubator-weex git commit: Merge branch 'ios-bugfix-picker-0.12-dev' of https://github.com/kfeagle/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch 'ios-bugfix-picker-0.12-dev' of https://github.com/kfeagle/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/68acd19d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/68acd19d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/68acd19d

Branch: refs/heads/dev
Commit: 68acd19daaaae0edfb312d7eb0b4d8ce89c97cea
Parents: b92bf6f 2620083
Author: cxfeng <cx...@apache.org>
Authored: Wed Apr 12 17:14:19 2017 +0800
Committer: cxfeng <cx...@apache.org>
Committed: Wed Apr 12 17:14:19 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 32 +++++++++++++-------
 1 file changed, 21 insertions(+), 11 deletions(-)
----------------------------------------------------------------------



[23/50] incubator-weex git commit: Merge branch '0.12-dev' into feature-android-irender-result

Posted by so...@apache.org.
Merge branch '0.12-dev' into feature-android-irender-result

* 0.12-dev:
  * [android] recycler test case bug fix
  * [test] fix js lint
  * [android] Change compiling error due to enableLayerType
  * [android] Fix layerType name in WXComponent
  * [ios] remove the overflow:hidden limit for border-x-x-radius on image component
  * [test] use '@ignore-' in test case description to ignore in run script
  * [all] add DISCLAIMER
  * [all] update LICENSE
  * [ios] fix issue that image's frame can not be changed
  * [ios] move UIGraphicsEndImageContext() to override endDrawContext:
  + [ios] delete no use code
  + [ios] update height type
  + [ios] picker support custom title title color background color and etc
  * [ios] bug fix: customMonitorInfo only deal dictionary and string
  * [android] Use Pair instead of Exception in WXResourceUtils to imply an error occur.
  * [doc] Change doc of toast.
  * [Android] Add the ability of disable changing layerType


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/03f44343
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/03f44343
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/03f44343

Branch: refs/heads/dev
Commit: 03f44343e232695a9c31d865297a4760b0904aa4
Parents: cc45cdc 33932c4
Author: zshshr <zh...@gmail.com>
Authored: Wed Apr 12 14:34:48 2017 +0800
Committer: zshshr <zh...@gmail.com>
Committed: Wed Apr 12 14:34:48 2017 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/component/WXDiv.java     |   4 +-
 .../com/taobao/weex/ui/view/IRenderResult.java  | 213 +++++++++++++++++++
 .../com/taobao/weex/ui/view/WXFrameLayout.java  |  19 +-
 .../com/taobao/weex/ui/view/WXImageView.java    |   9 +-
 .../com/taobao/weex/ui/view/WXTextView.java     |   9 +-
 5 files changed, 250 insertions(+), 4 deletions(-)
----------------------------------------------------------------------



[30/50] incubator-weex git commit: * [test] fix CI script

Posted by so...@apache.org.
* [test] fix CI script


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/076d11bb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/076d11bb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/076d11bb

Branch: refs/heads/dev
Commit: 076d11bbc78f0052b3cd60d21e7af425a96e82dd
Parents: 64b0857
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 15:54:25 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 15:54:25 2017 +0800

----------------------------------------------------------------------
 dangerfile.js    | 9 +++++++++
 test/ci-funcs.sh | 1 +
 2 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/076d11bb/dangerfile.js
----------------------------------------------------------------------
diff --git a/dangerfile.js b/dangerfile.js
index b206e6e..35eb696 100644
--- a/dangerfile.js
+++ b/dangerfile.js
@@ -144,8 +144,17 @@ const copyright_header_components = [
   'with the License\\.  You may obtain a copy of the License at'
 ];
 
+//path prefix
+const ignoreCopyrightVerifyPath = [
+  'test'
+]
 
 codefiles.forEach(filepath => {
+  for(var i=ignoreCopyrightVerifyPath.length-1;i>=0;i--){
+    if(filepath.startsWith(ignoreCopyrightVerifyPath[i])){
+      return
+    }
+  }
   const content = fs.readFileSync(filepath).toString();
   for (const line of copyright_header_components) {
     if (!content.match(new RegExp(line))) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/076d11bb/test/ci-funcs.sh
----------------------------------------------------------------------
diff --git a/test/ci-funcs.sh b/test/ci-funcs.sh
index c6d0fd6..8db51f6 100644
--- a/test/ci-funcs.sh
+++ b/test/ci-funcs.sh
@@ -98,6 +98,7 @@ function test_cpt {
     
     if [ $target = $target_android ]; then
         ./test/serve.sh 2&>1 > /dev/null &
+        set -eu
         # export ANDROID_HOME=/usr/local/opt/android-sdk
         cd android && ./run-ci.sh && cd $TRAVIS_BUILD_DIR
         waitForEmulator


[12/50] incubator-weex git commit: Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/02487c9c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/02487c9c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/02487c9c

Branch: refs/heads/dev
Commit: 02487c9c8152d880619b9c9e6fc8aa7670c6c2db
Parents: 70f42aa c92617a
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 10:39:39 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 10:39:39 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 122 ++++++++++++++++++-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m     |   6 +-
 2 files changed, 121 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[14/50] incubator-weex git commit: Merge branch 'doc-toast' of https://github.com/YorkShen/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch 'doc-toast' of https://github.com/YorkShen/incubator-weex into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b75c6c56
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b75c6c56
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b75c6c56

Branch: refs/heads/dev
Commit: b75c6c56ff3ae95a4b11ee51c924484e98462543
Parents: 476e58c 5166b33
Author: YorkShen <sh...@gmail.com>
Authored: Wed Apr 12 10:42:45 2017 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Wed Apr 12 10:42:45 2017 +0800

----------------------------------------------------------------------
 doc/source/cn/references/modules/modal.md | 2 ++
 doc/source/references/modules/modal.md    | 2 ++
 2 files changed, 4 insertions(+)
----------------------------------------------------------------------



[07/50] incubator-weex git commit: Merge remote-tracking branch 'upstream/0.12-dev' into 0.12-dev

Posted by so...@apache.org.
Merge remote-tracking branch 'upstream/0.12-dev' into 0.12-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/45761b15
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/45761b15
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/45761b15

Branch: refs/heads/dev
Commit: 45761b1568735f14ea7db225627c95664d5b816c
Parents: f8fe773 c92617a
Author: \u9690\u98ce <cx...@apache.org>
Authored: Tue Apr 11 22:02:24 2017 +0800
Committer: \u9690\u98ce <cx...@apache.org>
Committed: Tue Apr 11 22:02:24 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 122 ++++++++++++++++++-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m     |   6 +-
 2 files changed, 121 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[22/50] incubator-weex git commit: Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

Posted by so...@apache.org.
Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

* '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex: (46 commits)
  * [test] fix js lint
  * [android] Change compiling error due to enableLayerType
  * [android] Fix layerType name in WXComponent
  * [ios] remove the overflow:hidden limit for border-x-x-radius on image component
  * [test] use '@ignore-' in test case description to ignore in run script
  * [all] add DISCLAIMER
  * [all] update LICENSE
  * [jsfm] fix lint err in license header
  * [ios] fix issue that image's frame can not be changed
  * [android] fix wximage#setSrc when view not created or after destory.
  * [android] fix npe when remove event
  * [android] update isHardwareSupport resuse isCPUSupport
  * [all] update NOTICE
  * [test] fix android code license
  * [test] update license header chck by danger
  * [test] change src-header to asf required
  * [ios] move UIGraphicsEndImageContext() to override endDrawContext:
  * [android] update NavigatorModule add judge callback
  * [android] update embed support activity lifecycle
  * [ios] use xcode 8.3
  ...

# Conflicts:
#	test/scripts/components/recycler.test.js


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/cc45cdc8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/cc45cdc8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/cc45cdc8

Branch: refs/heads/dev
Commit: cc45cdc8823431fd548c9c64a8637a4408522c40
Parents: 8dcc235 579a2b3
Author: zshshr <zh...@gmail.com>
Authored: Wed Apr 12 14:11:42 2017 +0800
Committer: zshshr <zh...@gmail.com>
Committed: Wed Apr 12 14:11:42 2017 +0800

----------------------------------------------------------------------
 .rat-excludes                                   |  11 +
 .travis.yml                                     |   2 +-
 DISCLAIMER                                      |   1 +
 LICENSE                                         |   2 +-
 NOTICE                                          |   7 +-
 .../alibaba/weex/commons/ApplicationTest.java   | 222 +-----
 .../weex/commons/AbstractWeexActivity.java      | 222 +-----
 .../weex/commons/SimpleWeexActivity.java        | 220 +-----
 .../weex/commons/WXAnalyzerDelegate.java        | 220 +-----
 .../alibaba/weex/commons/adapter/BlurTool.java  | 220 +-----
 .../commons/adapter/BlurTransformation.java     | 222 +-----
 .../adapter/DefaultWebSocketAdapter.java        | 220 +-----
 .../adapter/DefaultWebSocketAdapterFactory.java | 220 +-----
 .../commons/adapter/FrescoImageAdapter.java     | 220 +-----
 .../commons/adapter/FrescoImageComponent.java   | 220 +-----
 .../weex/commons/adapter/FrescoImageView.java   | 220 +-----
 .../weex/commons/adapter/ImageAdapter.java      | 220 +-----
 .../commons/adapter/JSExceptionAdapter.java     | 220 +-----
 .../alibaba/weex/commons/util/AssertUtil.java   | 220 +-----
 .../alibaba/weex/commons/util/ScreenUtil.java   | 220 +-----
 .../java/com/alibaba/weex/ApplicationTest.java  |  20 +-
 .../com/alibaba/weex/WeappJsBaseTestCase.java   |  18 +
 .../benchmark/BenchmarkActivityTestRule.java    | 218 +-----
 .../alibaba/weex/benchmark/BenchmarkTest.java   | 218 +-----
 .../com/alibaba/weex/benchmark/BoxPlot.java     | 218 +-----
 .../java/com/alibaba/weex/benchmark/Repeat.java | 218 +-----
 .../com/alibaba/weex/benchmark/RepeatRule.java  | 218 +-----
 .../weex/benchmark/WeexNativeCompareTest.java   | 218 +-----
 .../java/com/alibaba/weex/util/Falcon.java      |  18 +
 .../java/com/alibaba/weex/util/ScreenShot.java  |  18 +
 .../com/alibaba/weex/util/SdCardHelper.java     |  18 +
 .../java/com/alibaba/weex/util/TestFlow.java    |  18 +
 .../java/com/alibaba/weex/util/ViewUtil.java    |  18 +
 .../com/alibaba/weex/BenchmarkActivity.java     | 218 +-----
 .../java/com/alibaba/weex/IndexActivity.java    | 220 +-----
 .../java/com/alibaba/weex/SplashActivity.java   | 220 +-----
 .../src/main/java/com/alibaba/weex/Utility.java | 220 +-----
 .../java/com/alibaba/weex/WXApplication.java    | 220 +-----
 .../java/com/alibaba/weex/WXBaseActivity.java   | 220 +-----
 .../java/com/alibaba/weex/WXDebugActivity.java  | 220 +-----
 .../java/com/alibaba/weex/WXPageActivity.java   | 220 +-----
 .../com/alibaba/weex/constants/Constants.java   | 220 +-----
 .../alibaba/weex/extend/PlayDebugAdapter.java   | 220 +-----
 .../extend/WXInstanceStatisticsListener.java    | 220 +-----
 .../extend/adapter/InterceptWXHttpAdapter.java  | 220 +-----
 .../alibaba/weex/extend/component/RichText.java | 220 +-----
 .../extend/component/WXComponentSyncTest.java   | 220 +-----
 .../alibaba/weex/extend/component/WXMask.java   | 126 +---
 .../extend/component/dom/WXMaskDomObject.java   | 220 +-----
 .../weex/extend/module/GeolocationModule.java   | 220 +-----
 .../alibaba/weex/extend/module/MyModule.java    | 220 +-----
 .../weex/extend/module/RenderModule.java        | 220 +-----
 .../weex/extend/module/SyncTestModule.java      | 220 +-----
 .../weex/extend/module/WXEventModule.java       | 220 +-----
 .../extend/module/location/DefaultLocation.java | 222 +-----
 .../weex/extend/module/location/ILocatable.java | 220 +-----
 .../extend/module/location/LocationFactory.java | 220 +-----
 .../alibaba/weex/extend/view/WXMaskView.java    | 220 +-----
 .../alibaba/weex/https/HotRefreshManager.java   | 220 +-----
 .../com/alibaba/weex/https/WXHttpManager.java   | 220 +-----
 .../com/alibaba/weex/https/WXHttpResponse.java  | 220 +-----
 .../java/com/alibaba/weex/https/WXHttpTask.java | 220 +-----
 .../alibaba/weex/https/WXOkHttpDispatcher.java  | 220 +-----
 .../alibaba/weex/https/WXRequestListener.java   | 220 +-----
 android/sdk/license/LICENSE                     | 218 +-----
 .../taobao/weex/IWXActivityStateListener.java   | 220 +-----
 .../java/com/taobao/weex/IWXRenderListener.java | 220 +-----
 .../com/taobao/weex/IWXStatisticsListener.java  | 220 +-----
 .../main/java/com/taobao/weex/InitConfig.java   | 220 +-----
 .../java/com/taobao/weex/RenderContainer.java   | 220 +-----
 .../java/com/taobao/weex/WXEnvironment.java     | 238 +------
 .../com/taobao/weex/WXGlobalEventModule.java    | 126 +---
 .../com/taobao/weex/WXGlobalEventReceiver.java  | 220 +-----
 .../java/com/taobao/weex/WXRenderErrorCode.java | 220 +-----
 .../main/java/com/taobao/weex/WXSDKEngine.java  | 126 +---
 .../java/com/taobao/weex/WXSDKInstance.java     | 249 ++-----
 .../main/java/com/taobao/weex/WXSDKManager.java | 143 +---
 .../taobao/weex/adapter/DefaultUriAdapter.java  | 220 +-----
 .../weex/adapter/DefaultWXHttpAdapter.java      | 220 +-----
 .../taobao/weex/adapter/DrawableStrategy.java   | 218 +-----
 .../taobao/weex/adapter/IDrawableLoader.java    | 218 +-----
 .../taobao/weex/adapter/IWXDebugAdapter.java    | 220 +-----
 .../com/taobao/weex/adapter/IWXHttpAdapter.java | 220 +-----
 .../weex/adapter/IWXImgLoaderAdapter.java       | 220 +-----
 .../weex/adapter/IWXJSExceptionAdapter.java     | 220 +-----
 .../taobao/weex/adapter/IWXSoLoaderAdapter.java | 220 +-----
 .../weex/adapter/IWXUserTrackAdapter.java       | 220 +-----
 .../com/taobao/weex/adapter/URIAdapter.java     | 220 +-----
 .../com/taobao/weex/annotation/Component.java   | 220 +-----
 .../com/taobao/weex/annotation/JSMethod.java    | 220 +-----
 .../weex/appfram/clipboard/IWXClipboard.java    | 220 +-----
 .../appfram/clipboard/WXClipboardModule.java    | 220 +-----
 .../navigator/IActivityNavBarSetter.java        | 220 +-----
 .../appfram/navigator/WXNavigatorModule.java    | 130 +---
 .../weex/appfram/pickers/DatePickerImpl.java    | 220 +-----
 .../weex/appfram/pickers/WXPickersModule.java   | 220 +-----
 .../weex/appfram/storage/DefaultWXStorage.java  | 220 +-----
 .../taobao/weex/appfram/storage/IWXStorage.java | 220 +-----
 .../weex/appfram/storage/IWXStorageAdapter.java | 220 +-----
 .../appfram/storage/StorageResultHandler.java   | 220 +-----
 .../appfram/storage/WXSQLiteOpenHelper.java     | 220 +-----
 .../weex/appfram/storage/WXStorageModule.java   | 220 +-----
 .../appfram/websocket/IWebSocketAdapter.java    | 220 +-----
 .../websocket/IWebSocketAdapterFactory.java     | 220 +-----
 .../appfram/websocket/WebSocketCloseCodes.java  | 220 +-----
 .../weex/appfram/websocket/WebSocketModule.java | 220 +-----
 .../java/com/taobao/weex/bridge/Invoker.java    | 220 +-----
 .../java/com/taobao/weex/bridge/JSCallback.java | 220 +-----
 .../taobao/weex/bridge/JavascriptInvokable.java | 220 +-----
 .../com/taobao/weex/bridge/MethodInvoker.java   | 220 +-----
 .../com/taobao/weex/bridge/ModuleFactory.java   | 220 +-----
 .../taobao/weex/bridge/NativeInvokeHelper.java  | 220 +-----
 .../taobao/weex/bridge/SimpleJSCallback.java    | 220 +-----
 .../java/com/taobao/weex/bridge/WXBridge.java   | 220 +-----
 .../com/taobao/weex/bridge/WXBridgeManager.java | 220 +-----
 .../java/com/taobao/weex/bridge/WXHashMap.java  | 220 +-----
 .../java/com/taobao/weex/bridge/WXJSObject.java | 220 +-----
 .../com/taobao/weex/bridge/WXModuleManager.java | 220 +-----
 .../java/com/taobao/weex/bridge/WXParams.java   | 143 +---
 .../taobao/weex/bridge/WXServiceManager.java    | 220 +-----
 .../java/com/taobao/weex/bridge/WXTask.java     | 220 +-----
 .../taobao/weex/bridge/WXValidateProcessor.java | 220 +-----
 .../java/com/taobao/weex/common/Constants.java  | 220 +-----
 .../com/taobao/weex/common/Destroyable.java     | 220 +-----
 .../java/com/taobao/weex/common/IWXBridge.java  | 220 +-----
 .../com/taobao/weex/common/IWXDebugProxy.java   | 220 +-----
 .../java/com/taobao/weex/common/IWXObject.java  | 220 +-----
 .../java/com/taobao/weex/common/IWXTask.java    | 220 +-----
 .../taobao/weex/common/OnWXScrollListener.java  | 143 +---
 .../taobao/weex/common/TypeModuleFactory.java   | 220 +-----
 .../com/taobao/weex/common/WXCompatModule.java  | 220 +-----
 .../java/com/taobao/weex/common/WXConfig.java   | 220 +-----
 .../com/taobao/weex/common/WXErrorCode.java     | 220 +-----
 .../com/taobao/weex/common/WXException.java     | 220 +-----
 .../com/taobao/weex/common/WXImageSharpen.java  | 220 +-----
 .../com/taobao/weex/common/WXImageStrategy.java | 222 +-----
 .../com/taobao/weex/common/WXInstanceWrap.java  | 220 +-----
 .../taobao/weex/common/WXJSBridgeMsgType.java   | 220 +-----
 .../taobao/weex/common/WXJSEngineListener.java  | 220 +-----
 .../taobao/weex/common/WXJSExceptionInfo.java   | 220 +-----
 .../com/taobao/weex/common/WXJSService.java     | 220 +-----
 .../java/com/taobao/weex/common/WXModule.java   | 220 +-----
 .../com/taobao/weex/common/WXModuleAnno.java    | 222 +-----
 .../com/taobao/weex/common/WXPerformance.java   | 222 +-----
 .../com/taobao/weex/common/WXRefreshData.java   | 220 +-----
 .../taobao/weex/common/WXRenderStrategy.java    | 223 +-----
 .../java/com/taobao/weex/common/WXRequest.java  | 220 +-----
 .../taobao/weex/common/WXRequestListener.java   | 220 +-----
 .../java/com/taobao/weex/common/WXResponse.java | 220 +-----
 .../taobao/weex/common/WXRuntimeException.java  | 220 +-----
 .../java/com/taobao/weex/common/WXThread.java   | 220 +-----
 .../com/taobao/weex/dom/ApplyStyleConsumer.java | 220 +-----
 .../taobao/weex/dom/BasicEditTextDomObject.java | 220 +-----
 .../com/taobao/weex/dom/CSSAlignConvert.java    | 220 +-----
 .../weex/dom/CSSFlexDirectionConvert.java       | 220 +-----
 .../com/taobao/weex/dom/CSSJustifyConvert.java  | 220 +-----
 .../taobao/weex/dom/CSSPositionTypeConvert.java | 220 +-----
 .../com/taobao/weex/dom/CSSWrapConvert.java     | 220 +-----
 .../java/com/taobao/weex/dom/DOMAction.java     | 220 +-----
 .../com/taobao/weex/dom/DOMActionContext.java   | 220 +-----
 .../taobao/weex/dom/DOMActionContextImpl.java   | 220 +-----
 .../java/com/taobao/weex/dom/DomContext.java    | 220 +-----
 .../com/taobao/weex/dom/ImmutableDomObject.java | 220 +-----
 .../java/com/taobao/weex/dom/RenderAction.java  | 220 +-----
 .../taobao/weex/dom/RenderActionContext.java    | 220 +-----
 .../com/taobao/weex/dom/RenderActionTask.java   | 220 +-----
 .../weex/dom/SafePutConcurrentHashMap.java      | 220 +-----
 .../weex/dom/TextAreaEditTextDomObject.java     | 220 +-----
 .../main/java/com/taobao/weex/dom/WXAttr.java   | 220 +-----
 .../com/taobao/weex/dom/WXCellDomObject.java    | 218 +-----
 .../com/taobao/weex/dom/WXCustomStyleSpan.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomHandler.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomManager.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomModule.java   | 220 +-----
 .../java/com/taobao/weex/dom/WXDomObject.java   | 220 +-----
 .../com/taobao/weex/dom/WXDomObjectFactory.java | 220 +-----
 .../java/com/taobao/weex/dom/WXDomRegistry.java | 220 +-----
 .../java/com/taobao/weex/dom/WXDomTask.java     | 220 +-----
 .../main/java/com/taobao/weex/dom/WXEvent.java  | 220 +-----
 .../com/taobao/weex/dom/WXImageQuality.java     | 222 +-----
 .../com/taobao/weex/dom/WXLineHeightSpan.java   | 220 +-----
 .../com/taobao/weex/dom/WXListDomObject.java    | 220 +-----
 .../taobao/weex/dom/WXRecyclerDomObject.java    | 220 +-----
 .../taobao/weex/dom/WXScrollerDomObject.java    | 220 +-----
 .../main/java/com/taobao/weex/dom/WXStyle.java  | 220 +-----
 .../com/taobao/weex/dom/WXSwitchDomObject.java  | 220 +-----
 .../com/taobao/weex/dom/WXTextDomObject.java    | 220 +-----
 .../dom/action/AbstractAddElementAction.java    | 220 +-----
 .../dom/action/AbstractLayoutFinishAction.java  | 220 +-----
 .../java/com/taobao/weex/dom/action/Action.java | 220 +-----
 .../com/taobao/weex/dom/action/Actions.java     | 220 +-----
 .../weex/dom/action/AddElementAction.java       | 220 +-----
 .../taobao/weex/dom/action/AddEventAction.java  | 220 +-----
 .../taobao/weex/dom/action/AddRuleAction.java   | 220 +-----
 .../taobao/weex/dom/action/AnimationAction.java | 221 +-----
 .../weex/dom/action/CreateBodyAction.java       | 220 +-----
 .../weex/dom/action/CreateFinishAction.java     | 220 +-----
 .../weex/dom/action/GetComponentRectAction.java | 220 +-----
 .../weex/dom/action/InvokeMethodAction.java     | 220 +-----
 .../weex/dom/action/MoveElementAction.java      | 220 +-----
 .../weex/dom/action/RefreshFinishAction.java    | 220 +-----
 .../weex/dom/action/RemoveElementAction.java    | 220 +-----
 .../weex/dom/action/RemoveEventAction.java      | 220 +-----
 .../weex/dom/action/ScrollToElementAction.java  | 220 +-----
 .../weex/dom/action/UpdateAttributeAction.java  | 220 +-----
 .../weex/dom/action/UpdateFinishAction.java     | 220 +-----
 .../weex/dom/action/UpdateStyleAction.java      | 220 +-----
 .../main/java/com/taobao/weex/http/Options.java | 220 +-----
 .../main/java/com/taobao/weex/http/Status.java  | 220 +-----
 .../java/com/taobao/weex/http/WXHttpUtil.java   | 220 +-----
 .../com/taobao/weex/http/WXStreamModule.java    | 220 +-----
 .../com/taobao/weex/ui/ComponentCreator.java    | 220 +-----
 .../weex/ui/ExternalLoaderComponentHolder.java  | 220 +-----
 .../weex/ui/IExternalComponentGetter.java       | 220 +-----
 .../taobao/weex/ui/IExternalMoudleGetter.java   | 220 +-----
 .../com/taobao/weex/ui/IFComponentHolder.java   | 220 +-----
 .../java/com/taobao/weex/ui/IWXRenderTask.java  | 220 +-----
 .../taobao/weex/ui/RenderActionContextImpl.java | 220 +-----
 .../taobao/weex/ui/SimpleComponentHolder.java   | 220 +-----
 .../com/taobao/weex/ui/WXComponentRegistry.java | 220 +-----
 .../com/taobao/weex/ui/WXRenderHandler.java     | 220 +-----
 .../com/taobao/weex/ui/WXRenderManager.java     | 220 +-----
 .../ui/animation/BackgroundColorProperty.java   | 218 +-----
 .../ui/animation/DimensionUpdateListener.java   | 218 +-----
 .../weex/ui/animation/WXAnimationBean.java      | 220 +-----
 .../weex/ui/animation/WXAnimationModule.java    | 220 +-----
 .../ui/component/AbstractEditComponent.java     | 222 +-----
 .../weex/ui/component/AppearanceHelper.java     | 220 +-----
 .../weex/ui/component/NestedContainer.java      | 220 +-----
 .../taobao/weex/ui/component/Scrollable.java    | 220 +-----
 .../com/taobao/weex/ui/component/Textarea.java  | 220 +-----
 .../java/com/taobao/weex/ui/component/WXA.java  | 220 +-----
 .../taobao/weex/ui/component/WXBaseRefresh.java | 220 +-----
 .../weex/ui/component/WXBasicComponentType.java | 220 +-----
 .../taobao/weex/ui/component/WXComponent.java   | 160 +----
 .../weex/ui/component/WXComponentFactory.java   | 220 +-----
 .../weex/ui/component/WXComponentProp.java      | 220 +-----
 .../com/taobao/weex/ui/component/WXDiv.java     | 220 +-----
 .../com/taobao/weex/ui/component/WXEmbed.java   | 262 ++-----
 .../com/taobao/weex/ui/component/WXHeader.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXImage.java   | 225 +------
 .../taobao/weex/ui/component/WXIndicator.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXInput.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXLoading.java | 220 +-----
 .../weex/ui/component/WXLoadingIndicator.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXRefresh.java | 220 +-----
 .../taobao/weex/ui/component/WXScroller.java    | 220 +-----
 .../com/taobao/weex/ui/component/WXSlider.java  | 220 +-----
 .../weex/ui/component/WXSliderNeighbor.java     | 220 +-----
 .../com/taobao/weex/ui/component/WXSwitch.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXText.java    | 220 +-----
 .../weex/ui/component/WXTextDecoration.java     | 220 +-----
 .../taobao/weex/ui/component/WXVContainer.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXVideo.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXWeb.java     | 220 +-----
 .../component/helper/SoftKeyboardDetector.java  | 218 +-----
 .../ui/component/helper/WXStickyHelper.java     | 220 +-----
 .../ui/component/helper/WXTimeInputHelper.java  | 222 +-----
 .../ui/component/list/BasicListComponent.java   | 220 +-----
 .../component/list/HorizontalListComponent.java | 220 +-----
 .../ui/component/list/ListComponentView.java    | 220 +-----
 .../ui/component/list/SimpleListComponent.java  | 220 +-----
 .../ui/component/list/SimpleRecyclerView.java   | 220 +-----
 .../ui/component/list/StickyHeaderHelper.java   | 220 +-----
 .../taobao/weex/ui/component/list/WXCell.java   | 220 +-----
 .../weex/ui/component/list/WXListComponent.java | 220 +-----
 .../component/pesudo/OnActivePseudoListner.java | 220 +-----
 .../weex/ui/component/pesudo/PesudoStatus.java  | 220 +-----
 .../pesudo/TouchActivePseudoListener.java       | 220 +-----
 .../com/taobao/weex/ui/module/WXMetaModule.java | 220 +-----
 .../taobao/weex/ui/module/WXModalUIModule.java  | 222 +-----
 .../taobao/weex/ui/module/WXTimerModule.java    | 222 +-----
 .../taobao/weex/ui/module/WXWebViewModule.java  | 220 +-----
 .../com/taobao/weex/ui/view/IRenderStatus.java  | 218 +-----
 .../com/taobao/weex/ui/view/IWXScroller.java    | 220 +-----
 .../com/taobao/weex/ui/view/IWXTextView.java    | 220 +-----
 .../java/com/taobao/weex/ui/view/IWebView.java  | 220 +-----
 .../weex/ui/view/WXBaseCircleIndicator.java     | 222 +-----
 .../weex/ui/view/WXBaseRefreshLayout.java       | 220 +-----
 .../taobao/weex/ui/view/WXCircleIndicator.java  | 220 +-----
 .../weex/ui/view/WXCirclePageAdapter.java       | 220 +-----
 .../taobao/weex/ui/view/WXCircleViewPager.java  | 220 +-----
 .../com/taobao/weex/ui/view/WXEditText.java     | 220 +-----
 .../com/taobao/weex/ui/view/WXFrameLayout.java  | 220 +-----
 .../weex/ui/view/WXHorizontalScrollView.java    | 220 +-----
 .../com/taobao/weex/ui/view/WXImageView.java    | 220 +-----
 .../taobao/weex/ui/view/WXLoadingLayout.java    | 220 +-----
 .../taobao/weex/ui/view/WXRefreshLayout.java    | 220 +-----
 .../com/taobao/weex/ui/view/WXScrollView.java   | 220 +-----
 .../taobao/weex/ui/view/WXSmoothScroller.java   | 220 +-----
 .../com/taobao/weex/ui/view/WXSwitchView.java   | 220 +-----
 .../com/taobao/weex/ui/view/WXTextView.java     | 220 +-----
 .../com/taobao/weex/ui/view/WXVideoView.java    | 220 +-----
 .../java/com/taobao/weex/ui/view/WXWebView.java | 220 +-----
 .../weex/ui/view/border/BorderCorner.java       | 220 +-----
 .../weex/ui/view/border/BorderDrawable.java     | 222 +-----
 .../taobao/weex/ui/view/border/BorderEdge.java  | 220 +-----
 .../weex/ui/view/border/BorderRadiusType.java   | 218 +-----
 .../taobao/weex/ui/view/border/BorderStyle.java | 220 +-----
 .../taobao/weex/ui/view/border/BorderUtil.java  | 220 +-----
 .../view/border/BorderWidthStyleColorType.java  | 218 +-----
 .../weex/ui/view/border/BottomLeftCorner.java   | 220 +-----
 .../weex/ui/view/border/BottomRightCorner.java  | 220 +-----
 .../weex/ui/view/border/TopLeftCorner.java      | 220 +-----
 .../weex/ui/view/border/TopRightCorner.java     | 220 +-----
 .../taobao/weex/ui/view/gesture/WXGesture.java  | 222 +-----
 .../ui/view/gesture/WXGestureObservable.java    | 220 +-----
 .../weex/ui/view/gesture/WXGestureType.java     | 220 +-----
 .../listview/ExtendedLinearLayoutManager.java   | 220 +-----
 .../weex/ui/view/listview/WXRecyclerView.java   | 220 +-----
 .../listview/adapter/IOnLoadMoreListener.java   | 220 +-----
 .../adapter/IRecyclerAdapterListener.java       | 220 +-----
 .../listview/adapter/ListBaseViewHolder.java    | 220 +-----
 .../adapter/RecyclerViewBaseAdapter.java        | 222 +-----
 .../adapter/TransformItemDecoration.java        | 220 +-----
 .../adapter/WXRecyclerViewOnScrollListener.java | 220 +-----
 .../refresh/circlebar/CircleProgressBar.java    | 222 +-----
 .../circlebar/MaterialProgressDrawable.java     | 222 +-----
 .../ui/view/refresh/core/WXRefreshView.java     | 220 +-----
 .../ui/view/refresh/core/WXSwipeLayout.java     | 220 +-----
 .../ui/view/refresh/wrapper/BaseBounceView.java | 220 +-----
 .../refresh/wrapper/BounceRecyclerView.java     | 220 +-----
 .../refresh/wrapper/BounceScrollerView.java     | 220 +-----
 .../java/com/taobao/weex/utils/ATagUtil.java    | 218 +-----
 .../main/java/com/taobao/weex/utils/FontDO.java | 222 +-----
 .../com/taobao/weex/utils/FunctionParser.java   | 220 +-----
 .../com/taobao/weex/utils/ImageDrawable.java    | 218 +-----
 .../java/com/taobao/weex/utils/ImgURIUtil.java  | 218 +-----
 .../java/com/taobao/weex/utils/LogLevel.java    | 220 +-----
 .../java/com/taobao/weex/utils/OsVersion.java   | 220 +-----
 .../taobao/weex/utils/SingleFunctionParser.java | 218 +-----
 .../main/java/com/taobao/weex/utils/Trace.java  | 220 +-----
 .../com/taobao/weex/utils/TypefaceUtil.java     | 220 +-----
 .../taobao/weex/utils/WXDataStructureUtil.java  | 220 +-----
 .../java/com/taobao/weex/utils/WXDomUtils.java  | 218 +-----
 .../java/com/taobao/weex/utils/WXFileUtils.java | 220 +-----
 .../com/taobao/weex/utils/WXInterception.java   | 220 +-----
 .../java/com/taobao/weex/utils/WXJsonUtils.java | 220 +-----
 .../java/com/taobao/weex/utils/WXLogUtils.java  | 126 +---
 .../taobao/weex/utils/WXReflectionUtils.java    | 220 +-----
 .../com/taobao/weex/utils/WXResourceUtils.java  | 325 ++-------
 .../taobao/weex/utils/WXSoInstallMgrSdk.java    | 220 +-----
 .../java/com/taobao/weex/utils/WXUtils.java     | 220 +-----
 .../java/com/taobao/weex/utils/WXViewUtils.java | 220 +-----
 .../taobao/weex/utils/batch/BactchExecutor.java | 220 +-----
 .../weex/utils/batch/BatchOperationHelper.java  | 220 +-----
 .../taobao/weex/utils/batch/Interceptor.java    | 220 +-----
 .../test/java/com/taobao/weex/TestActivity.java | 220 +-----
 .../java/com/taobao/weex/TestApplication.java   | 220 +-----
 .../java/com/taobao/weex/WXSDKEngineTest.java   | 222 +-----
 .../java/com/taobao/weex/WXSDKInstanceTest.java | 222 +-----
 .../java/com/taobao/weex/WXSDKManagerTest.java  | 222 +-----
 .../weex/adapter/DefaultUriAdapterTest.java     | 222 +-----
 .../clipboard/WXClipboardModuleTest.java        | 222 +-----
 .../navigator/WXNavigatorModuleTest.java        | 222 +-----
 .../appfram/storage/DefaultWXStorageTest.java   | 222 +-----
 .../appfram/storage/WXStorageModuleTest.java    | 222 +-----
 .../taobao/weex/bridge/WXBridgeManagerTest.java | 222 +-----
 .../com/taobao/weex/bridge/WXBridgeTest.java    | 222 +-----
 .../com/taobao/weex/bridge/WXHashMapTest.java   | 220 +-----
 .../taobao/weex/bridge/WXModuleManagerTest.java | 222 +-----
 .../java/com/taobao/weex/common/TestModule.java | 220 +-----
 .../taobao/weex/common/TestModuleFactory.java   | 220 +-----
 .../com/taobao/weex/common/WXModuleTest.java    | 222 +-----
 .../java/com/taobao/weex/dom/TestDomObject.java | 220 +-----
 .../java/com/taobao/weex/dom/WXAttrTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomManagerTest.java   | 222 +-----
 .../com/taobao/weex/dom/WXDomModuleTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomObjectTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomStatementTest.java | 222 +-----
 .../java/com/taobao/weex/dom/WXStyleTest.java   | 220 +-----
 .../taobao/weex/dom/WXTextDomObjectTest.java    | 222 +-----
 .../com/taobao/weex/dom/action/TestActions.java |  18 +
 .../taobao/weex/http/WXStreamModuleTest.java    | 220 +-----
 .../com/taobao/weex/ui/ComponentHolderTest.java | 222 +-----
 .../taobao/weex/ui/WXRenderStatementTest.java   | 222 +-----
 .../ui/animation/WXAnimationModuleTest.java     | 222 +-----
 .../taobao/weex/ui/component/ComponentTest.java | 220 +-----
 .../weex/ui/component/EditComponentTest.java    | 222 +-----
 .../taobao/weex/ui/component/TestComponent.java | 220 +-----
 .../taobao/weex/ui/component/TestConstants.java | 220 +-----
 .../taobao/weex/ui/component/TextareaTest.java  | 222 +-----
 .../weex/ui/component/WXComponentTest.java      | 222 +-----
 .../com/taobao/weex/ui/component/WXDivTest.java | 222 +-----
 .../taobao/weex/ui/component/WXEmbedTest.java   | 222 +-----
 .../taobao/weex/ui/component/WXHeaderTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXImageTest.java   | 128 +---
 .../taobao/weex/ui/component/WXLoadingTest.java | 222 +-----
 .../taobao/weex/ui/component/WXRefreshTest.java | 222 +-----
 .../weex/ui/component/WXScrollerTest.java       | 222 +-----
 .../weex/ui/component/WXSliderNeighborTest.java | 222 +-----
 .../taobao/weex/ui/component/WXSliderTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXSwitchTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXTextTest.java    | 222 +-----
 .../taobao/weex/ui/component/WXVideoTest.java   | 222 +-----
 .../com/taobao/weex/ui/component/WXWebTest.java | 222 +-----
 .../component/helper/WXTimeInputHelperTest.java | 220 +-----
 .../ui/component/list/WXListComponentTest.java  | 222 +-----
 .../taobao/weex/ui/module/WXMetaModuleTest.java | 222 +-----
 .../weex/ui/module/WXModalUIModuleTest.java     | 222 +-----
 .../weex/ui/module/WXTimerModuleTest.java       | 222 +-----
 .../weex/ui/module/WXWebViewModuleTest.java     | 222 +-----
 .../weex/ui/view/WXCirclePageAdapterTest.java   | 222 +-----
 .../taobao/weex/ui/view/WXScrollViewTest.java   | 222 +-----
 .../com/taobao/weex/ui/view/WXWebViewTest.java  | 222 +-----
 .../weex/ui/view/border/BorderCornerTest.java   | 220 +-----
 .../weex/ui/view/border/BorderDrawableTest.java | 220 +-----
 .../weex/ui/view/gesture/WXGestureTest.java     | 222 +-----
 .../taobao/weex/utils/FunctionParserTest.java   | 222 +-----
 .../com/taobao/weex/utils/TypefaceUtilTest.java | 222 +-----
 .../com/taobao/weex/utils/WXFileUtilsTest.java  | 222 +-----
 .../com/taobao/weex/utils/WXJsonUtilsTest.java  | 222 +-----
 .../com/taobao/weex/utils/WXLogUtilsTest.java   | 222 +-----
 .../weex/utils/WXReflectionUtilsTest.java       | 222 +-----
 .../taobao/weex/utils/WXResourceUtilsTest.java  | 233 +------
 .../java/com/taobao/weex/utils/WXUtilsTest.java | 222 +-----
 .../configuration/MockitoConfiguration.java     | 220 +-----
 .../java/com/taobao/weex/ApplicationTest.java   |  20 +-
 .../main/java/com/taobao/weex/WXDebugTool.java  |  18 +
 .../java/com/taobao/weex/WXPFComponent.java     |  18 +
 .../main/java/com/taobao/weex/WXPrettyFish.java |  18 +
 .../taobao/weex/adapter/DefautDebugAdapter.java |  18 +
 .../taobao/weex/bridge/WXWebsocketBridge.java   | 220 +-----
 .../taobao/weex/scalpel/ScalpelFrameLayout.java |  18 +
 .../weex/websocket/WXWebSocketManager.java      | 126 +---
 .../java/com/taobao/weex/ExampleUnitTest.java   |  20 +-
 dangerfile.js                                   |  21 +-
 doc/source/cn/references/modules/modal.md       |   2 +
 doc/source/references/modules/modal.md          |   2 +
 examples/vue/components/sliderinfinite.vue      |  46 ++
 html5/frameworks/index.js                       |  18 +
 html5/frameworks/legacy/api/methods.js          |  18 +
 html5/frameworks/legacy/api/modules.js          |  18 +
 html5/frameworks/legacy/app/bundle/bootstrap.js |  18 +
 html5/frameworks/legacy/app/bundle/define.js    |  18 +
 html5/frameworks/legacy/app/bundle/index.js     |  18 +
 html5/frameworks/legacy/app/ctrl/index.js       |  18 +
 html5/frameworks/legacy/app/ctrl/init.js        |  18 +
 html5/frameworks/legacy/app/ctrl/misc.js        |  18 +
 html5/frameworks/legacy/app/differ.js           |  18 +
 html5/frameworks/legacy/app/downgrade.js        |  18 +
 html5/frameworks/legacy/app/index.js            |  18 +
 html5/frameworks/legacy/app/instance.js         |  18 +
 html5/frameworks/legacy/app/register.js         |  18 +
 html5/frameworks/legacy/app/viewport.js         |  18 +
 html5/frameworks/legacy/config.js               |  19 +
 html5/frameworks/legacy/core/array.js           |  19 +
 html5/frameworks/legacy/core/dep.js             |  19 +
 html5/frameworks/legacy/core/object.js          |  19 +
 html5/frameworks/legacy/core/observer.js        |  19 +
 html5/frameworks/legacy/core/state.js           |  19 +
 html5/frameworks/legacy/core/watcher.js         |  19 +
 html5/frameworks/legacy/index.js                |  18 +
 html5/frameworks/legacy/static/bridge.js        |  18 +
 html5/frameworks/legacy/static/create.js        |  18 +
 html5/frameworks/legacy/static/life.js          |  18 +
 html5/frameworks/legacy/static/map.js           |  18 +
 html5/frameworks/legacy/static/misc.js          |  18 +
 html5/frameworks/legacy/static/register.js      |  18 +
 html5/frameworks/legacy/util/index.js           |  18 +
 html5/frameworks/legacy/util/shared.js          |  18 +
 html5/frameworks/legacy/vm/compiler.js          |  18 +
 html5/frameworks/legacy/vm/directive.js         |  18 +
 html5/frameworks/legacy/vm/dom-helper.js        |  18 +
 html5/frameworks/legacy/vm/events.js            |  18 +
 html5/frameworks/legacy/vm/index.js             |  18 +
 html5/frameworks/vanilla/index.js               |  18 +
 html5/render/browser/base/atomic.js             |  18 +
 html5/render/browser/base/component/flexbox.js  |  18 +
 html5/render/browser/base/component/index.js    |  18 +
 html5/render/browser/base/component/lazyload.js |  18 +
 html5/render/browser/base/component/operate.js  |  18 +
 html5/render/browser/base/component/position.js |  18 +
 html5/render/browser/base/component/sticky.js   |  18 +
 .../browser/base/component/valueFilter.js       |  18 +
 html5/render/browser/base/div.js                |  18 +
 html5/render/browser/base/droot.js              |  18 +
 html5/render/browser/base/moduleEvent.js        |  18 +
 html5/render/browser/base/root.js               |  18 +
 html5/render/browser/bridge/index.js            |  18 +
 html5/render/browser/bridge/protocol.js         |  18 +
 html5/render/browser/bridge/receiver.js         |  18 +
 html5/render/browser/bridge/sender.js           |  18 +
 html5/render/browser/dom/appearWatcher.js       |  18 +
 html5/render/browser/dom/componentManager.js    |  18 +
 html5/render/browser/dom/index.js               |  18 +
 .../browser/extend/api/animation/index.js       |  18 +
 .../render/browser/extend/api/animation/lib.js  |  18 +
 html5/render/browser/extend/api/clipboard.js    |  18 +
 html5/render/browser/extend/api/dom.js          |  18 +
 html5/render/browser/extend/api/event.js        |  18 +
 html5/render/browser/extend/api/geolocation.js  |  18 +
 html5/render/browser/extend/api/globalEvent.js  |  18 +
 html5/render/browser/extend/api/meta.js         |  18 +
 html5/render/browser/extend/api/modal.js        |  18 +
 html5/render/browser/extend/api/navigator.js    |  18 +
 html5/render/browser/extend/api/pageInfo.js     |  18 +
 html5/render/browser/extend/api/storage.js      |  19 +
 html5/render/browser/extend/api/stream.js       |  18 +
 html5/render/browser/extend/api/timer.js        |  19 +-
 html5/render/browser/extend/api/webSocket.js    |  19 +
 html5/render/browser/extend/api/webview.js      |  18 +
 html5/render/browser/extend/components/a.js     |  18 +
 .../browser/extend/components/countdown.js      |  18 +
 .../browser/extend/components/datepicker.js     |  18 +
 html5/render/browser/extend/components/embed.js |  18 +
 .../browser/extend/components/image/index.js    |  18 +
 .../extend/components/indicator/index.js        |  18 +
 html5/render/browser/extend/components/input.js |  18 +
 .../render/browser/extend/components/marquee.js |  18 +
 .../browser/extend/components/neighbor/index.js |  18 +
 .../browser/extend/components/richtext.js       |  18 +
 .../extend/components/scrollable/index.js       |  18 +
 .../extend/components/scrollable/list/hlist.js  |  18 +
 .../extend/components/scrollable/list/index.js  |  18 +
 .../extend/components/scrollable/list/list.js   |  18 +
 .../extend/components/scrollable/list/vlist.js  |  18 +
 .../components/scrollable/loading/index.js      |  18 +
 .../extend/components/scrollable/motion.js      |  18 +
 .../components/scrollable/refresh/index.js      |  18 +
 .../extend/components/scrollable/scroll.js      |  19 +
 .../extend/components/scrollable/scrollable.js  |  18 +
 .../components/scrollable/scroller/index.js     |  18 +
 .../render/browser/extend/components/select.js  |  18 +
 .../extend/components/slider/carrousel.js       |  19 +
 .../browser/extend/components/slider/index.js   |  18 +
 .../browser/extend/components/slider/timer.js   |  19 +
 .../browser/extend/components/spinner/index.js  |  18 +
 .../browser/extend/components/switch/index.js   |  18 +
 .../extend/components/tabheader/index.js        |  18 +
 html5/render/browser/extend/components/text.js  |  18 +
 .../browser/extend/components/textarea.js       |  18 +
 .../browser/extend/components/timepicker.js     |  18 +
 .../browser/extend/components/video/index.js    |  18 +
 html5/render/browser/extend/components/web.js   |  18 +
 html5/render/browser/extend/index.js            |  18 +
 html5/render/browser/index.js                   |  18 +
 html5/render/browser/render/config.js           |  18 +
 html5/render/browser/render/gesture.js          |  18 +
 html5/render/browser/render/index.js            |  19 +
 html5/render/browser/render/loader.js           |  19 +
 html5/render/browser/render/register.js         |  18 +
 html5/render/browser/utils/array.js             |  18 +
 html5/render/browser/utils/index.js             |  19 +
 html5/render/browser/utils/logger.js            |  20 +-
 html5/render/native/index.js                    |  18 +
 html5/render/vue/components/a.js                |  19 +-
 html5/render/vue/components/div.js              |  19 +-
 html5/render/vue/components/image.js            |  19 +
 html5/render/vue/components/index.js            |  18 +
 html5/render/vue/components/input.js            |  19 +
 .../render/vue/components/scrollable/header.js  |  19 +-
 .../vue/components/scrollable/list/cell.js      |  19 +-
 .../vue/components/scrollable/list/index.js     |  18 +
 .../vue/components/scrollable/list/listMixin.js |  18 +
 .../components/scrollable/loading-indicator.js  |  18 +
 .../render/vue/components/scrollable/loading.js |  18 +
 .../render/vue/components/scrollable/refresh.js |  18 +
 .../vue/components/scrollable/scroller.js       |  18 +
 html5/render/vue/components/slider/index.js     |  25 +-
 html5/render/vue/components/slider/indicator.js |  18 +
 .../render/vue/components/slider/slideMixin.js  |  42 +-
 html5/render/vue/components/switch.js           |  19 +-
 html5/render/vue/components/text.js             |  19 +
 html5/render/vue/components/textarea.js         |  18 +
 html5/render/vue/components/video.js            |  19 +-
 html5/render/vue/components/warning.js          |  18 +
 html5/render/vue/components/web.js              |  18 +
 html5/render/vue/env/index.js                   |  18 +
 html5/render/vue/env/viewport.js                |  20 +
 html5/render/vue/env/weex.js                    |  19 +
 html5/render/vue/env/wx-env.js                  |  18 +
 html5/render/vue/index.js                       |  19 +-
 html5/render/vue/mixins/base.js                 |  18 +
 html5/render/vue/mixins/index.js                |  18 +
 html5/render/vue/mixins/input-common.js         |  19 +
 html5/render/vue/mixins/scrollable.js           |  18 +
 html5/render/vue/mixins/style.js                |  18 +
 html5/render/vue/modules/animation.js           |  18 +
 html5/render/vue/modules/dom.js                 |  22 +
 html5/render/vue/modules/index.js               |  20 +
 html5/render/vue/modules/modal/alert.js         |  18 +
 html5/render/vue/modules/modal/confirm.js       |  18 +
 html5/render/vue/modules/modal/index.js         |  18 +
 html5/render/vue/modules/modal/modal.js         |  18 +
 html5/render/vue/modules/modal/prompt.js        |  18 +
 html5/render/vue/modules/modal/toast.js         |  18 +
 html5/render/vue/modules/navigator.js           |  19 +
 html5/render/vue/modules/webview.js             |  19 +
 html5/render/vue/utils/component.js             |  18 +
 html5/render/vue/utils/event.js                 |  19 +-
 html5/render/vue/utils/func.js                  |  19 +
 html5/render/vue/utils/index.js                 |  18 +
 html5/render/vue/utils/lazyload.js              |  19 +
 html5/render/vue/utils/perf.js                  |  19 +
 html5/render/vue/utils/style.js                 |  19 +
 html5/render/vue/utils/type.js                  |  19 +
 html5/render/vue/validator/check.js             |  18 +
 html5/render/vue/validator/index.js             |  18 +
 html5/render/vue/validator/prop.js              |  18 +
 html5/render/vue/validator/style.js             |  18 +
 html5/runtime/callback-manager.js               |  19 +
 html5/runtime/config.js                         |  18 +
 html5/runtime/handler.js                        |  19 +
 html5/runtime/index.js                          |  19 +
 html5/runtime/init.js                           |  18 +
 html5/runtime/listener.js                       |  19 +
 html5/runtime/service.js                        |  19 +
 html5/runtime/task-center.js                    |  18 +
 html5/runtime/vdom/comment.js                   |  19 +
 html5/runtime/vdom/document.js                  |  19 +
 html5/runtime/vdom/element-types.js             |  18 +
 html5/runtime/vdom/element.js                   |  19 +
 html5/runtime/vdom/index.js                     |  18 +
 html5/runtime/vdom/node.js                      |  19 +
 html5/runtime/vdom/operation.js                 |  18 +
 html5/services/amd/index.js                     |  19 +
 html5/services/broadcast-channel/index.js       |  19 +
 .../services/broadcast-channel/message-event.js |  19 +
 html5/services/index.js                         |  18 +
 html5/shared/arrayFrom.js                       |  19 +
 html5/shared/console.js                         |  19 +
 html5/shared/freeze.js                          |  18 +
 html5/shared/index.js                           |  18 +
 html5/shared/objectAssign.js                    |  18 +
 html5/shared/objectSetPrototypeOf.js            |  19 +
 html5/shared/promise.js                         |  20 +
 html5/shared/setTimeout.js                      |  19 +
 .../WeexDemo.xcodeproj/project.pbxproj          |   6 +
 ios/playground/WeexDemo/AppDelegate.h           |  23 +-
 ios/playground/WeexDemo/AppDelegate.m           |  28 +-
 .../delete.imageset/Contents.json               |  23 +
 .../Assets.xcassets/delete.imageset/delete.png  | Bin 0 -> 289 bytes
 .../delete.imageset/delete@2x.png               | Bin 0 -> 504 bytes
 .../delete.imageset/delete@3x.png               | Bin 0 -> 690 bytes
 .../scan_history.imageset/Contents.json         |  23 +
 .../scan_history.imageset/history.png           | Bin 0 -> 546 bytes
 .../scan_history.imageset/history@2x.png        | Bin 0 -> 1037 bytes
 .../scan_history.imageset/history@3x.png        | Bin 0 -> 1628 bytes
 .../WeexDemo/DemoBaseViewController.h           |  23 +-
 .../WeexDemo/DemoBaseViewController.m           |  23 +-
 ios/playground/WeexDemo/DemoDefine.h            |  25 +-
 ios/playground/WeexDemo/Info.plist              |  12 +-
 .../WeexDemo/Scanner/WXScannerHistoryVC.h       |  13 +
 .../WeexDemo/Scanner/WXScannerHistoryVC.m       | 196 ++++++
 ios/playground/WeexDemo/Scanner/WXScannerVC.h   |  25 +-
 ios/playground/WeexDemo/Scanner/WXScannerVC.m   |  41 +-
 ios/playground/WeexDemo/UIView+UIThreadCheck.h  |  23 +-
 ios/playground/WeexDemo/UIView+UIThreadCheck.m  |  23 +-
 .../WeexDemo/UIViewController+WXDemoNaviBar.h   |  23 +-
 .../WeexDemo/UIViewController+WXDemoNaviBar.m   |  73 +-
 ios/playground/WeexDemo/WXDemoViewController.h  |  23 +-
 ios/playground/WeexDemo/WXDemoViewController.m  |  23 +-
 ios/playground/WeexDemo/WXSyncTestModule.h      |  23 +-
 ios/playground/WeexDemo/WXSyncTestModule.m      |  23 +-
 .../WeexDemo/debug/WXATLoggerPlugin.h           |  23 +-
 .../WeexDemo/debug/WXATLoggerPlugin.m           |  23 +-
 .../WeexDemo/debug/WXATViewHierarchyPlugin.h    |  23 +-
 .../WeexDemo/debug/WXATViewHierarchyPlugin.m    |  23 +-
 .../extend/component/WXSelectComponent.h        |  23 +-
 .../extend/component/WXSelectComponent.m        |  23 +-
 .../extend/handler/WXImgLoaderDefaultImpl.h     |  23 +-
 .../extend/handler/WXImgLoaderDefaultImpl.m     |  23 +-
 .../WeexDemo/extend/module/WXEventModule.h      |  23 +-
 .../WeexDemo/extend/module/WXEventModule.m      |  23 +-
 ios/playground/WeexDemo/main.m                  |  23 +-
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj       |   2 +
 ios/sdk/WeexSDK/Sources/Bridge/JSValue+Weex.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/JSValue+Weex.m   |  23 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.h    |  23 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXCallJSMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXCallJSMethod.m |  23 +-
 .../WeexSDK/Sources/Bridge/WXComponentMethod.h  |  23 +-
 .../WeexSDK/Sources/Bridge/WXComponentMethod.m  |  23 +-
 .../Sources/Bridge/WXDebugLoggerBridge.h        |  23 +-
 .../Sources/Bridge/WXDebugLoggerBridge.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXPolyfillSet.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXPolyfillSet.m  |  23 +-
 .../Component/Recycler/WXMultiColumnLayout.h    |  23 +-
 .../Component/Recycler/WXMultiColumnLayout.m    |  23 +-
 .../Component/Recycler/WXRecyclerComponent.h    |  23 +-
 .../Component/Recycler/WXRecyclerComponent.m    |  23 +-
 .../Recycler/WXRecyclerDataController.h         |  23 +-
 .../Recycler/WXRecyclerDataController.m         |  23 +-
 .../Recycler/WXRecyclerUpdateController.h       |  23 +-
 .../Recycler/WXRecyclerUpdateController.m       |  23 +-
 .../Recycler/WXSectionDataController.h          |  23 +-
 .../Recycler/WXSectionDataController.m          |  23 +-
 .../WeexSDK/Sources/Component/WXAComponent.h    |  23 +-
 .../WeexSDK/Sources/Component/WXAComponent.m    |  23 +-
 .../Sources/Component/WXCanvasComponent.h       |  23 +-
 .../Sources/Component/WXCanvasComponent.m       |  23 +-
 .../WeexSDK/Sources/Component/WXCellComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXCellComponent.m |  23 +-
 .../Sources/Component/WXComponent_internal.h    |  23 +-
 .../WeexSDK/Sources/Component/WXDivComponent.h  |  23 +-
 .../WeexSDK/Sources/Component/WXDivComponent.m  |  23 +-
 .../WeexSDK/Sources/Component/WXEditComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXEditComponent.m |  31 +-
 .../Sources/Component/WXEmbedComponent.h        |  23 +-
 .../Sources/Component/WXEmbedComponent.m        |  23 +-
 .../Sources/Component/WXFooterComponent.h       |  23 +-
 .../Sources/Component/WXFooterComponent.m       |  23 +-
 .../Sources/Component/WXHeaderComponent.h       |  23 +-
 .../Sources/Component/WXHeaderComponent.m       |  23 +-
 .../Sources/Component/WXImageComponent.h        |  25 +-
 .../Sources/Component/WXImageComponent.m        |  29 +-
 .../Sources/Component/WXIndicatorComponent.h    |  23 +-
 .../Sources/Component/WXIndicatorComponent.m    |  23 +-
 .../WeexSDK/Sources/Component/WXListComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXListComponent.m |  23 +-
 .../Sources/Component/WXLoadingComponent.h      |  25 +-
 .../Sources/Component/WXLoadingComponent.m      |  18 +
 .../Sources/Component/WXLoadingIndicator.h      |  23 +-
 .../Sources/Component/WXLoadingIndicator.m      |  23 +-
 .../Sources/Component/WXRefreshComponent.h      |  23 +-
 .../Sources/Component/WXRefreshComponent.m      |  23 +-
 .../Sources/Component/WXScrollerComponent.h     |  23 +-
 .../Sources/Component/WXScrollerComponent.m     |  23 +-
 .../Sources/Component/WXSliderComponent.h       |  23 +-
 .../Sources/Component/WXSliderComponent.m       |  23 +-
 .../Component/WXSliderNeighborComponent.h       |  23 +-
 .../Component/WXSliderNeighborComponent.m       |  23 +-
 .../Sources/Component/WXSwitchComponent.h       |  23 +-
 .../Sources/Component/WXSwitchComponent.m       |  23 +-
 .../Sources/Component/WXTextAreaComponent.h     |  23 +-
 .../Sources/Component/WXTextAreaComponent.m     |  23 +-
 .../WeexSDK/Sources/Component/WXTextComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXTextComponent.m |  23 +-
 .../Sources/Component/WXTextInputComponent.h    |  23 +-
 .../Sources/Component/WXTextInputComponent.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.h |  23 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.m |  23 +-
 .../Sources/Component/WXVideoComponent.h        |  23 +-
 .../Sources/Component/WXVideoComponent.m        |  23 +-
 .../WeexSDK/Sources/Component/WXWebComponent.h  |  23 +-
 .../WeexSDK/Sources/Component/WXWebComponent.m  |  23 +-
 .../Sources/Controller/WXBaseViewController.h   |  23 +-
 .../Sources/Controller/WXBaseViewController.m   |  28 +-
 .../Sources/Controller/WXRootViewController.h   |  23 +-
 .../Sources/Controller/WXRootViewController.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m     |  23 +-
 .../WeexSDK/Sources/Display/UIBezierPath+Weex.h |  23 +-
 .../WeexSDK/Sources/Display/UIBezierPath+Weex.m |  23 +-
 .../Sources/Display/WXComponent+BoxShadow.h     |  23 +-
 .../Sources/Display/WXComponent+BoxShadow.m     |  23 +-
 .../Sources/Display/WXComponent+Display.h       |  23 +-
 .../Sources/Display/WXComponent+Display.m       |  25 +-
 .../WeexSDK/Sources/Display/WXDisplayQueue.h    |  23 +-
 .../WeexSDK/Sources/Display/WXDisplayQueue.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXLayer.h       |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXLayer.m       |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXRoundedRect.h |  23 +-
 .../WeexSDK/Sources/Display/WXRoundedRect.mm    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h     |  23 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.h |  23 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.m |  23 +-
 .../Sources/Handler/WXNavigationDefaultImpl.h   |  23 +-
 .../Sources/Handler/WXNavigationDefaultImpl.m   |  23 +-
 .../Sources/Handler/WXURLRewriteDefaultImpl.h   |  23 +-
 .../Sources/Handler/WXURLRewriteDefaultImpl.m   |  23 +-
 .../WeexSDK/Sources/Loader/WXResourceLoader.h   |  23 +-
 .../WeexSDK/Sources/Loader/WXResourceLoader.m   |  23 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  |  23 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.m  |  23 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.h   |  23 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.m   |  23 +-
 .../Sources/Manager/WXComponentFactory.h        |  23 +-
 .../Sources/Manager/WXComponentFactory.m        |  23 +-
 .../Sources/Manager/WXComponentManager.h        |  23 +-
 .../Sources/Manager/WXComponentManager.m        |  23 +-
 .../Sources/Manager/WXDatePickerManager.h       |  23 +-
 .../Sources/Manager/WXDatePickerManager.m       |  23 +-
 .../WeexSDK/Sources/Manager/WXHandlerFactory.h  |  23 +-
 .../WeexSDK/Sources/Manager/WXHandlerFactory.m  |  23 +-
 .../Sources/Manager/WXInvocationConfig.h        |  23 +-
 .../Sources/Manager/WXInvocationConfig.m        |  23 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.h   |  23 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.h |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.m  |  23 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.h  |  23 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.m  |  23 +-
 .../Sources/Model/WXComponent+Navigation.h      |  23 +-
 .../Sources/Model/WXComponent+Navigation.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m     |  23 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.h   |  23 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.m   |  25 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |  23 +-
 .../Sources/Model/WXSDKInstance_private.h       |  23 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXCanvasModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXCanvasModule.m |  23 +-
 .../WeexSDK/Sources/Module/WXClipboardModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXClipboardModule.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.m    |  23 +-
 .../Sources/Module/WXGlobalEventModule.h        |  23 +-
 .../Sources/Module/WXGlobalEventModule.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXInstanceWrap.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXInstanceWrap.m |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXMetaModule.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXMetaModule.m   |  23 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.m    |  23 +-
 .../WeexSDK/Sources/Module/WXNavigatorModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXNavigatorModule.m  |  18 +
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 145 +++-
 .../WeexSDK/Sources/Module/WXStorageModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXStorageModule.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXTimerModule.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXTimerModule.m  |  23 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  |  23 +-
 .../WeexSDK/Sources/Module/WXWebViewModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXWebViewModule.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m     |  29 +-
 .../WeexSDK/Sources/Network/WXResourceRequest.h |  23 +-
 .../WeexSDK/Sources/Network/WXResourceRequest.m |  23 +-
 .../Sources/Network/WXResourceRequestHandler.h  |  23 +-
 .../WXResourceRequestHandlerDefaultImpl.h       |  23 +-
 .../WXResourceRequestHandlerDefaultImpl.m       |  23 +-
 .../Sources/Network/WXResourceResponse.h        |  23 +-
 .../Sources/Network/WXResourceResponse.m        |  23 +-
 .../Sources/Protocol/WXAppMonitorProtocol.h     |  23 +-
 .../WeexSDK/Sources/Protocol/WXBridgeProtocol.h |  23 +-
 .../Sources/Protocol/WXDestroyProtocol.h        |  23 +-
 .../Sources/Protocol/WXEventModuleProtocol.h    |  23 +-
 .../Sources/Protocol/WXImgLoaderProtocol.h      |  23 +-
 .../Sources/Protocol/WXJSExceptionProtocol.h    |  23 +-
 .../WeexSDK/Sources/Protocol/WXModuleProtocol.h |  23 +-
 .../Sources/Protocol/WXNavigationProtocol.h     |  23 +-
 .../Sources/Protocol/WXNetworkProtocol.h        |  23 +-
 .../Sources/Protocol/WXScrollerProtocol.h       |  23 +-
 .../Sources/Protocol/WXTextComponentProtocol.h  |  23 +-
 .../Sources/Protocol/WXURLRewriteProtocol.h     |  23 +-
 .../Sources/Protocol/WXValidateProtocol.h       |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSArray+Weex.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSArray+Weex.m  |  23 +-
 .../Sources/Utility/NSObject+WXSwizzle.h        |  23 +-
 .../Sources/Utility/NSObject+WXSwizzle.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSTimer+Weex.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSTimer+Weex.m  |  23 +-
 .../Sources/Utility/WXAppConfiguration.h        |  23 +-
 .../Sources/Utility/WXAppConfiguration.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXAssert.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXAssert.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.m     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDefine.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLength.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLength.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.h         |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.m         |  23 +-
 .../Utility/WXSimulatorShortcutManager.h        |  23 +-
 .../Utility/WXSimulatorShortcutManager.m        |  23 +-
 .../Sources/Utility/WXThreadSafeCounter.h       |  23 +-
 .../Sources/Utility/WXThreadSafeCounter.m       |  23 +-
 .../Sources/Utility/WXThreadSafeMutableArray.h  |  23 +-
 .../Sources/Utility/WXThreadSafeMutableArray.m  |  23 +-
 .../Utility/WXThreadSafeMutableDictionary.h     |  23 +-
 .../Utility/WXThreadSafeMutableDictionary.m     |  25 +-
 ios/sdk/WeexSDK/Sources/Utility/WXType.h        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.m     |  23 +-
 .../Sources/Utility/WXWeakObjectWrapper.h       |  23 +-
 .../Sources/Utility/WXWeakObjectWrapper.m       |  23 +-
 .../View/WXComponent+PseudoClassManagement.h    |  23 +-
 .../View/WXComponent+PseudoClassManagement.m    |  23 +-
 .../Sources/View/WXComponent+ViewManagement.h   |  23 +-
 .../Sources/View/WXComponent+ViewManagement.m   |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXErrorView.h      |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXErrorView.m      |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXRootView.h       |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXRootView.m       |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXView.h           |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXView.m           |  23 +-
 .../Sources/WebSocket/SRWebSocket+Weex.h        |  23 +-
 .../Sources/WebSocket/SRWebSocket+Weex.m        |  23 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.h  |  23 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  |  23 +-
 .../Sources/WebSocket/WXWebSocketHandler.h      |  23 +-
 ios/sdk/WeexSDK/Sources/WeexSDK.h               |  21 +-
 ios/sdk/WeexSDK_MTL/WeexSDK_MTL.h               |  23 +-
 ios/sdk/WeexSDK_MTL/WeexSDK_MTL.m               |  23 +-
 scripts/apache-rat-0.12.jar                     | Bin 0 -> 1592593 bytes
 scripts/rat-ant-build.xml                       |   8 +
 scripts/rat-scan.sh                             |   3 +
 scripts/replace-header.sh                       |   4 +
 scripts/rh/LICENSE                              | 674 +++++++++++++++++++
 scripts/rh/README                               |  46 ++
 scripts/rh/header.template                      |  18 +
 scripts/rh/remove_header.awk                    |  48 ++
 scripts/rh/replace_header.sh                    |  11 +
 test/pages/image-onload.vue                     |   2 +-
 test/run.sh                                     |   9 +-
 test/scripts/components/image-onload.test.js    |   4 +-
 vue.html                                        |  10 +-
 923 files changed, 16974 insertions(+), 83267 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc45cdc8/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
index 81aeeac,bbac404..c547c78
mode 100755,100644..100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc45cdc8/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
index 4bf3ee1,0000000..3950be2
mode 100644,000000..100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
@@@ -1,243 -1,0 +1,57 @@@
 +/**
-  *
-  *                                  Apache License
-  *                            Version 2.0, January 2004
-  *                         http://www.apache.org/licenses/
-  *
-  *    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-  *
-  *    1. Definitions.
-  *
-  *       "License" shall mean the terms and conditions for use, reproduction,
-  *       and distribution as defined by Sections 1 through 9 of this document.
-  *
-  *       "Licensor" shall mean the copyright owner or entity authorized by
-  *       the copyright owner that is granting the License.
-  *
-  *       "Legal Entity" shall mean the union of the acting entity and all
-  *       other entities that control, are controlled by, or are under common
-  *       control with that entity. For the purposes of this definition,
-  *       "control" means (i) the power, direct or indirect, to cause the
-  *       direction or management of such entity, whether by contract or
-  *       otherwise, or (ii) ownership of fifty percent (50%) or more of the
-  *       outstanding shares, or (iii) beneficial ownership of such entity.
-  *
-  *       "You" (or "Your") shall mean an individual or Legal Entity
-  *       exercising permissions granted by this License.
-  *
-  *       "Source" form shall mean the preferred form for making modifications,
-  *       including but not limited to software source code, documentation
-  *       source, and configuration files.
-  *
-  *       "Object" form shall mean any form resulting from mechanical
-  *       transformation or translation of a Source form, including but
-  *       not limited to compiled object code, generated documentation,
-  *       and conversions to other media types.
-  *
-  *       "Work" shall mean the work of authorship, whether in Source or
-  *       Object form, made available under the License, as indicated by a
-  *       copyright notice that is included in or attached to the work
-  *       (an example is provided in the Appendix below).
-  *
-  *       "Derivative Works" shall mean any work, whether in Source or Object
-  *       form, that is based on (or derived from) the Work and for which the
-  *       editorial revisions, annotations, elaborations, or other modifications
-  *       represent, as a whole, an original work of authorship. For the purposes
-  *       of this License, Derivative Works shall not include works that remain
-  *       separable from, or merely link (or bind by name) to the interfaces of,
-  *       the Work and Derivative Works thereof.
-  *
-  *       "Contribution" shall mean any work of authorship, including
-  *       the original version of the Work and any modifications or additions
-  *       to that Work or Derivative Works thereof, that is intentionally
-  *       submitted to Licensor for inclusion in the Work by the copyright owner
-  *       or by an individual or Legal Entity authorized to submit on behalf of
-  *       the copyright owner. For the purposes of this definition, "submitted"
-  *       means any form of electronic, verbal, or written communication sent
-  *       to the Licensor or its representatives, including but not limited to
-  *       communication on electronic mailing lists, source code control systems,
-  *       and issue tracking systems that are managed by, or on behalf of, the
-  *       Licensor for the purpose of discussing and improving the Work, but
-  *       excluding communication that is conspicuously marked or otherwise
-  *       designated in writing by the copyright owner as "Not a Contribution."
-  *
-  *       "Contributor" shall mean Licensor and any individual or Legal Entity
-  *       on behalf of whom a Contribution has been received by Licensor and
-  *       subsequently incorporated within the Work.
-  *
-  *    2. Grant of Copyright License. Subject to the terms and conditions of
-  *       this License, each Contributor hereby grants to You a perpetual,
-  *       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-  *       copyright license to reproduce, prepare Derivative Works of,
-  *       publicly display, publicly perform, sublicense, and distribute the
-  *       Work and such Derivative Works in Source or Object form.
-  *
-  *    3. Grant of Patent License. Subject to the terms and conditions of
-  *       this License, each Contributor hereby grants to You a perpetual,
-  *       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-  *       (except as stated in this section) patent license to make, have made,
-  *       use, offer to sell, sell, import, and otherwise transfer the Work,
-  *       where such license applies only to those patent claims licensable
-  *       by such Contributor that are necessarily infringed by their
-  *       Contribution(s) alone or by combination of their Contribution(s)
-  *       with the Work to which such Contribution(s) was submitted. If You
-  *       institute patent litigation against any entity (including a
-  *       cross-claim or counterclaim in a lawsuit) alleging that the Work
-  *       or a Contribution incorporated within the Work constitutes direct
-  *       or contributory patent infringement, then any patent licenses
-  *       granted to You under this License for that Work shall terminate
-  *       as of the date such litigation is filed.
-  *
-  *    4. Redistribution. You may reproduce and distribute copies of the
-  *       Work or Derivative Works thereof in any medium, with or without
-  *       modifications, and in Source or Object form, provided that You
-  *       meet the following conditions:
-  *
-  *       (a) You must give any other recipients of the Work or
-  *           Derivative Works a copy of this License; and
-  *
-  *       (b) You must cause any modified files to carry prominent notices
-  *           stating that You changed the files; and
-  *
-  *       (c) You must retain, in the Source form of any Derivative Works
-  *           that You distribute, all copyright, patent, trademark, and
-  *           attribution notices from the Source form of the Work,
-  *           excluding those notices that do not pertain to any part of
-  *           the Derivative Works; and
-  *
-  *       (d) If the Work includes a "NOTICE" text file as part of its
-  *           distribution, then any Derivative Works that You distribute must
-  *           include a readable copy of the attribution notices contained
-  *           within such NOTICE file, excluding those notices that do not
-  *           pertain to any part of the Derivative Works, in at least one
-  *           of the following places: within a NOTICE text file distributed
-  *           as part of the Derivative Works; within the Source form or
-  *           documentation, if provided along with the Derivative Works; or,
-  *           within a display generated by the Derivative Works, if and
-  *           wherever such third-party notices normally appear. The contents
-  *           of the NOTICE file are for informational purposes only and
-  *           do not modify the License. You may add Your own attribution
-  *           notices within Derivative Works that You distribute, alongside
-  *           or as an addendum to the NOTICE text from the Work, provided
-  *           that such additional attribution notices cannot be construed
-  *           as modifying the License.
-  *
-  *       You may add Your own copyright statement to Your modifications and
-  *       may provide additional or different license terms and conditions
-  *       for use, reproduction, or distribution of Your modifications, or
-  *       for any such Derivative Works as a whole, provided Your use,
-  *       reproduction, and distribution of the Work otherwise complies with
-  *       the conditions stated in this License.
-  *
-  *    5. Submission of Contributions. Unless You explicitly state otherwise,
-  *       any Contribution intentionally submitted for inclusion in the Work
-  *       by You to the Licensor shall be under the terms and conditions of
-  *       this License, without any additional terms or conditions.
-  *       Notwithstanding the above, nothing herein shall supersede or modify
-  *       the terms of any separate license agreement you may have executed
-  *       with Licensor regarding such Contributions.
-  *
-  *    6. Trademarks. This License does not grant permission to use the trade
-  *       names, trademarks, service marks, or product names of the Licensor,
-  *       except as required for reasonable and customary use in describing the
-  *       origin of the Work and reproducing the content of the NOTICE file.
-  *
-  *    7. Disclaimer of Warranty. Unless required by applicable law or
-  *       agreed to in writing, Licensor provides the Work (and each
-  *       Contributor provides its Contributions) on an "AS IS" BASIS,
-  *       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-  *       implied, including, without limitation, any warranties or conditions
-  *       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-  *       PARTICULAR PURPOSE. You are solely responsible for determining the
-  *       appropriateness of using or redistributing the Work and assume any
-  *       risks associated with Your exercise of permissions under this License.
-  *
-  *    8. Limitation of Liability. In no event and under no legal theory,
-  *       whether in tort (including negligence), contract, or otherwise,
-  *       unless required by applicable law (such as deliberate and grossly
-  *       negligent acts) or agreed to in writing, shall any Contributor be
-  *       liable to You for damages, including any direct, indirect, special,
-  *       incidental, or consequential damages of any character arising as a
-  *       result of this License or out of the use or inability to use the
-  *       Work (including but not limited to damages for loss of goodwill,
-  *       work stoppage, computer failure or malfunction, or any and all
-  *       other commercial damages or losses), even if such Contributor
-  *       has been advised of the possibility of such damages.
-  *
-  *    9. Accepting Warranty or Additional Liability. While redistributing
-  *       the Work or Derivative Works thereof, You may choose to offer,
-  *       and charge a fee for, acceptance of support, warranty, indemnity,
-  *       or other liability obligations and/or rights consistent with this
-  *       License. However, in accepting such obligations, You may act only
-  *       on Your own behalf and on Your sole responsibility, not on behalf
-  *       of any other Contributor, and only if You agree to indemnify,
-  *       defend, and hold each Contributor harmless for any liability
-  *       incurred by, or claims asserted against, such Contributor by reason
-  *       of your accepting any such warranty or additional liability.
-  *
-  *    END OF TERMS AND CONDITIONS
-  *
-  *    APPENDIX: How to apply the Apache License to your work.
-  *
-  *       To apply the Apache License to your work, attach the following
-  *       boilerplate notice, with the fields enclosed by brackets "[]"
-  *       replaced with your own identifying information. (Don't include
-  *       the brackets!)  The text should be enclosed in the appropriate
-  *       comment syntax for the file format. We also recommend that a
-  *       file or class name and description of purpose be included on the
-  *       same "printed page" as the copyright notice for easier
-  *       identification within third-party archives.
-  *
-  *    Copyright 2016 Alibaba Group
-  *
-  *    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.
++ * 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 com.taobao.weex.dom;
 +
 +import com.taobao.weex.dom.flex.CSSNode;
 +import com.taobao.weex.dom.flex.MeasureOutput;
 +import com.taobao.weex.ui.component.WXBasicComponentType;
 +import com.taobao.weex.utils.WXLogUtils;
 +
 +/**
 + * Created by zhengshihan on 2017/4/11.
 + */
 +
 +public class WXCellDomObject extends WXDomObject {
 +
 +  /** package **/ static final CSSNode.MeasureFunction CELL_MEASURE_FUNCTION = new MeasureFunction() {
 +    @Override
 +    public void measure(CSSNode node, float width, MeasureOutput measureOutput) {
 +      if (node != null) {
 +        CSSNode parent = node.getParent();
 +        if (parent != null && parent instanceof WXRecyclerDomObject) {
 +          WXRecyclerDomObject parentDom = ((WXRecyclerDomObject) parent);
 +          parentDom.preCalculateCellWidth();
 +          WXDomObject domObject = (WXDomObject) node;
 +          if (WXBasicComponentType.CELL.equals(domObject.getType())) {
 +            float w = ((WXRecyclerDomObject) parent).getColumnWidth();
 +            node.setLayoutWidth(w);
 +          } else if (WXBasicComponentType.HEADER.equals(domObject.getType())){
 +            float w = parentDom.getAvailableWidth();
 +            WXLogUtils.d("getAvailableWidth:"+w);
 +            node.setLayoutWidth(w);
 +          }
 +        }
 +      }
 +    }
 +  };
 +
 +  public WXCellDomObject() {
 +    setMeasureFunction(CELL_MEASURE_FUNCTION);
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc45cdc8/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
----------------------------------------------------------------------


[02/50] incubator-weex git commit: * [test] use '@ignore-' in test case description to ignore in run script

Posted by so...@apache.org.
* [test] use '@ignore-' in test case description to ignore in run script


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/953c6071
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/953c6071
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/953c6071

Branch: refs/heads/dev
Commit: 953c6071b4f21c25f9649aa32d026ab6ae6bd0d9
Parents: bd30675
Author: sospartan <so...@apache.org>
Authored: Tue Apr 11 20:13:03 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Tue Apr 11 20:13:03 2017 +0800

----------------------------------------------------------------------
 test/run.sh                              | 9 ++++++---
 test/scripts/components/recycler.test.js | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/953c6071/test/run.sh
----------------------------------------------------------------------
diff --git a/test/run.sh b/test/run.sh
index b934a66..0de22eb 100755
--- a/test/run.sh
+++ b/test/run.sh
@@ -11,7 +11,8 @@ function buildAndroid {
 }
 function runAndroid {
     buildAndroid
-    platform=android macaca run -d $1
+    macaca server &
+    platform=android ./node_modules/mocha/bin/mocha  $1 -f '@ignore-android' -i --recursive --bail
 }
 
 function buildiOS {
@@ -40,12 +41,14 @@ function runiOS {
     echo 'killAll Simulator......'
     killAll Simulator || echo 'killall failed'
     # ps -ef
-    platform=ios macaca run -d $1
+    macaca server &
+    platform=ios ./node_modules/mocha/bin/mocha  $1 -f '@ignore-ios' -i --recursive --bail
 }
 
 function runWeb {
     echo 'run web'
-    browser=chrome macaca run -d $1
+    macaca server &
+    browser=chrome ./node_modules/mocha/bin/mocha  $1 -f '@ignore-web' -i --recursive --bail
 }
 
 platform_android='android'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/953c6071/test/scripts/components/recycler.test.js
----------------------------------------------------------------------
diff --git a/test/scripts/components/recycler.test.js b/test/scripts/components/recycler.test.js
index 9850945..725118b 100644
--- a/test/scripts/components/recycler.test.js
+++ b/test/scripts/components/recycler.test.js
@@ -32,7 +32,7 @@ const isApproximate = (x, y) =>  {
 //   return;
 // }
 
-describe('recycler', function () {
+describe('recycler @ignore-android', function () {
   this.timeout(util.getTimeoutMills())
   const driver = util.createDriver(wd)
 


[16/50] incubator-weex git commit: * [android] update lineargradle

Posted by so...@apache.org.
* [android] update lineargradle


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c4693785
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c4693785
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c4693785

Branch: refs/heads/dev
Commit: c4693785cef0b5c641465cab65e4b43d32adbf09
Parents: 4c9e195
Author: xkli <56...@qq.com>
Authored: Wed Apr 12 11:31:51 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Wed Apr 12 11:33:29 2017 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/component/WXComponent.java    | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4693785/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 52cad7c..a8626d5 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -488,8 +488,11 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
    * After component's layout result is apply to view. May be invoke multiple times since
    * DOM can be changed in js runtime.
    */
-  protected void onFinishLayout(){
-
+  protected void onFinishLayout() {
+    Object param=mDomObj.getStyles().get(Constants.Name.BACKGROUND_IMAGE);
+    if(param!=null){
+      setBackgroundImage(param.toString());
+    }
   }
 
   public void setPadding(Spacing padding, Spacing border) {
@@ -604,10 +607,10 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
           setBackgroundColor(bgColor);
         return true;
       case Constants.Name.BACKGROUND_IMAGE:
-        String bgImage = WXUtils.getString(param, null);
-        if (bgImage != null && mHost != null) {
-          setBackgroundImage(bgImage);
-        }
+        /**
+         * Since the gradient color needs to depend on the layout to be completed,
+         * the settings are moved to the {@link #onFinishLayout()} method
+         * **/
         return true;
       case Constants.Name.OPACITY:
         Float opacity = WXUtils.getFloat(param,null);


[35/50] incubator-weex git commit: Merge branch '0.11-dev' of https://github.com/MrRaindrop/incubator-weex into 0.11-dev

Posted by so...@apache.org.
Merge branch '0.11-dev' of https://github.com/MrRaindrop/incubator-weex into 0.11-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/bbb120d8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/bbb120d8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/bbb120d8

Branch: refs/heads/dev
Commit: bbb120d83a795e0f22735bc38b9d59152ae0bd35
Parents: 8174a3f d442601
Author: matianyi <za...@zaoxian.local>
Authored: Wed Apr 12 16:27:07 2017 +0800
Committer: matianyi <za...@zaoxian.local>
Committed: Wed Apr 12 16:27:07 2017 +0800

----------------------------------------------------------------------
 .eslintignore                                   |   1 +
 .gitignore                                      |   2 +-
 NOTICE                                          |   8 +-
 build/karma.vue.conf.js                         |   7 +-
 build/webpack.examples.web.config.js            |  31 +-
 build/webpack.test.web.config.js                |  81 +++
 examples/vue/showcase/itemlist.vue              |  11 +-
 examples/vue/style/index.vue                    |   2 +-
 .../npm/karma-rollup-preprocessor_vx.x.x.js     |  53 ++
 flow-typed/npm/karma-sinon-chai_vx.x.x.js       |  38 ++
 html5/render/vue/README.md                      |  24 +-
 html5/render/vue/components/a.js                |  17 +-
 html5/render/vue/components/div.js              |  17 +-
 html5/render/vue/components/image.js            |  25 +-
 html5/render/vue/components/input.js            |  18 +-
 .../render/vue/components/scrollable/header.js  |   6 +-
 .../vue/components/scrollable/list/cell.js      |   6 +-
 .../vue/components/scrollable/list/index.js     |   6 +-
 .../vue/components/scrollable/list/style.js     |  16 +
 .../components/scrollable/loading-indicator.js  |  43 +-
 .../render/vue/components/scrollable/loading.js |   6 +-
 .../render/vue/components/scrollable/refresh.js |   6 +-
 .../vue/components/scrollable/scroller.js       |   8 +-
 html5/render/vue/components/slider/index.js     |  36 +-
 html5/render/vue/components/slider/indicator.js |  58 +-
 html5/render/vue/components/switch.js           |  66 ++-
 html5/render/vue/components/text.js             |  27 +-
 html5/render/vue/components/textarea.js         |  19 +-
 html5/render/vue/components/video.js            |   6 +-
 html5/render/vue/components/web.js              |  19 +-
 html5/render/vue/core/index.js                  |   2 +
 html5/render/vue/core/node.js                   |  28 +
 html5/render/vue/core/style.js                  | 212 ++++++++
 html5/render/vue/env/global.js                  |  11 +
 html5/render/vue/env/index.js                   |  11 +-
 html5/render/vue/env/viewport.js                | 162 ++++--
 html5/render/vue/env/weex.js                    |   9 +-
 html5/render/vue/env/wx-env.js                  |  80 +--
 html5/render/vue/index.js                       |  13 +-
 html5/render/vue/mixins/base.js                 |  43 --
 html5/render/vue/mixins/style.js                | 142 +----
 html5/render/vue/modules/animation.js           |   7 +-
 html5/render/vue/modules/dom.js                 |   5 +-
 html5/render/vue/modules/index.js               |   2 +-
 html5/render/vue/modules/modal/index.js         |  10 +-
 html5/render/vue/modules/modal/style.js         | 146 ++++++
 html5/render/vue/styles/base.css                | 194 +++++++
 html5/render/vue/styles/components.css          | 513 ------------------
 html5/render/vue/utils/index.js                 |  36 +-
 html5/render/vue/utils/style.js                 | 110 ++++
 html5/test/render/vue/components/image.js       |   4 +-
 html5/test/render/vue/components/switch.js      |   4 -
 html5/test/render/vue/components/text.js        |   4 -
 html5/test/render/vue/components/web.js         |   4 -
 html5/test/render/vue/core/scope-style-map.js   |  76 +++
 html5/test/render/vue/core/style.js             |  65 +++
 .../vue/data/build/dotvue/scoped-style.js       | 525 +++++++++++++++++++
 html5/test/render/vue/data/css/head1.css        |  38 ++
 html5/test/render/vue/data/css/head10.css       |  14 +
 html5/test/render/vue/data/css/head11.css       |   2 +
 html5/test/render/vue/data/css/head12.css       |   2 +
 html5/test/render/vue/data/css/head13.css       |  25 +
 html5/test/render/vue/data/css/head2.css        |  11 +
 html5/test/render/vue/data/css/head3.css        |  25 +
 html5/test/render/vue/data/css/head4.css        |  56 ++
 html5/test/render/vue/data/css/head5.css        | 153 ++++++
 html5/test/render/vue/data/css/head6.css        |   4 +
 html5/test/render/vue/data/css/head7.css        |  61 +++
 html5/test/render/vue/data/css/head8.css        | 507 ++++++++++++++++++
 html5/test/render/vue/data/css/head9.css        | 173 ++++++
 .../render/vue/data/dotvue/scoped-style.vue     |  13 +
 html5/test/render/vue/data/head-css.js          |  13 +
 html5/test/render/vue/data/head-map.js          | 275 ++++++++++
 html5/test/render/vue/helper.js                 | 140 -----
 html5/test/render/vue/helper/env.js             |  20 +
 html5/test/render/vue/helper/index.js           |  73 +++
 html5/test/render/vue/helper/runtime.js         |  74 +++
 html5/test/render/vue/helper/utils.js           |   8 +
 html5/test/render/vue/utils.js                  |  47 --
 html5/test/render/vue/utils/func.js             |  49 ++
 html5/test/render/vue/utils/style.js            |  68 +++
 package.json                                    |   4 +-
 packages/weex-vue-render/README.md              |  24 +-
 packages/weex-vue-render/package.json           |   2 +-
 84 files changed, 3818 insertions(+), 1144 deletions(-)
----------------------------------------------------------------------



[08/50] incubator-weex git commit: * [android] ignore caps on dialog button

Posted by so...@apache.org.
* [android] ignore caps on dialog button


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e0a0c72e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e0a0c72e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e0a0c72e

Branch: refs/heads/dev
Commit: e0a0c72e8c6b5f8507caf1d3b2102ecddbf66927
Parents: 094ade0
Author: moxun.ljf <fu...@foxmail.com>
Authored: Wed Apr 12 10:05:24 2017 +0800
Committer: moxun.ljf <fu...@foxmail.com>
Committed: Wed Apr 12 10:05:24 2017 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e0a0c72e/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
index 292fba0..8e1b72c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
+++ b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
@@ -466,10 +466,12 @@ public class WXPickersModule extends WXModule {
 
                     if (confirmTitle != null) {
                         confirm.setText(confirmTitle);
+                        confirm.setAllCaps(false);
                     }
 
                     if (confirmColor != Color.TRANSPARENT) {
                         confirm.setTextColor(confirmColor);
+                        confirm.setAllCaps(false);
                     }
                 }
 


[27/50] incubator-weex git commit: * [test] update elem by id testcase

Posted by so...@apache.org.
* [test] update elem by id testcase


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/24e8ba07
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/24e8ba07
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/24e8ba07

Branch: refs/heads/dev
Commit: 24e8ba07a18fbaa457e45137806fa437f2993ca9
Parents: 2ee570a
Author: sospartan <so...@apache.org>
Authored: Wed Apr 12 15:34:58 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Wed Apr 12 15:34:58 2017 +0800

----------------------------------------------------------------------
 package.json                                    |  2 +-
 test/pages/slider-infinite.vue                  | 11 ++++++++---
 test/scripts/components/slider-infinite.test.js | 15 +++++++++------
 3 files changed, 18 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/24e8ba07/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 9195bad..b2c4fd4 100644
--- a/package.json
+++ b/package.json
@@ -158,7 +158,7 @@
     "weex-components": "^0.2.0",
     "weex-loader": "^0.4.0",
     "weex-vdom-tester": "^0.2.0",
-    "weex-wd": "^1.0.21",
+    "weex-wd": "^1.0.22",
     "wwp": "^0.3.5",
     "xml2map": "^1.0.2"
   }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/24e8ba07/test/pages/slider-infinite.vue
----------------------------------------------------------------------
diff --git a/test/pages/slider-infinite.vue b/test/pages/slider-infinite.vue
index b65a889..4559a25 100644
--- a/test/pages/slider-infinite.vue
+++ b/test/pages/slider-infinite.vue
@@ -1,6 +1,6 @@
 <template>
     <div>
-        <text>{{d1}}</text>
+        <text test-id="txt1">{{d1}}</text>
         <slider auto-play="true" @change="change" style="width: 750px;height: 400px;background-color: blue" interval="500" infinite="false">
             <div style="flex: 1;background-color: beige;align-items: center;" v-for="item in items">
                 <text style="font-size: 60px;">
@@ -10,8 +10,8 @@
             <indicator style="height: 20px"></indicator>
         </slider>
         
-        <text style="margin-top:60">{{d2}}</text>
-        <slider auto-play="true" @change="change2" style="width: 750px;height: 400px;background-color: blue;" interval="500">
+        <text test-id="txt2" style="margin-top:60">{{d2}}</text>
+        <slider :auto-play="is_auto" @change="change2" style="width: 750px;height: 400px;background-color: blue;" interval="500">
             <div style="flex: 1;background-color: beige;align-items: center;" v-for="item in items">
                 <text style="font-size: 60px;">
                     {{item}}
@@ -30,12 +30,17 @@
                     d1:0,
                     d2:0,
                     items: [],
+                    is_auto: true
                 }
         },
         created: function () {
                 for (var index = 0; index < itemCount ; index++) {
                     this.items[index] = 'Page: ' + index;
                 }
+                let self = this
+                setTimeout(function(){
+                    self.is_auto = false
+                },5000);
         },
         methods: {
             change: function(e){

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/24e8ba07/test/scripts/components/slider-infinite.test.js
----------------------------------------------------------------------
diff --git a/test/scripts/components/slider-infinite.test.js b/test/scripts/components/slider-infinite.test.js
index 5c96d3a..b3f37a4 100644
--- a/test/scripts/components/slider-infinite.test.js
+++ b/test/scripts/components/slider-infinite.test.js
@@ -14,23 +14,26 @@ describe('slider infinite scroll', function () {
   before(function () {
     return util.init(driver)
       .get(util.getPage('/slider-infinite.js'))
-      .waitForElementByXPath('//div/text[1]',util.getGETActionWaitTimeMills(),1000)
+      .waitForElementById('txt1',util.getGETActionWaitTimeMills(),1000)
   });
 
   after(function () {
-      return util.quit(driver);
+      // return util.quit(driver);
   })
 
 
   it('#1 waiting for auto play', () => {
     return driver
     .sleep(5000)
-    .elementByXPath('//div/text')
+    .elementById('txt1')
     .text()
     .then((text)=>{
-        var parts = text.split("-");
-        assert.equal(parts[0], 1);
-        assert.equal(parts[2] == 1, false);
+        assert.equal(text, 1);
+    })
+    .elementById('txt2')
+    .text()
+    .then((text)=>{
+        assert.equal(text>2, true);
     })
   })
 });