[GitHub] incubator-weex issue #585: + [ios] support call native directly

2017-08-10 Thread weex-bot
Github user weex-bot commented on the issue:

https://github.com/apache/incubator-weex/pull/585
  




  

  
  Fails

  
  
  :no_entry_sign:
  This PR modify SDK code. Please add/modify corresponding 
testcases. If it is ok, please comment about it. Or put '@notdanger' in you 
commit message.

  

  :no_entry_sign:
  Code file ios/playground/WeexDemo/WXExtendCallNativeTest.h does 
not have the copyright header.

  

  :no_entry_sign:
  Code file ios/playground/WeexDemo/WXExtendCallNativeTest.m does 
not have the copyright header.

  

  :no_entry_sign:
  Code file 
ios/sdk/WeexSDK/Sources/Manager/WXExtendCallNativeManager.h does not have the 
copyright header.

  

  :no_entry_sign:
  Code file 
ios/sdk/WeexSDK/Sources/Manager/WXExtendCallNativeManager.m does not have the 
copyright header.

  




  

  
  Warnings

  
  
  :warning:
  No Changelog changes!

  

  :warning:
  This PR should update related documents as well. 

  




  

  
  Messages

  
  
  :book:
  According to the blame info, we recommended @boboning , @acton393 
to be the reviewers.

  




  Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex pull request #587: * [ios] try to fix crash

2017-08-10 Thread acton393
GitHub user acton393 opened a pull request:

https://github.com/apache/incubator-weex/pull/587

* [ios] try to fix crash



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/acton393/incubator-weex 0.16-dev

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-weex/pull/587.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #587


commit 99086f301c9a782ba50df4be9ea3fe22ad070581
Author: acton393 
Date:   2017-08-10T06:30:09Z

* [ios] try to fix attributedString crash

commit 64f0e3368044ed8152b5ae78ce5d6ea0acba5bff
Author: acton393 
Date:   2017-08-10T06:33:52Z

* [ios] fix handle appear event crash




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[4/8] incubator-weex git commit: * [android] Move perspective from style to transform

2017-08-10 Thread kyork
* [android] Move perspective from style to transform


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

Branch: refs/heads/0.16-dev
Commit: cc49764e6de39774804904f163b5d51fdfc520ef
Parents: 924d252
Author: YorkShen 
Authored: Thu Jul 27 11:30:26 2017 +0800
Committer: YorkShen 
Committed: Thu Jul 27 11:30:26 2017 +0800

--
 .../taobao/weex/dom/action/AnimationAction.java |  1 +
 .../ui/animation/CameraDistanceProperty.java| 54 
 .../weex/ui/animation/WXAnimationBean.java  | 26 ++
 .../taobao/weex/ui/component/WXComponent.java   | 22 
 4 files changed, 81 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc49764e/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 59afbca..5510ea9 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
@@ -155,6 +155,7 @@ class AnimationAction implements DOMAction, RenderAction {
 if (interpolator != null) {
   animator.setInterpolator(interpolator);
 }
+
component.getHostView().setCameraDistance(mAnimationBean.styles.getCameraDistance());
 animator.setDuration(mAnimationBean.duration);
 animator.start();
   }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc49764e/android/sdk/src/main/java/com/taobao/weex/ui/animation/CameraDistanceProperty.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/CameraDistanceProperty.java
 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/CameraDistanceProperty.java
new file mode 100644
index 000..67b9235
--- /dev/null
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/CameraDistanceProperty.java
@@ -0,0 +1,54 @@
+/**
+ * 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.animation;
+
+import android.os.Build.VERSION;
+import android.os.Build.VERSION_CODES;
+import android.util.Property;
+import android.view.View;
+
+
+class CameraDistanceProperty extends Property {
+
+  private final static String TAG = "CameraDistance";
+  private static CameraDistanceProperty instance;
+
+  static Property getInstance(){
+return instance;
+  }
+
+  private CameraDistanceProperty() {
+super(Float.class, TAG);
+  }
+
+  @Override
+  public Float get(View view) {
+if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
+  return view.getCameraDistance();
+}
+else{
+  return Float.NaN;
+}
+  }
+
+  @Override
+  public void set(View object, Float value) {
+object.setCameraDistance(value);
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc49764e/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
index 54b3111..d83b85a 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
@@ -26,7 +26,9 @@ import android.text.TextUtils;
 import android.util.Pair;
 import android.util.Property;
 import android.view.View;
+import com.taobao.weex.WXEnvironment;
 import 

[8/8] incubator-weex git commit: Merge branch 'android-feature-lines' of https://github.com/YorkShen/incubator-weex into 0.16-dev

2017-08-10 Thread kyork
Merge branch 'android-feature-lines' of 
https://github.com/YorkShen/incubator-weex into 0.16-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/c95fc232
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c95fc232
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c95fc232

Branch: refs/heads/0.16-dev
Commit: c95fc2325cc1d257b434d3e4028838d8fd822c73
Parents: c6c0462 86c2a7d
Author: YorkShen 
Authored: Thu Aug 10 15:04:37 2017 +0800
Committer: YorkShen 
Committed: Thu Aug 10 15:04:37 2017 +0800

--
 .../com/taobao/weex/dom/WXTextDomObject.java| 91 +---
 1 file changed, 60 insertions(+), 31 deletions(-)
--




[GitHub] incubator-weex pull request #551: Support perspective for Android

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/551


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[1/8] incubator-weex git commit: * [android] Refactor the process of lines style in text.

2017-08-10 Thread kyork
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev 8b9845ebe -> c95fc2325


* [android] Refactor the process of lines style in text.


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

Branch: refs/heads/0.16-dev
Commit: 86c2a7d60e1e506b7c448fb5e83b6ecc00c5b697
Parents: 92a1616
Author: YorkShen 
Authored: Fri Jul 21 14:43:25 2017 +0800
Committer: YorkShen 
Committed: Fri Jul 21 14:43:25 2017 +0800

--
 .../com/taobao/weex/dom/WXTextDomObject.java| 91 +---
 1 file changed, 60 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/86c2a7d6/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java
--
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java 
b/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java
index fe06b06..06084a9 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java
@@ -18,22 +18,26 @@
  */
 package com.taobao.weex.dom;
 
+import static com.taobao.weex.dom.WXStyle.UNSET;
+
 import android.graphics.Canvas;
 import android.graphics.Typeface;
 import android.os.Build;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.text.Editable;
 import android.text.Layout;
 import android.text.Spannable;
 import android.text.SpannableString;
+import android.text.SpannableStringBuilder;
 import android.text.Spanned;
+import android.text.SpannedString;
 import android.text.StaticLayout;
 import android.text.TextPaint;
 import android.text.TextUtils;
 import android.text.style.AbsoluteSizeSpan;
 import android.text.style.AlignmentSpan;
 import android.text.style.ForegroundColorSpan;
-
 import com.taobao.weex.WXEnvironment;
 import com.taobao.weex.common.Constants;
 import com.taobao.weex.dom.flex.CSSConstants;
@@ -45,15 +49,12 @@ import com.taobao.weex.ui.component.WXTextDecoration;
 import com.taobao.weex.utils.WXDomUtils;
 import com.taobao.weex.utils.WXLogUtils;
 import com.taobao.weex.utils.WXResourceUtils;
-
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicReference;
 
-import static com.taobao.weex.dom.WXStyle.UNSET;
-
 /**
  * Class for calculating a given text's height and width. The calculating of 
width and height of
  * text is done by {@link Layout}.
@@ -299,7 +300,7 @@ public class WXTextDomObject extends WXDomObject {
 Layout layout;
 if (!FloatUtil.floatsEqual(previousWidth, textWidth) || previousLayout == 
null) {
   layout = new StaticLayout(spanned, mTextPaint, (int) 
Math.ceil(textWidth),
-Layout.Alignment.ALIGN_NORMAL, 1, 0, false);
+  Layout.Alignment.ALIGN_NORMAL, 1, 0, false);
 } else {
   layout = previousLayout;
 }
@@ -308,37 +309,65 @@ public class WXTextDomObject extends WXDomObject {
   lastLineStart = layout.getLineStart(mNumberOfLines - 1);
   lastLineEnd = layout.getLineEnd(mNumberOfLines - 1);
   if (lastLineStart < lastLineEnd) {
-String text = mText.subSequence(0, lastLineStart).toString() +
-   truncate(mText.substring(lastLineStart, 
lastLineEnd),
-mTextPaint, layout.getWidth(), 
textOverflow);
-spanned = createSpanned(text);
+SpannableStringBuilder builder = new 
SpannableStringBuilder(spanned.subSequence(0, lastLineStart));
+Editable lastLine = new 
SpannableStringBuilder(spanned.subSequence(lastLineStart, lastLineEnd));
+builder.append(truncate(lastLine, mTextPaint, layout.getWidth(), 
textOverflow));
+adjustSpansRange(spanned, builder);
+spanned = builder;
 return new StaticLayout(spanned, mTextPaint, (int) 
Math.ceil(textWidth),
-Layout.Alignment.ALIGN_NORMAL, 1, 0, false);
+Layout.Alignment.ALIGN_NORMAL, 1, 0, false);
   }
 }
 return layout;
   }
 
-  public @NonNull String truncate(@Nullable String source, @NonNull TextPaint 
paint,
-  int desired, @Nullable TextUtils.TruncateAt 
truncateAt){
-if(!TextUtils.isEmpty(source)){
-  StringBuilder builder;
-  Spanned spanned;
+  /**
+   * Truncate the source span to the specified lines.
+   * Caller of this method must ensure that the lines of text is 
greater than 

[5/8] incubator-weex git commit: * [android] Use linkedHashMap instead of HashMap

2017-08-10 Thread kyork
* [android] Use linkedHashMap instead of HashMap


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

Branch: refs/heads/0.16-dev
Commit: b96d92d84bf99a661770897c9b3f4d6d14757750
Parents: cc49764
Author: YorkShen 
Authored: Fri Jul 28 14:26:09 2017 +0800
Committer: YorkShen 
Committed: Fri Jul 28 14:26:09 2017 +0800

--
 .../weex/ui/animation/WXAnimationBean.java  | 32 
 1 file changed, 20 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b96d92d8/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
index d83b85a..f5f0d36 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
@@ -41,6 +41,7 @@ import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 
 public class WXAnimationBean {
 
@@ -80,7 +81,9 @@ public class WXAnimationBean {
 private static final String ZERO = "0%";
 private static final String PX = "px";
 private static final String DEG = "deg";
-public static Map>> wxToAndroidMap = new 
HashMap<>();
+public static Map>> wxToAndroidMap = new 
ArrayMap<>();
+private static Map, Float> defaultMap= new 
ArrayMap<>();
+
 
 static {
   wxToAndroidMap.put(WX_TRANSLATE, Arrays.asList
@@ -95,6 +98,13 @@ public class WXAnimationBean {
   wxToAndroidMap.put(WX_SCALE_Y, Collections.singletonList(View.SCALE_Y));
   wxToAndroidMap.put(Name.PERSPECTIVE, 
Collections.singletonList(CameraDistanceProperty.getInstance()));
   wxToAndroidMap = Collections.unmodifiableMap(wxToAndroidMap);
+  defaultMap.put(View.TRANSLATION_X, 0f);
+  defaultMap.put(View.TRANSLATION_Y, 0f);
+  defaultMap.put(View.SCALE_X, 1f);
+  defaultMap.put(View.SCALE_Y, 1f);
+  defaultMap.put(View.ROTATION, 0f);
+  defaultMap.put(View.ROTATION_X, 0f);
+  defaultMap.put(View.ROTATION_Y, 0f);
 }
 
 public String opacity;
@@ -103,7 +113,7 @@ public class WXAnimationBean {
 public String height;
 public String transform;
 public String transformOrigin;
-private Map, Float> transformMap = new HashMap<>();
+private Map, Float> transformMap = new 
LinkedHashMap<>();
 private Pair pivot;
 private List holders=new LinkedList<>();
 private float cameraDistance = Float.MAX_VALUE;
@@ -300,14 +310,12 @@ public class WXAnimationBean {
   return WXUtils.fastGetFloat(percent, precision) / 100 * unit;
 }
 
-private static @NonNull Map, Float> 
createDefaultTransform(){
-  Map, Float> defaultMap= new ArrayMap<>(5);
-  defaultMap.put(View.TRANSLATION_X, 0f);
-  defaultMap.put(View.TRANSLATION_Y, 0f);
-  defaultMap.put(View.SCALE_X, 1f);
-  defaultMap.put(View.SCALE_Y, 1f);
-  defaultMap.put(View.ROTATION, 0f);
-  return defaultMap;
+private void resetToDefaultIfAbsent() {
+  for (Entry, Float> entry : defaultMap.entrySet()) {
+if (!transformMap.containsKey(entry.getKey())) {
+  transformMap.put(entry.getKey(), entry.getValue());
+}
+  }
 }
 
 public @Nullable Pair getPivot() {
@@ -317,9 +325,9 @@ public class WXAnimationBean {
 public void init(@Nullable String transformOrigin,@Nullable String 
rawTransform,
  final int width, final int height,int viewportW){
   pivot = parsePivot(transformOrigin,width,height,viewportW);
-  transformMap = createDefaultTransform();
   transformMap.putAll(parseTransForm(rawTransform,width,height,viewportW));
-  if(transformMap.containsKey(CameraDistanceProperty.getInstance())){
+  resetToDefaultIfAbsent();
+  if (transformMap.containsKey(CameraDistanceProperty.getInstance())) {
 cameraDistance = 
transformMap.remove(CameraDistanceProperty.getInstance());
   }
   initHolders();



[GitHub] incubator-weex pull request #584: +[ios]add recyclerDragController to weexSD...

2017-08-10 Thread lcgithub
Github user lcgithub closed the pull request at:

https://github.com/apache/incubator-weex/pull/584


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex pull request #585: + [ios] support call native directly

2017-08-10 Thread kfeagle
GitHub user kfeagle opened a pull request:

https://github.com/apache/incubator-weex/pull/585

+ [ios] support call native directly


user can call native function if user  realize the function 
WXExtendCallNativeProtocol
demo
```


  

Hello {{target}}
  



  .wrapper {align-items: center; margin-top: 120px;}
  .title {font-size: 48px;}
  .logo {width: 360px; height: 82px;}



  var modal = weex.requireModule('modal')
  module.exports = {
data: {
  logoUrl: 'https://alibaba.github.io/weex/img/weex_logo_b...@3x.png',
  target: 'World'
},
methods: {
  update: function (e) {
this.target = 'Weex'
console.log('target:', this.target)
var dict = extendCallNative({
  'className':'test'
})
modal.toast({
  'message': dict['value'],
  'duration': 1000
})
  }
}
  }

```

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/kfeagle/incubator-weex ios-native-0.16-dev

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-weex/pull/585.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #585


commit b3e404937bafa77cee4544c97598c1c4ec6ef2ed
Author: 齐山 
Date:   2017-07-23T13:30:45Z

+ [ios] support extend call native for third part

commit 6225ed13d9ae3dda08c848abe3ba8f669037b296
Author: 齐山 
Date:   2017-07-27T04:16:51Z

+ [ios] add extend call native

commit 51009919269b7fecbe0da5adc832efbdcc1f5603
Author: 齐山 
Date:   2017-07-27T04:21:01Z

Merge branch '0.16-dev' of 
https://git-wip-us.apache.org/repos/asf/incubator-weex into ios-native-0.16-dev

# Conflicts:
#   ios/playground/WeexDemo.xcodeproj/project.pbxproj
#   ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m

commit 4d78365d0099bebd598351959ac0c4a0e0a30dc0
Author: 齐山 
Date:   2017-08-08T08:38:23Z

+ [ios] update native logic




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #588: [jsfm] Release v0.21.8

2017-08-10 Thread weex-bot
Github user weex-bot commented on the issue:

https://github.com/apache/incubator-weex/pull/588
  




  

  
  Fails

  
  
  :no_entry_sign:
  This PR modify SDK code. Please add/modify corresponding 
testcases. If it is ok, please comment about it. Or put '@notdanger' in you 
commit message.

  

  :no_entry_sign:
  Code file packages/weex-js-framework/index.min.js does not have 
the copyright header.

  

  :no_entry_sign:
  Code file packages/weex-js-runtime/index.min.js does not have the 
copyright header.

  




  

  
  Warnings

  
  
  :warning:
  No Changelog changes!

  

  :warning:
  This PR should update related documents as well. 

  




  

  
  Messages

  
  
  :book:
  According to the blame info, we recommended @undefined , 
@MrRaindrop to be the reviewers.

  




  Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex pull request #588: [jsfm] Release v0.21.8

2017-08-10 Thread Hanks10100
GitHub user Hanks10100 opened a pull request:

https://github.com/apache/incubator-weex/pull/588

[jsfm] Release v0.21.8

Changes after v0.21.7:

+ [runtime] Add type check in the `normalize` method of `TaskCenter`.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/Hanks10100/incubator-weex jsfm-feature-0.21.8

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-weex/pull/588.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #588


commit e3879ee77cb1d51290241cff48164af2645bbeb9
Author: Hanks 
Date:   2017-08-09T09:31:43Z

* [jsfm] fix normalize method in tast center

commit 08033f25a32b69b5c36abd7578bc4f55a2e98cc4
Author: Hanks 
Date:   2017-08-10T06:35:48Z

Merge branch '0.16-dev' into jsfm-feature-0.21.8

commit 272454c4212e316221d2bf4213ee7816f0e17c29
Author: Hanks 
Date:   2017-08-10T06:46:17Z

* [jsfm] publish weex-js-framework@0.21.8

commit a7266a2c8db92a6d3ae769bf17afa393aa3c69e5
Author: Hanks 
Date:   2017-08-10T06:47:52Z

* [jsfm] publish weex-js-runtime@0.21.8

commit 4cf9b1ba02f8e69a119ae370193a3d4f7f1a40a7
Author: Hanks 
Date:   2017-08-10T06:48:31Z

* [jsfm] release v0.21.8




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #587: * [ios] try to fix crash

2017-08-10 Thread weex-bot
Github user weex-bot commented on the issue:

https://github.com/apache/incubator-weex/pull/587
  




  

  
  Fails

  
  
  :no_entry_sign:
  This PR modify SDK code. Please add/modify corresponding 
testcases. If it is ok, please comment about it. Or put '@notdanger' in you 
commit message.

  




  

  
  Warnings

  
  
  :warning:
  No Changelog changes!

  

  :warning:
  This PR should update related documents as well. 

  




  

  
  Messages

  
  
  :book:
  According to the blame info, we recommended @boboning , @xkli to 
be the reviewers.

  




  Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[2/8] incubator-weex git commit: * [android] Add the ability of changing perspective

2017-08-10 Thread kyork
* [android] Add the ability of changing perspective


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

Branch: refs/heads/0.16-dev
Commit: 9715b8d75e45f89375c27928a49211a1214e3828
Parents: f102f3f
Author: YorkShen 
Authored: Fri Jul 21 16:44:22 2017 +0800
Committer: YorkShen 
Committed: Fri Jul 21 16:44:22 2017 +0800

--
 .../sdk/src/main/java/com/taobao/weex/common/Constants.java  | 1 +
 .../main/java/com/taobao/weex/ui/component/WXComponent.java  | 8 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9715b8d7/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
--
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java 
b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
index f683c99..e24ed22 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
@@ -152,6 +152,7 @@ public class Constants {
 String OFFSET_X_ACCURACY = "offsetXAccuracy";
 String OFFSET_X_RATIO = "offsetXRatio";
 String ELEVATION = "elevation";
+String PERSPECTIVE = "perspective";
 String SCROLLABLE = "scrollable";
 String DRAGGABLE = "draggable";
 String DISTANCE_Y = "dy";

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9715b8d7/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 4099778..3aa549d 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
@@ -48,6 +48,7 @@ import com.taobao.weex.WXSDKInstance;
 import com.taobao.weex.WXSDKManager;
 import com.taobao.weex.bridge.Invoker;
 import com.taobao.weex.common.Constants;
+import com.taobao.weex.common.Constants.Name;
 import com.taobao.weex.common.IWXObject;
 import com.taobao.weex.common.WXRuntimeException;
 import com.taobao.weex.dom.ImmutableDomObject;
@@ -675,6 +676,8 @@ public abstract class  WXComponent 
implements IWXObject, IWXActi
   updateElevation();
 }
 return true;
+  case Name.PERSPECTIVE:
+return setPerspective(param);
   case PROP_FIXED_SIZE:
 String fixedSize = WXUtils.getString(param, PROP_FS_MATCH_PARENT);
 setFixedSize(fixedSize);
@@ -719,17 +722,20 @@ public abstract class  WXComponent 
implements IWXObject, IWXActi
 }
   }
 
-  private void setPerspective(Object param) {
+  private boolean setPerspective(Object param) {
 T host = getHostView();
+boolean ret = false;
 if (host != null) {
   float value = WXUtils.getFloatByViewport(param, 
getInstance().getInstanceViewPortWidth());
   float scale = host.getResources().getDisplayMetrics().density;
   if (!Float.isNaN(value) && value > 0) {
 host.setCameraDistance(value * scale);
+ret = true;
   } else {
 host.setCameraDistance(Float.MAX_VALUE);
   }
 }
+return ret;
   }
 
   @TargetApi(Build.VERSION_CODES.JELLY_BEAN)



[6/8] incubator-weex git commit: * [android] Add WXAnimationBean.Styles.init()

2017-08-10 Thread kyork
* [android] Add WXAnimationBean.Styles.init()


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

Branch: refs/heads/0.16-dev
Commit: 0b9065861c36ee1d5c1a60c2f3705f7244318f25
Parents: b96d92d
Author: YorkShen 
Authored: Thu Aug 3 16:05:56 2017 +0800
Committer: YorkShen 
Committed: Thu Aug 3 16:05:56 2017 +0800

--
 .../com/taobao/weex/ui/animation/WXAnimationBean.java | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0b906586/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
index f5f0d36..f3f7be5 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
@@ -54,7 +54,7 @@ public class WXAnimationBean {
   public long delay;
   public long duration;
   public String timingFunction;
-  public Style styles;
+  public @Nullable Style styles;
   public boolean needLayout;
 
   public static class Style {
@@ -333,6 +333,18 @@ public class WXAnimationBean {
   initHolders();
 }
 
+/**
+ * Use this method to init if you already have a list of Property
+ * The key is something like {@link View#TRANSLATION_X} and the value is a 
{@link Pair},
+ * of which the first is beginning value and the second is ending value.
+ * @param styles a list of Property
+ */
+public void init(@NonNull Map, Pair> 
styles){
+  for(Entry, Pair> 
entry:styles.entrySet()){
+holders.add(PropertyValuesHolder.ofFloat(entry.getKey(), 
entry.getValue().first, entry.getValue().second));
+  }
+}
+
 private void initHolders(){
   for (Map.Entry, Float> entry : 
transformMap.entrySet()) {
 holders.add(PropertyValuesHolder.ofFloat(entry.getKey(), 
entry.getValue()));



[3/8] incubator-weex git commit: * [android] Fix bug of perspective

2017-08-10 Thread kyork
* [android] Fix bug of perspective


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

Branch: refs/heads/0.16-dev
Commit: 924d252c9dc0dc517011983ca07d086f3c5e1bf8
Parents: 9715b8d
Author: YorkShen 
Authored: Wed Jul 26 16:51:05 2017 +0800
Committer: YorkShen 
Committed: Wed Jul 26 16:51:05 2017 +0800

--
 .../taobao/weex/ui/animation/WXAnimationBean.java   | 16 +++-
 .../com/taobao/weex/ui/component/WXComponent.java   |  2 +-
 2 files changed, 4 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/924d252c/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
index 2635d7c..54b3111 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
@@ -124,12 +124,10 @@ public class WXAnimationBean {
   @NonNull List 
rawValue) {
 Map, Float> result = 
WXDataStructureUtil.newHashMapWithExpectedSize(propertyList.size());
 List convertedList = new 
ArrayList<>(propertyList.size());
-if (propertyList.contains(View.ROTATION)) {
+if (propertyList.contains(View.ROTATION) ||
+propertyList.contains(View.ROTATION_X) ||
+propertyList.contains(View.ROTATION_Y)) {
   convertedList.addAll(parseRotationZ(rawValue));
-}else if(propertyList.contains(View.ROTATION_X)) {
-  convertedList.addAll(parseRotationXY(rawValue));
-}else if(propertyList.contains(View.ROTATION_Y)) {
-  convertedList.addAll(parseRotationXY(rawValue));
 }else if (propertyList.contains(View.TRANSLATION_X) ||
propertyList.contains(View.TRANSLATION_Y)) {
   convertedList.addAll(parseTranslation(propertyList, width, 
height, rawValue,viewportW));
@@ -158,14 +156,6 @@ public class WXAnimationBean {
 return convertedList;
   }
 
-  private List parseRotationXY(@NonNull List 
rawValue) {
-List intermediate = parseRotationZ(rawValue);
-for (int i = 0; i < intermediate.size(); i++) {
-  intermediate.set(i, -intermediate.get(i));
-}
-return intermediate;
-  }
-
   private @NonNull List parseRotationZ(@NonNull 
List rawValue) {
 List convertedList = new ArrayList<>(1);
 int suffix;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/924d252c/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 3aa549d..80cd4db 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
@@ -726,7 +726,7 @@ public abstract class  WXComponent 
implements IWXObject, IWXActi
 T host = getHostView();
 boolean ret = false;
 if (host != null) {
-  float value = WXUtils.getFloatByViewport(param, 
getInstance().getInstanceViewPortWidth());
+  float value = WXViewUtils.getRealPxByWidth(WXUtils.getFloat(param), 
getInstance().getInstanceViewPortWidth());
   float scale = host.getResources().getDisplayMetrics().density;
   if (!Float.isNaN(value) && value > 0) {
 host.setCameraDistance(value * scale);



[GitHub] incubator-weex pull request #552: * [android] Refactor the process of lines ...

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/552


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[3/3] incubator-weex git commit: Merge branch 'android-feature-api25' of https://github.com/YorkShen/incubator-weex into 0.16-dev

2017-08-10 Thread kyork
Merge branch 'android-feature-api25' of 
https://github.com/YorkShen/incubator-weex into 0.16-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/452c4d7d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/452c4d7d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/452c4d7d

Branch: refs/heads/0.16-dev
Commit: 452c4d7d29cfbd31cd36a0d0dfd7764597ee4ce9
Parents: c95fc23 1752f06
Author: YorkShen 
Authored: Thu Aug 10 15:08:07 2017 +0800
Committer: YorkShen 
Committed: Thu Aug 10 15:08:07 2017 +0800

--
 .travis.yml  | 8 
 android/build.gradle | 8 
 .../sdk/src/main/java/com/taobao/weex/utils/WXViewUtils.java | 4 ++--
 3 files changed, 10 insertions(+), 10 deletions(-)
--




[2/3] incubator-weex git commit: * [android] Update to VERSION_CODE.N

2017-08-10 Thread kyork
* [android] Update to VERSION_CODE.N


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

Branch: refs/heads/0.16-dev
Commit: 1752f06ec6304e5f716a92db572c04cb94673933
Parents: efd535a
Author: YorkShen 
Authored: Fri Jul 28 17:21:12 2017 +0800
Committer: YorkShen 
Committed: Fri Jul 28 17:21:12 2017 +0800

--
 android/sdk/src/main/java/com/taobao/weex/utils/WXViewUtils.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1752f06e/android/sdk/src/main/java/com/taobao/weex/utils/WXViewUtils.java
--
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXViewUtils.java 
b/android/sdk/src/main/java/com/taobao/weex/utils/WXViewUtils.java
index c6120d5..fb9ab8b 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXViewUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXViewUtils.java
@@ -28,6 +28,7 @@ import android.graphics.RectF;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.os.Build;
+import android.os.Build.VERSION_CODES;
 import android.support.annotation.IntDef;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -404,10 +405,9 @@ public class WXViewUtils {
* clipPath doesn't work with rotation nor scale when API level is 24.
* As animation will not cause redraw if hardware-acceleration enabled, 
clipCanvas feature has
* to be disabled when API level is 24 without considering the animation 
property.
-   * As the compile version of weex_sdk is 23, so API level 24 has to be 
hard-code.
*/
   private static boolean clipCanvasIfAnimationExist() {
-return Build.VERSION.SDK_INT != 24;
+return Build.VERSION.SDK_INT != VERSION_CODES.N;
   }
 
   /**



[1/3] incubator-weex git commit: * [android] Upgrade to API 25.

2017-08-10 Thread kyork
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev c95fc2325 -> 452c4d7d2


* [android] Upgrade to API 25.


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

Branch: refs/heads/0.16-dev
Commit: efd535a76fece0780c5331d3b2916a368493d405
Parents: 495fc6b
Author: YorkShen 
Authored: Fri Jul 28 16:48:38 2017 +0800
Committer: YorkShen 
Committed: Fri Jul 28 16:48:38 2017 +0800

--
 .travis.yml  | 8 
 android/build.gradle | 8 
 2 files changed, 8 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/efd535a7/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index e49b8ca..a62ef95 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,8 +46,8 @@ matrix:
   components:
 - platform-tools
 - tools
-- build-tools-23.0.3
-- android-23
+- build-tools-25.0.3
+- android-25
 - extra-google-m2repository
 - extra-android-m2repository
 - sys-img-armeabi-v7a-android-22
@@ -77,8 +77,8 @@ before_script:
   export 
PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
   echo yes | sdkmanager platform-tools
   echo yes | sdkmanager tools #tools
-  echo yes | sdkmanager "build-tools;23.0.3" #build-tool
-  echo yes | sdkmanager "platforms;android-23" #compile target
+  echo yes | sdkmanager "build-tools;25.0.3" #build-tool
+  echo yes | sdkmanager "platforms;android-25" #compile target
   echo yes | sdkmanager "extras;android;m2repository" #support
 fi
 script:

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/efd535a7/android/build.gradle
--
diff --git a/android/build.gradle b/android/build.gradle
index 7cc3c36..28cf76e 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -33,12 +33,12 @@ subprojects {
 }
 }
 ext {
-compileSdkVersion=23
-buildToolsVersion="23.0.3"
+compileSdkVersion=25
+buildToolsVersion="25.0.3"
 minSdkVersion=14
 appMinSdkVersion=15
-targetSdkVersion=23
-supportLibVersion="23.4.0"
+targetSdkVersion=25
+supportLibVersion="25.3.1"
 fastjsonLibVersion="1.1.46.android"
 }
 }



[GitHub] incubator-weex pull request #554: * [android] Upgrade to API 25.

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/554


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[7/8] incubator-weex git commit: Merge branch 'android-feature-perspective' of https://github.com/YorkShen/incubator-weex into 0.16-dev

2017-08-10 Thread kyork
Merge branch 'android-feature-perspective' of 
https://github.com/YorkShen/incubator-weex into 0.16-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/c6c04624
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c6c04624
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c6c04624

Branch: refs/heads/0.16-dev
Commit: c6c04624af3f773203b0cf0aa21c5433edaa69a2
Parents: 8b9845e 0b90658
Author: YorkShen 
Authored: Thu Aug 10 15:04:10 2017 +0800
Committer: YorkShen 
Committed: Thu Aug 10 15:04:10 2017 +0800

--
 .../java/com/taobao/weex/common/Constants.java  |  1 +
 .../taobao/weex/dom/action/AnimationAction.java |  1 +
 .../ui/animation/CameraDistanceProperty.java| 54 
 .../weex/ui/animation/WXAnimationBean.java  | 86 ++--
 .../taobao/weex/ui/component/WXComponent.java   | 16 
 5 files changed, 117 insertions(+), 41 deletions(-)
--




[02/14] incubator-weex git commit: + [ios] extmodule for coverage

2017-08-10 Thread acton393
+ [ios] extmodule for coverage


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

Branch: refs/heads/0.16-dev
Commit: 2ac30d5a49f9be46bb76e410ca36dd55d3b767cf
Parents: 027f8a1
Author: gurisxie <279483...@qq.com>
Authored: Tue Aug 8 20:56:16 2017 +0800
Committer: gurisxie <279483...@qq.com>
Committed: Tue Aug 8 20:56:16 2017 +0800

--
 .../WeexDemo.xcodeproj/project.pbxproj  |   6 +
 ios/playground/WeexDemo/AppDelegate.m   |   8 +-
 ios/playground/WeexDemo/WXExtModule.h   |  15 ++
 ios/playground/WeexDemo/WXExtModule.m   |  32 
 package.json|   7 +-
 test/pages/include/button.vue   | 162 +++
 test/pages/include/h1.vue   |  13 ++
 test/pages/include/h2.vue   |  13 ++
 test/pages/include/h3.vue   |  13 ++
 test/pages/include/hn.vue   |  47 ++
 test/pages/include/panel.vue| 141 
 test/pages/include/wxc-desc.vue |  66 
 test/pages/modules/cover-generate.vue   |  53 ++
 13 files changed, 568 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2ac30d5a/ios/playground/WeexDemo.xcodeproj/project.pbxproj
--
diff --git a/ios/playground/WeexDemo.xcodeproj/project.pbxproj 
b/ios/playground/WeexDemo.xcodeproj/project.pbxproj
index 6791723..1943c69 100644
--- a/ios/playground/WeexDemo.xcodeproj/project.pbxproj
+++ b/ios/playground/WeexDemo.xcodeproj/project.pbxproj
@@ -32,6 +32,7 @@
847CAF2C1F39BB8A00551725 /* WXATLoggerPlugin.m in Sources */ = 
{isa = PBXBuildFile; fileRef = DCABAFF01D029685001C8592 /* WXATLoggerPlugin.m 
*/; };
847CAF2D1F39BBB900551725 /* WXScannerHistoryVC.m in Sources */ 
= {isa = PBXBuildFile; fileRef = DC5B53681E8CED9400E02125 /* 
WXScannerHistoryVC.m */; };
847CAF2E1F39BBFB00551725 /* WXConfigCenterDefaultImpl.m in 
Sources */ = {isa = PBXBuildFile; fileRef = DC20B8E51ECADA2500845F39 /* 
WXConfigCenterDefaultImpl.m */; };
+   847CAF311F39E3F100551725 /* WXExtModule.m in Sources */ = {isa 
= PBXBuildFile; fileRef = 847CAF301F39E3F100551725 /* WXExtModule.m */; };
84D7CAC71CE3266C00D48D46 /* libsqlite3.0.tbd in Frameworks */ = 
{isa = PBXBuildFile; fileRef = 7475ACA01CD8444A0044E96C /* libsqlite3.0.tbd */; 
};
8A0B5EFFF75BF82EA481983D /* libPods-WeexUITestDemo.a in 
Frameworks */ = {isa = PBXBuildFile; fileRef = E48C20F443AA337D1FE97622 /* 
libPods-WeexUITestDemo.a */; };
C43CDA031F1C6E01005A6B03 /* libz.tbd in Frameworks */ = {isa = 
PBXBuildFile; fileRef = C43CDA021F1C6E01005A6B03 /* libz.tbd */; };
@@ -92,6 +93,8 @@
775BEE981C1E8ECC008D1629 /* WeexDemoTests.m */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = 
WeexDemoTests.m; sourceTree = ""; };
775BEE9A1C1E8ECC008D1629 /* Info.plist */ = {isa = 
PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; 
sourceTree = ""; };
84361D751CA10F8E00F43825 /* WeexUITestDemo.app */ = {isa = 
PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; 
path = WeexUITestDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
+   847CAF2F1F39E3F100551725 /* WXExtModule.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXExtModule.h; sourceTree = ""; };
+   847CAF301F39E3F100551725 /* WXExtModule.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXExtModule.m; sourceTree = ""; };
9420131417A731ED089B0814 /* Pods-WeexDemo.release.xcconfig */ = 
{isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; 
name = "Pods-WeexDemo.release.xcconfig"; path = "Pods/Target Support 
Files/Pods-WeexDemo/Pods-WeexDemo.release.xcconfig"; sourceTree = ""; };
C43CDA021F1C6E01005A6B03 /* libz.tbd */ = {isa = 
PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; 
name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
DC20B8E41ECADA2500845F39 /* WXConfigCenterDefaultImpl.h */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; 
path = WXConfigCenterDefaultImpl.h; sourceTree = ""; };
@@ -300,6 +303,8 @@
DCABB0001D02975E001C8592 /* WXEventModule.m */,

incubator-weex git commit: * [ios] ignore image update when src is empty

2017-08-10 Thread acton393
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev 78e92039b -> 8b9845ebe


* [ios] ignore image update when src is empty


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

Branch: refs/heads/0.16-dev
Commit: 8b9845ebe0edabdac0f4eaa4eb4509d6a0071ec6
Parents: 78e9203
Author: acton393 
Authored: Thu Aug 10 14:24:42 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 14:24:42 2017 +0800

--
 .../Sources/Component/WXImageComponent.m| 150 ++-
 1 file changed, 79 insertions(+), 71 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8b9845eb/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 849620b..7c76d01 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -28,6 +28,7 @@
 #import "WXRoundedRect.h"
 #import "UIBezierPath+Weex.h"
 #import "WXSDKEngine.h"
+#import "WXUtility.h"
 
 @interface WXImageView : UIImageView
 
@@ -342,90 +343,97 @@ WX_EXPORT_METHOD(@selector(save:))
 {
 NSString *placeholderSrc = self.placeholdSrc;
 
-if (placeholderSrc) {
-WXLogDebug(@"Updating image, component:%@, placeholder:%@ ", self.ref, 
placeholderSrc);
-NSString *newURL = [_placeholdSrc copy];
-WX_REWRITE_URL(_placeholdSrc, WXResourceTypeImage, self.weexInstance)
-
-__weak typeof(self) weakSelf = self;
-self.placeholderOperation = [[self imageLoader] 
downloadImageWithURL:newURL imageFrame:self.calculatedFrame userInfo:nil 
completed:^(UIImage *image, NSError *error, BOOL finished) {
+if ([WXUtility isBlankString:placeholderSrc]) {
+WXLogError(@"image placeholder src is empty");
+return;
+}
+
+WXLogDebug(@"Updating image, component:%@, placeholder:%@ ", self.ref, 
placeholderSrc);
+NSString *newURL = [_placeholdSrc copy];
+WX_REWRITE_URL(_placeholdSrc, WXResourceTypeImage, self.weexInstance)
+
+__weak typeof(self) weakSelf = self;
+self.placeholderOperation = [[self imageLoader] 
downloadImageWithURL:newURL imageFrame:self.calculatedFrame userInfo:nil 
completed:^(UIImage *image, NSError *error, BOOL finished) {
+dispatch_async(dispatch_get_main_queue(), ^{
+__strong typeof(self) strongSelf = weakSelf;
+UIImage *viewImage = ((UIImageView *)strongSelf.view).image;
+if (error) {
+downloadFailedBlock(placeholderSrc,error);
+if ([strongSelf isViewLoaded] && !viewImage) {
+((UIImageView *)(strongSelf.view)).image = nil;
+[strongSelf readyToRender];
+}
+return;
+}
+if (![placeholderSrc isEqualToString:strongSelf.placeholdSrc]) {
+return;
+}
+
+if ([strongSelf isViewLoaded] && !viewImage) {
+((UIImageView *)strongSelf.view).image = image;
+strongSelf.imageDownloadFinish = YES;
+[strongSelf readyToRender];
+} else if (strongSelf->_isCompositingChild) {
+strongSelf->_image = image;
+strongSelf.imageDownloadFinish = YES;
+}
+});
+}];
+}
+
+- (void)updateContentImageWithFailedBlock:(void(^)(NSString *, NSError 
*))downloadFailedBlock
+{
+NSString *imageSrc = self.imageSrc;
+
+if ([WXUtility isBlankString:imageSrc]) {
+WXLogError(@"image src is empty");
+return;
+}
+
+WXLogDebug(@"Updating image:%@, component:%@", self.imageSrc, self.ref);
+NSDictionary *userInfo = @{@"imageQuality":@(self.imageQuality), 
@"imageSharp":@(self.imageSharp), @"blurRadius":@(self.blurRadius)};
+NSString * newURL = [imageSrc copy];
+WX_REWRITE_URL(imageSrc, WXResourceTypeImage, self.weexInstance)
+__weak typeof(self) weakSelf = self;
+dispatch_async(dispatch_get_main_queue(), ^{
+weakSelf.imageOperation = [[weakSelf imageLoader] 
downloadImageWithURL:newURL imageFrame:weakSelf.calculatedFrame 
userInfo:userInfo completed:^(UIImage *image, NSError *error, BOOL finished) {
 dispatch_async(dispatch_get_main_queue(), ^{
 __strong typeof(self) strongSelf = weakSelf;
-UIImage *viewImage = ((UIImageView *)strongSelf.view).image;
-if 

[GitHub] incubator-weex issue #586: + [android] performance tracing

2017-08-10 Thread weex-bot
Github user weex-bot commented on the issue:

https://github.com/apache/incubator-weex/pull/586
  





  

  
  Warnings

  
  
  :warning:
  No Changelog changes!

  

  :warning:
  This PR should update related documents as well. 

  

  :warning:
  Potential BREAK CHANGE. Modify public in   
android/sdk/src/main/java/com/taobao/weex/utils/WXLogUtils.java

  

  :warning:
  Potential BREAK CHANGE. Modify public in   
android/sdk/src/main/java/com/taobao/weex/dom/WXDomModule.java

  




  

  
  Messages

  
  
  :book:
  According to the blame info, we recommended @sospartan , @luics 
to be the reviewers.

  




  Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex pull request #586: + [android] performance tracing

2017-08-10 Thread misakuo
GitHub user misakuo opened a pull request:

https://github.com/apache/incubator-weex/pull/586

+ [android] performance tracing

Huge modifications, hold on

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/misakuo/incubator-weex android-feature-tracing

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-weex/pull/586.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #586


commit 6ae8f8d1541c706e5be5be4f08710d1225229702
Author: moxun.ljf 
Date:   2017-06-07T03:23:08Z

+ [android] tracing

commit 38bffdf3654859ab5687e5db866d5962be1c5929
Author: moxun.ljf 
Date:   2017-06-12T07:35:50Z

+ [android] tracing

commit 4bb0f14144f849f5cdb994a5c8db4866d47415d6
Author: moxun.ljf 
Date:   2017-06-30T03:28:11Z

Merge remote-tracking branch 'remotes/upstream/0.15-dev' into 
android-feature-tracing

commit afeedd922c81f16c0bc1cf8907a984efcd5da25f
Author: misakuo 
Date:   2017-07-25T08:06:18Z

* [android] add TraceInfo on every component

commit e2d8a7b1e6a42a7191b23def69b10a572e48280e
Author: misakuo 
Date:   2017-07-25T08:08:58Z

* [android] add PerformanceActivity

commit fed8b64309fab398d008bdde3404adf3acbc1a95
Author: miomin <691292...@qq.com>
Date:   2017-08-04T06:50:14Z

* [android] fix Jni crash due to emoji

commit 43c5fdfdbdec57d1dc243b18eb0f3f2c82033844
Author: misakuo 
Date:   2017-08-07T02:45:50Z

+ [android] ignore set index when current index not zero @notdanger

commit 102f2ed0db66226aff309215acbd94472b77390b
Author: misakuo 
Date:   2017-08-10T06:35:54Z

+ [android] batch modification for tracing @notdanger

commit 2e44c5f5f68ea7825cc5f6a3ca23485c1e4bfb5e
Author: misakuo 
Date:   2017-08-10T06:36:58Z

Merge remote-tracking branch 'remotes/upstream/0.15-dev' into 
android-feature-tracing

commit 4fa0a2c62ab5f587a05f71ede5f857750819497a
Author: misakuo 
Date:   2017-08-10T06:37:21Z

Merge remote-tracking branch 'remotes/upstream/0.16-dev' into 
android-feature-tracing




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #588: [jsfm] Release v0.21.8

2017-08-10 Thread atomtong
Github user atomtong commented on the issue:

https://github.com/apache/incubator-weex/pull/588
  
jsfm 0.21.8 in online pre-test flow pass 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #589: [android] fix android input , autoforce not work ...

2017-08-10 Thread weex-bot
Github user weex-bot commented on the issue:

https://github.com/apache/incubator-weex/pull/589
  




  

  
  Fails

  
  
  :no_entry_sign:
  This PR modify SDK code. Please add/modify corresponding 
testcases. If it is ok, please comment about it. Or put '@notdanger' in you 
commit message.

  




  

  
  Warnings

  
  
  :warning:
  No Changelog changes!

  

  :warning:
  This PR should update related documents as well. 

  





  Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #571: [iOS]Of the 32-bit device, BOOL's encode is' c ',...

2017-08-10 Thread acton393
Github user acton393 commented on the issue:

https://github.com/apache/incubator-weex/pull/571
  
hi @bb-coder   did you try it on 32bit device and there is an error ?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #590: Add some attribute value in monitor

2017-08-10 Thread weex-bot
Github user weex-bot commented on the issue:

https://github.com/apache/incubator-weex/pull/590
  




  

  
  Fails

  
  
  :no_entry_sign:
  This PR modify SDK code. Please add/modify corresponding 
testcases. If it is ok, please comment about it. Or put '@notdanger' in you 
commit message.

  




  

  
  Warnings

  
  
  :warning:
  No Changelog changes!

  

  :warning:
  This PR should update related documents as well. 

  





  Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #583: 0.13 dev

2017-08-10 Thread acton393
Github user acton393 commented on the issue:

https://github.com/apache/incubator-weex/pull/583
  
hi  @yuguitao  what's the purpose for this pull request 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #567: add 32 bit device support

2017-08-10 Thread acton393
Github user acton393 commented on the issue:

https://github.com/apache/incubator-weex/pull/567
  
thx for your contribution~


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


incubator-weex git commit: * [doc] update text doc

2017-08-10 Thread acton393
Repository: incubator-weex
Updated Branches:
  refs/heads/dev 63896cb8f -> fcc77c9e6


* [doc] update text doc


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

Branch: refs/heads/dev
Commit: fcc77c9e6ea10f215262f0bde890a1c909f6d12b
Parents: 63896cb
Author: acton393 
Authored: Thu Aug 10 17:51:01 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 17:51:01 2017 +0800

--
 doc/source/cn/references/components/text.md | 4 ++--
 doc/source/references/components/text.md| 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fcc77c9e/doc/source/cn/references/components/text.md
--
diff --git a/doc/source/cn/references/components/text.md 
b/doc/source/cn/references/components/text.md
index 7746378..136d409 100644
--- a/doc/source/cn/references/components/text.md
+++ b/doc/source/cn/references/components/text.md
@@ -29,7 +29,7 @@ version: 2.1
   - 支持 `text-align` 样式.
   - 支持 `text-decoration` 样式.
   - 支持 `text-overflow` 样式.
-  - 支持 `line-height`样式0.6.1+ 
。`line-height` 在 iOS 中与 H5 和 Android 中不同, 
文本值将放置在框的底部。
+  - 支持 `line-height`样式0.6.1+
   - 不支持 `flex-direction`, `justify-content`, `align-items` 
这些为子节点设置的属性,并且``没有子节点。
 
 - 通用样式:支持所有通用样式
@@ -62,7 +62,7 @@ version: 2.1
 
 `支持版本:v0.12.0`
 
-支持ttf和woff字体格式的自定义字体, 可以通过调用 `dom` 
module 里面的 [addRule](../modules/dom.html#addRule)方法, 
构建自定义的`font-family`使用
+支持ttf和woff字体格式的自定义字体, 可以通过调用 `dom` 
module 里面的 [addRule](../modules/dom.html#addRule)方法, 
构建自定义的`font-family`使用, addRule 建议在`mounted`时候调用
 
 ```html
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fcc77c9e/doc/source/references/components/text.md
--
diff --git a/doc/source/references/components/text.md 
b/doc/source/references/components/text.md
index 9b86016..e235fae 100644
--- a/doc/source/references/components/text.md
+++ b/doc/source/references/components/text.md
@@ -36,7 +36,7 @@ this.text = textComponent.attr.value;
   * support 'text-align' style.
   * support 'text-decoration' style.
   * support 'text-overflow' style.
-  * support 'line-height'(available from v0.6.1) style. line-height in iOS 
is different from h5 and Android, text value will be placed at bottom of line 
box.
+  * support 'line-height'(available from v0.6.1) style.
   * not support 'flex-direction, 'justify-content', 'align-items' which is 
active for child nodes, and text has no child nodes.
 
 ### common styles
@@ -59,7 +59,7 @@ check out [common events](../common-event.html)
 
 `support:v0.12.0`
 
-support `ttf` and `woff` font format to custom your text, call 
[addRule](../modules/dom.html#addRule) in dom module to build your own 
`font-family`
+support `ttf` and `woff` font format to custom your text, call 
[addRule](../modules/dom.html#addRule) in dom module to build your own 
`font-family`, we suggest that you call `addRule` in `mounted`
 
 ```html
 



[GitHub] incubator-weex pull request #585: + [ios] support call native directly

2017-08-10 Thread kfeagle
Github user kfeagle commented on a diff in the pull request:

https://github.com/apache/incubator-weex/pull/585#discussion_r132398202
  
--- Diff: ios/playground/WeexDemo/WXExtendCallNativeTest.h ---
@@ -0,0 +1,14 @@
+//
+//  WXExtendCallNativeTest.h
+//  WeexDemo
+//
+//  Created by 齐山 on 2017/7/27.
+//  Copyright © 2017年 taobao. All rights reserved.
+//
+
+#import 
--- End diff --

added it:-)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[6/8] incubator-weex git commit: + [ios] main.js recover to last version

2017-08-10 Thread acton393
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0ccafb15/pre-build/native-bundle-main.js
--
diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js
index c301681..e24c730 100644
--- a/pre-build/native-bundle-main.js
+++ b/pre-build/native-bundle-main.js
@@ -1,26016 +1,8 @@
-(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 
0.21.7-beta.2, Build 2017-08-02 15:59.');
-(this.getJSFMVersion = function(){return "0.21.7-beta.2"});var global = this, 
process = { env: {} };var setTimeout = global.setTimeout;
-
-(function (global, factory) {
-   typeof exports === 'object' && typeof module !== 'undefined' ? 
factory() :
-   typeof define === 'function' && define.amd ? define(factory) :
-   (factory());
-}(this, (function () { 'use strict';
-
-/*
- * 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.
- */
-var config = {};
-
-var instanceMap = {};
-
-function init$1 (cfg) {
-  config.Document = cfg.Document;
-  config.Element = cfg.Element;
-  config.Comment = cfg.Comment;
-  config.sendTasks = cfg.sendTasks;
-}
-
-function registerComponents (components) {}
-
-function registerModules (modules) {}
-
-function registerMethods (apis) {}
-
-function prepareInstance (id, options, data) {}
-
-function createInstance (id, code, options, data, serviceObjects) {
-  var document = new config.Document(id, options.bundleUrl);
-  var callbacks = {};
-
-  var lastCallbackId = 0;
-  document.addCallback = function (func) {
-lastCallbackId++;
-callbacks[lastCallbackId] = func;
-return lastCallbackId
-  };
-  document.handleCallback = function (funcId, data, ifLast) {
-var callback = callbacks[funcId];
-if (ifLast) {
-  delete callbacks[funcId];
-}
-return callback(data)
-  };
-  instanceMap[id] = document;
-
-  var globalObjects = Object.assign({
-Document: config.Document,
-Element: config.Element,
-Comment: config.Comment,
-sendTasks: config.sendTasks,
-id: id, options: options, data: data, document: document
-  }, serviceObjects);
-
-  var globalKeys = [];
-  var globalValues = [];
-  for (var key in globalObjects) {
-globalKeys.push(key);
-globalValues.push(globalObjects[key]);
-  }
-  globalKeys.push(code);
-
-  var result = new (Function.prototype.bind.apply( Function, [ null ].concat( 
globalKeys) ));
-  result.apply(void 0, globalValues);
-
-  return { document: document }
-}
-
-function refreshInstance (id, data) {}
-
-function destroyInstance (id) {
-  delete instanceMap[id];
-}
-
-function getRoot (id) {
-  return instanceMap[id].body.toJSON()
-}
-
-function receiveTasks (id, tasks) {
-  var jsHandlers = {
-fireEvent: function (id, ref, type, data, domChanges) {
-  var document = instanceMap[id];
-  var el = document.getRef(ref);
-  return document.fireEvent(el, type, data, domChanges)
-},
-
-callback: function (id, funcId, data, ifLast) {
-  var document = instanceMap[id];
-  return document.handleCallback(funcId, data, ifLast)
-}
-  };
-
-  var document = instanceMap[id];
-  if (document && Array.isArray(tasks)) {
-var results = [];
-tasks.forEach(function (task) {
-  var handler = jsHandlers[task.method];
-  var args = [].concat( task.args );
-  if (typeof handler === 'function') {
-args.unshift(id);
-results.push(handler.apply(void 0, args));
-  }
-});
-return results
-  }
-}
-
-
-var Vanilla = Object.freeze({
-   init: init$1,
-   registerComponents: registerComponents,
-   registerModules: registerModules,
-   registerMethods: registerMethods,
-   prepareInstance: prepareInstance,
-   createInstance: createInstance,
-   refreshInstance: refreshInstance,
-   destroyInstance: destroyInstance,
-   getRoot: getRoot,
-   receiveTasks: receiveTasks
-});
-
-var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global 
!== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-
-
-function unwrapExports (x) {
-   return x && x.__esModule ? x['default'] : x;
-}
-
-function createCommonjsModule(fn, module) {
-   return module = { 

[GitHub] incubator-weex pull request #578: + [ios] support arraybuffer for websocket ...

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/578


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[5/8] incubator-weex git commit: + [ios] add array buffer for stream

2017-08-10 Thread acton393
+ [ios] add array buffer for stream


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

Branch: refs/heads/0.16-dev
Commit: c914eb164644a4fc77aae4e8cf0d0516734f3ad6
Parents: 0966957
Author: 齐山 
Authored: Tue Aug 8 16:02:39 2017 +0800
Committer: 齐山 
Committed: Tue Aug 8 16:02:39 2017 +0800

--
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 13 +
 1 file changed, 13 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c914eb16/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m 
b/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m
index a386fd0..4b01cde 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m
@@ -32,6 +32,7 @@
 
 WX_EXPORT_METHOD(@selector(sendHttp:callback:))
 WX_EXPORT_METHOD(@selector(fetch:callback:progressCallback:))
+WX_EXPORT_METHOD(@selector(fetchWithArrayBuffer:options:callback:progressCallback:))
 
 - (void)fetch:(NSDictionary *)options callback:(WXModuleCallback)callback 
progressCallback:(WXModuleKeepAliveCallback)progressCallback
 {
@@ -104,6 +105,18 @@ 
WX_EXPORT_METHOD(@selector(fetch:callback:progressCallback:))
 [loader start];
 }
 
+- (void)fetchWithArrayBuffer:(id)arrayBuffer options:(NSDictionary *)options 
callback:(WXModuleCallback)callback 
progressCallback:(WXModuleKeepAliveCallback)progressCallback
+{
+NSMutableDictionary *newOptions = [options mutableCopy];
+if([arrayBuffer isKindOfClass:[NSDictionary class]]){
+NSData *sendData = [WXUtility base64DictToData:arrayBuffer];
+if(sendData){
+[newOptions setObject:sendData forKey:@"body"];
+}
+}
+[self fetch:newOptions callback:callback 
progressCallback:progressCallback];
+}
+
 - (WXResourceRequest*)_buildRequestWithOptions:(NSDictionary*)options 
callbackRsp:(NSMutableDictionary*)callbackRsp
 {
 // parse request url



[8/8] incubator-weex git commit: Merge branch '0.16-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex; branch 'ios-arraybuffer-0.16-dev' of https://github.com/kfeagle/incubator-weex into

2017-08-10 Thread acton393
Merge branch '0.16-dev' of 
https://git-wip-us.apache.org/repos/asf/incubator-weex; branch 
'ios-arraybuffer-0.16-dev' of https://github.com/kfeagle/incubator-weex into 
wip-us-0.16-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/e3776995
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e3776995
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e3776995

Branch: refs/heads/0.16-dev
Commit: e37769951ddd99d41862165bdf778a3b9b9d26e4
Parents: 5894ef6 0ccafb1
Author: acton393 
Authored: Thu Aug 10 17:06:32 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 17:06:32 2017 +0800

--
 examples/vue/modules/websocket.vue  | 22 +++-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  |  2 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.m  |  2 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 13 
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  | 16 --
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 12 +++
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 22 
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  |  2 +-
 8 files changed, 85 insertions(+), 6 deletions(-)
--




[7/8] incubator-weex git commit: + [ios] main.js recover to last version

2017-08-10 Thread acton393
+ [ios] main.js recover to last 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/0ccafb15
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0ccafb15
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0ccafb15

Branch: refs/heads/0.16-dev
Commit: 0ccafb1547dcbf3a752cbd59ca8f33c6189ae415
Parents: c914eb1
Author: 齐山 
Authored: Tue Aug 8 16:06:21 2017 +0800
Committer: 齐山 
Committed: Tue Aug 8 16:06:21 2017 +0800

--
 pre-build/native-bundle-main.js | 26024 +
 1 file changed, 8 insertions(+), 26016 deletions(-)
--




[2/8] incubator-weex git commit: + [ios] add array buffer support

2017-08-10 Thread acton393
+ [ios] add array buffer support


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

Branch: refs/heads/0.16-dev
Commit: fd8f177020b712724c52a02052b20e06d2d22661
Parents: 1aa0bf4
Author: 齐山 
Authored: Wed Aug 2 16:27:11 2017 +0800
Committer: 齐山 
Committed: Wed Aug 2 16:27:11 2017 +0800

--
 examples/vue/modules/websocket.vue  |15 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  | 2 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.m  | 2 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  |20 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  | 2 +-
 pre-build/native-bundle-main.js | 26024 -
 6 files changed, 26050 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fd8f1770/examples/vue/modules/websocket.vue
--
diff --git a/examples/vue/modules/websocket.vue 
b/examples/vue/modules/websocket.vue
index 72d7ea1..e6ba2e1 100644
--- a/examples/vue/modules/websocket.vue
+++ b/examples/vue/modules/websocket.vue
@@ -88,7 +88,13 @@
   self.onopeninfo = 'websocket open';
 }
 websocket.onmessage = function(e) {
-  self.onmessage = e.data;
+  if(Object.prototype.toString.apply(e.data) === 'ArrayBuffer'){
+self.onmessage = 'you receive array buffer'
+  }
+  if(Object.prototype.toString.apply(e.data) === 'String'){
+self.onmessage = e.data;
+  }
+
 }
 websocket.onerror = function(e) {
   self.onerrorinfo = e.data;
@@ -101,7 +107,12 @@
   send: function(e) {
 var input = this.$refs.input;
 input.blur();
-websocket.send(this.txtInput);
+var buffer = new ArrayBuffer(16)
+var view = new Float32Array(buffer)
+view.set([4,89,36.9,0.765])
+console.log(buffer);
+this.sendinfo = buffer;
+websocket.send(buffer);
 this.sendinfo = this.txtInput;
   },
   oninput: function(event) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fd8f1770/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.h
--
diff --git a/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.h 
b/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.h
index 378a85e..95e5398 100644
--- a/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.h
+++ b/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.h
@@ -28,7 +28,7 @@
 
 - (instancetype)initWithUrl:(NSString *)url protocol:(NSString *)protocol;
 - (void)open;
-- (void)send:(NSString *)data;
+- (void)send:(id)data;
 - (void)close;
 - (void)close:(NSInteger)code reason:(NSString *)reason;
 - (void)clear;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fd8f1770/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.m 
b/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.m
index c751c0a..7821ed6 100644
--- a/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.m
+++ b/ios/sdk/WeexSDK/Sources/Loader/WXWebSocketLoader.m
@@ -74,7 +74,7 @@
 }
 }
 
-- (void)send:(NSString *)data
+- (void)send:(id)data
 {
 id requestHandler = [WXHandlerFactory 
handlerForProtocol:@protocol(WXWebSocketHandler)];
 if (requestHandler) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fd8f1770/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m 
b/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m
index 018103a..046702d 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXWebSocketModule.m
@@ -61,6 +61,12 @@ WX_EXPORT_METHOD(@selector(onclose:))
 NSMutableDictionary *dic = [NSMutableDictionary new];
 if([message isKindOfClass:[NSString class]]) {
 [dic setObject:message forKey:@"data"];
+}else if([message isKindOfClass:[NSData class]]){
+NSMutableDictionary *dataDict = [NSMutableDictionary new];
+NSString *base64Encoded = [message 
base64EncodedStringWithOptions:0];
+[dataDict setObject:@"binary" forKey:@"@type"];
+[dataDict setObject:base64Encoded forKey:@"base64"];
+[dic setObject:dataDict forKey:@"data"];
 }
   

[4/8] incubator-weex git commit: + [example] add websocket arraybuffer demo

2017-08-10 Thread acton393
+ [example] add websocket arraybuffer demo


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

Branch: refs/heads/0.16-dev
Commit: 096695744c4cb7767a6942c1fb7219129aa6d687
Parents: ec94e28
Author: 齐山 
Authored: Tue Aug 8 15:40:02 2017 +0800
Committer: 齐山 
Committed: Tue Aug 8 15:40:02 2017 +0800

--
 examples/vue/modules/websocket.vue | 19 ++-
 1 file changed, 14 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/09669574/examples/vue/modules/websocket.vue
--
diff --git a/examples/vue/modules/websocket.vue 
b/examples/vue/modules/websocket.vue
index e2ab2ce..2620677 100644
--- a/examples/vue/modules/websocket.vue
+++ b/examples/vue/modules/websocket.vue
@@ -8,6 +8,7 @@
   
 connect
 send
+sendArrayBuffer
 close
   
   
@@ -80,6 +81,7 @@
   }
 },
 methods: {
+
   connect: function() {
 websocket.WebSocket('ws://echo.websocket.org', '');
 var self = this;
@@ -88,13 +90,14 @@
   self.onopeninfo = 'websocket open';
 }
 websocket.onmessage = function(e) {
-  if(typeof(e.data) === 'String'){
+  console.log(typeof(e.data));
+  if(typeof(e.data) === 'string'){
 self.onmessage = e.data;
   }else
   {
-self.onmessage = 'you receive array buffer'
+var str = 'receive array buffer show with string:' +  
String.fromCharCode.apply(null, new Float32Array(e.data));
+self.onmessage = str;
   }
-
 }
 websocket.onerror = function(e) {
   self.onerrorinfo = e.data;
@@ -107,13 +110,19 @@
   send: function(e) {
 var input = this.$refs.input;
 input.blur();
+websocket.send(this.txtInput);
+this.sendinfo = this.txtInput;
+  },
+  sendArrayBuffer: function(e) {
+var input = this.$refs.input;
+input.blur();
 var buffer = new ArrayBuffer(16)
 var view = new Float32Array(buffer)
 view.set([4,89,36.9,0.765])
 console.log(buffer);
-this.sendinfo = buffer;
+var str = 'send array buffer show with string:' +  
String.fromCharCode.apply(null, new Float32Array(buffer));
+this.sendinfo = str;
 websocket.send(buffer);
-this.sendinfo = this.txtInput;
   },
   oninput: function(event) {
 this.txtInput = event.value;



[GitHub] incubator-weex pull request #587: * [ios] try to fix crash

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/587


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[3/3] incubator-weex git commit: Merge branch '0.16-dev' of https://github.com/acton393/incubator-weex into wip-us-0.16-dev

2017-08-10 Thread acton393
Merge branch '0.16-dev' of https://github.com/acton393/incubator-weex into 
wip-us-0.16-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/c20e9317
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c20e9317
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c20e9317

Branch: refs/heads/0.16-dev
Commit: c20e93175f5520b43a347acd84d0bfc49c4b1b8b
Parents: e377699 64f0e33
Author: acton393 
Authored: Thu Aug 10 17:08:35 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 17:08:35 2017 +0800

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




[1/3] incubator-weex git commit: * [ios] try to fix attributedString crash

2017-08-10 Thread acton393
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev e37769951 -> c20e93175


* [ios] try to fix attributedString crash


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

Branch: refs/heads/0.16-dev
Commit: 99086f301c9a782ba50df4be9ea3fe22ad070581
Parents: 8b9845e
Author: acton393 
Authored: Thu Aug 10 14:30:09 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 14:30:09 2017 +0800

--
 ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/99086f30/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m 
b/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
index 066b143..2afca0e 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
@@ -182,7 +182,6 @@ CGFloat WXTextDefaultLineThroughWidth = 1.2;
 if (_needsRemoveObserver) {
 [[NSNotificationCenter defaultCenter] removeObserver:self 
name:WX_ICONFONT_DOWNLOAD_NOTIFICATION object:nil];
 }
-_ctAttributedString = nil;
 pthread_mutex_destroy(&_ctAttributedStringMutex);
 pthread_mutexattr_destroy(&_propertMutexAttr);
 }
@@ -251,7 +250,11 @@ do {\
 - (void)setNeedsRepaint
 {
 _textStorage = nil;
+
+pthread_mutex_lock(&(_ctAttributedStringMutex));
 _ctAttributedString = nil;
+pthread_mutex_unlock(&(_ctAttributedStringMutex));
+
 }
 
 #pragma mark - Subclass



[2/3] incubator-weex git commit: * [ios] fix handle appear event crash

2017-08-10 Thread acton393
* [ios] fix handle appear event crash


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

Branch: refs/heads/0.16-dev
Commit: 64f0e3368044ed8152b5ae78ce5d6ea0acba5bff
Parents: 99086f3
Author: acton393 
Authored: Thu Aug 10 14:33:52 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 14:33:52 2017 +0800

--
 ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.m | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/64f0e336/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.m 
b/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.m
index c4c324a..a960cc6 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.m
@@ -560,7 +560,8 @@ WX_EXPORT_METHOD(@selector(resetLoadmore))
 CGRect scrollRect = CGRectMake(vx, vy, vw, vh);;
 
 // notify action for appear
-for(WXScrollToTarget *target in self.listenerArray){
+NSArray *listenerArrayCopy = [self.listenerArray copy];
+for(WXScrollToTarget *target in listenerArrayCopy){
 [self scrollToTarget:target scrollRect:scrollRect];
 }
 }



[10/12] incubator-weex git commit: * [jsfm] release v0.21.8

2017-08-10 Thread acton393
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4cf9b1ba/pre-build/native-bundle-main.js
--
diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js
index 4da6843..779ffe1 100644
--- a/pre-build/native-bundle-main.js
+++ b/pre-build/native-bundle-main.js
@@ -1,8 +1,8 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.21.7, 
Build 2017-08-08 16:14."),this.getJSFMVersion=function(){return"0.21.7"};var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&?define(t):t()}(0,function(){"use strict";function 
e(e){Zn.Document=e.Document,Zn.Element=e.Element,Zn.Comment=e.Comment,Zn.sendTasks=e.sendTasks}function
 t(e){}function n(e){}function r(e){}function o(e,t,n){}function 
i(e,t,n,r,o){var i=new 
Zn.Document(e,n.bundleUrl),a={},s=0;i.addCallback=function(e){return 
s++,a[s]=e,s},i.handleCallback=function(e,t,n){var r=a[e];return n& 
a[e],r(t)},Qn[e]=i;var 
u=Object.assign({Document:Zn.Document,Element:Zn.Element,Comment:Zn.Comment,sendTasks:Zn.sendTasks,id:e,options:n,data:r,document:i},o),c=[],l=[];for(var
 f in u)c.push(f),l.push(u[f]);return 
c.push(t),(new(Function.prototype.bind.apply(Function,[null].concat(c.apply
 (void 0,l),{document:i}}function a(e,t){}function s(e){delete Qn[e]}function 
u(e){return Qn[e].body.toJSON()}function c(e,t){var 
n={fireEvent:function(e,t,n,r,o){var i=Qn[e],a=i.getRef(t);return 
i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return 
Qn[e].handleCallback(t,n,r)}};if(Qn[e]&(t)){var r=[];return 
t.forEach(function(t){var o=n[t.method],i=[].concat(t.args);"function"==typeof 
o&&(i.unshift(e),r.push(o.apply(void 0,i)))}),r}}function l(e){return 
e&__esModule?e.default:e}function f(e,t){return 
t={exports:{}},e(t,t.exports),t.exports}function d(e){console.warn("[JS 
Framework] Vm#$ is deprecated, please use Vm#$vm instead");var 
t=this._ids[e];if(t)return t.vm}function p(e){var t=this._ids[e];if(t)return 
t.el}function h(e){var t=this._ids[e];if(t)return t.vm}function v(e){return 
this._app.differ.then(function(){e()})}function y(e,t){console.warn("[JS 
Framework] Vm#$scrollTo is deprecated, please use 
\"require('@weex-module/dom').scrollTo(el, options)\" instead
 ");var 
n=this.$el(e);if(n){this._app.requireModule("dom").scrollToElement(n.ref,{offset:t})}}function
 m(e,t,n){var 
r=this,o=this.$el(e);if(o&&){this._app.requireModule("animation").transition(o.ref,t,function(){for(var
 
e=[],i=arguments.length;i--;)e[i]=arguments[i];r._setStyle(o,t.styles),n&(void
 0,e)})}}function _(e){var t=this._app.options;return"function"==typeof 
e&&(console.warn("[JS Framework] the callback of Vm#$getConfig(callback) is 
deprecated, this api now can directly RETURN config info."),e(t)),t}function 
g(e,t){console.warn("[JS Framework] Vm#$sendHttp is deprecated, please use 
\"require('@weex-module/stream').sendHttp(params, callback)\" 
instead"),this._app.requireModule("stream").sendHttp(e,t)}function 
b(e){console.warn("[JS Framework] Vm#$openURL is deprecated, please use 
\"require('@weex-module/event').openURL(url)\" 
instead"),this._app.requireModule("event").openURL(e)}function 
w(e){console.warn("[JS Framework] Vm#$setTitle is deprecated, please u
 se \"require('@weex-module/pageInfo').setTitle(title)\" 
instead"),this._app.requireModule("pageInfo").setTitle(e)}function 
O(e,t){for(var n=[],r=arguments.length-2;r-- 
>0;)n[r]=arguments[r+2];console.warn("[JS Framework] Vm#$call is deprecated, 
please use \"require('@weex-module/moduleName')\" instead");var 
o=this._app.requireModule(e);o&[t]&[t].apply(o,n)}function E(e){for(var 
t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if("function"==typeof 
Object.assign)Object.assign.apply(Object,[e].concat(t));else{var 
r=t.shift();for(var o in r)e[o]=r[o];t.length&(void 
0,[e].concat(t))}return e}function 
x(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function
 C(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}function 
S(e,t){return _r.call(e,t)}function k(e,t){return function(n){var 
r=arguments.length;return 
r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}}function j(e){return 
null!==e&&"object"==typeof e}functi
 on A(e){return gr.call(e)===br}function I(e){var t=(e+"").charCodeAt(0);return 
36===t||95===t}function T(){return"object"==typeof 
nativeSet?nativeSet.create():new Kn}function N(e){var 
t=Object.prototype.toString.call(e);return 
t.substring(8,t.length-1).toLowerCase()}function P(e){return 
e.replace(Or,"").replace(Er,"")}function M(e){return e.replace(Cr,"")}function 
$(){this.id=Ir++,this.subs=[]}function 
R(e){$.target&($.target),$.target=e}function 
D(){$.target=Tr.pop()}function F(){$.target=null,Tr=[]}function 
L(e,t,n,r){r&(this,r);var o="function"==typeof 

[04/12] incubator-weex git commit: * [jsfm] publish weex-js-framework@0.21.8

2017-08-10 Thread acton393
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/272454c4/packages/weex-js-framework/index.min.js
--
diff --git a/packages/weex-js-framework/index.min.js 
b/packages/weex-js-framework/index.min.js
index 4cdd4d8..c383a95 100644
--- a/packages/weex-js-framework/index.min.js
+++ b/packages/weex-js-framework/index.min.js
@@ -1 +1 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.20.6, 
Build 2017-08-01 19:09."),this.getJSFMVersion=function(){return"0.20.6"};var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&?define(t):t()}(0,function(){"use strict";function 
e(e){return e&__esModule?e.default:e}function t(e,t){return 
t={exports:{}},e(t,t.exports),t.exports}function n(){ga.forEach(function(e){var 
t=ga.indexOf(e);ba[e]={},ga.forEach(function(n){ga.indexOf(n)<=t&&(ba[e][n]=!0)})})}function
 r(e){var t=global.WXEnvironment&||"log";return 
ba[t]&[t][e]}function o(e){return e.map(function(e){return e="[object 
object]"===Object.prototype.toString.call(e).toLowerCase()?JSON.stringify(e):String(e)})}function
 i(){if(void 0===setTimeout&&"function"==typeof Oa){var 
e={},t=0;global.setTimeout=function(n,r){e[++t]=n,Oa(t.toString(),r)},global.setTimeoutCa
 llback=function(t){"function"==typeof e[t]&&(e[t](),delete e[t])}}}function 
a(){Object.freeze(Object),Object.freeze(Array),s(),Object.freeze(Array.prototype),Object.freeze(String.prototype),Object.freeze(Number.prototype),Object.freeze(Boolean.prototype),u(),Object.freeze(Date.prototype),Object.freeze(RegExp.prototype)}function
 s(){var 
e=Object.prototype,t="Object.prototype";c(e,"__defineGetter__",t),c(e,"__defineSetter__",t),c(e,"__lookupGetter__",t),c(e,"__lookupSetter__",t),c(e,"constructor",t),c(e,"hasOwnProperty",t),c(e,"isPrototypeOf",t),c(e,"propertyIsEnumerable",t),c(e,"toLocaleString",t),c(e,"toString",t),c(e,"valueOf",t),Object.seal(e)}function
 u(){var 
e=Error.prototype,t="Error.prototype";c(e,"name",t),c(e,"message",t),c(e,"toString",t),c(e,"constructor",t),Object.seal(e)}function
 c(e,t,n){if(e.hasOwnProperty(t)){var 
r=e[t];Object.defineProperty(e,t,{get:function(){return 
r},set:function(r){if(this===e)throw Error("Cannot assign to read only property 
"+t+" of "+n);return 
 Object.defineProperty(this,t,{value:r,writable:!0}),r}})}}function 
l(e,t){e&&(xa[e]=t)}function f(e){return xa[e]}function p(e){delete 
xa[e]}function d(e){var t=xa[e];return 
t&?t.taskCenter:null}function h(){return(Ca++).toString()}function 
v(e,t,n){var 
r=e.documentElement;if(!(r.pureChildren.length>0||t.parentNode)){var 
o=r.children,i=o.indexOf(n);i<0?o.push(t):o.splice(i,0,t),1===t.nodeType?("body"===t.role?(t.docId=e.id,t.ownerDocument=e,t.parentNode=r,_(t,r)):(t.children.forEach(function(e){e.parentNode=t}),y(e,t),t.docId=e.id,t.ownerDocument=e,_(t,r),delete
 
e.nodeMap[t.nodeId]),r.pureChildren.push(t),m(e,t)):(t.parentNode=r,e.nodeMap[t.ref]=t)}}function
 m(e,t){var n=t.toJSON(),r=n.children;delete n.children;var 
o=e.taskCenter.send("dom",{action:"createBody"},[n]);return 
r&(function(t){o=e.taskCenter.send("dom",{action:"addElement"},[n.ref,t,-1])}),o}function
 y(e,t){t.role="body",t.depth=1,delete 
e.nodeMap[t.nodeId],t.ref="_root",e.nodeMap._root=t,e.body=t
 }function 
_(e,t){e.parentNode=t,t.docId&&(e.docId=t.docId,e.ownerDocument=t.ownerDocument,e.ownerDocument.nodeMap[e.nodeId]=e,e.depth=t.depth+1),e.children.forEach(function(t){_(t,e)})}function
 g(e){for(;e;){if(1===e.nodeType)return e;e=e.nextSibling}}function 
b(e){for(;e;){if(1===e.nodeType)return e;e=e.previousSibling}}function 
w(e,t,n,r){n<0&&(n=0);var o=t[n-1],i=t[n];return 
t.splice(n,0,e),r&&(o&&(o.nextSibling=e),e.previousSibling=o,e.nextSibling=i,i&&(i.previousSibling=e)),n}function
 E(e,t,n,r){var o=t.indexOf(e);if(o<0)return-1;if(r){var 
i=t[o-1],a=t[o+1];i&&(i.nextSibling=a),a&&(a.previousSibling=i)}t.splice(o,1);var
 s=n;o<=n&&(s=n-1);var u=t[s-1],c=t[s];return 
t.splice(s,0,e),r&&(u&&(u.nextSibling=e),e.previousSibling=u,e.nextSibling=c,c&&(c.previousSibling=e)),o===s?-1:n}function
 O(e,t,n){var r=t.indexOf(e);if(!(r<0)){if(n){var 
o=t[r-1],i=t[r+1];o&&(o.nextSibling=i),i&&(i.previousSibling=o)}t.splice(r,1)}}function
 S(){this.nodeId=h(),this.ref=this.nodeId,this.children=[],t
 
his.pureChildren=[],this.parentNode=null,this.nextSibling=null,this.previousSibling=null}function
 x(e,t){if(t&){var 
n=function(t){ka.call(this,e,t,!0)};n.prototype=Object.create(ka.prototype),Object.defineProperty(n.prototype,"constructor",{configurable:!1,enumerable:!1,writable:!1,value:ka}),t.forEach(function(t){n.prototype[t]=function(){for(var
 n=[],r=arguments.length;r--;)n[r]=arguments[r];var o=d(this.docId);if(o)return 
o.send("component",{ref:this.ref,component:e,method:t},n)}}),ja[e]=n}}function 
C(e,t,n){void 0===e&&(e=Aa);var r=ja[e];if(r&&!n)return new 

[01/12] incubator-weex git commit: * [jsfm] fix normalize method in tast center

2017-08-10 Thread acton393
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev 452c4d7d2 -> 5894ef6b6


* [jsfm] fix normalize method in tast center


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

Branch: refs/heads/0.16-dev
Commit: e3879ee77cb1d51290241cff48164af2645bbeb9
Parents: fe8e8ed
Author: Hanks 
Authored: Wed Aug 9 17:31:43 2017 +0800
Committer: Hanks 
Committed: Wed Aug 9 17:31:43 2017 +0800

--
 html5/runtime/task-center.js | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e3879ee7/html5/runtime/task-center.js
--
diff --git a/html5/runtime/task-center.js b/html5/runtime/task-center.js
index b2f960f..d504891 100644
--- a/html5/runtime/task-center.js
+++ b/html5/runtime/task-center.js
@@ -53,14 +53,12 @@ export class TaskCenter {
   normalize (v) {
 const type = typof(v)
 
-if (v instanceof Element) {
+if (v && v instanceof Element) {
   return v.ref
 }
-
-if (v._isVue && v.$el instanceof Element) {
+if (v && v._isVue && v.$el instanceof Element) {
   return v.$el.ref
 }
-
 if (type === 'Function') {
   return this.callbackManager.add(v).toString()
 }



[GitHub] incubator-weex pull request #585: + [ios] support call native directly

2017-08-10 Thread acton393
Github user acton393 commented on a diff in the pull request:

https://github.com/apache/incubator-weex/pull/585#discussion_r132384096
  
--- Diff: ios/playground/WeexDemo/WXExtendCallNativeTest.h ---
@@ -0,0 +1,14 @@
+//
+//  WXExtendCallNativeTest.h
+//  WeexDemo
+//
+//  Created by 齐山 on 2017/7/27.
+//  Copyright © 2017年 taobao. All rights reserved.
+//
+
+#import 
--- End diff --

the file header may change to the template 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[1/8] incubator-weex git commit: + [ios] add array buffer support

2017-08-10 Thread acton393
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev 5894ef6b6 -> e37769951


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fd8f1770/pre-build/native-bundle-main.js
--
diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js
index e24c730..c301681 100644
--- a/pre-build/native-bundle-main.js
+++ b/pre-build/native-bundle-main.js
@@ -1,8 +1,26016 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.21.4, 
Build 2017-07-26 11:48."),this.getJSFMVersion=function(){return"0.21.4"};var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&?define(t):t()}(0,function(){"use strict";function 
e(e){Jn.Document=e.Document,Jn.Element=e.Element,Jn.Comment=e.Comment,Jn.sendTasks=e.sendTasks}function
 t(e){}function n(e){}function r(e){}function o(e,t,n){}function 
i(e,t,n,r,o){var i=new 
Jn.Document(e,n.bundleUrl),a={},s=0;i.addCallback=function(e){return 
s++,a[s]=e,s},i.handleCallback=function(e,t,n){var r=a[e];return n& 
a[e],r(t)},Hn[e]=i;var 
u=Object.assign({Document:Jn.Document,Element:Jn.Element,Comment:Jn.Comment,sendTasks:Jn.sendTasks,id:e,options:n,data:r,document:i},o),c=[],l=[];for(var
 f in u)c.push(f),l.push(u[f]);return 
c.push(t),(new(Function.prototype.bind.apply(Function,[null].concat(c.apply
 (void 0,l)}function a(e,t){}function s(e){delete Hn[e]}function u(e){return 
Hn[e].body.toJSON()}function c(e,t){var n={fireEvent:function(e,t,n,r,o){var 
i=Hn[e],a=i.getRef(t);return 
i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return 
Hn[e].handleCallback(t,n,r)}};if(Hn[e]&(t)){var r=[];return 
t.forEach(function(t){var o=n[t.method],i=[].concat(t.args);"function"==typeof 
o&&(i.unshift(e),r.push(o.apply(void 0,i)))}),r}}function l(e){return 
e&__esModule?e.default:e}function f(e,t){return 
t={exports:{}},e(t,t.exports),t.exports}function d(e){console.warn("[JS 
Framework] Vm#$ is deprecated, please use Vm#$vm instead");var 
t=this._ids[e];if(t)return t.vm}function p(e){var t=this._ids[e];if(t)return 
t.el}function h(e){var t=this._ids[e];if(t)return t.vm}function v(e){return 
this._app.differ.then(function(){e()})}function m(e,t){console.warn("[JS 
Framework] Vm#$scrollTo is deprecated, please use 
\"require('@weex-module/dom').scrollTo(el, options)\" instead");var n=this
 
.$el(e);if(n){this._app.requireModule("dom").scrollToElement(n.ref,{offset:t})}}function
 y(e,t,n){var 
r=this,o=this.$el(e);if(o&&){this._app.requireModule("animation").transition(o.ref,t,function(){for(var
 
e=[],i=arguments.length;i--;)e[i]=arguments[i];r._setStyle(o,t.styles),n&(void
 0,e)})}}function _(e){var t=this._app.options;return"function"==typeof 
e&&(console.warn("[JS Framework] the callback of Vm#$getConfig(callback) is 
deprecated, this api now can directly RETURN config info."),e(t)),t}function 
g(e,t){console.warn("[JS Framework] Vm#$sendHttp is deprecated, please use 
\"require('@weex-module/stream').sendHttp(params, callback)\" 
instead"),this._app.requireModule("stream").sendHttp(e,t)}function 
b(e){console.warn("[JS Framework] Vm#$openURL is deprecated, please use 
\"require('@weex-module/event').openURL(url)\" 
instead"),this._app.requireModule("event").openURL(e)}function 
w(e){console.warn("[JS Framework] Vm#$setTitle is deprecated, please use 
\"require(
 '@weex-module/pageInfo').setTitle(title)\" 
instead"),this._app.requireModule("pageInfo").setTitle(e)}function 
O(e,t){for(var n=[],r=arguments.length-2;r-- 
>0;)n[r]=arguments[r+2];console.warn("[JS Framework] Vm#$call is deprecated, 
please use \"require('@weex-module/moduleName')\" instead");var 
o=this._app.requireModule(e);o&[t]&[t].apply(o,n)}function E(e){for(var 
t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if("function"==typeof 
Object.assign)Object.assign.apply(Object,[e].concat(t));else{var 
r=t.shift();for(var o in r)e[o]=r[o];t.length&(void 
0,[e].concat(t))}return e}function 
x(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function
 S(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}function 
C(e,t){return wr.call(e,t)}function k(e,t){return function(n){var 
r=arguments.length;return 
r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}}function j(e){return 
null!==e&&"object"==typeof e}function A(e){retur
 n Or.call(e)===Er}function I(e){var t=(e+"").charCodeAt(0);return 
36===t||95===t}function T(){return"object"==typeof 
nativeSet?nativeSet.create():new zn}function N(e){var 
t=Object.prototype.toString.call(e);return 
t.substring(8,t.length-1).toLowerCase()}function P(e){return 
e.replace(Sr,"").replace(Cr,"")}function M(e){return e.replace(jr,"")}function 
$(){this.id=Pr++,this.subs=[]}function 
R(e){$.target&($.target),$.target=e}function 
D(){$.target=Mr.pop()}function F(){$.target=null,Mr=[]}function 
L(e,t,n,r){r&(this,r);var 

[GitHub] incubator-weex pull request #588: [jsfm] Release v0.21.8

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/588


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[07/12] incubator-weex git commit: * [jsfm] publish weex-js-runtime@0.21.8

2017-08-10 Thread acton393
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a7266a2c/packages/weex-js-runtime/index.min.js
--
diff --git a/packages/weex-js-runtime/index.min.js 
b/packages/weex-js-runtime/index.min.js
index 1466f7e..5219876 100644
--- a/packages/weex-js-runtime/index.min.js
+++ b/packages/weex-js-runtime/index.min.js
@@ -1 +1 @@
-this.getJSFMVersion=function(){return"0.20.6"};var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof 
define&?define(t):e.WeexRuntime=t()}(this,function(){"use 
strict";function e(e,t){return t={exports:{}},e(t,t.exports),t.exports}function 
t(){so.forEach(function(e){var 
t=so.indexOf(e);uo[e]={},so.forEach(function(n){so.indexOf(n)<=t&&(uo[e][n]=!0)})})}function
 n(e){var t=global.WXEnvironment&||"log";return 
uo[t]&[t][e]}function r(e){return e.map(function(e){return e="[object 
object]"===Object.prototype.toString.call(e).toLowerCase()?JSON.stringify(e):String(e)})}function
 o(){if(void 0===setTimeout&&"function"==typeof ho){var 
e={},t=0;global.setTimeout=function(n,r){e[++t]=n,ho(t.toString(),r)},global.setTimeoutCallback=function(t){"function"==typeof
 e[t]&&(e[t](),delete e[t])}}}function i(){Object.freeze(Object),Object.freeze(A
 
rray),c(),Object.freeze(Array.prototype),Object.freeze(String.prototype),Object.freeze(Number.prototype),Object.freeze(Boolean.prototype),a(),Object.freeze(Date.prototype),Object.freeze(RegExp.prototype)}function
 c(){var 
e=Object.prototype,t="Object.prototype";s(e,"__defineGetter__",t),s(e,"__defineSetter__",t),s(e,"__lookupGetter__",t),s(e,"__lookupSetter__",t),s(e,"constructor",t),s(e,"hasOwnProperty",t),s(e,"isPrototypeOf",t),s(e,"propertyIsEnumerable",t),s(e,"toLocaleString",t),s(e,"toString",t),s(e,"valueOf",t),Object.seal(e)}function
 a(){var 
e=Error.prototype,t="Error.prototype";s(e,"name",t),s(e,"message",t),s(e,"toString",t),s(e,"constructor",t),Object.seal(e)}function
 s(e,t,n){if(e.hasOwnProperty(t)){var 
r=e[t];Object.defineProperty(e,t,{get:function(){return 
r},set:function(r){if(this===e)throw Error("Cannot assign to read only property 
"+t+" of "+n);return 
Object.defineProperty(this,t,{value:r,writable:!0}),r}})}}function 
u(e,t){e&&(vo[e]=t)}function l(e){return vo[e]}fun
 ction f(e){delete vo[e]}function d(e){var t=vo[e];return 
t&?t.taskCenter:null}function h(){return(yo++).toString()}function 
p(e,t,n){var 
r=e.documentElement;if(!(r.pureChildren.length>0||t.parentNode)){var 
o=r.children,i=o.indexOf(n);i<0?o.push(t):o.splice(i,0,t),1===t.nodeType?("body"===t.role?(t.docId=e.id,t.ownerDocument=e,t.parentNode=r,m(t,r)):(t.children.forEach(function(e){e.parentNode=t}),y(e,t),t.docId=e.id,t.ownerDocument=e,m(t,r),delete
 
e.nodeMap[t.nodeId]),r.pureChildren.push(t),v(e,t)):(t.parentNode=r,e.nodeMap[t.ref]=t)}}function
 v(e,t){var n=t.toJSON(),r=n.children;delete n.children;var 
o=e.taskCenter.send("dom",{action:"createBody"},[n]);return 
r&(function(t){o=e.taskCenter.send("dom",{action:"addElement"},[n.ref,t,-1])}),o}function
 y(e,t){t.role="body",t.depth=1,delete 
e.nodeMap[t.nodeId],t.ref="_root",e.nodeMap._root=t,e.body=t}function 
m(e,t){e.parentNode=t,t.docId&&(e.docId=t.docId,e.ownerDocument=t.ownerDocument,e.ownerDocument.nodeMap[e.n
 odeId]=e,e.depth=t.depth+1),e.children.forEach(function(t){m(t,e)})}function 
g(e){for(;e;){if(1===e.nodeType)return e;e=e.nextSibling}}function 
b(e){for(;e;){if(1===e.nodeType)return e;e=e.previousSibling}}function 
_(e,t,n,r){n<0&&(n=0);var o=t[n-1],i=t[n];return 
t.splice(n,0,e),r&&(o&&(o.nextSibling=e),e.previousSibling=o,e.nextSibling=i,i&&(i.previousSibling=e)),n}function
 O(e,t,n,r){var o=t.indexOf(e);if(o<0)return-1;if(r){var 
i=t[o-1],c=t[o+1];i&&(i.nextSibling=c),c&&(c.previousSibling=i)}t.splice(o,1);var
 a=n;o<=n&&(a=n-1);var s=t[a-1],u=t[a];return 
t.splice(a,0,e),r&&(s&&(s.nextSibling=e),e.previousSibling=s,e.nextSibling=u,u&&(u.previousSibling=e)),o===a?-1:n}function
 S(e,t,n){var r=t.indexOf(e);if(!(r<0)){if(n){var 
o=t[r-1],i=t[r+1];o&&(o.nextSibling=i),i&&(i.previousSibling=o)}t.splice(r,1)}}function
 
E(){this.nodeId=h(),this.ref=this.nodeId,this.children=[],this.pureChildren=[],this.parentNode=null,this.nextSibling=null,this.previousSibling=null}function
 w(e,t){if(t&
 th){var 
n=function(t){mo.call(this,e,t,!0)};n.prototype=Object.create(mo.prototype),Object.defineProperty(n.prototype,"constructor",{configurable:!1,enumerable:!1,writable:!1,value:mo}),t.forEach(function(t){n.prototype[t]=function(){for(var
 n=[],r=arguments.length;r--;)n[r]=arguments[r];var o=d(this.docId);if(o)return 
o.send("component",{ref:this.ref,component:e,method:t},n)}}),go[e]=n}}function 
j(e,t,n){void 0===e&&(e=bo);var r=go[e];if(r&&!n)return new 

[08/12] incubator-weex git commit: * [jsfm] publish weex-js-runtime@0.21.8

2017-08-10 Thread acton393
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a7266a2c/packages/weex-js-runtime/index.js
--
diff --git a/packages/weex-js-runtime/index.js 
b/packages/weex-js-runtime/index.js
index ff5f91a..c765528 100644
--- a/packages/weex-js-runtime/index.js
+++ b/packages/weex-js-runtime/index.js
@@ -1,6 +1,6 @@
-/* 'WEEX JS RUNTIME 0.20.6, Build 2017-08-01 19:09. */
+/* 'WEEX JS RUNTIME 0.21.8, Build 2017-08-10 14:46. */
 
-;(this.getJSFMVersion = function(){return "0.20.6"});
+;(this.getJSFMVersion = function(){return "0.21.8"});
 var global = this, process = { env: {} };var setTimeout = global.setTimeout;
 
 (function (global, factory) {
@@ -128,76 +128,79 @@ function createCommonjsModule(fn, module) {
 var _global = createCommonjsModule(function (module) {
 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
 var global = module.exports = typeof window != 'undefined' && window.Math == 
Math
-  ? window : typeof self != 'undefined' && self.Math == Math ? self : 
Function('return this')();
-if(typeof __g == 'number'){ __g = global; } // eslint-disable-line no-undef
+  ? window : typeof self != 'undefined' && self.Math == Math ? self
+  // eslint-disable-next-line no-new-func
+  : Function('return this')();
+if (typeof __g == 'number') { __g = global; } // eslint-disable-line no-undef
 });
 
 var _core = createCommonjsModule(function (module) {
-var core = module.exports = {version: '2.4.0'};
-if(typeof __e == 'number'){ __e = core; } // eslint-disable-line no-undef
+var core = module.exports = { version: '2.5.0' };
+if (typeof __e == 'number') { __e = core; } // eslint-disable-line no-undef
 });
 
-var _isObject = function(it){
+var _isObject = function (it) {
   return typeof it === 'object' ? it !== null : typeof it === 'function';
 };
 
 var isObject = _isObject;
-var _anObject = function(it){
-  if(!isObject(it)){ throw TypeError(it + ' is not an object!'); }
+var _anObject = function (it) {
+  if (!isObject(it)) { throw TypeError(it + ' is not an object!'); }
   return it;
 };
 
-var _fails = function(exec){
+var _fails = function (exec) {
   try {
 return !!exec();
-  } catch(e){
+  } catch (e) {
 return true;
   }
 };
 
 // Thank's IE8 for his funny defineProperty
-var _descriptors = !_fails(function(){
-  return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
+var _descriptors = !_fails(function () {
+  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a 
!= 7;
 });
 
 var isObject$1 = _isObject;
 var document$1 = _global.document;
+// typeof document.createElement is 'object' in old IE
 var is = isObject$1(document$1) && isObject$1(document$1.createElement);
-var _domCreate = function(it){
+var _domCreate = function (it) {
   return is ? document$1.createElement(it) : {};
 };
 
-var _ie8DomDefine = !_descriptors && !_fails(function(){
-  return Object.defineProperty(_domCreate('div'), 'a', {get: function(){ 
return 7; }}).a != 7;
+var _ie8DomDefine = !_descriptors && !_fails(function () {
+  return Object.defineProperty(_domCreate('div'), 'a', { get: function () { 
return 7; } }).a != 7;
 });
 
 // 7.1.1 ToPrimitive(input [, PreferredType])
 var isObject$2 = _isObject;
 // instead of the ES6 spec version, we didn't implement @@toPrimitive case
 // and the second argument - flag - preferred type is a string
-var _toPrimitive = function(it, S){
-  if(!isObject$2(it)){ return it; }
+var _toPrimitive = function (it, S) {
+  if (!isObject$2(it)) { return it; }
   var fn, val;
-  if(S && typeof (fn = it.toString) == 'function' && !isObject$2(val = 
fn.call(it))){ return val; }
-  if(typeof (fn = it.valueOf) == 'function' && !isObject$2(val = 
fn.call(it))){ return val; }
-  if(!S && typeof (fn = it.toString) == 'function' && !isObject$2(val = 
fn.call(it))){ return val; }
+  if (S && typeof (fn = it.toString) == 'function' && !isObject$2(val = 
fn.call(it))) { return val; }
+  if (typeof (fn = it.valueOf) == 'function' && !isObject$2(val = 
fn.call(it))) { return val; }
+  if (!S && typeof (fn = it.toString) == 'function' && !isObject$2(val = 
fn.call(it))) { return val; }
   throw TypeError("Can't convert object to primitive value");
 };
 
-var anObject   = _anObject;
+var anObject = _anObject;
 var IE8_DOM_DEFINE = _ie8DomDefine;
-var toPrimitive= _toPrimitive;
-var dP$1 = Object.defineProperty;
+var toPrimitive = _toPrimitive;
+var dP$1 = Object.defineProperty;
 
-var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, 
Attributes){
+var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, 
Attributes) {
   anObject(O);
   P = toPrimitive(P, true);
   anObject(Attributes);
-  if(IE8_DOM_DEFINE){ try {
+  if (IE8_DOM_DEFINE) { try {
 return dP$1(O, P, Attributes);
-  } catch(e){ /* empty */ } }
-  if('get' in Attributes || 'set' in Attributes){ throw TypeError('Accessors 
not supported!'); }
- 

[05/12] incubator-weex git commit: * [jsfm] publish weex-js-framework@0.21.8

2017-08-10 Thread acton393
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/272454c4/packages/weex-js-framework/index.js
--
diff --git a/packages/weex-js-framework/index.js 
b/packages/weex-js-framework/index.js
index 21afb62..e868002 100644
--- a/packages/weex-js-framework/index.js
+++ b/packages/weex-js-framework/index.js
@@ -1,5 +1,5 @@
-(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.20.6, 
Build 2017-08-01 19:09.');
-;(this.getJSFMVersion = function(){return "0.20.6"});
+(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.21.8, 
Build 2017-08-10 14:43.');
+;(this.getJSFMVersion = function(){return "0.21.8"});
 var global = this, process = { env: {} };var setTimeout = global.setTimeout;
 
 (function (global, factory) {
@@ -8,7 +8,7 @@ var global = this, process = { env: {} };var setTimeout = 
global.setTimeout;
(factory());
 }(this, (function () { 'use strict';
 
-var subversion = 
{"browser":"0.5.0","framework":"0.20.6","vue-render":"0.12.1","transformer":">=0.1.5
 <0.5"};
+var subversion = 
{"browser":"0.5.0","framework":"0.21.8","vue-render":"0.12.3","transformer":">=0.1.5
 <0.5"};
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -131,76 +131,79 @@ function createCommonjsModule(fn, module) {
 var _global = createCommonjsModule(function (module) {
 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
 var global = module.exports = typeof window != 'undefined' && window.Math == 
Math
-  ? window : typeof self != 'undefined' && self.Math == Math ? self : 
Function('return this')();
-if(typeof __g == 'number'){ __g = global; } // eslint-disable-line no-undef
+  ? window : typeof self != 'undefined' && self.Math == Math ? self
+  // eslint-disable-next-line no-new-func
+  : Function('return this')();
+if (typeof __g == 'number') { __g = global; } // eslint-disable-line no-undef
 });
 
 var _core = createCommonjsModule(function (module) {
-var core = module.exports = {version: '2.4.0'};
-if(typeof __e == 'number'){ __e = core; } // eslint-disable-line no-undef
+var core = module.exports = { version: '2.5.0' };
+if (typeof __e == 'number') { __e = core; } // eslint-disable-line no-undef
 });
 
-var _isObject = function(it){
+var _isObject = function (it) {
   return typeof it === 'object' ? it !== null : typeof it === 'function';
 };
 
 var isObject = _isObject;
-var _anObject = function(it){
-  if(!isObject(it)){ throw TypeError(it + ' is not an object!'); }
+var _anObject = function (it) {
+  if (!isObject(it)) { throw TypeError(it + ' is not an object!'); }
   return it;
 };
 
-var _fails = function(exec){
+var _fails = function (exec) {
   try {
 return !!exec();
-  } catch(e){
+  } catch (e) {
 return true;
   }
 };
 
 // Thank's IE8 for his funny defineProperty
-var _descriptors = !_fails(function(){
-  return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
+var _descriptors = !_fails(function () {
+  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a 
!= 7;
 });
 
 var isObject$1 = _isObject;
 var document$1 = _global.document;
+// typeof document.createElement is 'object' in old IE
 var is = isObject$1(document$1) && isObject$1(document$1.createElement);
-var _domCreate = function(it){
+var _domCreate = function (it) {
   return is ? document$1.createElement(it) : {};
 };
 
-var _ie8DomDefine = !_descriptors && !_fails(function(){
-  return Object.defineProperty(_domCreate('div'), 'a', {get: function(){ 
return 7; }}).a != 7;
+var _ie8DomDefine = !_descriptors && !_fails(function () {
+  return Object.defineProperty(_domCreate('div'), 'a', { get: function () { 
return 7; } }).a != 7;
 });
 
 // 7.1.1 ToPrimitive(input [, PreferredType])
 var isObject$2 = _isObject;
 // instead of the ES6 spec version, we didn't implement @@toPrimitive case
 // and the second argument - flag - preferred type is a string
-var _toPrimitive = function(it, S){
-  if(!isObject$2(it)){ return it; }
+var _toPrimitive = function (it, S) {
+  if (!isObject$2(it)) { return it; }
   var fn, val;
-  if(S && typeof (fn = it.toString) == 'function' && !isObject$2(val = 
fn.call(it))){ return val; }
-  if(typeof (fn = it.valueOf) == 'function' && !isObject$2(val = 
fn.call(it))){ return val; }
-  if(!S && typeof (fn = it.toString) == 'function' && !isObject$2(val = 
fn.call(it))){ return val; }
+  if (S && typeof (fn = it.toString) == 'function' && !isObject$2(val = 
fn.call(it))) { return val; }
+  if (typeof (fn = it.valueOf) == 'function' && !isObject$2(val = 
fn.call(it))) { return val; }
+  if (!S && typeof (fn = it.toString) == 'function' && !isObject$2(val = 
fn.call(it))) { return val; }
   throw TypeError("Can't convert object to primitive value");
 };
 
-var anObject   = _anObject;
+var anObject = _anObject;
 var IE8_DOM_DEFINE = _ie8DomDefine;
-var toPrimitive= _toPrimitive;
-var dP$1 = 

[09/12] incubator-weex git commit: * [jsfm] publish weex-js-runtime@0.21.8

2017-08-10 Thread acton393
* [jsfm] publish weex-js-runtime@0.21.8


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

Branch: refs/heads/0.16-dev
Commit: a7266a2c8db92a6d3ae769bf17afa393aa3c69e5
Parents: 272454c
Author: Hanks 
Authored: Thu Aug 10 14:47:52 2017 +0800
Committer: Hanks 
Committed: Thu Aug 10 14:47:52 2017 +0800

--
 packages/weex-js-runtime/index.js| 1436 ++---
 packages/weex-js-runtime/index.min.js|2 +-
 packages/weex-js-runtime/index.min.js.gz |  Bin 12588 -> 13215 bytes
 packages/weex-js-runtime/package.json|2 +-
 4 files changed, 811 insertions(+), 629 deletions(-)
--




[02/12] incubator-weex git commit: Merge branch '0.16-dev' into jsfm-feature-0.21.8

2017-08-10 Thread acton393
Merge branch '0.16-dev' into jsfm-feature-0.21.8


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

Branch: refs/heads/0.16-dev
Commit: 08033f25a32b69b5c36abd7578bc4f55a2e98cc4
Parents: e3879ee 8b9845e
Author: Hanks 
Authored: Thu Aug 10 14:35:48 2017 +0800
Committer: Hanks 
Committed: Thu Aug 10 14:35:48 2017 +0800

--
 .../java/com/taobao/weex/bridge/WXBridge.java   |   8 +-
 .../com/taobao/weex/bridge/WXBridgeManager.java |  36 +++-
 .../taobao/weex/bridge/WXValidateProcessor.java |   7 +-
 .../java/com/taobao/weex/dom/WXDomObject.java   |  17 +-
 .../dom/action/AbstractAddElementAction.java|   2 +-
 build/karma.vue.conf.js |   2 +-
 examples/vue/components/scroller.vue|   9 +-
 examples/vue/modules/picker.vue | 149 ++---
 html5/render/vue/README.md  |  15 ++
 html5/render/vue/components/image.js|  58 +-
 .../vue/components/scrollable/scroller.js   |   8 +-
 .../render/vue/components/scrollable/style.css  |   5 +
 html5/render/vue/config.js  |  10 +-
 html5/render/vue/core/node.js   |  27 ++-
 html5/render/vue/lib/gesture.js |   6 +
 html5/render/vue/modules/dom.js |  97 -
 html5/render/vue/modules/modal/toast.js |  23 +-
 html5/test/render/vue/core/node.js  |   2 +
 html5/test/render/vue/modules/dom.js|  17 +-
 ios/.gitignore  |   1 +
 ios/playground/Podfile  |   2 +-
 .../WeexDemo.xcodeproj/project.pbxproj  |  24 ++-
 ios/playground/WeexDemo/AppDelegate.m   |   8 +-
 ios/playground/WeexDemo/WXDemoViewController.m  |   2 -
 ios/playground/WeexDemo/WXExtModule.h   |  26 +++
 ios/playground/WeexDemo/WXExtModule.m   |  43 
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   |  12 +-
 .../Component/Recycler/WXRecyclerComponent.m|  58 +-
 .../Recycler/WXRecyclerDragController.h |  52 +
 .../Recycler/WXRecyclerDragController.m | 208 +++
 .../WeexSDK/Sources/Component/WXEditComponent.m |  11 +-
 .../Sources/Component/WXImageComponent.m| 173 ---
 .../Sources/Component/WXTextAreaComponent.m |   2 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.h |   1 +
 ios/sdk/WeexSDK/Sources/Component/WXTransform.m |  33 ++-
 .../WeexSDK/Sources/Loader/WXResourceLoader.m   |   2 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |   1 +
 .../WeexSDK/Sources/Module/WXAnimationModule.m  |   5 +
 .../Sources/Network/WXResourceResponse.h|   2 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDefine.h  |   2 +
 ios/sdk/WeexSDK/Sources/WeexSDK.h   |   1 +
 package.json|  12 +-
 packages/weex-vue-render/README.md  |  15 ++
 packages/weex-vue-render/package.json   |   2 +-
 pre-build/native-bundle-main.js |  16 +-
 test/pages/components/hyperlink_target.vue  |   1 +
 test/pages/components/iconfont.vue  |  71 +++
 test/pages/components/input-event.vue   |  65 ++
 test/pages/components/refresh-loading.vue   | 115 ++
 test/pages/components/switch-event.vue  |  60 ++
 test/pages/components/web-event.vue |  56 +
 test/pages/include/button.vue   | 162 +++
 test/pages/include/h1.vue   |  13 ++
 test/pages/include/h2.vue   |  13 ++
 test/pages/include/h3.vue   |  13 ++
 test/pages/include/hn.vue   |  47 +
 test/pages/include/panel.vue| 141 +
 test/pages/include/wxc-desc.vue |  66 ++
 test/pages/modules/animation-translate.vue  | 129 
 test/pages/modules/clipboard-event.vue  |  57 +
 test/pages/modules/cover-generate.vue   |  53 +
 test/pages/modules/downgrade-event.vue  |  74 +++
 test/pages/modules/gesture-longpress.vue|  75 +++
 test/pages/modules/modal-event.vue  |  61 ++
 test/pages/modules/picker-event.vue |  63 ++
 test/pages/modules/storage-event.vue|  59 ++
 test/pages/modules/stream-result.vue|  85 
 test/run.sh |  30 ++-
 test/screenshot/border-android.png  | Bin 156247 -> 158634 bytes
 test/scripts/components/iconfont.test.js|  34 +++
 test/scripts/components/input-event.test.js |  36 
 

[11/12] incubator-weex git commit: * [jsfm] release v0.21.8

2017-08-10 Thread acton393
* [jsfm] release v0.21.8


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

Branch: refs/heads/0.16-dev
Commit: 4cf9b1ba02f8e69a119ae370193a3d4f7f1a40a7
Parents: a7266a2
Author: Hanks 
Authored: Thu Aug 10 14:48:31 2017 +0800
Committer: Hanks 
Committed: Thu Aug 10 14:48:31 2017 +0800

--
 package.json|  2 +-
 pre-build/native-bundle-main.js | 16 
 2 files changed, 9 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4cf9b1ba/package.json
--
diff --git a/package.json b/package.json
index 80b6083..70c4015 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
   "version": "0.12.2",
   "subversion": {
 "browser": "0.5.0",
-"framework": "0.21.7",
+"framework": "0.21.8",
 "vue-render": "0.12.3",
 "transformer": ">=0.1.5 <0.5"
   },



[03/12] incubator-weex git commit: * [jsfm] publish weex-js-framework@0.21.8

2017-08-10 Thread acton393
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/272454c4/packages/weex-js-framework/package.json
--
diff --git a/packages/weex-js-framework/package.json 
b/packages/weex-js-framework/package.json
index 9048b2f..45845be 100644
--- a/packages/weex-js-framework/package.json
+++ b/packages/weex-js-framework/package.json
@@ -1,6 +1,6 @@
 {
   "name": "weex-js-framework",
-  "version": "0.20.6",
+  "version": "0.21.8",
   "description": "Weex JS Framework",
   "main": "index.js",
   "engines": {



[06/12] incubator-weex git commit: * [jsfm] publish weex-js-framework@0.21.8

2017-08-10 Thread acton393
* [jsfm] publish weex-js-framework@0.21.8


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

Branch: refs/heads/0.16-dev
Commit: 272454c4212e316221d2bf4213ee7816f0e17c29
Parents: 08033f2
Author: Hanks 
Authored: Thu Aug 10 14:46:17 2017 +0800
Committer: Hanks 
Committed: Thu Aug 10 14:46:17 2017 +0800

--
 packages/weex-js-framework/index.js | 16073 +
 packages/weex-js-framework/index.min.js | 2 +-
 packages/weex-js-framework/package.json | 2 +-
 3 files changed, 8464 insertions(+), 7613 deletions(-)
--




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

2017-08-10 Thread acton393
Merge branch '0.16-dev' of 
https://git-wip-us.apache.org/repos/asf/incubator-weex into wip-us-0.16-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/5894ef6b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5894ef6b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5894ef6b

Branch: refs/heads/0.16-dev
Commit: 5894ef6b6ce1933ef57f996a00dca093f4c522e2
Parents: 4cf9b1b 452c4d7
Author: acton393 
Authored: Thu Aug 10 15:36:01 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 15:36:01 2017 +0800

--
 .travis.yml |  8 +-
 android/build.gradle|  8 +-
 .../java/com/taobao/weex/common/Constants.java  |  1 +
 .../com/taobao/weex/dom/WXTextDomObject.java| 91 +---
 .../taobao/weex/dom/action/AnimationAction.java |  1 +
 .../ui/animation/CameraDistanceProperty.java| 54 
 .../weex/ui/animation/WXAnimationBean.java  | 86 --
 .../taobao/weex/ui/component/WXComponent.java   | 16 
 .../java/com/taobao/weex/utils/WXViewUtils.java |  4 +-
 9 files changed, 187 insertions(+), 82 deletions(-)
--




[GitHub] incubator-weex pull request #589: [android] fix android input , autoforce no...

2017-08-10 Thread wispy316
GitHub user wispy316 opened a pull request:

https://github.com/apache/incubator-weex/pull/589

[android] fix android input , autoforce not work on some device.

RT.

For render delay reason, when the view is not created, the SHOW_IMPLICIT 
not works on some android devices.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/wispy316/incubator-weex 0.16-dev

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-weex/pull/589.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #589


commit 475d64ed8dda15f48f2fb96a1d1c4f671fab6fb5
Author: 行久 
Date:   2017-08-10T08:55:31Z

[android] fix android input , autoforce not work on some device.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex pull request #590: Add some attribute value in monitor

2017-08-10 Thread boboning
GitHub user boboning opened a pull request:

https://github.com/apache/incubator-weex/pull/590

Add some attribute value in monitor



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/boboning/incubator-weex 0.16-dev

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-weex/pull/590.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #590


commit 2f47530604e82138bf5fd3994d144ef8e4d5f5c8
Author: boboning 
Date:   2017-08-10T09:04:08Z

*[ios] add some attribute value  in monitor

commit 3d84ec8e27df68a0155f4e4fa27e1b8afa80abb6
Author: boboning 
Date:   2017-08-10T09:08:44Z

Merge remote-tracking branch 'upstream/0.16-dev' into 0.16-dev




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #522: 0.13 dev why download ios SDK not find WeexSDK.po...

2017-08-10 Thread acton393
Github user acton393 commented on the issue:

https://github.com/apache/incubator-weex/pull/522
  
hi @MrDragonn  [mail list ](https://github.com/alibaba/weex#for-chinese) 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


incubator-weex git commit: * [ios] update weexSDK project settings

2017-08-10 Thread acton393
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev 80f20145f -> 63c9c8624


* [ios] update weexSDK project settings


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

Branch: refs/heads/0.16-dev
Commit: 63c9c8624c9fd61b8721336e87185a214bd3a8c9
Parents: 80f2014
Author: acton393 
Authored: Thu Aug 10 18:10:06 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 18:10:06 2017 +0800

--
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/63c9c862/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
--
diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj 
b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index 944cbf5..40d2dc4 100644
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@ -278,6 +278,8 @@
DC6836E61EBB12B200AD2D84 /* WXConfigCenterProtocol.h in Headers 
*/ = {isa = PBXBuildFile; fileRef = DC6836E51EBB12B200AD2D84 /* 
WXConfigCenterProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
DC7764931F3C2CA300B5727E /* WXRecyclerDragController.m in 
Sources */ = {isa = PBXBuildFile; fileRef = DC7764911F3C2CA300B5727E /* 
WXRecyclerDragController.m */; };
DC7764941F3C2CA300B5727E /* WXRecyclerDragController.h in 
Headers */ = {isa = PBXBuildFile; fileRef = DC7764921F3C2CA300B5727E /* 
WXRecyclerDragController.h */; };
+   DC7764951F3C685200B5727E /* WXRecyclerDragController.m in 
Sources */ = {isa = PBXBuildFile; fileRef = DC7764911F3C2CA300B5727E /* 
WXRecyclerDragController.m */; };
+   DC7764961F3C685600B5727E /* WXRecyclerDragController.h in 
Headers */ = {isa = PBXBuildFile; fileRef = DC7764921F3C2CA300B5727E /* 
WXRecyclerDragController.h */; };
DC9867441D826D1E000AF388 /* GLKit.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = DC9867431D826D1E000AF388 /* GLKit.framework */; 
};
DC9F46831D61AC8800A88239 /* WXStreamModuleTests.m in Sources */ 
= {isa = PBXBuildFile; fileRef = DC9F46821D61AC8800A88239 /* 
WXStreamModuleTests.m */; };
DC9F46871D61BA8C00A88239 /* wx_load_er...@3x.png in Resources 
*/ = {isa = PBXBuildFile; fileRef = 59AC02501D2A7E6E00355112 /* 
wx_load_er...@3x.png */; };
@@ -1699,6 +1701,7 @@
DCA446101EFA5A8500D0CFA8 /* WXBridgeMethod.h in 
Headers */,
DCA446171EFA5A9900D0CFA8 /* WXPolyfillSet.h in 
Headers */,
DCA446291EFA688B00D0CFA8 /* WeexSDK.h in 
Headers */,
+   DC7764961F3C685600B5727E /* 
WXRecyclerDragController.h in Headers */,
DCA446161EFA5A9600D0CFA8 /* WXJSCoreBridge.h in 
Headers */,
DCA445F51EFA5A2A00D0CFA8 /* 
WXURLRewriteDefaultImpl.h in Headers */,
DCA445CF1EFA593A00D0CFA8 /* WXInnerLayer.h in 
Headers */,
@@ -2137,6 +2140,7 @@
DCA4453A1EFA55B300D0CFA8 /* WXView.m in Sources 
*/,
DCA4453B1EFA55B300D0CFA8 /* WXErrorView.m in 
Sources */,
DCA4453C1EFA55B300D0CFA8 /* 
WXComponent+ViewManagement.m in Sources */,
+   DC7764951F3C685200B5727E /* 
WXRecyclerDragController.m in Sources */,
DCA4453D1EFA55B300D0CFA8 /* WXRootView.m in 
Sources */,
DCA4453E1EFA55B300D0CFA8 /* 
WXBaseViewController.m in Sources */,
DCA4453F1EFA55B300D0CFA8 /* 
WXRootViewController.m in Sources */,



[GitHub] incubator-weex pull request #591: Add 32-bit device support.

2017-08-10 Thread DavidYang1121
GitHub user DavidYang1121 opened a pull request:

https://github.com/apache/incubator-weex/pull/591

Add 32-bit device support.






You can merge this pull request into a Git repository by running:

$ git pull https://github.com/DavidYang1121/incubator-weex dev

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-weex/pull/591.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #591


commit cfe067a279049dac9c28db617b0d6686ebbdae5c
Author: DavidYang 
Date:   2017-08-10T11:21:13Z

Add 32-bit device support.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #567: add 32 bit device support

2017-08-10 Thread DavidYang1121
Github user DavidYang1121 commented on the issue:

https://github.com/apache/incubator-weex/pull/567
  
I have created a new PR on dev brance, please see#591,thx!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex issue #567: add 32 bit device support

2017-08-10 Thread DavidYang1121
Github user DavidYang1121 commented on the issue:

https://github.com/apache/incubator-weex/pull/567
  
I have created a new PR on dev brance, please see#591,thx!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[3/4] incubator-weex git commit: * [ios] update some macro in monitor

2017-08-10 Thread acton393
* [ios] update some macro in monitor


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

Branch: refs/heads/0.16-dev
Commit: 5fa95cec88482aa5859ad1ba3c37135c8d7656c5
Parents: 3d84ec8
Author: boboning 
Authored: Thu Aug 10 17:28:47 2017 +0800
Committer: boboning 
Committed: Thu Aug 10 17:28:47 2017 +0800

--
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m | 8 
 ios/sdk/WeexSDK/Sources/Protocol/WXAppMonitorProtocol.h | 2 ++
 2 files changed, 6 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5fa95cec/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m 
b/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
index 96397dc..99797e0 100644
--- a/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
+++ b/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
@@ -104,12 +104,12 @@ static WXThreadSafeMutableDictionary 
*globalPerformanceDict;
 if (instance.userInfo[@"weex_bundlejs_requestType"]) {
 commitDict[@"requestType"] = 
instance.userInfo[@"weex_bundlejs_requestType"];
 }
-if (instance.userInfo[@"weex_cache_processTime"]) {
-commitDict[@"cacheProcessTime"] = 
instance.userInfo[@"weex_cache_processTime"];
+if (instance.userInfo[CACHEPROCESSTIME]) {
+commitDict[CACHEPROCESSTIME] = instance.userInfo[CACHEPROCESSTIME];
 }
 
-if (instance.userInfo[@"weex_cache_ratio"]) {
-commitDict[@"cacheRatio"] = instance.userInfo[@"weex_cache_ratio"];
+if (instance.userInfo[CACHERATIO]) {
+commitDict[CACHERATIO] = instance.userInfo[CACHERATIO];
 }
 if (instance.userInfo[WXCUSTOMMONITORINFO]) {
 if([instance.userInfo[WXCUSTOMMONITORINFO] isKindOfClass:[NSDictionary 
class]]) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5fa95cec/ios/sdk/WeexSDK/Sources/Protocol/WXAppMonitorProtocol.h
--
diff --git a/ios/sdk/WeexSDK/Sources/Protocol/WXAppMonitorProtocol.h 
b/ios/sdk/WeexSDK/Sources/Protocol/WXAppMonitorProtocol.h
index 6bba638..761ba8e 100644
--- a/ios/sdk/WeexSDK/Sources/Protocol/WXAppMonitorProtocol.h
+++ b/ios/sdk/WeexSDK/Sources/Protocol/WXAppMonitorProtocol.h
@@ -36,6 +36,8 @@
 #define SCREENRENDERTIME@"screenRenderTime"
 #define TOTALTIME   @"totalTime"
 
+#define CACHEPROCESSTIME@"cacheProcessTime"
+#define CACHERATIO  @"cacheRatio"
 
 @protocol WXAppMonitorProtocol 
 



[1/4] incubator-weex git commit: *[ios] add some attribute value in monitor

2017-08-10 Thread acton393
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev c20e93175 -> 80f20145f


*[ios] add some attribute value  in monitor


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

Branch: refs/heads/0.16-dev
Commit: 2f47530604e82138bf5fd3994d144ef8e4d5f5c8
Parents: 5894ef6
Author: boboning 
Authored: Thu Aug 10 17:04:08 2017 +0800
Committer: boboning 
Committed: Thu Aug 10 17:04:08 2017 +0800

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


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f475306/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m 
b/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
index a2a4d6d..96397dc 100644
--- a/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
+++ b/ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m
@@ -104,6 +104,13 @@ static WXThreadSafeMutableDictionary 
*globalPerformanceDict;
 if (instance.userInfo[@"weex_bundlejs_requestType"]) {
 commitDict[@"requestType"] = 
instance.userInfo[@"weex_bundlejs_requestType"];
 }
+if (instance.userInfo[@"weex_cache_processTime"]) {
+commitDict[@"cacheProcessTime"] = 
instance.userInfo[@"weex_cache_processTime"];
+}
+
+if (instance.userInfo[@"weex_cache_ratio"]) {
+commitDict[@"cacheRatio"] = instance.userInfo[@"weex_cache_ratio"];
+}
 if (instance.userInfo[WXCUSTOMMONITORINFO]) {
 if([instance.userInfo[WXCUSTOMMONITORINFO] isKindOfClass:[NSDictionary 
class]]) {
 commitDict[WXCUSTOMMONITORINFO] = [WXUtility 
JSONString:instance.userInfo[WXCUSTOMMONITORINFO]];



[GitHub] incubator-weex pull request #590: Add some attribute value in monitor

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/590


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[4/4] incubator-weex git commit: Merge branch '0.16-dev' of https://github.com/boboning/incubator-weex into wip-us-0.16-dev

2017-08-10 Thread acton393
Merge branch '0.16-dev' of https://github.com/boboning/incubator-weex into 
wip-us-0.16-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/80f20145
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/80f20145
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/80f20145

Branch: refs/heads/0.16-dev
Commit: 80f20145f1c4de51b13c0f11b63ded3260a0cfbc
Parents: c20e931 5fa95ce
Author: acton393 
Authored: Thu Aug 10 18:02:10 2017 +0800
Committer: acton393 
Committed: Thu Aug 10 18:02:10 2017 +0800

--
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m | 7 +++
 ios/sdk/WeexSDK/Sources/Protocol/WXAppMonitorProtocol.h | 2 ++
 2 files changed, 9 insertions(+)
--




[2/4] incubator-weex git commit: Merge remote-tracking branch 'upstream/0.16-dev' into 0.16-dev

2017-08-10 Thread acton393
Merge remote-tracking branch 'upstream/0.16-dev' into 0.16-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/3d84ec8e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3d84ec8e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3d84ec8e

Branch: refs/heads/0.16-dev
Commit: 3d84ec8e27df68a0155f4e4fa27e1b8afa80abb6
Parents: 2f47530 e377699
Author: boboning 
Authored: Thu Aug 10 17:08:44 2017 +0800
Committer: boboning 
Committed: Thu Aug 10 17:08:44 2017 +0800

--
 examples/vue/modules/websocket.vue  | 22 +++-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  |  2 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.m  |  2 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 13 
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  | 16 --
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 12 +++
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 22 
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  |  2 +-
 8 files changed, 85 insertions(+), 6 deletions(-)
--




[GitHub] incubator-weex issue #591: Add 32-bit device support.

2017-08-10 Thread weex-bot
Github user weex-bot commented on the issue:

https://github.com/apache/incubator-weex/pull/591
  




  

  
  Fails

  
  
  :no_entry_sign:
  This PR modify SDK code. Please add/modify corresponding 
testcases. If it is ok, please comment about it. Or put '@notdanger' in you 
commit message.

  




  

  
  Warnings

  
  
  :warning:
  No Changelog changes!

  

  :warning:
  This PR should update related documents as well. 

  





  Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-weex pull request #580: +[ios] add more info for tracing

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/580


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[2/5] incubator-weex git commit: + [ios] update tracing logic

2017-08-10 Thread kfeagle
+ [ios] update tracing logic


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

Branch: refs/heads/0.16-dev
Commit: 4b80dac218e41490e447978e03005a275cbad639
Parents: e4e0f49
Author: 齐山 
Authored: Fri Aug 4 15:40:37 2017 +0800
Committer: 齐山 
Committed: Fri Aug 4 15:40:37 2017 +0800

--
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m|  35 ---
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  10 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.m   |   4 +
 .../Sources/Manager/WXComponentFactory.h|   1 +
 .../Sources/Manager/WXComponentFactory.m|  23 
 .../Sources/Manager/WXComponentManager.m|  18 +++-
 .../WeexSDK/Sources/Manager/WXModuleFactory.h   |   6 ++
 .../WeexSDK/Sources/Manager/WXModuleFactory.m   |  24 +
 .../WeexSDK/Sources/Manager/WXTracingManager.h  |  20 +++-
 .../WeexSDK/Sources/Manager/WXTracingManager.m  | 104 ++-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m |   1 -
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |   6 +-
 .../Sources/View/WXComponent+ViewManagement.m   |   1 -
 13 files changed, 195 insertions(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4b80dac2/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m 
b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
index 781dd05..ca57dc2 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -126,15 +126,16 @@ _Pragma("clang diagnostic pop") \
 if(![weakSelf checkInstance:instance]) {
 return -1;
 }
-
+[WXTracingManager startTracingWithInstanceId:instanceId 
ref:elementData[@"ref"] className:nil name:WXTJSCall phase:WXTracingEnd 
functionName:@"addElement" options:nil];
 WXPerformBlockOnComponentThread(^{
-[WXTracingManager startTracingWithInstanceId:instanceId 
ref:elementData[@"ref"] className:nil name:WXTJSCall phase:WXTracingEnd 
functionName:@"addElement" options:nil];
 WXComponentManager *manager = instance.componentManager;
 if (!manager.isValid) {
 return;
 }
+[WXTracingManager startTracingWithInstanceId:instanceId 
ref:elementData[@"ref"] className:nil name:WXTDomCall phase:WXTracingBegin 
functionName:@"addElement" options:@{@"threadName":WXTDOMThread}];
 [manager startComponentTasks];
 [manager addComponent:elementData toSupercomponent:parentRef 
atIndex:index appendingInTree:NO];
+[WXTracingManager startTracingWithInstanceId:instanceId 
ref:elementData[@"ref"] className:nil name:WXTDomCall phase:WXTracingEnd 
functionName:@"addElement" options:@{@"threadName":WXTDOMThread}];
 });
 
 return 0;
@@ -148,15 +149,17 @@ _Pragma("clang diagnostic pop") \
 if(![weakSelf checkInstance:instance]) {
 return -1;
 }
-
+[WXTracingManager startTracingWithInstanceId:instanceId 
ref:bodyData[@"ref"] className:nil name:WXTJSCall phase:WXTracingEnd 
functionName:@"createBody" options:@{@"threadName":WXTJSBridgeThread}];
 WXPerformBlockOnComponentThread(^{
 WXComponentManager *manager = instance.componentManager;
 if (!manager.isValid) {
 return;
 }
+[WXTracingManager startTracingWithInstanceId:instanceId 
ref:bodyData[@"ref"] className:nil name:WXTDomCall phase:WXTracingBegin 
functionName:@"createBody" options:@{@"threadName":WXTDOMThread}];
 [manager startComponentTasks];
 [manager createRoot:bodyData];
-[WXTracingManager startTracingWithInstanceId:instanceId 
ref:bodyData[@"ref"] className:nil name:WXTJSCall phase:WXTracingEnd 
functionName:@"createBody" options:nil];
+[WXTracingManager startTracingWithInstanceId:instanceId 
ref:bodyData[@"ref"] className:nil name:WXTDomCall phase:WXTracingEnd 
functionName:@"createBody" options:@{@"threadName":WXTDOMThread}];
+
 });
 
 return 0;
@@ -170,15 +173,16 @@ _Pragma("clang diagnostic pop") \
 if(![weakSelf checkInstance:instance]) {
 return -1;
 }
-
+[WXTracingManager startTracingWithInstanceId:instanceId ref:ref 
className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"removeElement" 
options:nil];
 WXPerformBlockOnComponentThread(^{
 

[4/5] incubator-weex git commit: + [ios] add public header for dynamic

2017-08-10 Thread kfeagle
+ [ios] add public header for dynamic


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

Branch: refs/heads/0.16-dev
Commit: 2a1bcbaa9420d9c55c70426cd4419025b03f4100
Parents: 565bab6
Author: 齐山 
Authored: Thu Aug 10 19:32:32 2017 +0800
Committer: 齐山 
Committed: Thu Aug 10 19:32:32 2017 +0800

--
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 4 +++-
 ios/sdk/WeexSDK/Sources/WeexSDK.h | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2a1bcbaa/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
--
diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj 
b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index 0557764..50e2acf 100644
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@ -236,7 +236,8 @@
C401945E1E344E8300D19C31 /* WXFloatCompareTests.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C401945D1E344E8300D19C31 /* 
WXFloatCompareTests.m */; };
C41E1A971DC1FD15009C7F90 /* WXDatePickerManager.h in Headers */ 
= {isa = PBXBuildFile; fileRef = C41E1A951DC1FD15009C7F90 /* 
WXDatePickerManager.h */; };
C41E1A981DC1FD15009C7F90 /* WXDatePickerManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C41E1A961DC1FD15009C7F90 /* 
WXDatePickerManager.m */; };
-   C42E8F9B1F39DF07001EBE9D /* WXTracingProtocol.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C42E8F991F39DF07001EBE9D /* WXTracingProtocol.h 
*/; };
+   C42E8F9B1F39DF07001EBE9D /* WXTracingProtocol.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C42E8F991F39DF07001EBE9D /* WXTracingProtocol.h 
*/; settings = {ATTRIBUTES = (Public, ); }; };
+   C42E8FAA1F3C7AA1001EBE9D /* WXTracingProtocol.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C42E8F991F39DF07001EBE9D /* WXTracingProtocol.h 
*/; settings = {ATTRIBUTES = (Public, ); }; };
C43C03E81EC8ACA40044C7FF /* WXPrerenderManager.h in Headers */ 
= {isa = PBXBuildFile; fileRef = C43C03E41EC8ACA40044C7FF /* 
WXPrerenderManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
C43C03E91EC8ACA40044C7FF /* WXPrerenderManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C43C03E51EC8ACA40044C7FF /* 
WXPrerenderManager.m */; };
C4B3D6D41E6954300013F38D /* WXEditComponent.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C4B3D6D21E6954300013F38D /* WXEditComponent.h 
*/; };
@@ -1732,6 +1733,7 @@
DCA446011EFA5A4B00D0CFA8 /* WXTimerModule.h in 
Headers */,
DCA446001EFA5A4800D0CFA8 /* WXDomModule.h in 
Headers */,
DCA446021EFA5A5000D0CFA8 /* WXWebViewModule.h 
in Headers */,
+   C42E8FAA1F3C7AA1001EBE9D /* WXTracingProtocol.h 
in Headers */,
DCA446181EFA5A9B00D0CFA8 /* JSValue+Weex.h in 
Headers */,
DCA446061EFA5A5B00D0CFA8 /* NSTimer+Weex.h in 
Headers */,
DCA445D61EFA598600D0CFA8 /* WXView.h in Headers 
*/,

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2a1bcbaa/ios/sdk/WeexSDK/Sources/WeexSDK.h
--
diff --git a/ios/sdk/WeexSDK/Sources/WeexSDK.h 
b/ios/sdk/WeexSDK/Sources/WeexSDK.h
index de1a82e..7521afa 100644
--- a/ios/sdk/WeexSDK/Sources/WeexSDK.h
+++ b/ios/sdk/WeexSDK/Sources/WeexSDK.h
@@ -23,6 +23,7 @@
 #import "WXUtility.h"
 #import "WXURLRewriteProtocol.h"
 #import "WXType.h"
+#import "WXTracingProtocol.h"
 #import "WXTracingManager.h"
 #import "WXScrollerProtocol.h"
 #import "WXScrollerComponent.h"



[5/5] incubator-weex git commit: Merge branch '0.16-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into ios-devtools-tracing-0.16-dev

2017-08-10 Thread kfeagle
Merge branch '0.16-dev' of 
https://git-wip-us.apache.org/repos/asf/incubator-weex into 
ios-devtools-tracing-0.16-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/d1bdd73b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d1bdd73b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d1bdd73b

Branch: refs/heads/0.16-dev
Commit: d1bdd73bcee036433f9e50c8566ddb2a4bf347ff
Parents: 2a1bcba 63c9c86
Author: 齐山 
Authored: Thu Aug 10 19:58:25 2017 +0800
Committer: 齐山 
Committed: Thu Aug 10 19:58:25 2017 +0800

--
 .gitignore  | 2 +-
 .travis.yml | 8 +-
 android/build.gradle| 8 +-
 .../java/com/alibaba/weex/IndexActivity.java|14 +
 .../main/java/com/taobao/weex/WXSDKManager.java |10 +
 .../java/com/taobao/weex/bridge/WXBridge.java   | 8 +-
 .../com/taobao/weex/bridge/WXBridgeManager.java |36 +-
 .../taobao/weex/bridge/WXValidateProcessor.java | 7 +-
 .../java/com/taobao/weex/common/Constants.java  | 1 +
 .../taobao/weex/common/WXWorkThreadManager.java |48 +
 .../java/com/taobao/weex/dom/WXDomObject.java   |17 +-
 .../com/taobao/weex/dom/WXTextDomObject.java|91 +-
 .../dom/action/AbstractAddElementAction.java| 2 +-
 .../taobao/weex/dom/action/AnimationAction.java | 1 +
 .../ui/animation/CameraDistanceProperty.java|54 +
 .../weex/ui/animation/WXAnimationBean.java  |86 +-
 .../taobao/weex/ui/component/WXComponent.java   |16 -
 .../com/taobao/weex/ui/component/WXImage.java   |68 +
 .../taobao/weex/utils/WXViewToImageUtil.java|   151 +
 .../java/com/taobao/weex/utils/WXViewUtils.java | 4 +-
 build/build.js  | 1 +
 build/config.js |17 +-
 build/karma.vue.conf.js | 2 +-
 examples/vue/components/scroller.vue| 9 +-
 examples/vue/modules/picker.vue |   149 +-
 examples/vue/modules/websocket.vue  |22 +-
 html5/frameworks/legacy/core/array.js   | 4 +
 html5/frameworks/legacy/core/object.js  | 6 +
 html5/frameworks/legacy/static/create.js| 7 +-
 html5/frameworks/legacy/vm/directive.js | 6 +
 html5/frameworks/vanilla/index.js   |35 +-
 html5/render/vue/README.md  |15 +
 html5/render/vue/components/image.js|58 +-
 .../vue/components/scrollable/scroller.js   | 8 +-
 .../render/vue/components/scrollable/style.css  | 5 +
 html5/render/vue/config.js  |10 +-
 html5/render/vue/core/node.js   |27 +-
 html5/render/vue/lib/gesture.js | 6 +
 html5/render/vue/modules/dom.js |97 +-
 html5/render/vue/modules/modal/toast.js |23 +-
 html5/runtime/callback-manager.js   |12 +-
 html5/runtime/config.js | 5 +-
 html5/runtime/normalize.js  |   107 +
 html5/runtime/task-center.js|59 +-
 html5/runtime/vdom/document.js  | 2 +
 html5/runtime/vdom/element.js   |15 +-
 html5/test/render/vue/core/node.js  | 2 +
 html5/test/render/vue/modules/dom.js|17 +-
 ios/.gitignore  | 1 +
 ios/playground/Podfile  | 2 +-
 .../WeexDemo.xcodeproj/project.pbxproj  |24 +-
 ios/playground/WeexDemo/AppDelegate.m   | 8 +-
 ios/playground/WeexDemo/WXDemoViewController.m  | 2 -
 ios/playground/WeexDemo/WXExtModule.h   |26 +
 ios/playground/WeexDemo/WXExtModule.m   |43 +
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   |16 +-
 .../Component/Recycler/WXRecyclerComponent.m|58 +-
 .../Recycler/WXRecyclerDragController.h |52 +
 .../Recycler/WXRecyclerDragController.m |   208 +
 .../WeexSDK/Sources/Component/WXAComponent.m| 1 +
 .../WeexSDK/Sources/Component/WXEditComponent.m |11 +-
 .../Sources/Component/WXImageComponent.m|   174 +-
 .../Sources/Component/WXScrollerComponent.m | 3 +-
 .../Sources/Component/WXTextAreaComponent.m | 2 +-
 .../WeexSDK/Sources/Component/WXTextComponent.m | 5 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 1 +
 ios/sdk/WeexSDK/Sources/Component/WXTransform.m |33 +-
 .../Sources/Component/WXVideoComponent.m| 1 +
 .../WeexSDK/Sources/Component/WXWebComponent.m  | 1 +
 .../WeexSDK/Sources/Loader/WXResourceLoader.m   | 2 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  | 2 +-
 

[3/5] incubator-weex git commit: + [ios] add tracing log for chrome devtools

2017-08-10 Thread kfeagle
+ [ios] add tracing log for chrome devtools


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

Branch: refs/heads/0.16-dev
Commit: 565bab619793192b011a2401486b6360f06e35e3
Parents: 4b80dac
Author: 齐山 
Authored: Thu Aug 10 12:12:42 2017 +0800
Committer: 齐山 
Committed: Thu Aug 10 12:12:42 2017 +0800

--
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   |   4 +
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |   2 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h |   4 +
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m |  10 ++
 .../WeexSDK/Sources/Manager/WXTracingManager.h  |  17 ++-
 .../WeexSDK/Sources/Manager/WXTracingManager.m  | 107 +++
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m |   2 +
 .../Sources/Protocol/WXTracingProtocol.h|  29 +
 8 files changed, 149 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/565bab61/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
--
diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj 
b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index 5785c45..0557764 100644
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@ -236,6 +236,7 @@
C401945E1E344E8300D19C31 /* WXFloatCompareTests.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C401945D1E344E8300D19C31 /* 
WXFloatCompareTests.m */; };
C41E1A971DC1FD15009C7F90 /* WXDatePickerManager.h in Headers */ 
= {isa = PBXBuildFile; fileRef = C41E1A951DC1FD15009C7F90 /* 
WXDatePickerManager.h */; };
C41E1A981DC1FD15009C7F90 /* WXDatePickerManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C41E1A961DC1FD15009C7F90 /* 
WXDatePickerManager.m */; };
+   C42E8F9B1F39DF07001EBE9D /* WXTracingProtocol.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C42E8F991F39DF07001EBE9D /* WXTracingProtocol.h 
*/; };
C43C03E81EC8ACA40044C7FF /* WXPrerenderManager.h in Headers */ 
= {isa = PBXBuildFile; fileRef = C43C03E41EC8ACA40044C7FF /* 
WXPrerenderManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
C43C03E91EC8ACA40044C7FF /* WXPrerenderManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C43C03E51EC8ACA40044C7FF /* 
WXPrerenderManager.m */; };
C4B3D6D41E6954300013F38D /* WXEditComponent.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C4B3D6D21E6954300013F38D /* WXEditComponent.h 
*/; };
@@ -800,6 +801,7 @@
C401945D1E344E8300D19C31 /* WXFloatCompareTests.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXFloatCompareTests.m; sourceTree = ""; };
C41E1A951DC1FD15009C7F90 /* WXDatePickerManager.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXDatePickerManager.h; sourceTree = ""; };
C41E1A961DC1FD15009C7F90 /* WXDatePickerManager.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXDatePickerManager.m; sourceTree = ""; };
+   C42E8F991F39DF07001EBE9D /* WXTracingProtocol.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXTracingProtocol.h; sourceTree = ""; };
C43C03E41EC8ACA40044C7FF /* WXPrerenderManager.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXPrerenderManager.h; sourceTree = ""; };
C43C03E51EC8ACA40044C7FF /* WXPrerenderManager.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXPrerenderManager.m; sourceTree = ""; };
C4B3D6D21E6954300013F38D /* WXEditComponent.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXEditComponent.h; sourceTree = ""; };
@@ -1266,6 +1268,7 @@
74EF31A91DE58AE600667A07 /* 
WXURLRewriteProtocol.h */,
042013AC1E66CD6A001FC79C /* 
WXValidateProtocol.h */,
DC6836E51EBB12B200AD2D84 /* 
WXConfigCenterProtocol.h */,
+   C42E8F991F39DF07001EBE9D /* WXTracingProtocol.h 
*/,
);
path = Protocol;
sourceTree = "";
@@ -1525,6 +1528,7 @@
DCA0EF641D6EED6F00CB18B9 /* 
WXGlobalEventModule.h in Headers */,

[1/5] incubator-weex git commit: + [ios] if not set , set weex default

2017-08-10 Thread kfeagle
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev 63c9c8624 -> d1bdd73bc


+ [ios] if not set , set weex default


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

Branch: refs/heads/0.16-dev
Commit: e4e0f491569da13429f8d2d3cce70e0917f7ddc2
Parents: 5951404
Author: 齐山 
Authored: Mon Jul 31 11:23:13 2017 +0800
Committer: 齐山 
Committed: Mon Jul 31 11:23:13 2017 +0800

--
 ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e4e0f491/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m 
b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
index beb401b..732ec13 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
@@ -134,6 +134,8 @@
 task.bundleJSType = @"Vue";
 }else if([searchStr rangeOfString:@"Rax"].location != 
NSNotFound){
 task.bundleJSType = @"Rax";
+}else{
+task.bundleJSType = @"Weex";
 }
 }
 }



[04/10] incubator-weex git commit: + [ios] update native logic

2017-08-10 Thread kfeagle
+ [ios] update native logic


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

Branch: refs/heads/0.16-dev
Commit: 4d78365d0099bebd598351959ac0c4a0e0a30dc0
Parents: 5100991
Author: 齐山 
Authored: Tue Aug 8 16:38:23 2017 +0800
Committer: 齐山 
Committed: Tue Aug 8 16:38:23 2017 +0800

--
 examples/vue/hello.vue  |  2 +-
 ios/playground/WeexDemo/AppDelegate.m   |  2 +
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h| 10 +
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m|  6 +++
 .../Sources/Manager/WXExtendCallNativeManager.h |  5 ++-
 .../Sources/Manager/WXExtendCallNativeManager.m | 45 +++-
 6 files changed, 65 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4d78365d/examples/vue/hello.vue
--
diff --git a/examples/vue/hello.vue b/examples/vue/hello.vue
index e387e5a..8309aaa 100644
--- a/examples/vue/hello.vue
+++ b/examples/vue/hello.vue
@@ -41,7 +41,7 @@
 this.target = 'Weex'
 console.log('target:', this.target)
 var dict = extendCallNative({
-  'className':'WXExtendCallNativeTest'
+  'className':'test'
 })
 modal.toast({
   'message': dict['value'],

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4d78365d/ios/playground/WeexDemo/AppDelegate.m
--
diff --git a/ios/playground/WeexDemo/AppDelegate.m 
b/ios/playground/WeexDemo/AppDelegate.m
index 4d9b9cd..d8472cd 100644
--- a/ios/playground/WeexDemo/AppDelegate.m
+++ b/ios/playground/WeexDemo/AppDelegate.m
@@ -119,6 +119,8 @@
 [WXSDKEngine registerComponent:@"select" 
withClass:NSClassFromString(@"WXSelectComponent")];
 [WXSDKEngine registerModule:@"event" withClass:[WXEventModule class]];
 [WXSDKEngine registerModule:@"syncTest" withClass:[WXSyncTestModule 
class]];
+[WXSDKEngine registerExtendCallNative:@"test" 
withClass:NSClassFromString(@"WXExtendCallNativeTest")];
+
 
 #if !(TARGET_IPHONE_SIMULATOR)
 [self checkUpdate];

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4d78365d/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h
--
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h 
b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h
index 32a26d1..5e7b1e7 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h
@@ -49,6 +49,16 @@
 + (void)registerComponent:(NSString *)name withClass:(Class)clazz;
 
 /**
+ * @abstract Registers a extendCallNative Class for a given name
+ *
+ * @param name The extendCallNative name to register
+ *
+ * @param clazz The extendCallNative subclass to register
+ *
+ **/
++ (void)registerExtendCallNative:(NSString *)name withClass:(Class)clazz;
+
+/**
  * @abstract Registers a component for a given name and specific properties
  *
  * @param name The component name to register

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4d78365d/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m 
b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
index b95ad9d..7e8d99c 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
@@ -37,6 +37,7 @@
 #import "WXAssert.h"
 #import "WXLog.h"
 #import "WXUtility.h"
+#import "WXExtendCallNativeManager.h"
 
 @implementation WXSDKEngine
 
@@ -114,6 +115,11 @@
 [self registerComponent:name withClass:clazz withProperties: 
@{@"append":@"tree"}];
 }
 
++ (void)registerExtendCallNative:(NSString *)name withClass:(Class)clazz
+{
+[WXExtendCallNativeManager registerExtendCallNative:name withClass:clazz];
+}
+
 + (void)registerComponent:(NSString *)name withClass:(Class)clazz 
withProperties:(NSDictionary *)properties
 {
 if (!name || !clazz) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4d78365d/ios/sdk/WeexSDK/Sources/Manager/WXExtendCallNativeManager.h
--
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXExtendCallNativeManager.h 
b/ios/sdk/WeexSDK/Sources/Manager/WXExtendCallNativeManager.h
index 20c3e7d..cb5fea6 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXExtendCallNativeManager.h
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXExtendCallNativeManager.h
@@ -10,6 

[02/10] incubator-weex git commit: + [ios] add extend call native

2017-08-10 Thread kfeagle
+ [ios] add extend call native


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

Branch: refs/heads/0.16-dev
Commit: 6225ed13d9ae3dda08c848abe3ba8f669037b296
Parents: b3e4049
Author: 齐山 
Authored: Thu Jul 27 12:16:51 2017 +0800
Committer: 齐山 
Committed: Thu Jul 27 12:16:51 2017 +0800

--
 examples/vue/hello.vue  | 54 ++--
 .../WeexDemo.xcodeproj/project.pbxproj  |  6 +++
 .../WeexDemo/WXExtendCallNativeTest.h   | 14 +
 .../WeexDemo/WXExtendCallNativeTest.m   | 36 +
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   |  8 +++
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  7 ++-
 .../Sources/Manager/WXExtendCallNativeManager.h | 15 ++
 .../Sources/Manager/WXExtendCallNativeManager.m | 28 ++
 .../Protocol/WXExtendCallNativeProtocol.h   | 22 +++-
 9 files changed, 182 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6225ed13/examples/vue/hello.vue
--
diff --git a/examples/vue/hello.vue b/examples/vue/hello.vue
index 76272f7..e387e5a 100644
--- a/examples/vue/hello.vue
+++ b/examples/vue/hello.vue
@@ -1,5 +1,53 @@
+
+
+
+
 
-  
-Hello World.
+  
+
+Hello {{target}}
   
-
\ No newline at end of file
+
+
+
+  .wrapper {align-items: center; margin-top: 120px;}
+  .title {font-size: 48px;}
+  .logo {width: 360px; height: 82px;}
+
+
+
+  var modal = weex.requireModule('modal')
+  module.exports = {
+data: {
+  logoUrl: 'https://alibaba.github.io/weex/img/weex_logo_b...@3x.png',
+  target: 'World'
+},
+methods: {
+  update: function (e) {
+this.target = 'Weex'
+console.log('target:', this.target)
+var dict = extendCallNative({
+  'className':'WXExtendCallNativeTest'
+})
+modal.toast({
+  'message': dict['value'],
+  'duration': 1000
+})
+  }
+}
+  }
+

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6225ed13/ios/playground/WeexDemo.xcodeproj/project.pbxproj
--
diff --git a/ios/playground/WeexDemo.xcodeproj/project.pbxproj 
b/ios/playground/WeexDemo.xcodeproj/project.pbxproj
index 76d1423..b9695e7 100644
--- a/ios/playground/WeexDemo.xcodeproj/project.pbxproj
+++ b/ios/playground/WeexDemo.xcodeproj/project.pbxproj
@@ -30,6 +30,7 @@
846FC8DB1E1B853600949E7D /* WXATViewHierarchyPlugin.m in 
Sources */ = {isa = PBXBuildFile; fileRef = DCABAFF21D029685001C8592 /* 
WXATViewHierarchyPlugin.m */; };
84D7CAC71CE3266C00D48D46 /* libsqlite3.0.tbd in Frameworks */ = 
{isa = PBXBuildFile; fileRef = 7475ACA01CD8444A0044E96C /* libsqlite3.0.tbd */; 
};
8A0B5EFFF75BF82EA481983D /* libPods-WeexUITestDemo.a in 
Frameworks */ = {isa = PBXBuildFile; fileRef = E48C20F443AA337D1FE97622 /* 
libPods-WeexUITestDemo.a */; };
+   C47B78D21F299E27001D3B0C /* WXExtendCallNativeTest.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = C47B78D11F299E27001D3B0C /* 
WXExtendCallNativeTest.m */; };
DC20B8E61ECADA2500845F39 /* WXConfigCenterDefaultImpl.m in 
Sources */ = {isa = PBXBuildFile; fileRef = DC20B8E51ECADA2500845F39 /* 
WXConfigCenterDefaultImpl.m */; };
DC5B53691E8CED9400E02125 /* WXScannerHistoryVC.m in Sources */ 
= {isa = PBXBuildFile; fileRef = DC5B53681E8CED9400E02125 /* 
WXScannerHistoryVC.m */; };
DC5E503E1D0D97130059F0EB /* weex.png in Resources */ = {isa = 
PBXBuildFile; fileRef = DC5E503C1D0D97130059F0EB /* weex.png */; };
@@ -89,6 +90,8 @@
775BEE9A1C1E8ECC008D1629 /* Info.plist */ = {isa = 
PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; 
sourceTree = ""; };
84361D751CA10F8E00F43825 /* WeexUITestDemo.app */ = {isa = 
PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; 
path = WeexUITestDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
9420131417A731ED089B0814 /* Pods-WeexDemo.release.xcconfig */ = 
{isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; 
name = "Pods-WeexDemo.release.xcconfig"; path = "Pods/Target Support 
Files/Pods-WeexDemo/Pods-WeexDemo.release.xcconfig"; sourceTree = ""; };
+   C47B78D01F299E27001D3B0C /* WXExtendCallNativeTest.h */ = {isa 
= PBXFileReference; 

[07/10] incubator-weex git commit: Merge branch '0.16-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into ios-native-0.16-dev

2017-08-10 Thread kfeagle
Merge branch '0.16-dev' of 
https://git-wip-us.apache.org/repos/asf/incubator-weex into ios-native-0.16-dev

# Conflicts:
#   ios/playground/WeexDemo/AppDelegate.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/31c696f5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/31c696f5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/31c696f5

Branch: refs/heads/0.16-dev
Commit: 31c696f513d7f6f07571dd3e9b589b47548ebb08
Parents: 816bde1 5894ef6
Author: 齐山 
Authored: Thu Aug 10 16:41:07 2017 +0800
Committer: 齐山 
Committed: Thu Aug 10 16:41:07 2017 +0800

--
 .gitignore  | 5 +-
 .travis.yml | 8 +-
 android/build.gradle| 8 +-
 .../java/com/alibaba/weex/IndexActivity.java|14 +
 .../java/com/taobao/weex/WXSDKInstance.java |11 +-
 .../main/java/com/taobao/weex/WXSDKManager.java |10 +
 .../java/com/taobao/weex/bridge/WXBridge.java   | 8 +-
 .../com/taobao/weex/bridge/WXBridgeManager.java |36 +-
 .../taobao/weex/bridge/WXValidateProcessor.java | 7 +-
 .../java/com/taobao/weex/common/Constants.java  | 1 +
 .../taobao/weex/common/WXWorkThreadManager.java |48 +
 .../java/com/taobao/weex/dom/WXDomObject.java   |17 +-
 .../com/taobao/weex/dom/WXTextDomObject.java|91 +-
 .../dom/action/AbstractAddElementAction.java| 2 +-
 .../taobao/weex/dom/action/AnimationAction.java | 1 +
 .../ui/animation/CameraDistanceProperty.java|54 +
 .../weex/ui/animation/WXAnimationBean.java  |86 +-
 .../taobao/weex/ui/component/WXComponent.java   |16 -
 .../com/taobao/weex/ui/component/WXImage.java   |68 +
 .../ui/component/list/BasicListComponent.java   |15 +-
 .../taobao/weex/utils/WXViewToImageUtil.java|   151 +
 .../java/com/taobao/weex/utils/WXViewUtils.java | 4 +-
 build/build.js  |   106 +-
 build/config.js |54 +-
 build/karma.vue.conf.js | 2 +-
 dangerfile.js   |79 +-
 entry.js|11 +
 examples/vue/components/scroller.vue| 9 +-
 examples/vue/index.vue  | 1 +
 examples/vue/modules/picker.vue |64 +
 html5/frameworks/legacy/core/array.js   | 4 +
 html5/frameworks/legacy/core/object.js  | 6 +
 html5/frameworks/legacy/static/create.js| 7 +-
 html5/frameworks/legacy/vm/directive.js | 6 +
 html5/frameworks/vanilla/index.js   |35 +-
 html5/render/vue/README.md  |92 +
 html5/render/vue/components/a.js|90 +-
 html5/render/vue/components/div.js  |43 +-
 html5/render/vue/components/image.js|76 +-
 html5/render/vue/components/index.js|37 +-
 html5/render/vue/components/input.js|   130 +-
 html5/render/vue/components/scrollable/cell.js  |39 +
 .../render/vue/components/scrollable/header.js  |   102 +-
 html5/render/vue/components/scrollable/index.js |48 +
 html5/render/vue/components/scrollable/list.js  |82 +
 .../vue/components/scrollable/list/cell.js  |36 -
 .../vue/components/scrollable/list/index.js |77 -
 .../vue/components/scrollable/list/listMixin.js |47 -
 .../vue/components/scrollable/list/style.js |34 -
 .../components/scrollable/loading-indicator.js  |17 +-
 .../render/vue/components/scrollable/loading.js |   141 +-
 .../vue/components/scrollable/mixins/index.js   |26 +
 .../vue/components/scrollable/mixins/list.js|46 +
 .../components/scrollable/mixins/scrollable.js  |   267 +
 .../render/vue/components/scrollable/refresh.js |   157 +-
 .../vue/components/scrollable/scroller.js   |   143 +-
 .../render/vue/components/scrollable/style.css  |90 +
 .../vue/components/scrollable/waterfall.js  |   573 +-
 html5/render/vue/components/slider/index.js |52 +-
 html5/render/vue/components/slider/indicator.js |18 +-
 .../render/vue/components/slider/slideMixin.js  |46 +-
 .../vue/components/slider/slider-neighbor.js|12 +-
 html5/render/vue/components/slider/slider.css   |19 +
 html5/render/vue/components/slider/slider.js|75 +
 html5/render/vue/components/switch.js   |   114 +-
 html5/render/vue/components/text.js |52 +-
 html5/render/vue/components/textarea.js |   104 +-
 html5/render/vue/components/video.js|   107 +-
 html5/render/vue/components/web.js  |98 +-
 html5/render/vue/config.js  |10 +-
 html5/render/vue/core/node.js   

[08/10] incubator-weex git commit: Merge branch 'ios-native-0.16-dev' of https://github.com/kfeagle/incubator-weex into ios-native-0.16-dev

2017-08-10 Thread kfeagle
Merge branch 'ios-native-0.16-dev' of https://github.com/kfeagle/incubator-weex 
into ios-native-0.16-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/abee137b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/abee137b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/abee137b

Branch: refs/heads/0.16-dev
Commit: abee137ba167f9903b26370e60a5f7c68b6dc91d
Parents: 31c696f 9442235
Author: 齐山 
Authored: Thu Aug 10 16:41:53 2017 +0800
Committer: 齐山 
Committed: Thu Aug 10 16:41:53 2017 +0800

--

--




[03/10] incubator-weex git commit: Merge branch '0.16-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into ios-native-0.16-dev

2017-08-10 Thread kfeagle
Merge branch '0.16-dev' of 
https://git-wip-us.apache.org/repos/asf/incubator-weex into ios-native-0.16-dev

# Conflicts:
#   ios/playground/WeexDemo.xcodeproj/project.pbxproj
#   ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.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/51009919
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/51009919
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/51009919

Branch: refs/heads/0.16-dev
Commit: 51009919269b7fecbe0da5adc832efbdcc1f5603
Parents: 6225ed1 a54bcb9
Author: 齐山 
Authored: Thu Jul 27 12:21:01 2017 +0800
Committer: 齐山 
Committed: Thu Jul 27 12:21:01 2017 +0800

--
 README.md   |  51 +-
 WeexSDK.podspec |   2 +-
 .../weex/extend/component/WXParallax.java   |   4 +-
 .../java/com/taobao/weex/WXSDKInstance.java |   6 +-
 .../taobao/weex/dom/WXRecyclerDomObject.java|   4 +
 .../ui/component/list/BasicListComponent.java   |  96 +--
 .../taobao/weex/ui/component/list/WXCell.java   |  10 -
 .../weex/ui/component/list/WXListComponent.java |   9 +-
 build/config.js |   1 +
 build/karma.vue.conf.js |   7 +
 dangerfile.js   |   8 +-
 examples/vue/components/input.vue   |  17 +
 html5/render/vue/modules/websocket/websocket.js |   1 +
 html5/render/vue/utils/event.js |   6 +-
 html5/render/vue/utils/func.js  | 136 +++-
 html5/render/vue/utils/index.js | 104 ---
 html5/render/vue/utils/perf.js  |   3 +-
 html5/test/render/vue/core/node.js  |  15 +-
 .../render/vue/data/dotvue/event-bubble-bar.vue |  19 +-
 .../render/vue/data/dotvue/event-bubble.vue |  15 +-
 html5/test/render/vue/modules/animation.js  |  61 ++
 html5/test/render/vue/modules/dom.js| 109 
 html5/test/render/vue/modules/globalEvent.js|  45 ++
 html5/test/render/vue/modules/navigator.js  |  44 ++
 html5/test/render/vue/modules/websocket.js  |  90 +--
 html5/test/render/vue/modules/webview.js|  53 ++
 html5/test/render/vue/utils/component.js|  50 +-
 html5/test/render/vue/utils/event.js|  78 +++
 html5/test/render/vue/utils/func.js | 278 +++-
 html5/test/render/vue/utils/lazyload.js | 106 +++
 html5/test/render/vue/utils/perf.js | 132 
 html5/test/render/vue/utils/style.js| 157 -
 html5/test/render/vue/utils/type.js |  49 ++
 html5/test/render/vue/validator/index.js|  31 +-
 ios/playground/Podfile  |   2 +-
 .../WeexDemo.xcodeproj/project.pbxproj  |   4 +
 ios/playground/WeexDemo/WXDemoViewController.m  |   2 +-
 ios/sdk/WeexSDK-Dynamic/Info.plist  |  24 +
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   | 638 ++-
 .../xcschemes/WeexSDK-Dynamic.xcscheme  |  80 +++
 .../WeexSDK/Sources/Bridge/WXBridgeContext.h|   2 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m|  46 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m |  16 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  33 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.h |   2 +
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m |  11 +-
 .../Component/Recycler/WXRecyclerComponent.h|   3 +-
 .../Component/Recycler/WXRecyclerComponent.m|   5 +-
 .../Recycler/WXSectionDataController.h  |   2 +
 .../Sources/Component/WXCanvasComponent.h   |   2 +-
 .../WeexSDK/Sources/Component/WXEditComponent.m |   2 +-
 .../Sources/Component/WXFooterComponent.h   |   2 +-
 .../Sources/Component/WXHeaderComponent.h   |   3 +-
 .../Sources/Component/WXImageComponent.m|   1 +
 .../WeexSDK/Sources/Component/WXListComponent.m |   4 +-
 .../Sources/Component/WXScrollerComponent.m |   1 +
 .../WeexSDK/Sources/Component/WXTextComponent.m |   1 +
 .../Sources/Controller/WXRootViewController.m   |   1 +
 .../Sources/Display/WXComponent+BoxShadow.h |   4 -
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.h  |   1 +
 ios/sdk/WeexSDK/Sources/Display/WXRoundedRect.h |   2 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m|  10 +-
 .../WeexSDK/Sources/Layout/WXComponent+Layout.m |   1 +
 .../Sources/Manager/WXComponentManager.h|   3 +
 .../Sources/Manager/WXComponentManager.m|  19 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.h  |   2 +-
 .../WeexSDK/Sources/Manager/WXTracingManager.h  | 126 
 .../WeexSDK/Sources/Manager/WXTracingManager.m  | 384 +++
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m |   5 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.h   |   1 +
 

[05/10] incubator-weex git commit: Merge branch '0.16-dev' into ios-native-0.16-dev

2017-08-10 Thread kfeagle
Merge branch '0.16-dev' into ios-native-0.16-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/94422355
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/94422355
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/94422355

Branch: refs/heads/0.16-dev
Commit: 944223557851cafc7dd4704e4c917d314ac23aef
Parents: 4d78365 8b9845e
Author: 齐山 
Authored: Thu Aug 10 14:27:41 2017 +0800
Committer: GitHub 
Committed: Thu Aug 10 14:27:41 2017 +0800

--
 .gitignore  | 5 +-
 .../java/com/alibaba/weex/IndexActivity.java|14 +
 .../java/com/taobao/weex/WXSDKInstance.java |11 +-
 .../main/java/com/taobao/weex/WXSDKManager.java |10 +
 .../java/com/taobao/weex/bridge/WXBridge.java   | 8 +-
 .../com/taobao/weex/bridge/WXBridgeManager.java |36 +-
 .../taobao/weex/bridge/WXValidateProcessor.java | 7 +-
 .../taobao/weex/common/WXWorkThreadManager.java |48 +
 .../java/com/taobao/weex/dom/WXDomObject.java   |17 +-
 .../dom/action/AbstractAddElementAction.java| 2 +-
 .../com/taobao/weex/ui/component/WXImage.java   |68 +
 .../ui/component/list/BasicListComponent.java   |15 +-
 .../taobao/weex/utils/WXViewToImageUtil.java|   151 +
 build/build.js  |   106 +-
 build/config.js |54 +-
 build/karma.vue.conf.js | 2 +-
 dangerfile.js   |79 +-
 entry.js|11 +
 examples/vue/components/scroller.vue| 9 +-
 examples/vue/index.vue  | 1 +
 examples/vue/modules/picker.vue |64 +
 html5/frameworks/legacy/core/array.js   | 4 +
 html5/frameworks/legacy/core/object.js  | 6 +
 html5/frameworks/legacy/static/create.js| 7 +-
 html5/frameworks/legacy/vm/directive.js | 6 +
 html5/frameworks/vanilla/index.js   |35 +-
 html5/render/vue/README.md  |92 +
 html5/render/vue/components/a.js|90 +-
 html5/render/vue/components/div.js  |43 +-
 html5/render/vue/components/image.js|76 +-
 html5/render/vue/components/index.js|37 +-
 html5/render/vue/components/input.js|   130 +-
 html5/render/vue/components/scrollable/cell.js  |39 +
 .../render/vue/components/scrollable/header.js  |   102 +-
 html5/render/vue/components/scrollable/index.js |48 +
 html5/render/vue/components/scrollable/list.js  |82 +
 .../vue/components/scrollable/list/cell.js  |36 -
 .../vue/components/scrollable/list/index.js |77 -
 .../vue/components/scrollable/list/listMixin.js |47 -
 .../vue/components/scrollable/list/style.js |34 -
 .../components/scrollable/loading-indicator.js  |17 +-
 .../render/vue/components/scrollable/loading.js |   141 +-
 .../vue/components/scrollable/mixins/index.js   |26 +
 .../vue/components/scrollable/mixins/list.js|46 +
 .../components/scrollable/mixins/scrollable.js  |   267 +
 .../render/vue/components/scrollable/refresh.js |   157 +-
 .../vue/components/scrollable/scroller.js   |   143 +-
 .../render/vue/components/scrollable/style.css  |90 +
 .../vue/components/scrollable/waterfall.js  |   573 +-
 html5/render/vue/components/slider/index.js |52 +-
 html5/render/vue/components/slider/indicator.js |18 +-
 .../render/vue/components/slider/slideMixin.js  |46 +-
 .../vue/components/slider/slider-neighbor.js|12 +-
 html5/render/vue/components/slider/slider.css   |19 +
 html5/render/vue/components/slider/slider.js|75 +
 html5/render/vue/components/switch.js   |   114 +-
 html5/render/vue/components/text.js |52 +-
 html5/render/vue/components/textarea.js |   104 +-
 html5/render/vue/components/video.js|   107 +-
 html5/render/vue/components/web.js  |98 +-
 html5/render/vue/config.js  |10 +-
 html5/render/vue/core/node.js   |27 +-
 html5/render/vue/core/style.js  |35 -
 html5/render/vue/env/global.js  | 6 +
 html5/render/vue/env/index.js   | 5 -
 html5/render/vue/index.js   |25 -
 html5/render/vue/lib/gesture.js | 6 +
 html5/render/vue/mixins/base.js |71 -
 html5/render/vue/mixins/index.js| 2 -
 html5/render/vue/mixins/scrollable.js   |   233 -
 html5/render/vue/mixins/style.js| 4 +-
 html5/render/vue/modules/animation.js   |36 +-
 html5/render/vue/modules/dom.js

[01/10] incubator-weex git commit: + [ios] support extend call native for third part

2017-08-10 Thread kfeagle
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev d1bdd73bc -> 4bf47ed41


+ [ios] support extend call native for third part


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

Branch: refs/heads/0.16-dev
Commit: b3e404937bafa77cee4544c97598c1c4ec6ef2ed
Parents: f102f3f
Author: 齐山 
Authored: Sun Jul 23 21:30:45 2017 +0800
Committer: 齐山 
Committed: Sun Jul 23 21:30:45 2017 +0800

--
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   |  4 +++
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 14 ++
 .../Protocol/WXExtendCallNativeProtocol.h   | 27 
 3 files changed, 45 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b3e40493/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
--
diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj 
b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index d16e630..46f7adb 100644
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@ -238,6 +238,7 @@
C41E1A981DC1FD15009C7F90 /* WXDatePickerManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C41E1A961DC1FD15009C7F90 /* 
WXDatePickerManager.m */; };
C43C03E81EC8ACA40044C7FF /* WXPrerenderManager.h in Headers */ 
= {isa = PBXBuildFile; fileRef = C43C03E41EC8ACA40044C7FF /* 
WXPrerenderManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
C43C03E91EC8ACA40044C7FF /* WXPrerenderManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C43C03E51EC8ACA40044C7FF /* 
WXPrerenderManager.m */; };
+   C4424E5B1F24DA3D009F52E2 /* WXExtendCallNativeProtocol.h in 
Headers */ = {isa = PBXBuildFile; fileRef = C4424E591F24DA3D009F52E2 /* 
WXExtendCallNativeProtocol.h */; };
C4B3D6D41E6954300013F38D /* WXEditComponent.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C4B3D6D21E6954300013F38D /* WXEditComponent.h 
*/; };
C4B3D6D51E6954300013F38D /* WXEditComponent.m in Sources */ = 
{isa = PBXBuildFile; fileRef = C4B3D6D31E6954300013F38D /* WXEditComponent.m 
*/; };
C4B834271DE69B09007AD27E /* WXPickerModule.m in Sources */ = 
{isa = PBXBuildFile; fileRef = C4B834251DE69B09007AD27E /* WXPickerModule.m */; 
};
@@ -555,6 +556,7 @@
C41E1A961DC1FD15009C7F90 /* WXDatePickerManager.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXDatePickerManager.m; sourceTree = ""; };
C43C03E41EC8ACA40044C7FF /* WXPrerenderManager.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXPrerenderManager.h; sourceTree = ""; };
C43C03E51EC8ACA40044C7FF /* WXPrerenderManager.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXPrerenderManager.m; sourceTree = ""; };
+   C4424E591F24DA3D009F52E2 /* WXExtendCallNativeProtocol.h */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; 
path = WXExtendCallNativeProtocol.h; sourceTree = ""; };
C4B3D6D21E6954300013F38D /* WXEditComponent.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
WXEditComponent.h; sourceTree = ""; };
C4B3D6D31E6954300013F38D /* WXEditComponent.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXEditComponent.m; sourceTree = ""; };
C4B834251DE69B09007AD27E /* WXPickerModule.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= WXPickerModule.m; sourceTree = ""; };
@@ -1002,6 +1004,7 @@
74EF31A91DE58AE600667A07 /* 
WXURLRewriteProtocol.h */,
042013AC1E66CD6A001FC79C /* 
WXValidateProtocol.h */,
DC6836E51EBB12B200AD2D84 /* 
WXConfigCenterProtocol.h */,
+   C4424E591F24DA3D009F52E2 /* 
WXExtendCallNativeProtocol.h */,
);
path = Protocol;
sourceTree = "";
@@ -1338,6 +1341,7 @@
744BEA551D05178F00452B5D /* 
WXComponent+Display.h in Headers */,
741081231CED6756001BC6E5 /* 
WXComponentFactory.h in Headers */,
59D3CA4A1CFC3CE1008835DC /* NSTimer+Weex.h in 
Headers */,
+   

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

2017-08-10 Thread kfeagle
Merge branch '0.16-dev' of 
https://git-wip-us.apache.org/repos/asf/incubator-weex into ios-native-0.16-dev

# Conflicts:
#   ios/sdk/WeexSDK.xcodeproj/project.pbxproj


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

Branch: refs/heads/0.16-dev
Commit: 4bf47ed4131b2d027bdc772dd41462e986e22ce4
Parents: 4df48bc d1bdd73
Author: 齐山 
Authored: Thu Aug 10 20:43:58 2017 +0800
Committer: 齐山 
Committed: Thu Aug 10 20:43:58 2017 +0800

--
 examples/vue/modules/websocket.vue  |  22 ++-
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   |  10 ++
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m|  35 ++--
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  10 +-
 .../Sources/Component/WXScrollerComponent.m |   3 +-
 .../WeexSDK/Sources/Component/WXTextComponent.m |   5 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h |   4 +
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m |  10 ++
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  |   2 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.m  |   2 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.m   |   4 +
 .../Sources/Manager/WXComponentFactory.h|   1 +
 .../Sources/Manager/WXComponentFactory.m|  23 +++
 .../Sources/Manager/WXComponentManager.m|  18 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.h   |   6 +
 .../WeexSDK/Sources/Manager/WXModuleFactory.m   |  24 +++
 .../WeexSDK/Sources/Manager/WXTracingManager.h  |  33 +++-
 .../WeexSDK/Sources/Manager/WXTracingManager.m  | 169 ---
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m |   1 -
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |   6 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m |  13 ++
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  |  16 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m |   9 +
 .../Sources/Protocol/WXAppMonitorProtocol.h |   2 +
 .../Sources/Protocol/WXTracingProtocol.h|  29 
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.h |  12 ++
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.m |  22 +++
 .../Sources/View/WXComponent+ViewManagement.m   |   1 -
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  |   2 +-
 ios/sdk/WeexSDK/Sources/WeexSDK.h   |   1 +
 30 files changed, 428 insertions(+), 67 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4bf47ed4/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
--
diff --cc ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index 7f19a7c,336161c..809c2a6
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@@ -236,16 -236,10 +236,18 @@@
C401945E1E344E8300D19C31 /* WXFloatCompareTests.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C401945D1E344E8300D19C31 /* 
WXFloatCompareTests.m */; };
C41E1A971DC1FD15009C7F90 /* WXDatePickerManager.h in Headers */ 
= {isa = PBXBuildFile; fileRef = C41E1A951DC1FD15009C7F90 /* 
WXDatePickerManager.h */; };
C41E1A981DC1FD15009C7F90 /* WXDatePickerManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C41E1A961DC1FD15009C7F90 /* 
WXDatePickerManager.m */; };
 +  C42E8FAB1F3C7C09001EBE9D /* WXExtendCallNativeProtocol.h in 
Headers */ = {isa = PBXBuildFile; fileRef = C4424E591F24DA3D009F52E2 /* 
WXExtendCallNativeProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
 +  C42E8FAC1F3C7C3B001EBE9D /* WXExtendCallNativeManager.m in 
Sources */ = {isa = PBXBuildFile; fileRef = C47B78CD1F2998EE001D3B0C /* 
WXExtendCallNativeManager.m */; };
 +  C42E8FAD1F3C7C3F001EBE9D /* WXExtendCallNativeManager.h in 
Headers */ = {isa = PBXBuildFile; fileRef = C47B78CC1F2998EE001D3B0C /* 
WXExtendCallNativeManager.h */; };
 +  C42E8FAE1F3C7C49001EBE9D /* WXRecyclerDragController.m in 
Sources */ = {isa = PBXBuildFile; fileRef = DC7764911F3C2CA300B5727E /* 
WXRecyclerDragController.m */; };
 +  C42E8FAF1F3C7C4B001EBE9D /* WXRecyclerDragController.h in 
Headers */ = {isa = PBXBuildFile; fileRef = DC7764921F3C2CA300B5727E /* 
WXRecyclerDragController.h */; };
+   C42E8F9B1F39DF07001EBE9D /* WXTracingProtocol.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C42E8F991F39DF07001EBE9D /* WXTracingProtocol.h 
*/; settings = {ATTRIBUTES = (Public, ); }; };
+   C42E8FAA1F3C7AA1001EBE9D /* WXTracingProtocol.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C42E8F991F39DF07001EBE9D /* WXTracingProtocol.h 
*/; settings = {ATTRIBUTES = (Public, ); }; };

[09/10] incubator-weex git commit: + [ios] add file to weexsdk @notdanger

2017-08-10 Thread kfeagle
+ [ios] add file to weexsdk @notdanger


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

Branch: refs/heads/0.16-dev
Commit: 4df48bccd61ca4ccadb26861dd8a98036024f25d
Parents: abee137
Author: 齐山 
Authored: Thu Aug 10 19:36:38 2017 +0800
Committer: 齐山 
Committed: Thu Aug 10 19:36:38 2017 +0800

--
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 12 +++-
 ios/sdk/WeexSDK/Sources/WeexSDK.h |  1 +
 2 files changed, 12 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4df48bcc/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
--
diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj 
b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
index 1164250..7f19a7c 100644
--- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
+++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj
@@ -236,9 +236,14 @@
C401945E1E344E8300D19C31 /* WXFloatCompareTests.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C401945D1E344E8300D19C31 /* 
WXFloatCompareTests.m */; };
C41E1A971DC1FD15009C7F90 /* WXDatePickerManager.h in Headers */ 
= {isa = PBXBuildFile; fileRef = C41E1A951DC1FD15009C7F90 /* 
WXDatePickerManager.h */; };
C41E1A981DC1FD15009C7F90 /* WXDatePickerManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C41E1A961DC1FD15009C7F90 /* 
WXDatePickerManager.m */; };
+   C42E8FAB1F3C7C09001EBE9D /* WXExtendCallNativeProtocol.h in 
Headers */ = {isa = PBXBuildFile; fileRef = C4424E591F24DA3D009F52E2 /* 
WXExtendCallNativeProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
+   C42E8FAC1F3C7C3B001EBE9D /* WXExtendCallNativeManager.m in 
Sources */ = {isa = PBXBuildFile; fileRef = C47B78CD1F2998EE001D3B0C /* 
WXExtendCallNativeManager.m */; };
+   C42E8FAD1F3C7C3F001EBE9D /* WXExtendCallNativeManager.h in 
Headers */ = {isa = PBXBuildFile; fileRef = C47B78CC1F2998EE001D3B0C /* 
WXExtendCallNativeManager.h */; };
+   C42E8FAE1F3C7C49001EBE9D /* WXRecyclerDragController.m in 
Sources */ = {isa = PBXBuildFile; fileRef = DC7764911F3C2CA300B5727E /* 
WXRecyclerDragController.m */; };
+   C42E8FAF1F3C7C4B001EBE9D /* WXRecyclerDragController.h in 
Headers */ = {isa = PBXBuildFile; fileRef = DC7764921F3C2CA300B5727E /* 
WXRecyclerDragController.h */; };
C43C03E81EC8ACA40044C7FF /* WXPrerenderManager.h in Headers */ 
= {isa = PBXBuildFile; fileRef = C43C03E41EC8ACA40044C7FF /* 
WXPrerenderManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
C43C03E91EC8ACA40044C7FF /* WXPrerenderManager.m in Sources */ 
= {isa = PBXBuildFile; fileRef = C43C03E51EC8ACA40044C7FF /* 
WXPrerenderManager.m */; };
-   C4424E5B1F24DA3D009F52E2 /* WXExtendCallNativeProtocol.h in 
Headers */ = {isa = PBXBuildFile; fileRef = C4424E591F24DA3D009F52E2 /* 
WXExtendCallNativeProtocol.h */; };
+   C4424E5B1F24DA3D009F52E2 /* WXExtendCallNativeProtocol.h in 
Headers */ = {isa = PBXBuildFile; fileRef = C4424E591F24DA3D009F52E2 /* 
WXExtendCallNativeProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
C47B78CE1F2998EE001D3B0C /* WXExtendCallNativeManager.h in 
Headers */ = {isa = PBXBuildFile; fileRef = C47B78CC1F2998EE001D3B0C /* 
WXExtendCallNativeManager.h */; };
C47B78CF1F2998EE001D3B0C /* WXExtendCallNativeManager.m in 
Sources */ = {isa = PBXBuildFile; fileRef = C47B78CD1F2998EE001D3B0C /* 
WXExtendCallNativeManager.m */; };
C4B3D6D41E6954300013F38D /* WXEditComponent.h in Headers */ = 
{isa = PBXBuildFile; fileRef = C4B3D6D21E6954300013F38D /* WXEditComponent.h 
*/; };
@@ -1652,6 +1657,7 @@
DCA445B21EFA576D00D0CFA8 /* WXListComponent.h 
in Headers */,
DCA445A51EFA571600D0CFA8 /* WXSDKError.h in 
Headers */,
DCA445AD1EFA575100D0CFA8 /* 
WXNavigationProtocol.h in Headers */,
+   C42E8FAF1F3C7C4B001EBE9D /* 
WXRecyclerDragController.h in Headers */,
DCA445B01EFA576200D0CFA8 /* WXModalUIModule.h 
in Headers */,
DCA445A61EFA571E00D0CFA8 /* WXSDKEngine.h in 
Headers */,
DCA445AA1EFA573900D0CFA8 /* WXResourceRequest.h 
in Headers */,
@@ -1703,6 +1709,7 @@
DCA4461F1EFA5AB100D0CFA8 /* WXRuleManager.h in 
Headers */,
DCA445E31EFA59DA00D0CFA8 /* WXEmbedComponent.h 

[GitHub] incubator-weex pull request #585: + [ios] support call native directly

2017-08-10 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-weex/pull/585


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[06/13] incubator-weex git commit: * [jsfm] update jsfm version fix bug

2017-08-10 Thread kyork
* [jsfm] update jsfm version fix bug


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

Branch: refs/heads/0.16-dev
Commit: ee918ad8a33193dbe0fd9d205ad60eef0783de13
Parents: a661b6f
Author: atomtong 
Authored: Wed Aug 9 17:43:41 2017 +0800
Committer: atomtong 
Committed: Wed Aug 9 17:43:41 2017 +0800

--
 pre-build/native-bundle-main.js | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)
--




[02/13] incubator-weex git commit: + [android] ignore set index when current index not zero @notdanger

2017-08-10 Thread kyork
+ [android] ignore set index when current index not zero @notdanger


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

Branch: refs/heads/0.16-dev
Commit: 43c5fdfdbdec57d1dc243b18eb0f3f2c82033844
Parents: fed8b64
Author: misakuo 
Authored: Mon Aug 7 10:45:50 2017 +0800
Committer: misakuo 
Committed: Mon Aug 7 10:45:50 2017 +0800

--
 .../sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43c5fdfd/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
index dd593f9..8dc5918 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
@@ -188,7 +188,9 @@ public class WXSlider extends WXVContainer {
   mViewPager.setCurrentItem(initIndex);
   initIndex = -1;
 } else {
-  mViewPager.setCurrentItem(0);
+  if (mViewPager.getCurrentItem() == 0) {
+mViewPager.setCurrentItem(0);
+  }
 }
 if (mIndicator != null) {
   mIndicator.getHostView().forceLayout();



[05/13] incubator-weex git commit: * [jsfm] update jsfm version fix bug

2017-08-10 Thread kyork
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ee918ad8/pre-build/native-bundle-main.js
--
diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js
index 4da6843..779ffe1 100644
--- a/pre-build/native-bundle-main.js
+++ b/pre-build/native-bundle-main.js
@@ -1,8 +1,8 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.21.7, 
Build 2017-08-08 16:14."),this.getJSFMVersion=function(){return"0.21.7"};var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&?define(t):t()}(0,function(){"use strict";function 
e(e){Zn.Document=e.Document,Zn.Element=e.Element,Zn.Comment=e.Comment,Zn.sendTasks=e.sendTasks}function
 t(e){}function n(e){}function r(e){}function o(e,t,n){}function 
i(e,t,n,r,o){var i=new 
Zn.Document(e,n.bundleUrl),a={},s=0;i.addCallback=function(e){return 
s++,a[s]=e,s},i.handleCallback=function(e,t,n){var r=a[e];return n& 
a[e],r(t)},Qn[e]=i;var 
u=Object.assign({Document:Zn.Document,Element:Zn.Element,Comment:Zn.Comment,sendTasks:Zn.sendTasks,id:e,options:n,data:r,document:i},o),c=[],l=[];for(var
 f in u)c.push(f),l.push(u[f]);return 
c.push(t),(new(Function.prototype.bind.apply(Function,[null].concat(c.apply
 (void 0,l),{document:i}}function a(e,t){}function s(e){delete Qn[e]}function 
u(e){return Qn[e].body.toJSON()}function c(e,t){var 
n={fireEvent:function(e,t,n,r,o){var i=Qn[e],a=i.getRef(t);return 
i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return 
Qn[e].handleCallback(t,n,r)}};if(Qn[e]&(t)){var r=[];return 
t.forEach(function(t){var o=n[t.method],i=[].concat(t.args);"function"==typeof 
o&&(i.unshift(e),r.push(o.apply(void 0,i)))}),r}}function l(e){return 
e&__esModule?e.default:e}function f(e,t){return 
t={exports:{}},e(t,t.exports),t.exports}function d(e){console.warn("[JS 
Framework] Vm#$ is deprecated, please use Vm#$vm instead");var 
t=this._ids[e];if(t)return t.vm}function p(e){var t=this._ids[e];if(t)return 
t.el}function h(e){var t=this._ids[e];if(t)return t.vm}function v(e){return 
this._app.differ.then(function(){e()})}function y(e,t){console.warn("[JS 
Framework] Vm#$scrollTo is deprecated, please use 
\"require('@weex-module/dom').scrollTo(el, options)\" instead
 ");var 
n=this.$el(e);if(n){this._app.requireModule("dom").scrollToElement(n.ref,{offset:t})}}function
 m(e,t,n){var 
r=this,o=this.$el(e);if(o&&){this._app.requireModule("animation").transition(o.ref,t,function(){for(var
 
e=[],i=arguments.length;i--;)e[i]=arguments[i];r._setStyle(o,t.styles),n&(void
 0,e)})}}function _(e){var t=this._app.options;return"function"==typeof 
e&&(console.warn("[JS Framework] the callback of Vm#$getConfig(callback) is 
deprecated, this api now can directly RETURN config info."),e(t)),t}function 
g(e,t){console.warn("[JS Framework] Vm#$sendHttp is deprecated, please use 
\"require('@weex-module/stream').sendHttp(params, callback)\" 
instead"),this._app.requireModule("stream").sendHttp(e,t)}function 
b(e){console.warn("[JS Framework] Vm#$openURL is deprecated, please use 
\"require('@weex-module/event').openURL(url)\" 
instead"),this._app.requireModule("event").openURL(e)}function 
w(e){console.warn("[JS Framework] Vm#$setTitle is deprecated, please u
 se \"require('@weex-module/pageInfo').setTitle(title)\" 
instead"),this._app.requireModule("pageInfo").setTitle(e)}function 
O(e,t){for(var n=[],r=arguments.length-2;r-- 
>0;)n[r]=arguments[r+2];console.warn("[JS Framework] Vm#$call is deprecated, 
please use \"require('@weex-module/moduleName')\" instead");var 
o=this._app.requireModule(e);o&[t]&[t].apply(o,n)}function E(e){for(var 
t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if("function"==typeof 
Object.assign)Object.assign.apply(Object,[e].concat(t));else{var 
r=t.shift();for(var o in r)e[o]=r[o];t.length&(void 
0,[e].concat(t))}return e}function 
x(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function
 C(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}function 
S(e,t){return _r.call(e,t)}function k(e,t){return function(n){var 
r=arguments.length;return 
r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}}function j(e){return 
null!==e&&"object"==typeof e}functi
 on A(e){return gr.call(e)===br}function I(e){var t=(e+"").charCodeAt(0);return 
36===t||95===t}function T(){return"object"==typeof 
nativeSet?nativeSet.create():new Kn}function N(e){var 
t=Object.prototype.toString.call(e);return 
t.substring(8,t.length-1).toLowerCase()}function P(e){return 
e.replace(Or,"").replace(Er,"")}function M(e){return e.replace(Cr,"")}function 
$(){this.id=Ir++,this.subs=[]}function 
R(e){$.target&($.target),$.target=e}function 
D(){$.target=Tr.pop()}function F(){$.target=null,Tr=[]}function 
L(e,t,n,r){r&(this,r);var o="function"==typeof 

[12/13] incubator-weex git commit: Merge branch '0.16-dev' of https://github.com/apache/incubator-weex into 0.16-dev

2017-08-10 Thread kyork
Merge branch '0.16-dev' of https://github.com/apache/incubator-weex into 
0.16-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/b639af25
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b639af25
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b639af25

Branch: refs/heads/0.16-dev
Commit: b639af258b5098924163a5048f6ae78d44e91604
Parents: c5f43fa d1bdd73
Author: YorkShen 
Authored: Thu Aug 10 20:44:12 2017 +0800
Committer: YorkShen 
Committed: Thu Aug 10 20:44:12 2017 +0800

--
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   |   6 +
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m|  35 ++--
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  10 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h |   4 +
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m |  10 ++
 .../WeexSDK/Sources/Manager/WXBridgeManager.m   |   4 +
 .../Sources/Manager/WXComponentFactory.h|   1 +
 .../Sources/Manager/WXComponentFactory.m|  23 +++
 .../Sources/Manager/WXComponentManager.m|  18 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.h   |   6 +
 .../WeexSDK/Sources/Manager/WXModuleFactory.m   |  24 +++
 .../WeexSDK/Sources/Manager/WXTracingManager.h  |  33 +++-
 .../WeexSDK/Sources/Manager/WXTracingManager.m  | 169 ---
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m |   1 -
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |   6 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m |   2 +
 .../Sources/Protocol/WXTracingProtocol.h|  29 
 .../Sources/View/WXComponent+ViewManagement.m   |   1 -
 ios/sdk/WeexSDK/Sources/WeexSDK.h   |   1 +
 19 files changed, 324 insertions(+), 59 deletions(-)
--




[07/13] incubator-weex git commit: Merge branch '0.16-dev' of https://github.com/apache/incubator-weex into 0.16-hub-dev

2017-08-10 Thread kyork
Merge branch '0.16-dev' of https://github.com/apache/incubator-weex into 
0.16-hub-dev

* '0.16-dev' of https://github.com/apache/incubator-weex: (28 commits)
  * [ios] fix unknown symbol
  * [test] tc update
  * [test] android border screen
  * [test] tc
  * [test] input
  * [test] update tc
  * [test] bug fix script on android
  * [test] update
  * [test] modal
  * [test] update
  * [test] add new script
  * [ios] copyright
  + [ios] extmodule for coverage
  * [ios] update wxtestdemo
  format code
  * [html5] fix tests & @notdanger.
  * [html5] rm transitionend listener for toast.
  * [html5] update
  * [html5] update
  * [html5] release vue-render 0.12.2
  ...


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

Branch: refs/heads/0.16-dev
Commit: 6fdcb19c5993ce3213c5816c93570b4c79e2f4af
Parents: ee918ad 78e9203
Author: atomtong 
Authored: Thu Aug 10 14:20:39 2017 +0800
Committer: atomtong 
Committed: Thu Aug 10 14:20:39 2017 +0800

--
 .../java/com/taobao/weex/bridge/WXBridge.java   |   8 +-
 .../com/taobao/weex/bridge/WXBridgeManager.java |  36 -
 .../taobao/weex/bridge/WXValidateProcessor.java |   7 +-
 .../java/com/taobao/weex/dom/WXDomObject.java   |  17 +-
 .../dom/action/AbstractAddElementAction.java|   2 +-
 html5/render/vue/README.md  |  15 ++
 html5/render/vue/components/image.js|  58 ++-
 html5/render/vue/config.js  |  10 +-
 html5/render/vue/core/node.js   |  27 ++--
 html5/render/vue/lib/gesture.js |   6 +
 html5/render/vue/modules/modal/toast.js |  23 +--
 html5/test/render/vue/core/node.js  |   2 +
 ios/.gitignore  |   1 +
 .../WeexDemo.xcodeproj/project.pbxproj  |  24 ++-
 ios/playground/WeexDemo/AppDelegate.m   |   8 +-
 ios/playground/WeexDemo/WXDemoViewController.m  |   2 -
 ios/playground/WeexDemo/WXExtModule.h   |  26 +++
 ios/playground/WeexDemo/WXExtModule.m   |  43 +
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   |   8 +
 ios/sdk/WeexSDK/Sources/WeexSDK.h   |   1 +
 package.json|   9 +-
 packages/weex-vue-render/README.md  |  15 ++
 packages/weex-vue-render/package.json   |   2 +-
 test/pages/components/iconfont.vue  |  71 
 test/pages/components/input-event.vue   |  65 
 test/pages/components/refresh-loading.vue   | 115 +
 test/pages/components/switch-event.vue  |  60 +++
 test/pages/components/web-event.vue |  56 +++
 test/pages/include/button.vue   | 162 +++
 test/pages/include/h1.vue   |  13 ++
 test/pages/include/h2.vue   |  13 ++
 test/pages/include/h3.vue   |  13 ++
 test/pages/include/hn.vue   |  47 ++
 test/pages/include/panel.vue| 141 
 test/pages/include/wxc-desc.vue |  66 
 test/pages/modules/animation-translate.vue  | 129 +++
 test/pages/modules/clipboard-event.vue  |  57 +++
 test/pages/modules/cover-generate.vue   |  53 ++
 test/pages/modules/downgrade-event.vue  |  74 +
 test/pages/modules/gesture-longpress.vue|  75 +
 test/pages/modules/modal-event.vue  |  61 +++
 test/pages/modules/picker-event.vue |  63 
 test/pages/modules/storage-event.vue|  59 +++
 test/pages/modules/stream-result.vue|  85 ++
 test/run.sh |  30 +++-
 test/screenshot/border-android.png  | Bin 156247 -> 158634 bytes
 test/scripts/components/iconfont.test.js|  34 
 test/scripts/components/input-event.test.js |  36 +
 test/scripts/components/refresh-loading.test.js |  38 +
 test/scripts/components/switch-event.test.js|  38 +
 test/scripts/components/web-event.test.js   |  30 
 .../scripts/modules/animation-translate.test.js |  40 +
 test/scripts/modules/clipboard-event.test.js|  35 
 test/scripts/modules/downgrade-event.test.js|  30 
 test/scripts/modules/gesture-longpress.test.js  |  37 +
 test/scripts/modules/modal-event.test.js|  35 
 test/scripts/modules/picker-event.test.js   |  41 +
 test/scripts/modules/storage-event.test.js  |  36 +
 test/scripts/modules/stream-result.test.js  |  34 
 test/scripts/util.js|  41 +
 

[11/13] incubator-weex git commit: Merge branch 'android-bugfix-slider' into 0.16-dev

2017-08-10 Thread kyork
Merge branch 'android-bugfix-slider' into 0.16-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/c5f43fa8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c5f43fa8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c5f43fa8

Branch: refs/heads/0.16-dev
Commit: c5f43fa86c63d0f7942f0711ab74a600a953e3ef
Parents: 63c9c86 cc6fc5f
Author: YorkShen 
Authored: Thu Aug 10 20:40:48 2017 +0800
Committer: YorkShen 
Committed: Thu Aug 10 20:40:48 2017 +0800

--
 android/sdk/libs/armeabi/libweexjsc.so | Bin 7570504 -> 7570392 bytes
 android/sdk/libs/x86/libweexjsc.so | Bin 12121924 -> 7570392 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
--




[10/13] incubator-weex git commit: * [android] Fix slider bug

2017-08-10 Thread kyork
* [android] Fix slider bug


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

Branch: refs/heads/0.16-dev
Commit: cc6fc5fcc1dbcb33e07770cab92eb12870f1a0da
Parents: 1cadafc
Author: YorkShen 
Authored: Thu Aug 10 20:33:02 2017 +0800
Committer: YorkShen 
Committed: Thu Aug 10 20:33:02 2017 +0800

--
 .../sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc6fc5fc/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
index 8dc5918..dd593f9 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
@@ -188,9 +188,7 @@ public class WXSlider extends WXVContainer {
   mViewPager.setCurrentItem(initIndex);
   initIndex = -1;
 } else {
-  if (mViewPager.getCurrentItem() == 0) {
-mViewPager.setCurrentItem(0);
-  }
+  mViewPager.setCurrentItem(0);
 }
 if (mIndicator != null) {
   mIndicator.getHostView().forceLayout();



[03/13] incubator-weex git commit: Merge branch '0.15-hub-dev' into 0.16-hub-dev

2017-08-10 Thread kyork
Merge branch '0.15-hub-dev' into 0.16-hub-dev

* 0.15-hub-dev:
  * [android] fix Jni crash due to emoji


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

Branch: refs/heads/0.16-dev
Commit: fc62003b2e9e12f7551357c27bb6785def9d1b57
Parents: 1ebd484 fed8b64
Author: atomtong 
Authored: Wed Aug 9 09:39:20 2017 +0800
Committer: atomtong 
Committed: Wed Aug 9 09:39:20 2017 +0800

--
 android/sdk/libs/armeabi/libweexjsc.so | Bin 7570504 -> 7570392 bytes
 android/sdk/libs/x86/libweexjsc.so | Bin 12121924 -> 7570392 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
--




[13/13] incubator-weex git commit: Merge branch '0.16-dev' of https://github.com/apache/incubator-weex into 0.16-dev

2017-08-10 Thread kyork
Merge branch '0.16-dev' of https://github.com/apache/incubator-weex into 
0.16-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/ffe4951b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ffe4951b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ffe4951b

Branch: refs/heads/0.16-dev
Commit: ffe4951bc7d7dda6d728b2e8b9729f85b0caf684
Parents: b639af2 4bf47ed
Author: YorkShen 
Authored: Thu Aug 10 20:46:21 2017 +0800
Committer: YorkShen 
Committed: Thu Aug 10 20:46:21 2017 +0800

--
 .../WeexDemo.xcodeproj/project.pbxproj  |  6 ++
 ios/playground/WeexDemo/AppDelegate.m   |  2 +-
 .../WeexDemo/WXExtendCallNativeTest.h   | 25 ++
 .../WeexDemo/WXExtendCallNativeTest.m   | 47 
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj   | 22 ++
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 13 
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h| 10 +++
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m|  6 ++
 .../Sources/Manager/WXExtendCallNativeManager.h | 26 +++
 .../Sources/Manager/WXExtendCallNativeManager.m | 80 
 .../Protocol/WXExtendCallNativeProtocol.h   | 47 
 ios/sdk/WeexSDK/Sources/WeexSDK.h   |  1 +
 12 files changed, 284 insertions(+), 1 deletion(-)
--




[08/13] incubator-weex git commit: Merge branch '0.15-hub-dev' into 0.16-github-dev

2017-08-10 Thread kyork
Merge branch '0.15-hub-dev' into 0.16-github-dev

* 0.15-hub-dev:
  + [android] ignore set index when current index not zero @notdanger
  * [android] fix Jni crash due to emoji


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

Branch: refs/heads/0.16-dev
Commit: 5d53100c74d7f45fba6296229e07020572e03e32
Parents: 78e9203 43c5fdf
Author: atomtong 
Authored: Thu Aug 10 14:25:26 2017 +0800
Committer: atomtong 
Committed: Thu Aug 10 14:25:26 2017 +0800

--
 android/sdk/libs/armeabi/libweexjsc.so  | Bin 7570504 -> 7570392 bytes
 android/sdk/libs/x86/libweexjsc.so  | Bin 12121924 -> 7570392 bytes
 .../com/taobao/weex/ui/component/WXSlider.java  |   4 +++-
 3 files changed, 3 insertions(+), 1 deletion(-)
--




[09/13] incubator-weex git commit: Merge branch '0.16-hub-dev' into 0.16-github-dev

2017-08-10 Thread kyork
Merge branch '0.16-hub-dev' into 0.16-github-dev

* 0.16-hub-dev:
  * [jsfm] update jsfm version fix bug


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

Branch: refs/heads/0.16-dev
Commit: 1cadafc736a85390d9ad56d8bac7fdd52f416240
Parents: 5d53100 6fdcb19
Author: atomtong 
Authored: Thu Aug 10 14:26:39 2017 +0800
Committer: atomtong 
Committed: Thu Aug 10 14:26:39 2017 +0800

--
 pre-build/native-bundle-main.js | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)
--




[01/13] incubator-weex git commit: * [android] fix Jni crash due to emoji

2017-08-10 Thread kyork
Repository: incubator-weex
Updated Branches:
  refs/heads/0.16-dev 4bf47ed41 -> ffe4951bc


* [android] fix Jni crash due to emoji


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

Branch: refs/heads/0.16-dev
Commit: fed8b64309fab398d008bdde3404adf3acbc1a95
Parents: eb48b94
Author: miomin <691292...@qq.com>
Authored: Fri Aug 4 14:50:14 2017 +0800
Committer: miomin <691292...@qq.com>
Committed: Fri Aug 4 14:50:14 2017 +0800

--
 android/sdk/libs/armeabi/libweexjsc.so | Bin 7570504 -> 7570392 bytes
 android/sdk/libs/x86/libweexjsc.so | Bin 12121924 -> 7570392 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fed8b643/android/sdk/libs/armeabi/libweexjsc.so
--
diff --git a/android/sdk/libs/armeabi/libweexjsc.so 
b/android/sdk/libs/armeabi/libweexjsc.so
index 41b1ee8..a365bed 100755
Binary files a/android/sdk/libs/armeabi/libweexjsc.so and 
b/android/sdk/libs/armeabi/libweexjsc.so differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fed8b643/android/sdk/libs/x86/libweexjsc.so
--
diff --git a/android/sdk/libs/x86/libweexjsc.so 
b/android/sdk/libs/x86/libweexjsc.so
index c45672a..a365bed 100755
Binary files a/android/sdk/libs/x86/libweexjsc.so and 
b/android/sdk/libs/x86/libweexjsc.so differ



  1   2   >