[GitHub] incubator-weex pull request #1276: *[iOS] revert statistics improvement for ...

2018-06-19 Thread boboning
GitHub user boboning opened a pull request:

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

*[iOS] revert statistics improvement for weex rendering

There are some mistake in previous pull requeset , so we should revert it.

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

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

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

https://github.com/apache/incubator-weex/pull/1276.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 #1276


commit 5506867e70392cb06df75e55dcf45857b9099a96
Author: boboning 
Date:   2018-06-20T06:53:55Z

*[iOS] revert statistics improvement for weex rendering




---


svn commit: r27563 - in /dev/incubator/weex: 0.19.0/ 0.19.0/RC0/ 0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz 0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.asc 0.19.0/RC0/apache-w

2018-06-19 Thread cxfeng
Author: cxfeng
Date: Tue Jun 19 16:04:38 2018
New Revision: 27563

Log:
Add 0.19.0-RC0

Added:
dev/incubator/weex/0.19.0/
dev/incubator/weex/0.19.0/RC0/
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz  
 (with props)

dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.asc

dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.sha512
Modified:
dev/incubator/weex/KEYS

Added: 
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz
==
Binary file - no diff available.

Propchange: 
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: 
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.asc
==
--- 
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.asc 
(added)
+++ 
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.asc 
Tue Jun 19 16:04:38 2018
@@ -0,0 +1,11 @@
+-BEGIN PGP SIGNATURE-
+
+iQEzBAABCAAdFiEE1+a1j/opP7GsnntiT9i8Ccfp24EFAlspKCAACgkQT9i8Ccfp
+24GS/gf/TdTDx9JJ+ppe40sh/KlnLhg+QTgctjHHjgY0s9jbOLJqadKpdpWNIm9V
++qgrnH1e3qg7+dLFNNGXQrLSX9b0K3G32SA7uLYOY4WNKgUQ5W5CGFuEvdkGlMDf
++LTmeMf2z9kduU3l8p6C4Lfig2yTlf0MBkck8QLT49nYJGRmLGSkE5p05sOxmeZ3
+dtRjCbNLltDTHB8D2/jJ4vcdqPYc2Msw/+6Q9mC5pr6bqwyzPwhLQ8Yos80OF13o
+13lWJRGPx/lVbZ0aPbESRGl6kjzKGBCSYb3V2kFQ3w+NRzbL2C9KhAyvrWAFclQo
+1Q9jNnlhKcFK6wG85sGCcATuntKl4A==
+=YtOS
+-END PGP SIGNATURE-

Added: 
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.sha512
==
--- 
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.sha512
 (added)
+++ 
dev/incubator/weex/0.19.0/RC0/apache-weex-incubating-0.19.0-RC0-src.tar.gz.sha512
 Tue Jun 19 16:04:38 2018
@@ -0,0 +1,3 @@
+apache-weex-incubating-0.19.0-RC0-src.tar.gz: 
+EA77C0A2 97BC3690 D03E58B3 3879CFCF F3C2FCF2 F87E9133 A006B2AC 946891AC 
983AC701
+ 98679EA2 B97A2A9C 370DD0BB 9F56C906 22FABC88 A603E16B F4B32773

Modified: dev/incubator/weex/KEYS
==
--- dev/incubator/weex/KEYS (original)
+++ dev/incubator/weex/KEYS Tue Jun 19 16:04:38 2018
@@ -85,3 +85,40 @@ A7+EbgNtmFuEPqa6z6KyGNujNkullbPTc3VkMFNr
 3eAz9yUDtARINdHhom6LfiTWmmPR6MdH
 =bxRY
 -END PGP PUBLIC KEY BLOCK-
+pub   rsa2048 2018-06-19 [SC] [expires: 2020-06-18]
+  D7E6B58FFA293FB1AC9E7B624FD8BC09C7E9DB81
+uid   [ultimate] cxfeng 
+sig 34FD8BC09C7E9DB81 2018-06-19  cxfeng 
+sub   rsa2048 2018-06-19 [E] [expires: 2020-06-18]
+sig  4FD8BC09C7E9DB81 2018-06-19  cxfeng 
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+
+mQENBFspF64BCADowNvmupAwA6oc7jUs7fCyGuhN0tngMZeb6aNToVq22GNLncsg
+k5EPvBn8OD9A/XLmNupspuK2zCx46Fq74kKZ76HHVxyXsb5yxCBA+TAdwx+AEpwZ
+0ss8AGKlTqbodqYiXgvB9VtPQZbRfqfryCGr3D/FVcKcWVv1omVf+Oe+KGSiaWPa
+f7gwl0x7xfB2ZML3802bFyz66GtgKS4pqPRYu5ompBydGpZqg9OHpNYm/D/G1pST
+jUEHrx+9HYwTv01d/YAqbKNXwxlxxuu5DZofoBygtVXvmUF6DADBGf2LBCttCEqa
+oRzDygsAWPcJYdN/e25xygBcZ7iIJf+19eRVABEBAAG0GmN4ZmVuZyA8Y3hmZW5n
+QGFwYWNoZS5vcmc+iQFUBBMBCAA+FiEE1+a1j/opP7GsnntiT9i8Ccfp24EFAlsp
+F64CGwMFCQPCZwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQT9i8Ccfp24FD
+Vgf/X6atvKSCryMIMN5isYaCeqeVf/GHfK3fQv8IsnmSejqje1YKUG9rMPWGr7fh
+JMsc9sQXITAcgh53xXDqZMpCPW+9rXKnzC/0H6Jk3rSUIUDjvccz/hG1fYczBZIi
+4McXbxUHnwLP7ykYmQFDprxhDCzfQavHBQLcyxKdFZSKwidac3HJJo8b83OG6P62
+ZQxFVDSn5eiift1WeqPuFmk6nUNeBJhULgjXXerGbUAdkT/QziwbryBSYnE91LJn
+GthiSLkPkYnYje24l8NWdGk+tTi7IhSQwRFLVsPcAzyDNzfG1fwEwnOy1EIgI78i
+nVSDDNSB8jr6IvnUE+28LhHuhLkBDQRbKReuAQgAtih9iYplMldj26G67jHCg9Hj
+hZH9hW2h81TNKBVUf7q9z0Hth7BmCVDMqkEFud98SYHzm/dL05u3shc0sFM+bFvq
+6fEfkHLiUPkteckPRP/sjao9hn2a7T1D2HpiKShCIrNowYhSkPZ9pldgMhvmq2x1
+2hY6dqgjqkao+3GY4/6uVDBI8addTAAk8zopVj66OP1PcY8QgrVHJ/DkDrp43MhB
+vUGs/3SPefDycc6YxsXd89imAKY1w56LNdiTMsFG7ZHvwokW9MY+fW8RFGeJCGgW
+Vl0UJhCkwbje+7M+oQqmgSHATHKANHFbHH6lmcDMMD7jNToiX0zv5PuTnlDu7wAR
+AQABiQE8BBgBCAAmFiEE1+a1j/opP7GsnntiT9i8Ccfp24EFAlspF64CGwwFCQPC
+ZwAACgkQT9i8Ccfp24HqUQgAnT1Uz19Jb11+uw+eRhbjFPInhG3iylDiZM32ZwYT
+FsYPUvmXYvZSbPm3q+rvZuutxAhqLlEBpBTu5NMF6gGB/Rg6aTRK13TXqL5Z/OkP
+EqJKpdxxWhGBvomykNrT9Zr/8hjsxu1epr870j+RPIUTrlt0FE+5W9KrJSkrwPhi
+XmBYiBFUcRx6rlW645frbCiUwYE2efKPnHhEpwQO7hoLjQVP0dYDmSETIOYSInqp
+kzNsW8rbbBoh0xEshJD5WILq98kHqNibg3ej5lXIIxNeF1Mmpa+zisOTQwfzkU2i
+pvKODsEag0OuRCTc+yVlJPqp+L45jW4Ng5lfizaS0l4VrA==
+=O/q7
+-END PGP PUBLIC KEY BLOCK-




[incubator-weex] Git Push Summary

2018-06-19 Thread cxfeng
Repository: incubator-weex
Updated Tags:  refs/tags/0.19.0-rc0 [created] 985444e2d


[30/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.13

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/38f43ecc/pre-build/weex-main-jsfm.js
--
diff --git a/pre-build/weex-main-jsfm.js b/pre-build/weex-main-jsfm.js
index 4a0b428..af0084d 100644
--- a/pre-build/weex-main-jsfm.js
+++ b/pre-build/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.11, 
Build 2018-06-07 17:20. (Vue: 2.5.13-weex.5, Rax: 0.4.20)");var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&&define.amd?define(t):t()}(0,function(){"use strict";var 
t,c,r,l;function e(e){return 
e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function
 n(e,t){return 
e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof
 e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var 
t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0o;)_(r,n=t[o++])&&(~H(i,n)||i.push(n));return
 
i}(e,G)},Z={f:Object.getOwnPropertySymbols},Y={f:{}.propertyIsEnumerable},Q=function(e){return
 Object(P(e))},ee=Object.assign,te=!ee||i(function(){var 
e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return 
e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ee({},e)[n]||Object.keys(ee({},t)).join("")!=r})?function(e,t){for(var
 n=arguments,r=Q(e),o=arguments.length,i=1,a=Z.f,s=Y.f;idocument.F=Object<\/script>"),e.close(),ve=e.F;n--;)delete
 ve[he][G[n]];return ve()},me=Object.create||function(e,t){var n;return 
null!==e?(de[he]=y(e),n=new de,de[he]=null,n[pe]=e):n=ve(),void 
0===t?n:le(n,t)},ye=h.f,ge=re("toStringTag"),_e=function(e,t,n){e&&!_(e=n?e:e.prototype,ge)&&ye(e,ge,{configurable:!0,value:t})},be={};S(be,re("iterator"),function(){return
 this});var 
we,ke=z("IE_PROTO"),Se=Object.prototype,Oe=Object.getPrototypeOf||function(e){return
 e=Q(e),_(e,ke)?e[ke]:"function"==typeof e.constructor&&e instanceof 
e.constructor?e.constructor.prototype:e instanceof 
Object?Se:null},Ce=re("iterator"),xe=!([].keys&&"next"in[].keys()),Ee="values",$e=function(){return
 this},Ae=function(e,t,n,r,o,i,a){var 
s,c,l;c=t,l=r,(s=n).prototype=me(be,{next:k(1,l)}),_e(s,c+" Iterator");var 
u,f,p,d=function(e){if(!xe&&e
  in y)return y[e];switch(e){case"keys":case Ee:return function(){return new 
n(this,e)}}return function(){return new n(this,e)}},h=t+" 
Iterator",v=o==Ee,m=!1,y=e.prototype,g=y[Ce]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void
 0,w="Array"==t&&y.entries||g;if(w&&(p=Oe(w.call(new 
e)))!==Object.prototype&&p.next&&(_e(p,h,!0),"function"!=typeof 
p[Ce]&&S(p,Ce,$e)),v&&g&&g.name!==Ee&&(m=!0,_=function(){return 
g.call(this)}),(xe||m||!y[Ce])&&S(y,Ce,_),ce[t]=_,ce[h]=$e,o)if(u={values:v?_:d(Ee),keys:i?_:d("keys"),entries:b},a)for(f
 in u)f in y||C(y,f,u[f]);else I(I.P+I.F*(xe||m),t,u);return 
u},je=(we=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return 
i<0||a<=i?we?"":void 
0:(n=o.charCodeAt(i))<55296||56319=t.length?{value:void 0,done:!0}:(e=je(t,n)
 ,this._i+=e.length,{value:e,done:!1})});var 
Ie=re("unscopables"),Me=Array.prototype;null==Me[Ie]&&S(Me,Ie,{});var 
Te=function(e){Me[Ie][e]=!0},Fe=function(e,t){return{value:t,done:!!e}},Pe=Ae(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var
 e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 
0,Fe(1)):Fe(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ce.Arguments=ce.Array,Te("keys"),Te("values"),Te("entries");for(var
 
Ne=re("iterator"),Re=re("toStringTag"),De=ce.Array,Ve={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheet
 
List:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},Je=K(Ve),Le=0;Ler;)n.push(t[r++]);return 
lt[++ct]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 
0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return 
r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return 
r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return 
r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof
 e?e:Function(e),n)},He(ct),ct},it=function(e){delete 
lt[e]},"process"==T(rt)?He=function(e){rt.nextTick(E(ft,e,1))}:st&&st.now?He=function(e){st.now(E(ft,e,1))}:at?(Ge=(Xe=new
 
at).port2,Xe.port1.onmessage=pt,He=E(Ge.postMessage,Ge,1)):v.addEventListener&&"function"==typeof
 postMessage&&!v.importScripts?(He=function(e){v.postMessage(e+"","*")},v.ad
 dEventListener("message",pt

[15/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Remove unless include

2018-06-19 Thread cxfeng
[WEEX-442][Core] Remove unless include


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

Branch: refs/heads/release
Commit: 1940651026839f875ac66d101ae30caaae6fc8d6
Parents: 3dcab42
Author: miomin 
Authored: Fri Jun 8 11:47:46 2018 +0800
Committer: YorkShen 
Committed: Tue Jun 12 12:44:03 2018 +0800

--
 weex_core/Source/CMakeLists.txt |   7 +
 .../native_render_object_utils_impl_android.cpp |   1 +
 .../Source/core/render/action/render_action.h   |   9 +-
 .../render/action/render_action_add_element.cpp |  24 +-
 .../render/action/render_action_add_element.h   |  22 +-
 .../render/action/render_action_add_event.cpp   |  11 +-
 .../render/action/render_action_add_event.h |   9 +-
 .../render_action_appendtree_createfinish.cpp   |  11 +-
 .../render_action_appendtree_createfinish.h |   6 +-
 .../render/action/render_action_createbody.cpp  |  19 +-
 .../render/action/render_action_createbody.h|  17 +-
 .../action/render_action_createfinish.cpp   |   7 +-
 .../render/action/render_action_createfinish.h  |   6 +-
 .../core/render/action/render_action_layout.cpp |  15 +-
 .../core/render/action/render_action_layout.h   |  16 +-
 .../action/render_action_move_element.cpp   |  13 +-
 .../render/action/render_action_move_element.h  |   8 +-
 .../action/render_action_remove_element.cpp |  11 +-
 .../action/render_action_remove_element.h   |   6 +-
 .../action/render_action_remove_event.cpp   |  15 +-
 .../render/action/render_action_remove_event.h  |   9 +-
 .../render/action/render_action_update_attr.cpp |   8 +-
 .../render/action/render_action_update_attr.h   |   9 +-
 .../action/render_action_update_style.cpp   |  14 +-
 .../render/action/render_action_update_style.h  |  15 +-
 .../core/render/manager/render_manager.cpp  |  23 +-
 .../Source/core/render/manager/render_manager.h |  12 +-
 .../core/render/node/factory/i_render_factory.h |   2 +-
 .../core/render/node/factory/i_render_object.h  |  13 +-
 .../render/node/factory/render_appbar_factory.h |   4 +-
 .../render/node/factory/render_cell_factory.h   |   4 +-
 .../core/render/node/factory/render_creator.cpp |  37 +-
 .../node/factory/render_indicator_factory.h |  36 --
 .../render/node/factory/render_input_factory.h  |  36 --
 .../render/node/factory/render_list_factory.h   |   4 +-
 .../render/node/factory/render_mask_factory.h   |   4 +-
 .../node/factory/render_scroller_factory.h  |   4 +-
 .../render/node/factory/render_switch_factory.h |  36 --
 .../render/node/factory/render_text_factory.h   |   4 +-
 .../node/factory/render_textarea_factory.h  |  36 --
 .../core/render/node/factory/render_type.h  |   4 -
 .../render/node/factory/simple_render_factory.h |   4 +-
 .../Source/core/render/node/render_appbar.cpp   |  85 +
 .../Source/core/render/node/render_appbar.h |  62 +---
 weex_core/Source/core/render/node/render_cell.h |   2 +-
 .../Source/core/render/node/render_indicator.h  |  30 --
 .../Source/core/render/node/render_input.h  |  30 --
 .../Source/core/render/node/render_list.cpp | 319 +
 weex_core/Source/core/render/node/render_list.h | 319 ++---
 .../Source/core/render/node/render_mask.cpp |  54 +++
 weex_core/Source/core/render/node/render_mask.h |  28 +-
 .../Source/core/render/node/render_object.cpp   | 323 -
 .../Source/core/render/node/render_object.h | 348 ++-
 .../Source/core/render/node/render_scroller.cpp |  51 +++
 .../Source/core/render/node/render_scroller.h   |  34 +-
 .../Source/core/render/node/render_switch.h |  30 --
 .../Source/core/render/node/render_text.cpp |  34 ++
 weex_core/Source/core/render/node/render_text.h |  16 +-
 .../Source/core/render/node/render_textarea.h   |  30 --
 .../Source/core/render/page/render_page.cpp | 124 ---
 weex_core/Source/core/render/page/render_page.h |  58 ++--
 61 files changed, 1278 insertions(+), 1250 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/CMakeLists.txt
--
diff --git a/weex_core/Source/CMakeLists.txt b/weex_core/Source/CMakeLists.txt
index d0ef00c..6cb9c18 100644
--- a/weex_core/Source/CMakeLists.txt
+++ b/weex_core/Source/CMakeLists.txt
@@ -19,8 +19,15 @@ set(COMMON_SRCS
 
   ./core/render/manager/render_manager.cpp
   ./core/render/page/render_page.cpp
+
   ./core/render/node/render_object.cpp
   ./core/render/node/factory/render_creator.cpp
+  ./core/render/node/render_appbar.cpp
+  ./core/render/node/render_lis

[03/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.11

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/185d3932/android/sdk/assets/weex-main-jsfm.js
--
diff --git a/android/sdk/assets/weex-main-jsfm.js 
b/android/sdk/assets/weex-main-jsfm.js
index 8abdbd6..4a0b428 100644
--- a/android/sdk/assets/weex-main-jsfm.js
+++ b/android/sdk/assets/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.10, 
Build 2018-06-07 14:55. (Vue: 2.5.11-weex.1, Rax: 0.4.20)");var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&&define.amd?define(t):t()}(0,function(){"use strict";var 
t,c,r,l;function e(e){return 
e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function
 n(e,t){return 
e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof
 e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var 
t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0o;)_(r,n=t[o++])&&(~G(i,n)||i.push(n));return
 
i}(e,Z)},Q={f:Object.getOwnPropertySymbols},ee={f:{}.propertyIsEnumerable},te=function(e){return
 Object(P(e))},ne=Object.assign,re=!ne||i(function(){var 
e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return 
e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ne({},e)[n]||Object.keys(ne({},t)).join("")!=r})?function(e,t){for(var
 n=arguments,r=te(e),o=arguments.length,i=1,a=Q.f,s=ee.f;idocument.F=Object<\/script>"),e.close(),ye=e.F;n--;)delete
 ye[me][Z[n]];return ye()},ge=Object.create||function(e,t){var n;return 
null!==e?(ve[me]=y(e),n=new ve,ve[me]=null,n[he]=e):n=ye(),void 
0===t?n:fe(n,t)},_e=h.f,be=ie("toStringTag"),we=function(e,t,n){e&&!_(e=n?e:e.prototype,be)&&_e(e,be,{configurable:!0,value:t})},ke={};S(ke,ie("iterator"),function(){return
 this});var 
Se,Oe=X("IE_PROTO"),Ce=Object.prototype,xe=Object.getPrototypeOf||function(e){return
 e=te(e),_(e,Oe)?e[Oe]:"function"==typeof e.constructor&&e instanceof 
e.constructor?e.constructor.prototype:e instanceof 
Object?Ce:null},Ee=ie("iterator"),$e=!([].keys&&"next"in[].keys()),Ae="values",je=function(){return
 this},Ie=function(e,t,n,r,o,i,a){var 
s,c,l;c=t,l=r,(s=n).prototype=ge(ke,{next:k(1,l)}),we(s,c+" Iterator");var 
u,f,p,d=function(e){if(!$e&&e in y)return y[e];switch(e){case"keys":case 
Ae:return function(){return new n(this,e)}}return function(){return new 
n(this,e)}},h=t+" Iterator",v=o
 
==Ae,m=!1,y=e.prototype,g=y[Ee]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void
 0,w="Array"==t&&y.entries||g;if(w&&(p=xe(w.call(new 
e)))!==Object.prototype&&p.next&&(we(p,h,!0),"function"!=typeof 
p[Ee]&&S(p,Ee,je)),v&&g&&g.name!==Ae&&(m=!0,_=function(){return 
g.call(this)}),($e||m||!y[Ee])&&S(y,Ee,_),ue[t]=_,ue[h]=je,o)if(u={values:v?_:d(Ae),keys:i?_:d("keys"),entries:b},a)for(f
 in u)f in y||C(y,f,u[f]);else I(I.P+I.F*($e||m),t,u);return 
u},Me=(Se=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return 
i<0||a<=i?Se?"":void 
0:(n=o.charCodeAt(i))<55296||56319=t.length?{value:void 
0,done:!0}:(e=Me(t,n),this._i+=e.length,{value:e,done:!1})});var 
Te=ie("unscopables"),Fe=Array.prototype;null==Fe[Te]&&S(Fe,Te,{});var 
Pe=function(e){Fe[Te][e]=!0},Ne=f
 
unction(e,t){return{value:t,done:!!e}},Re=Ie(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var
 e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 
0,Ne(1)):Ne(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ue.Arguments=ue.Array,Pe("keys"),Pe("values"),Pe("entries");for(var
 
De=ie("iterator"),Ve=ie("toStringTag"),Je=ue.Array,Le={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},We=Y(Le),qe=0;qer;)n.push(t[r++]);return 
ft[++ut]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 
0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return 
r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return 
r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return 
r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof
 e?e:Function(e),n)},Ge(ut),ut},st=function(e){delete 
ft[e]},"process"==T(it)?Ge=function(e){it.nextTick(E(dt,e,1))}:lt&<.now?Ge=function(e){lt.now(E(dt,e,1))}:ct?(Ze=(Ke=new
 
ct).port2,Ke.port1.onmessage=ht,Ge=E(Ze.postMessage,Ze,1)):v.addEventListener&&"function"==typeof
 
postMessage&&!v.importScripts?(Ge=function(e){v.postMe

[04/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.11

2018-06-19 Thread cxfeng
* [jsfm] upgrade js framework to v0.26.11


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

Branch: refs/heads/release
Commit: 185d3932d09b1279476c7067abb2245b37f565a5
Parents: b2afcf9
Author: 门柳 
Authored: Thu Jun 7 17:24:23 2018 +0800
Committer: 门柳 
Committed: Thu Jun 7 17:24:23 2018 +0800

--
 android/sdk/assets/weex-main-jsfm.js | 2 +-
 package.json | 4 ++--
 pre-build/weex-main-jsfm.js  | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)
--




[39/50] [abbrv] incubator-weex git commit: [WEEX-441][core] mv core logic from core_android_impl to bridge.cpp

2018-06-19 Thread cxfeng
[WEEX-441][core] mv core logic from core_android_impl to bridge.cpp

* [core] merge fix


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

Branch: refs/heads/release
Commit: 676d0eb4d29f70dce447d916becf841ddb03198c
Parents: ece3827
Author: zhongcang 
Authored: Thu Jun 7 16:32:18 2018 +0800
Committer: YorkShen 
Committed: Thu Jun 14 16:26:31 2018 +0800

--
 weex_core/Source/CMakeLists.txt |   1 +
 .../bridge/impl/weexcore_impl_android.cpp   | 194 ++
 weex_core/Source/core/bridge/bridge.cpp | 197 +++
 weex_core/Source/core/bridge/bridge.h   |  28 +++
 weex_core/Source/core/bridge/js_bridge.h|   3 -
 5 files changed, 284 insertions(+), 139 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/676d0eb4/weex_core/Source/CMakeLists.txt
--
diff --git a/weex_core/Source/CMakeLists.txt b/weex_core/Source/CMakeLists.txt
index 6cb9c18..a63d430 100644
--- a/weex_core/Source/CMakeLists.txt
+++ b/weex_core/Source/CMakeLists.txt
@@ -51,6 +51,7 @@ set(COMMON_SRCS
   ./core/manager/weex_core_manager.cpp
   ./core/bridge/js_bridge.cpp
   ./core/parser/dom_wson.cpp
+   ./core/bridge/bridge.cpp
 )
 add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/wson)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/wson)

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/676d0eb4/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
--
diff --git a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp 
b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
index 3febd5b..e731026 100644
--- a/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/weexcore_impl_android.cpp
@@ -26,6 +26,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace WeexCore;
 
@@ -119,30 +120,28 @@ static void BindMeasurementToRenderObject(JNIEnv* env, 
jobject jcaller,
 }
 
 static void OnInstanceClose(JNIEnv *env, jobject jcaller, jstring instanceId) {
-  RenderManager::GetInstance()->ClosePage(jString2StrFast(env, instanceId));
+WeexCoreManager::getInstance()->getPlatformBridge()->onInstanceClose(
+env->GetStringUTFChars(instanceId, JNI_FALSE)
+);
 }
 
 static void SetDefaultHeightAndWidthIntoRootDom(JNIEnv *env, jobject jcaller,
 jstring instanceId, jfloat 
defaultWidth, jfloat defaultHeight,
 jboolean isWidthWrapContent, 
jboolean isHeightWrapContent) {
-  RenderPage *page = 
RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
-  if (page == nullptr)
-return;
-
-#if RENDER_LOG
-  LOGD("[JNI] SetDefaultHeightAndWidthIntoRootDom  pageId: %s, 
defaultWidth: %f, defaultHeight: %f",
-   page->PageId().c_str(), defaultWidth,defaultHeight);
-#endif
-
-  page->SetDefaultHeightAndWidthIntoRootRender(defaultWidth, defaultHeight, 
isWidthWrapContent, isHeightWrapContent);
+  
WeexCoreManager::getInstance()->getPlatformBridge()->setDefaultHeightAndWidthIntoRootDom(
+  env->GetStringUTFChars(instanceId, JNI_FALSE),
+  defaultWidth,
+  defaultHeight,
+  isWidthWrapContent,
+  isHeightWrapContent
+  );
 }
 
 static void SetRenderContainerWrapContent(JNIEnv* env, jobject jcaller, 
jboolean wrap, jstring instanceId) {
-  RenderPage *page = 
RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
-  if (page == nullptr)
-return;
-
-  page->set_is_render_container_width_wrap_content(wrap);
+const char *cInstanceId = env->GetStringUTFChars(instanceId, JNI_FALSE);
+
WeexCoreManager::getInstance()->getPlatformBridge()->setRenderContainerWrapContent(
+cInstanceId,wrap
+);
 }
 
 static jlongArray GetFirstScreenRenderTime(JNIEnv *env, jobject jcaller, 
jstring instanceId) {
@@ -211,153 +210,77 @@ static jlongArray GetRenderFinishTime(JNIEnv *env, 
jobject jcaller, jstring inst
 
 //Notice that this method is invoked from main thread.
 static jboolean NotifyLayout(JNIEnv* env, jobject jcaller, jstring instanceId) 
{
-  RenderPage *page = 
RenderManager::GetInstance()->GetPage(jString2StrFast(env, instanceId));
-  if (page != nullptr) {
-
-if (!page->need_layout_.load()) {
-  page->need_layout_.store(true);
-}
-
-bool ret = !page->has_fore_layout_action_.load() && page->is_dirty();
-if (ret) {
-  page->has_fore_layout_action_.st

[32/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.13

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/38f43ecc/android/sdk/assets/weex-main-jsfm.js
--
diff --git a/android/sdk/assets/weex-main-jsfm.js 
b/android/sdk/assets/weex-main-jsfm.js
index 4a0b428..af0084d 100644
--- a/android/sdk/assets/weex-main-jsfm.js
+++ b/android/sdk/assets/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.11, 
Build 2018-06-07 17:20. (Vue: 2.5.13-weex.5, Rax: 0.4.20)");var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&&define.amd?define(t):t()}(0,function(){"use strict";var 
t,c,r,l;function e(e){return 
e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function
 n(e,t){return 
e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof
 e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var 
t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0o;)_(r,n=t[o++])&&(~H(i,n)||i.push(n));return
 
i}(e,G)},Z={f:Object.getOwnPropertySymbols},Y={f:{}.propertyIsEnumerable},Q=function(e){return
 Object(P(e))},ee=Object.assign,te=!ee||i(function(){var 
e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return 
e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ee({},e)[n]||Object.keys(ee({},t)).join("")!=r})?function(e,t){for(var
 n=arguments,r=Q(e),o=arguments.length,i=1,a=Z.f,s=Y.f;idocument.F=Object<\/script>"),e.close(),ve=e.F;n--;)delete
 ve[he][G[n]];return ve()},me=Object.create||function(e,t){var n;return 
null!==e?(de[he]=y(e),n=new de,de[he]=null,n[pe]=e):n=ve(),void 
0===t?n:le(n,t)},ye=h.f,ge=re("toStringTag"),_e=function(e,t,n){e&&!_(e=n?e:e.prototype,ge)&&ye(e,ge,{configurable:!0,value:t})},be={};S(be,re("iterator"),function(){return
 this});var 
we,ke=z("IE_PROTO"),Se=Object.prototype,Oe=Object.getPrototypeOf||function(e){return
 e=Q(e),_(e,ke)?e[ke]:"function"==typeof e.constructor&&e instanceof 
e.constructor?e.constructor.prototype:e instanceof 
Object?Se:null},Ce=re("iterator"),xe=!([].keys&&"next"in[].keys()),Ee="values",$e=function(){return
 this},Ae=function(e,t,n,r,o,i,a){var 
s,c,l;c=t,l=r,(s=n).prototype=me(be,{next:k(1,l)}),_e(s,c+" Iterator");var 
u,f,p,d=function(e){if(!xe&&e
  in y)return y[e];switch(e){case"keys":case Ee:return function(){return new 
n(this,e)}}return function(){return new n(this,e)}},h=t+" 
Iterator",v=o==Ee,m=!1,y=e.prototype,g=y[Ce]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void
 0,w="Array"==t&&y.entries||g;if(w&&(p=Oe(w.call(new 
e)))!==Object.prototype&&p.next&&(_e(p,h,!0),"function"!=typeof 
p[Ce]&&S(p,Ce,$e)),v&&g&&g.name!==Ee&&(m=!0,_=function(){return 
g.call(this)}),(xe||m||!y[Ce])&&S(y,Ce,_),ce[t]=_,ce[h]=$e,o)if(u={values:v?_:d(Ee),keys:i?_:d("keys"),entries:b},a)for(f
 in u)f in y||C(y,f,u[f]);else I(I.P+I.F*(xe||m),t,u);return 
u},je=(we=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return 
i<0||a<=i?we?"":void 
0:(n=o.charCodeAt(i))<55296||56319=t.length?{value:void 0,done:!0}:(e=je(t,n)
 ,this._i+=e.length,{value:e,done:!1})});var 
Ie=re("unscopables"),Me=Array.prototype;null==Me[Ie]&&S(Me,Ie,{});var 
Te=function(e){Me[Ie][e]=!0},Fe=function(e,t){return{value:t,done:!!e}},Pe=Ae(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var
 e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 
0,Fe(1)):Fe(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ce.Arguments=ce.Array,Te("keys"),Te("values"),Te("entries");for(var
 
Ne=re("iterator"),Re=re("toStringTag"),De=ce.Array,Ve={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheet
 
List:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},Je=K(Ve),Le=0;Ler;)n.push(t[r++]);return 
lt[++ct]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 
0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return 
r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return 
r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return 
r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof
 e?e:Function(e),n)},He(ct),ct},it=function(e){delete 
lt[e]},"process"==T(rt)?He=function(e){rt.nextTick(E(ft,e,1))}:st&&st.now?He=function(e){st.now(E(ft,e,1))}:at?(Ge=(Xe=new
 
at).port2,Xe.port1.onmessage=pt,He=E(Ge.postMessage,Ge,1)):v.addEventListener&&"function"==typeof
 postMessage&&!v.importScripts?(He=function(e){v.postMessag

[21/50] [abbrv] incubator-weex git commit: [WEEX-454][Android] fix can't find libweexjss when deploy

2018-06-19 Thread cxfeng
[WEEX-454][Android] fix can't find libweexjss when deploy

fix can't find libweexjss when deploy

Bug: WEEX-454


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

Branch: refs/heads/release
Commit: 1e715624b0b0b152e5de726a0ee20cddf3bb7661
Parents: ad255b3
Author: Darin 
Authored: Tue Jun 12 17:21:53 2018 +0800
Committer: Darin 
Committed: Tue Jun 12 17:21:53 2018 +0800

--
 .../java/com/taobao/weex/WXEnvironment.java |  71 
 .../com/taobao/weex/bridge/WXBridgeManager.java |   2 +-
 .../java/com/taobao/weex/bridge/WXParams.java   |  12 +-
 .../java/com/taobao/weex/utils/WXFileUtils.java |  31 +
 .../taobao/weex/utils/WXSoInstallMgrSdk.java|   3 +
 .../jsengine/multiprocess/WeexJSConnection.cpp  |  50 
 .../android/jsengine/multiprocess/WeexProxy.cpp | 116 +++
 .../android/jsengine/multiprocess/WeexProxy.h   |   1 +
 .../Source/core/render/node/render_object.h |   2 +-
 9 files changed, 208 insertions(+), 80 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1e715624/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
--
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java 
b/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
index 758494e..86d70c4 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
@@ -27,19 +27,26 @@ import android.graphics.Typeface;
 import android.os.Environment;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
+import android.util.Log;
 
 import com.taobao.weex.common.WXConfig;
 import com.taobao.weex.utils.FontDO;
 import com.taobao.weex.utils.LogLevel;
 import com.taobao.weex.utils.TypefaceUtil;
+import com.taobao.weex.utils.WXFileUtils;
 import com.taobao.weex.utils.WXLogUtils;
 import com.taobao.weex.utils.WXSoInstallMgrSdk;
 import com.taobao.weex.utils.WXUtils;
 
+import org.w3c.dom.Text;
+
 import java.io.File;
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
+import dalvik.system.PathClassLoader;
+
 public class WXEnvironment {
 
   public static final String OS = "android";
@@ -100,6 +107,9 @@ public class WXEnvironment {
   private static String sGlobalFontFamily;
 
   public static final String CORE_SO_NAME = "weexcore";
+  public static final String CORE_JSS_SO_NAME = "weexjss";
+
+  private static  String CORE_JSS_SO_PATH = null;
 
   private static Map options = new HashMap<>();
   static {
@@ -334,4 +344,65 @@ public class WXEnvironment {
   openDebugLog = false;
 }
   }
+
+  public static String findSoPath(String libName) {
+final String libPath = ((PathClassLoader) 
(WXEnvironment.class.getClassLoader())).findLibrary(libName);
+WXLogUtils.e(libName + "'s Path is" + libPath);
+return libPath;
+  }
+
+  public static String getCacheDir() {
+final Application application = getApplication();
+if (application == null || application.getApplicationContext() == null)
+  return null;
+return application.getApplicationContext().getCacheDir().getPath();
+  }
+
+  public static boolean extractSo() {
+File sourceFile = new 
File(getApplication().getApplicationContext().getApplicationInfo().sourceDir);
+final String cacheDir = getCacheDir();
+if (sourceFile.exists() && !TextUtils.isEmpty(cacheDir)) {
+  try {
+WXFileUtils.extractSo(sourceFile.getAbsolutePath(), cacheDir);
+  } catch (IOException e) {
+e.printStackTrace();
+return false;
+  }
+  return true;
+}
+return false;
+  }
+
+  private static String findLibJssRealPath() {
+String soPath = findSoPath(CORE_JSS_SO_NAME);
+String realName = "lib" + CORE_JSS_SO_NAME + ".so";
+if (TextUtils.isEmpty(soPath)) {
+  String cacheDir = getCacheDir();
+  if (TextUtils.isEmpty(cacheDir)) {
+return "";
+  }
+  if (cacheDir.indexOf("/cache") > 0) {
+soPath = new File(cacheDir.replace("/cache", "/lib"), 
realName).getAbsolutePath();
+  }
+}
+final File soFile = new File(soPath);
+if (soFile.exists())
+  return soPath;
+else {
+  //unzip from apk file
+  final boolean success = extractSo();
+  if (success)
+return new File(getCacheDir(), realName).getAbsolutePath();
+}
+return "";
+  }
+
+  public static String getLibJssRealPath() {
+if(TextUtils.isEmpty(CORE_JSS_SO_PATH)) {
+  CORE_JSS_SO_PATH = findLibJssRealPath();
+  WXLogUtils.e("findLib

[43/50] [abbrv] incubator-weex git commit: [WEEX-342][android] ava.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at com.taobao.weex.ui.component

2018-06-19 Thread cxfeng
[WEEX-342][android] ava.util.ConcurrentModificationException  at 
java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at 
com.taobao.weex.ui.component.WXComponent.applyEvents(WXComponent.java:290)


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

Branch: refs/heads/release
Commit: 2bb99f13be3cfc1ed4fdd4f7de24777dab9aac6e
Parents: 97967ae
Author: jianbai.gbj 
Authored: Thu Jun 14 20:41:35 2018 +0800
Committer: YorkShen 
Committed: Thu Jun 14 21:20:20 2018 +0800

--
 .../java/com/taobao/weex/ui/component/WXComponent.java  | 12 ++--
 .../java/com/taobao/weex/ui/view/gesture/WXGesture.java |  6 +-
 2 files changed, 15 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2bb99f13/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 9572986..072d8f4 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
@@ -290,7 +290,11 @@ public abstract class WXComponent extends 
WXBasicComponent imple
 if (getEvents() == null || getEvents().isEmpty())
   return;
 WXEvent event = getEvents();
-for(int i=0; i= event.size()){
+break;
+  }
   String type = event.get(i);
   addEvent(type);
 }
@@ -1447,7 +1451,11 @@ public abstract class WXComponent 
extends WXBasicComponent imple
   return;
 }
 WXEvent events = getEvents();
-for (int i=0; i= events.size()){
+break;
+  }
   String event = events.get(i);
   if (event == null) {
 continue;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2bb99f13/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
index be114a9..ee48c6a 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
@@ -140,7 +140,11 @@ public class WXGesture extends 
GestureDetector.SimpleOnGestureListener implement
 if(event == null){
   return false;
 }
-for(int i=0; i= event.size()){
+break;
+  }
   String type = event.get(i);
   if(isStopPropagation(type)){
 return true;



[02/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.11

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/185d3932/package.json
--
diff --git a/package.json b/package.json
index 587d6b6..0b90fb8 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "weex",
   "version": "0.12.2",
   "subversion": {
-"framework": "0.26.10",
+"framework": "0.26.11",
 "transformer": ">=0.1.5 <0.5"
   },
   "description": "A framework for building Mobile cross-platform UI",
@@ -86,7 +86,7 @@
 "semver": "^5.1.0",
 "weex-picker": "^0.1.0",
 "weex-rax-framework": "0.4.20",
-"weex-vue-framework": "2.5.11-weex.1"
+"weex-vue-framework": "2.5.13-weex.5"
   },
   "devDependencies": {
 "@weex-project/weex-picker": "^0.2.4",



[37/50] [abbrv] incubator-weex git commit: [WEEX-460][iOS] Fix ImageComponent with placeholder of URL cannot display placeholder if main image cannot be downloaded.

2018-06-19 Thread cxfeng
[WEEX-460][iOS] Fix ImageComponent with placeholder of URL cannot display 
placeholder if main image cannot be downloaded.


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

Branch: refs/heads/release
Commit: d1d80057b2c6b9cf1be47985e3d9cfab29b28140
Parents: 91d7134
Author: 神漠 
Authored: Wed Jun 13 21:14:11 2018 +0800
Committer: Adam Feng 
Committed: Thu Jun 14 14:54:15 2018 +0800

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


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d1d80057/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 8ab354b..7f177f3 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -381,7 +381,7 @@ WX_EXPORT_METHOD(@selector(save:))
 [[self imageLoader] setImageViewWithURL:(UIImageView*)self.view 
url:[NSURL URLWithString:newURL] placeholderImage:nil options:userInfo 
progress:^(NSInteger receivedSize, NSInteger expectedSize) {
 // progress when loading image
 } completed:^(UIImage *image, NSError *error, WXImageLoaderCacheType 
cacheType, NSURL *imageURL) {
-__strong typeof(weakSelf) strongSelf =  weakSelf;
+__strong typeof(weakSelf) strongSelf = weakSelf;
 if (strongSelf == nil) {
 return;
 }
@@ -434,7 +434,7 @@ WX_EXPORT_METHOD(@selector(save:))
 [strongSelf cancelImage];
 
 void(^downloadFailed)(NSString *, NSError *) = ^void(NSString 
*url, NSError *error) {
-strongSelf.imageDownloadFinish = YES;
+weakSelf.imageDownloadFinish = YES;
 WXLogError(@"Error downloading image: %@, detail:%@", url, 
[error localizedDescription]);
 };
 



[31/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.13

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/38f43ecc/package.json
--
diff --git a/package.json b/package.json
index 200f2f9..0e2cd82 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "weex",
   "version": "0.12.2",
   "subversion": {
-"framework": "0.26.11",
+"framework": "0.26.13",
 "transformer": ">=0.1.5 <0.5"
   },
   "description": "A framework for building Mobile cross-platform UI",



[20/50] [abbrv] incubator-weex git commit: [WEEX-42][Core] Fix RenderAction memory leak.

2018-06-19 Thread cxfeng
[WEEX-42][Core] Fix RenderAction memory leak.


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

Branch: refs/heads/release
Commit: e1c9dd58f010d75aff9e9fec03cc97d709ff2e2a
Parents: 2504c92
Author: miomin 
Authored: Mon Jun 11 15:46:11 2018 +0800
Committer: YorkShen 
Committed: Tue Jun 12 12:44:03 2018 +0800

--
 weex_core/Source/core/render/page/render_page.cpp | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e1c9dd58/weex_core/Source/core/render/page/render_page.cpp
--
diff --git a/weex_core/Source/core/render/page/render_page.cpp 
b/weex_core/Source/core/render/page/render_page.cpp
index a3f078f..24d7dd9 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -406,6 +406,8 @@ namespace WeexCore {
   void RenderPage::PostRenderAction(RenderAction *action) {
 if (action != nullptr) {
   action->ExecuteAction();
+  delete action;
+  action = nullptr;
 }
   }
 



[24/50] [abbrv] incubator-weex git commit: [WEEX-443][iOS] Fix picker issue on iOS 11.0.x update

2018-06-19 Thread cxfeng
[WEEX-443][iOS] Fix picker issue on iOS 11.0.x update


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

Branch: refs/heads/release
Commit: 482f144d628fe614baad14ab6c820a0e069503a4
Parents: fc93b10
Author: Xiaomin 
Authored: Mon Jun 11 16:40:18 2018 +0800
Committer: Adam Feng 
Committed: Wed Jun 13 17:08:06 2018 +0800

--
 ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m | 2 +-
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m   | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/482f144d/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m 
b/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
index 857ca82..7439b6b 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
@@ -46,7 +46,7 @@
 {
 self.backgroudView = [self createBackgroundView];
 UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer 
alloc]initWithTarget:self action:@selector(hide)];
-if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0") && 
WX_SYS_VERSION_LESS_THAN(@"11.1")) {
 tapGesture.delegate = self;
 }
 [self.backgroudView addGestureRecognizer:tapGesture];

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/482f144d/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m 
b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
index b894113..7538c41 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
@@ -269,7 +269,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 {
 self.backgroundView = [self createbackgroundView];
 UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer 
alloc]initWithTarget:self action:@selector(hide)];
-if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0") && 
WX_SYS_VERSION_LESS_THAN(@"11.1")) {
 tapGesture.delegate = self;
 }
 [self.backgroundView addGestureRecognizer:tapGesture];
@@ -471,7 +471,7 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 {
 self.backgroundView = [self createbackgroundView];
 UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer 
alloc]initWithTarget:self action:@selector(hide)];
-if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0") && 
WX_SYS_VERSION_LESS_THAN(@"11.1")) {
 tapGesture.delegate = self;
 }
 [self.backgroundView addGestureRecognizer:tapGesture];



[09/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Using clang-format

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/render_object.h
--
diff --git a/weex_core/Source/core/render/node/render_object.h 
b/weex_core/Source/core/render/node/render_object.h
index 91c9a16..8f50bff 100644
--- a/weex_core/Source/core/render/node/render_object.h
+++ b/weex_core/Source/core/render/node/render_object.h
@@ -16,154 +16,144 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-#ifndef RenderObject_h
-#define RenderObject_h
+#ifndef CORE_RENDER_NODE_RENDER_OBJECT_H_
+#define CORE_RENDER_NODE_RENDER_OBJECT_H_
 
-#include 
+#include 
 #include 
 #include 
-#include 
+#include 
 
 #include "core/render/node/factory/render_object_interface.h"
 
-#define JSON_OBJECT_MARK_CHAR  '{'
-#define JSON_ARRAY_MARK_CHAR  '['
+#define JSON_OBJECT_MARK_CHAR '{'
+#define JSON_ARRAY_MARK_CHAR '['
 
-#define convert_render_object_to_long(render)((jlong)((intptr_t)render))
+#define convert_render_object_to_long(render) ((jlong)((intptr_t)render))
 
-#define convert_long_to_render_object(ptr)   ((RenderObject *)((intptr_t)ptr))
+#define convert_long_to_render_object(ptr) \
+  (static_cast((intptr_t)ptr))
 
 namespace WeexCore {
 
-  class RenderObject;
-
-  class RenderPage;
-
-  typedef enum StyleType {
-kTypeStyle, kTypeLayout, kTypeMargin, kTypePadding, kTypeBorder
-  } StyleType;
-
-  class RenderObject : public IRenderObject {
-
-friend class RenderPage;
-
-  public:
-
-void LayoutBeforeImpl();
+class RenderObject;
 
-void LayoutAfterImpl();
+class RenderPage;
 
-void CopyFrom(RenderObject *src);
+typedef enum StyleType {
+  kTypeStyle,
+  kTypeLayout,
+  kTypeMargin,
+  kTypePadding,
+  kTypeBorder
+} StyleType;
 
-void MapInsertOrAssign(std::map *targetMap, 
const std::string &key,
-   const std::string &value);
+class RenderObject : public IRenderObject {
+  friend class RenderPage;
 
-bool ViewInit();
+ public:
+  void LayoutBeforeImpl();
 
-virtual std::map *GetDefaultStyle() {
-  return nullptr;
-}
+  void LayoutAfterImpl();
 
-virtual std::map *GetDefaultAttr() {
-  return nullptr;
-}
+  void CopyFrom(RenderObject *src);
 
-  protected:
+  void MapInsertOrAssign(std::map *targetMap,
+ const std::string &key, const std::string &value);
 
-bool UpdateStyleInternal(const std::string key, const std::string value, 
float fallback,
- std::function functor);
+  bool ViewInit();
 
-  public:
+  virtual std::map *GetDefaultStyle() {
+return nullptr;
+  }
 
-explicit RenderObject();
+  virtual std::map *GetDefaultAttr() {
+return nullptr;
+  }
 
-~RenderObject();
+ protected:
+  bool UpdateStyleInternal(const std::string key, const std::string value,
+   float fallback, std::function functor);
 
-void BindMeasureFunc();
+ public:
+  RenderObject();
 
-void OnLayoutBefore();
+  ~RenderObject();
 
-void OnLayoutAfter(float width, float height);
+  void BindMeasureFunc();
 
-virtual StyleType ApplyStyle(const std::string &key, const std::string 
&value, const bool updating);
+  void OnLayoutBefore();
 
-void ApplyDefaultStyle();
+  void OnLayoutAfter(float width, float height);
 
-void ApplyDefaultAttr();
+  virtual StyleType ApplyStyle(const std::string &key, const std::string 
&value,
+   const bool updating);
 
-Index IndexOf(const RenderObject *render);
+  void ApplyDefaultStyle();
 
-virtual int AddRenderObject(int index, RenderObject *child);
+  void ApplyDefaultAttr();
 
-float GetViewPortWidth();
+  Index IndexOf(const RenderObject *render);
 
-const std::string GetAttr(const std::string &key);
+  virtual int AddRenderObject(int index, RenderObject *child);
 
-const std::string GetStyle(const std::string &key);
+  float GetViewPortWidth();
 
-RenderPage *GetRenderPage();
+  const std::string GetAttr(const std::string &key);
 
-virtual void UpdateAttr(std::string key, std::string value);
+  const std::string GetStyle(const std::string &key);
 
-virtual StyleType UpdateStyle(std::string key, std::string value);
+  RenderPage *GetRenderPage();
 
-bool IsAppendTree();
+  virtual void UpdateAttr(std::string key, std::string value);
 
-RenderObject *GetChild(const Index &index);
+  virtual StyleType UpdateStyle(std::string key, std::string value);
 
-void RemoveRenderObject(RenderObject *child);
+  bool IsAppendTree();
 
-void AddAttr(std::string key, std::string value);
+  RenderObject *GetChild(const Index &index);
 
-StyleType AddStyle(std::string key, std::string value);
+  void RemoveRenderObject(RenderObject *child);
 
-void AddEvent(std::string event);
+  void AddAttr(std::string key, std::string value);
 
-void RemoveEvent(const std::string &event);
+  StyleType 

[05/50] [abbrv] incubator-weex git commit: * [iOS] fix history issue : delete rootNode in mainThread

2018-06-19 Thread cxfeng
* [iOS] fix history issue : delete rootNode in mainThread


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

Branch: refs/heads/release
Commit: 69679b034eccaf1312799e2f8597dda857b91a2f
Parents: 185d393
Author: zhongcang 
Authored: Tue Jun 5 11:17:48 2018 +0800
Committer: Adam Feng 
Committed: Thu Jun 7 17:58:56 2018 +0800

--
 ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/69679b03/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
--
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm 
b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
index 0bda28a..ed3e9f0 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
@@ -94,9 +94,11 @@ static NSThread *WXComponentThread;
 - (void)dealloc
 {
 if(_rootFlexCSSNode){
-delete _rootFlexCSSNode;
-
-   // WeexCore::WXCoreLayoutNode::freeNodeTree(_rootFlexCSSNode);
+if ([[NSThread currentThread].name 
isEqualToString:WX_COMPONENT_THREAD_NAME]) {
+delete _rootFlexCSSNode;
+}else{
+[WXComponent recycleNodeOnComponentThread:_rootFlexCSSNode 
gabRef:@"_root_p"];
+}
 _rootFlexCSSNode=nullptr;
 }
 [NSMutableArray wx_releaseArray:_fixedComponents];



[47/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.14 (#1274)

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/android/sdk/assets/weex-rax-api.js
--
diff --git a/android/sdk/assets/weex-rax-api.js 
b/android/sdk/assets/weex-rax-api.js
index 4ab5226..cb5f512 100644
--- a/android/sdk/assets/weex-rax-api.js
+++ b/android/sdk/assets/weex-rax-api.js
@@ -1,2 +1,2 @@
-var global=this,process={env:{}};!function(e,t){"object"==typeof 
exports&&"undefined"!=typeof module?t():"function"==typeof 
define&&define.amd?define(t):t()}(0,function(){"use strict";var 
e,t,n=(function(e){e.exports=function(n){var r={};function o(e){if(r[e])return 
r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return 
n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return 
o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.n=function(e){var
 t=e&&e.__esModule?function(){return e.default}:function(){return e};return 
o.d(t,"a",t),t},o.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=22)}([function(e,t,n){var
 r=e.exports.createUniqueKey="undefined"!=typeof 
Symbol?Symbol:function(e){return"[["+e+"_"+Math.random().toFixed(8).slice(2)+"]]"},o=e.exports.isObject=function(e){return"object"==typeof
 e&&null!==e};e.exports.LISTENERS=r("lis
 
teners"),e.exports.CAPTURE=1,e.exports.BUBBLE=2,e.exports.ATTRIBUTE=3,e.exports.newNode=function(e,t,n){var
 
r=o(n);return{listener:e,kind:t,once:r&&Boolean(n.once),passive:r&&Boolean(n.passive),next:null}}},function(e,t,n){var
 
r=n(0),o=n(9),i=n(8),a=r.isObject,u=r.LISTENERS,s=r.CAPTURE,l=r.BUBBLE,c=r.ATTRIBUTE,f=r.newNode,d=o.defineCustomEventTarget,p=i.createEventWrapper,h=i.STOP_IMMEDIATE_PROPAGATION_FLAG,v=i.PASSIVE_LISTENER_FLAG,y="undefined"!=typeof
 window&&void 0!==window.EventTarget,m=e.exports=function e(){var 
t=arguments;if(!(this instanceof 
e)){if(1===arguments.length&&Array.isArray(arguments[0]))return 
d(e,arguments[0]);if(0>8-o%1*8)){if(255<(n=r.charCodeAt(o+=.75)))throw
 new Error("'btoa' failed: The string to be encoded contains characters outside 
of the Latin1 range.");t=t<<8|n}return a},e.atob=function(e){var 
t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Error("'atob' failed: 
The string to be decoded is not correctly encoded.");for(var 
n,r,o=0,i=0,a="";r=t.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r=u.indexOf(r);return
 a},e}},function(e,t,n){var 
o="@weex-module/timer";e.exports=function(n,r){return{setTimeout:function(e,t){return
 
n(o).setTimeout(e,t),r.taskCenter.callbackManager.lastCallbackId.toString()},clearTimeout:function(e){n(o).clearTimeout(e)},setInterval:function(e,t){return
 
n(o).setInterval(e,t),r.taskCenter.callbackManager.lastCallbackId.toString()},clearInterval
 :function(e){n(o).clearInterval(e)},requestAnimationFrame:function(e){return 
n(o).setTimeout(e,16)},cancelAnimationFrame:function(e){n(o).clearTimeout(e),function(e,t,n){var
 r=function(){function r(e,t){for(var n=0;nparseInt(o[u])){a=1;break}if(o[u]&&!r[u]&&0":if(1===a)return!0;break;case">=":if(-1!==a)return!0;break;default:if(0===a)return!0}return!1}},e.exports=t.default},function(e,t,n){var
 r,o=n(14),h=(r=o)&&r.__esModule?r:{default:r};function v(e){if("*"==e)return 
e;for(var t=(e="string"==typeof e?e:"").split("."),n=0,r=[];n<3;){var 
o="string"==typeof t[n]&&t[n]?t[n]:"0";r.push(o),n++}return 
r.join(".")}function y(e,t,n){var 
r={isDowngrade:!0,errorType:1,code:1e3},o=e.toLowerCase();return 
0<=o.indexOf("osversion")?r.code=1001:0<=o.indexOf("appversion")?r.code=1002:0<=o.indexOf("weexversion")?r.code=1003:0<=o.indexOf("devicemodel")&&(r.code=1004),r.errorMessage="Downgrade["+e+"]
 :: deviceInfo "+t+" matched criteria "+n,r}e.exports=function(r){return 
function(e){var t=r("@weex-module/instanceWrap"),n=function(e){var 
t={isDowngrade:!1},n=W
 XEnvironment,r=e[(n.platform||"unknow").toLowerCase()]||{};for(var o in n){var 
i=o,a=i.toLowerCase(),u=n[o],s=0<=a.indexOf("version"),l=0<=a.indexOf("osversion"),c=0<=a.indexOf("devicemodel"),f=r[o];if(l&&"p"==u.toLowerCase()&&(u="9.0.0"),f&&s){var
 d=v(f),p=v(u);if(h.default.satisfies(p,d)){t=y(i,u,f);break}}else 
if(c&&0<=(Array.isArray(f)?f:[f]).indexOf(u)){t=y(i,u,f);break}}return 
t}(e);return!!n.isDowngrade&&(t.error(n.errorType,n.code,n.errorMessage),!0)}}},function(e,t,n){var
 o="function"==typeof Symbol&&"symbol"==typeof 
Symbol.iterator?function(e){return typeof e}:function(e){return 
e&&"function"==typeof 
Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof 
e},l="@weex-module/",c={};e.exports=function(r,a,u){var 
s="windmill"===a.config.container;return console.log("[Rax] create require 
function, container: "+a.config.container),function e(i){var 
t=r[i];if(1>>0)+r+++"__",e&&e.forEach&&e.forEach(this.add,this)};o.prototype.add=function(e){var
 t=this.name;return 
e[t]||Object.defineProperty(e,t,{

[23/50] [abbrv] incubator-weex git commit: [WEEX-440][iOS] Hide loading when the list are less than screen height. Avoid UI blink when loading finished.

2018-06-19 Thread cxfeng
[WEEX-440][iOS] Hide loading when the list are less than screen height. Avoid 
UI blink when loading finished.


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

Branch: refs/heads/release
Commit: 0eb7683f8258691930017f4fe3fb79edeeedf6db
Parents: 8a0f304
Author: Xiaomin 
Authored: Thu Jun 7 15:58:20 2018 +0800
Committer: Adam Feng 
Committed: Wed Jun 13 16:58:45 2018 +0800

--
 .../WeexSDK/Sources/Component/WXLoadingComponent.mm | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0eb7683f/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm
--
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm 
b/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm
index 388548f..a9f90fa 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Component/WXLoadingComponent.mm
@@ -78,10 +78,8 @@
 - (void)viewDidLoad
 {
 _initFinished = YES;
-
-if (!_displayState) {
-[_indicator.view setHidden:YES];
-}
+
+[self setDisplay];
 }
 
 - (void)addEvent:(NSString *)eventName
@@ -115,12 +113,20 @@
 CGPoint contentOffset = [scrollerProtocol contentOffset];
 if (_displayState) {
 contentOffset.y = [scrollerProtocol contentSize].height - 
scroller.calculatedFrame.size.height + self.calculatedFrame.size.height;
+self.view.hidden = NO;
 [_indicator start];
 } else {
 contentOffset.y = contentOffset.y - self.calculatedFrame.size.height;
 [_indicator stop];
+self.view.hidden = YES;
+}
+if (contentOffset.y > 0) {
+dispatch_async(dispatch_get_main_queue(), ^{
+[UIView animateWithDuration:0.25 animations:^{
+[scrollerProtocol setContentOffset:contentOffset animated:NO];
+} completion:nil];
+});
 }
-[scrollerProtocol setContentOffset:contentOffset animated:YES];
 }
 
 - (void)_insertSubcomponent:(WXComponent *)subcomponent 
atIndex:(NSInteger)index



[19/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Rename interface file.

2018-06-19 Thread cxfeng
[WEEX-442][Core] Rename interface file.


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

Branch: refs/heads/release
Commit: 9e8a3c14aa8a90276447bfb82be7594464e7ff9b
Parents: 1940651
Author: miomin 
Authored: Fri Jun 8 11:53:09 2018 +0800
Committer: YorkShen 
Committed: Tue Jun 12 12:44:03 2018 +0800

--
 .../Source/core/render/action/render_action.h   | 30 -
 .../render/action/render_action_add_element.h   |  2 +-
 .../render/action/render_action_add_event.h |  2 +-
 .../render_action_appendtree_createfinish.h |  2 +-
 .../render/action/render_action_createbody.h|  2 +-
 .../render/action/render_action_createfinish.h  |  2 +-
 .../render/action/render_action_interface.h | 30 +
 .../core/render/action/render_action_layout.h   |  2 +-
 .../render/action/render_action_move_element.h  |  2 +-
 .../action/render_action_remove_element.h   |  2 +-
 .../render/action/render_action_remove_event.h  |  2 +-
 .../render/action/render_action_update_attr.h   |  2 +-
 .../render/action/render_action_update_style.h  |  2 +-
 .../core/render/node/factory/i_render_factory.h | 31 -
 .../core/render/node/factory/i_render_object.h  | 68 ---
 .../render/node/factory/render_appbar_factory.h |  2 +-
 .../render/node/factory/render_cell_factory.h   |  2 +-
 .../core/render/node/factory/render_creator.cpp |  4 +-
 .../node/factory/render_factory_interface.h | 31 +
 .../render/node/factory/render_list_factory.h   |  2 +-
 .../render/node/factory/render_mask_factory.h   |  2 +-
 .../node/factory/render_object_interface.h  | 71 
 .../node/factory/render_scroller_factory.h  |  2 +-
 .../render/node/factory/render_text_factory.h   |  2 +-
 .../render/node/factory/simple_render_factory.h |  2 +-
 .../Source/core/render/node/render_object.h |  2 +-
 26 files changed, 153 insertions(+), 150 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action.h
--
diff --git a/weex_core/Source/core/render/action/render_action.h 
b/weex_core/Source/core/render/action/render_action.h
deleted file mode 100644
index e5e3cbc..000
--- a/weex_core/Source/core/render/action/render_action.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * 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.
- */
-#ifndef WEEXV8_RENDERACTION_H
-#define WEEXV8_RENDERACTION_H
-
-namespace WeexCore {
-
-  class RenderAction {
-  public:
-virtual void ExecuteAction() = 0;
-  };
-}
-
-#endif //WEEXV8_RENDERACTION_H

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_add_element.h
--
diff --git a/weex_core/Source/core/render/action/render_action_add_element.h 
b/weex_core/Source/core/render/action/render_action_add_element.h
index 2b9f553..3c91754 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.h
+++ b/weex_core/Source/core/render/action/render_action_add_element.h
@@ -23,7 +23,7 @@
 #include 
 #include 
 
-#include "core/render/action/render_action.h"
+#include "core/render/action/render_action_interface.h"
 #include "core/layout/style.h"
 
 namespace WeexCore {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9e8a3c14/weex_core/Source/core/render/action/render_action_add_event.h
--
diff --git a/weex_core/Source/core/render/action/render_action_add_event.h 
b/weex_core/Source/core/render/action/render_action_add_event.h
index 88ad40f..680f87e 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.h
+++ b/weex_core/Source/core/render/action/render_action_add_event

[07/50] [abbrv] incubator-weex git commit: * [Test] Update test.

2018-06-19 Thread cxfeng
* [Test] Update test.


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

Branch: refs/heads/release
Commit: 65688e7c774f373ece9554884ede5a5353d746c8
Parents: af072a6
Author: YorkShen 
Authored: Fri Jun 8 14:09:18 2018 +0800
Committer: YorkShen 
Committed: Fri Jun 8 14:09:18 2018 +0800

--
 .../java/com/alibaba/weex/benchmark/BenchmarkTest.java | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/65688e7c/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
--
diff --git 
a/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
 
b/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
index 27a90f2..7c5abaa 100644
--- 
a/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
+++ 
b/android/playground/app/src/androidTest/java/com/alibaba/weex/benchmark/BenchmarkTest.java
@@ -34,11 +34,13 @@ import android.support.test.uiautomator.Direction;
 import android.support.test.uiautomator.UiDevice;
 import android.support.test.uiautomator.UiObject2;
 import android.support.test.uiautomator.Until;
+import android.support.test.espresso.contrib.RecyclerViewActions;
 import android.text.TextUtils;
 import android.util.Log;
 import com.alibaba.weex.BenchmarkActivity;
 import com.taobao.weex.WXEnvironment;
 import com.taobao.weex.common.WXPerformance;
+import com.taobao.weex.ui.view.listview.WXRecyclerView;
 import com.taobao.weex.utils.WXLogUtils;
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -119,7 +121,7 @@ public class BenchmarkTest {
   }
 
   @Repeat(TIMES)
-  @Test
+  //@Test
   @SdkSuppress(minSdkVersion = 23)
   public void testFlingFPS() {
 UiObject2 uiObject2 = loadPageForFPS();
@@ -133,7 +135,7 @@ public class BenchmarkTest {
   }
 
   @Repeat(TIMES)
-  @Test
+  //@Test
   @SdkSuppress(minSdkVersion = 23)
   public void testScrollFPS() {
 UiObject2 uiObject2 = loadPageForFPS();



[36/50] [abbrv] incubator-weex git commit: [WEEX-460][iOS] Fix ImageComponent with placeholder of URL cannot display placeholder if main image cannot be downloaded.

2018-06-19 Thread cxfeng
[WEEX-460][iOS] Fix ImageComponent with placeholder of URL cannot display 
placeholder if main image cannot be downloaded.


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

Branch: refs/heads/release
Commit: 91d713481c64a9cb0eb2eae4e557495ae61d8660
Parents: 0935d64
Author: 神漠 
Authored: Wed Jun 13 21:10:49 2018 +0800
Committer: Adam Feng 
Committed: Thu Jun 14 14:54:15 2018 +0800

--
 .../Sources/Component/WXImageComponent.m| 24 
 1 file changed, 20 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/91d71348/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 c3dbcc2..8ab354b 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -382,10 +382,22 @@ WX_EXPORT_METHOD(@selector(save:))
 // progress when loading image
 } completed:^(UIImage *image, NSError *error, WXImageLoaderCacheType 
cacheType, NSURL *imageURL) {
 __strong typeof(weakSelf) strongSelf =  weakSelf;
-weakSelf.imageDownloadFinish = YES;
+if (strongSelf == nil) {
+return;
+}
+
+strongSelf.imageDownloadFinish = YES;
 if (error) {
 // log error message for error
 WXLogError(@"Error downloading image: %@, detail:%@", 
imageURL.absoluteString, [error localizedDescription]);
+
+// retry set placeholder, maybe placeholer image can be 
downloaded
+if (strongSelf.placeholdSrc) {
+NSString *newURL = [strongSelf.placeholdSrc copy];
+WX_REWRITE_URL([strongSelf placeholdSrc], 
WXResourceTypeImage, strongSelf.weexInstance)
+[[strongSelf imageLoader] 
setImageViewWithURL:(UIImageView*)strongSelf.view url:[NSURL 
URLWithString:newURL] placeholderImage:nil options:nil progress:nil 
completed:nil];
+return;
+}
 }
 UIImageView *imageView = (UIImageView *)strongSelf.view;
 if (imageView && imageView.image != image) {
@@ -404,9 +416,9 @@ WX_EXPORT_METHOD(@selector(save:))
 [strongSelf fireEvent:@"load" params:@{ @"success": error? 
@false : @true,@"size":sizeDict}];
 }
 //check view/img size
-if (!error && image && weakSelf.view) {
+if (!error && image && strongSelf.view) {
 double imageSize = image.size.width * image.scale * 
image.size.height * image.scale;
-double viewSize = weakSelf.view.frame.size.height *  
weakSelf.view.frame.size.width;
+double viewSize = strongSelf.view.frame.size.height *  
strongSelf.view.frame.size.width;
 if (imageSize > viewSize) {
 self.weexInstance.performance.imgWrongSizeNum++;
 }
@@ -415,10 +427,14 @@ WX_EXPORT_METHOD(@selector(save:))
 } else {
 dispatch_async(WXImageUpdateQueue, ^{
  __strong typeof(weakSelf) strongSelf = weakSelf;
+if (strongSelf == nil) {
+return;
+}
+
 [strongSelf cancelImage];
 
 void(^downloadFailed)(NSString *, NSError *) = ^void(NSString 
*url, NSError *error) {
-weakSelf.imageDownloadFinish = YES;
+strongSelf.imageDownloadFinish = YES;
 WXLogError(@"Error downloading image: %@, detail:%@", url, 
[error localizedDescription]);
 };
 



[35/50] [abbrv] incubator-weex git commit: Merge branch 'release0.19-bugfix' of https://github.com/gubaojian/incubator-weex

2018-06-19 Thread cxfeng
Merge branch 'release0.19-bugfix' of https://github.com/gubaojian/incubator-weex

This closes #1268


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

Branch: refs/heads/release
Commit: 0935d64e503a6e129545cd7323c874a989b4f7d2
Parents: 38f43ec c60016f
Author: YorkShen 
Authored: Thu Jun 14 12:04:05 2018 +0800
Committer: YorkShen 
Committed: Thu Jun 14 12:04:05 2018 +0800

--
 .../java/com/taobao/weex/ui/component/WXComponent.java| 10 --
 .../java/com/taobao/weex/ui/view/gesture/WXGesture.java   |  3 ++-
 scripts/generate_apache_release.sh|  1 +
 3 files changed, 7 insertions(+), 7 deletions(-)
--




[27/50] [abbrv] incubator-weex git commit: [WEEX-458][core] remove coremanager setxxx returntype

2018-06-19 Thread cxfeng
[WEEX-458][core] remove coremanager setxxx returntype


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

Branch: refs/heads/release
Commit: eeb91706d709316493f330906d92c151d88d9371
Parents: 5cb82d5
Author: zhongcang 
Authored: Wed Jun 13 17:48:39 2018 +0800
Committer: zhongcang 
Committed: Wed Jun 13 17:48:39 2018 +0800

--
 weex_core/Source/core/manager/weex_core_manager.cpp | 4 ++--
 weex_core/Source/core/manager/weex_core_manager.h   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/eeb91706/weex_core/Source/core/manager/weex_core_manager.cpp
--
diff --git a/weex_core/Source/core/manager/weex_core_manager.cpp 
b/weex_core/Source/core/manager/weex_core_manager.cpp
index 9038ea1..fb2151c 100644
--- a/weex_core/Source/core/manager/weex_core_manager.cpp
+++ b/weex_core/Source/core/manager/weex_core_manager.cpp
@@ -23,7 +23,7 @@ namespace WeexCore {
 
 WeexCoreManager *WeexCoreManager::m_pInstance = nullptr;
 
-WeexCoreManager *WeexCoreManager::setPlatformBridge(Bridge *pBridge) {
+void WeexCoreManager::setPlatformBridge(Bridge *pBridge) {
 this->platformBridge = pBridge;
 }
 
@@ -31,7 +31,7 @@ namespace WeexCore {
 return this->platformBridge;
 }
 
-WeexCoreManager *WeexCoreManager::setJSBridge(JSBridge *jsBridge) {
+void WeexCoreManager::setJSBridge(JSBridge *jsBridge) {
 this->jsBridge = jsBridge;
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/eeb91706/weex_core/Source/core/manager/weex_core_manager.h
--
diff --git a/weex_core/Source/core/manager/weex_core_manager.h 
b/weex_core/Source/core/manager/weex_core_manager.h
index 57f7edc..d207e30 100644
--- a/weex_core/Source/core/manager/weex_core_manager.h
+++ b/weex_core/Source/core/manager/weex_core_manager.h
@@ -64,11 +64,11 @@ namespace WeexCore {
 
 Bridge *getPlatformBridge();
 
-WeexCoreManager *setPlatformBridge(Bridge *pBridge);
+void setPlatformBridge(Bridge *pBridge);
 
 JSBridge* getJSBridge();
 
-WeexCoreManager *setJSBridge(JSBridge *jsBridge);
+void setJSBridge(JSBridge *jsBridge);
 
 void SetMeasureFunctionAdapter(MeasureFunctionAdapter 
*measureFunctionAdapter);
 



[13/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] C++ code style : function name

2018-06-19 Thread cxfeng
[WEEX-442][Core] C++ code style : function name


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

Branch: refs/heads/release
Commit: 8f8b214f3275d71ee79a027920a330fcc810f07b
Parents: e1c9dd5
Author: miomin 
Authored: Mon Jun 11 17:30:50 2018 +0800
Committer: YorkShen 
Committed: Tue Jun 12 12:44:03 2018 +0800

--
 .../native_render_object_utils_impl_android.cpp |  21 +-
 weex_core/Source/core/layout/layout.h   |  11 +-
 .../layout/measure_func_adapter_impl_android.h  |   2 +-
 weex_core/Source/core/parser/dom_wson.cpp   |   2 +-
 .../render/action/render_action_add_element.cpp |  46 ++---
 .../render/action/render_action_add_element.h   |  24 +--
 .../render/action/render_action_add_event.cpp   |  12 +-
 .../render/action/render_action_add_event.h |   6 +-
 .../render_action_appendtree_createfinish.cpp   |   8 +-
 .../render_action_appendtree_createfinish.h |   4 +-
 .../render/action/render_action_createbody.cpp  |  36 ++--
 .../render/action/render_action_createbody.h|  18 +-
 .../action/render_action_createfinish.cpp   |   4 +-
 .../render/action/render_action_createfinish.h  |   2 +-
 .../core/render/action/render_action_layout.cpp |  30 +--
 .../core/render/action/render_action_layout.h   |  18 +-
 .../action/render_action_move_element.cpp   |  16 +-
 .../render/action/render_action_move_element.h  |   8 +-
 .../action/render_action_remove_element.cpp |   8 +-
 .../action/render_action_remove_element.h   |   4 +-
 .../action/render_action_remove_event.cpp   |  12 +-
 .../render/action/render_action_remove_event.h  |   6 +-
 .../render/action/render_action_update_attr.cpp |  12 +-
 .../render/action/render_action_update_attr.h   |   6 +-
 .../action/render_action_update_style.cpp   |  24 +--
 .../render/action/render_action_update_style.h  |  12 +-
 .../core/render/manager/render_manager.cpp  |   8 +-
 .../Source/core/render/manager/render_manager.h |   2 +-
 .../core/render/node/factory/render_creator.cpp |   4 +-
 .../node/factory/render_object_interface.h  |  38 ++--
 .../Source/core/render/node/render_appbar.cpp   |  12 +-
 .../Source/core/render/node/render_appbar.h |   4 +-
 .../Source/core/render/node/render_list.cpp | 192 +--
 weex_core/Source/core/render/node/render_list.h |  51 ++---
 .../Source/core/render/node/render_object.cpp   | 121 +++-
 .../Source/core/render/node/render_object.h |  88 -
 .../Source/core/render/node/render_scroller.cpp |  10 +-
 .../Source/core/render/node/render_scroller.h   |   6 +-
 .../Source/core/render/page/render_page.cpp |  30 +--
 39 files changed, 468 insertions(+), 450 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
--
diff --git 
a/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
 
b/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
index 9fc1a39..dcee337 100644
--- 
a/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
+++ 
b/weex_core/Source/android/bridge/impl/native_render_object_utils_impl_android.cpp
@@ -80,12 +80,13 @@ static void UpdateRenderObjectAttr(JNIEnv* env, jclass 
jcaller,
 
 static jlong CopyRenderObject(JNIEnv* env, jclass jcaller, jlong ptr){
 RenderObject *render = convert_long_to_render_object(ptr);
-RenderObject *copy = 
(RenderObject*)RenderCreator::GetInstance()->CreateRender(render->Type(), 
render->Ref());
-copy->copyFrom(render);
-if(render->Type() == WeexCore::kRenderCellSlot || render->Type() == 
WeexCore::kRenderCell){
+RenderObject *copy = 
(RenderObject*)RenderCreator::GetInstance()->CreateRender(render->type(),
+   
render->ref());
+copy->CopyFrom(render);
+if(render->type() == WeexCore::kRenderCellSlot || render->type() == 
WeexCore::kRenderCell){
 RenderList* renderList = static_cast(render->getParent());
 if(renderList != nullptr){
-renderList->addCellSlotCopyTrack(copy);
+renderList->AddCellSlotCopyTrack(copy);
 }else{
 __android_log_print(ANDROID_LOG_ERROR, " LayoutRenderObject","copy 
error parent null");
 }
@@ -94,7 +95,7 @@ static jlong CopyRenderObject(JNIEnv* env, jclass jcaller, 
jlong ptr){
 }
 
 static  void showRenderObjectLayout(RenderObject *renderObject, int level){
-LOGE("Render

[49/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.14 (#1274)

2018-06-19 Thread cxfeng
* [jsfm] upgrade js framework to v0.26.14 (#1274)


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

Branch: refs/heads/release
Commit: 939be31e6f37340f81fa396df7bbec27e50c7c15
Parents: 2bb99f1
Author: Hanks 
Authored: Fri Jun 15 15:20:55 2018 +0800
Committer: Hanks 
Committed: Fri Jun 15 15:23:52 2018 +0800

--
 android/sdk/assets/weex-main-jsfm.js | 2 +-
 android/sdk/assets/weex-rax-api.js   | 2 +-
 package.json | 2 +-
 pre-build/weex-main-jsfm.js  | 2 +-
 pre-build/weex-rax-api.js| 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)
--




[22/50] [abbrv] incubator-weex git commit: [WEEX-457][Android] add back performance point of maxVDomDeep && interactionTime

2018-06-19 Thread cxfeng
[WEEX-457][Android] add back performance point of  maxVDomDeep && 
interactionTime

* [Android] rm useless file


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

Branch: refs/heads/release
Commit: 8a0f304fca8c539bd75aeb53424d314472d707a6
Parents: 1e71562
Author: zhongcang 
Authored: Wed Jun 13 16:35:21 2018 +0800
Committer: zhongcang 
Committed: Wed Jun 13 16:37:38 2018 +0800

--
 .../java/com/taobao/weex/WXSDKInstance.java | 27 ++--
 .../weex/ui/action/GraphicActionAddElement.java |  5 
 .../ui/action/GraphicActionMoveElement.java |  5 
 .../ui/action/GraphicActionRemoveElement.java   |  5 
 .../taobao/weex/ui/component/WXComponent.java   |  1 +
 .../taobao/weex/ui/component/WXVContainer.java  |  2 ++
 6 files changed, 26 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
--
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java 
b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index fba31d6..d7d8581 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -267,9 +267,6 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
 }
   }
 
-  private int mMaxDeepLayer;
-  private int mMaxVDomDeepLayer;
-
   public boolean isTrackComponent() {
 return trackComponent;
   }
@@ -919,7 +916,6 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
   if(componentTypes!=null && 
componentTypes.contains(WXBasicComponentType.SCROLLER)){
 mWXPerformance.useScroller=1;
   }
-  mWXPerformance.maxDeepViewLayer=getMaxDeepLayer();
   mWXPerformance.wxDims = mwxDims;
   mWXPerformance.measureTimes = measureTimes;
   if (mUserTrackAdapter != null) {
@@ -1186,7 +1182,7 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
   }
 
   /**
-   * when add/rm element
+   * when add/rm/mv element
*/
   public void onElementChange(){
 if (isDestroy() || !mEnd ||null == mRenderContainer || 
mRenderContainer.isPageHasEvent() ||
@@ -1427,6 +1423,7 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
 
   public void onRootCreated(WXComponent root) {
 this.mRootComp = root;
+this.mRootComp.deepInComponentTree=1;
 mRenderContainer.addView(root.getHostView());
 setSize(mRenderContainer.getWidth(),mRenderContainer.getHeight());
   }
@@ -1656,21 +1653,13 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
 }
   }
 
-  public int getMaxDeepLayer() {
-return mMaxDeepLayer;
-  }
-
-  public void setMaxDeepLayer(int maxDeepLayer) {
-mMaxDeepLayer = maxDeepLayer;
-  }
-
-  public int getMaxDomDeep() {
-return mMaxVDomDeepLayer;
-  }
-
   public void setMaxDomDeep(int maxDomDeep){
-mMaxVDomDeepLayer = maxDomDeep;
-mWXPerformance.maxDeepVDomLayer = maxDomDeep;
+if (null == mWXPerformance){
+  return;
+}
+if (mWXPerformance.maxDeepVDomLayer <= maxDomDeep){
+  mWXPerformance.maxDeepVDomLayer = maxDomDeep;
+}
   }
 
   public void onHttpStart(){

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
 
b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
index 6bdb0b7..c73e704 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAddElement.java
@@ -120,6 +120,11 @@ public class GraphicActionAddElement extends 
GraphicActionAbstractAddElement {
   child.applyLayoutAndEvent(child);
 
   child.bindData(child);
+  WXSDKInstance instance = 
WXSDKManager.getInstance().getWXRenderManager().getWXSDKInstance(getPageId());
+  if (null!=instance){
+instance.onElementChange();
+   // instance.setma
+  }
 } catch (Exception e) {
   WXLogUtils.e("add component failed.", e);
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8a0f304f/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionMoveElement.java
--

[48/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.14 (#1274)

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/android/sdk/assets/weex-main-jsfm.js
--
diff --git a/android/sdk/assets/weex-main-jsfm.js 
b/android/sdk/assets/weex-main-jsfm.js
index af0084d..ea0a29b 100644
--- a/android/sdk/assets/weex-main-jsfm.js
+++ b/android/sdk/assets/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.13, 
Build 2018-06-14 11:10. (Vue: 2.5.13-weex.5, Rax: 0.4.20)");var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&&define.amd?define(t):t()}(0,function(){"use strict";var 
t,c,r,l;function e(e){return 
e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function
 n(e,t){return 
e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof
 e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var 
t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0o;)_(r,n=t[o++])&&(~H(i,n)||i.push(n));return
 
i}(e,G)},Z={f:Object.getOwnPropertySymbols},Y={f:{}.propertyIsEnumerable},Q=function(e){return
 Object(P(e))},ee=Object.assign,te=!ee||i(function(){var 
e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return 
e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ee({},e)[n]||Object.keys(ee({},t)).join("")!=r})?function(e,t){for(var
 n=arguments,r=Q(e),o=arguments.length,i=1,a=Z.f,s=Y.f;idocument.F=Object<\/script>"),e.close(),ve=e.F;n--;)delete
 ve[he][G[n]];return ve()},me=Object.create||function(e,t){var n;return 
null!==e?(de[he]=y(e),n=new de,de[he]=null,n[pe]=e):n=ve(),void 
0===t?n:le(n,t)},ye=h.f,ge=re("toStringTag"),_e=function(e,t,n){e&&!_(e=n?e:e.prototype,ge)&&ye(e,ge,{configurable:!0,value:t})},be={};S(be,re("iterator"),function(){return
 this});var 
we,ke=z("IE_PROTO"),Se=Object.prototype,Oe=Object.getPrototypeOf||function(e){return
 e=Q(e),_(e,ke)?e[ke]:"function"==typeof e.constructor&&e instanceof 
e.constructor?e.constructor.prototype:e instanceof 
Object?Se:null},Ce=re("iterator"),xe=!([].keys&&"next"in[].keys()),Ee="values",$e=function(){return
 this},Ae=function(e,t,n,r,o,i,a){var 
s,c,l;c=t,l=r,(s=n).prototype=me(be,{next:k(1,l)}),_e(s,c+" Iterator");var 
u,f,p,d=function(e){if(!xe&&e
  in y)return y[e];switch(e){case"keys":case Ee:return function(){return new 
n(this,e)}}return function(){return new n(this,e)}},h=t+" 
Iterator",v=o==Ee,m=!1,y=e.prototype,g=y[Ce]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void
 0,w="Array"==t&&y.entries||g;if(w&&(p=Oe(w.call(new 
e)))!==Object.prototype&&p.next&&(_e(p,h,!0),"function"!=typeof 
p[Ce]&&S(p,Ce,$e)),v&&g&&g.name!==Ee&&(m=!0,_=function(){return 
g.call(this)}),(xe||m||!y[Ce])&&S(y,Ce,_),ce[t]=_,ce[h]=$e,o)if(u={values:v?_:d(Ee),keys:i?_:d("keys"),entries:b},a)for(f
 in u)f in y||C(y,f,u[f]);else I(I.P+I.F*(xe||m),t,u);return 
u},je=(we=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return 
i<0||a<=i?we?"":void 
0:(n=o.charCodeAt(i))<55296||56319=t.length?{value:void 0,done:!0}:(e=je(t,n)
 ,this._i+=e.length,{value:e,done:!1})});var 
Ie=re("unscopables"),Me=Array.prototype;null==Me[Ie]&&S(Me,Ie,{});var 
Te=function(e){Me[Ie][e]=!0},Fe=function(e,t){return{value:t,done:!!e}},Pe=Ae(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var
 e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 
0,Fe(1)):Fe(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ce.Arguments=ce.Array,Te("keys"),Te("values"),Te("entries");for(var
 
Ne=re("iterator"),De=re("toStringTag"),Re=ce.Array,Ve={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheet
 
List:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},Je=K(Ve),Le=0;Ler;)n.push(t[r++]);return 
lt[++ct]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 
0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return 
r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return 
r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return 
r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof
 e?e:Function(e),n)},He(ct),ct},it=function(e){delete 
lt[e]},"process"==T(rt)?He=function(e){rt.nextTick(E(ft,e,1))}:st&&st.now?He=function(e){st.now(E(ft,e,1))}:at?(Ge=(Xe=new
 
at).port2,Xe.port1.onmessage=pt,He=E(Ge.postMessage,Ge,1)):v.addEventListener&&"function"==typeof
 postMessage&&!v.importScripts?(He=function(e){v.postMessag

[45/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.14 (#1274)

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/pre-build/weex-main-jsfm.js
--
diff --git a/pre-build/weex-main-jsfm.js b/pre-build/weex-main-jsfm.js
index af0084d..ea0a29b 100644
--- a/pre-build/weex-main-jsfm.js
+++ b/pre-build/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.13, 
Build 2018-06-14 11:10. (Vue: 2.5.13-weex.5, Rax: 0.4.20)");var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&&define.amd?define(t):t()}(0,function(){"use strict";var 
t,c,r,l;function e(e){return 
e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function
 n(e,t){return 
e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof
 e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var 
t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0o;)_(r,n=t[o++])&&(~H(i,n)||i.push(n));return
 
i}(e,G)},Z={f:Object.getOwnPropertySymbols},Y={f:{}.propertyIsEnumerable},Q=function(e){return
 Object(P(e))},ee=Object.assign,te=!ee||i(function(){var 
e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return 
e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ee({},e)[n]||Object.keys(ee({},t)).join("")!=r})?function(e,t){for(var
 n=arguments,r=Q(e),o=arguments.length,i=1,a=Z.f,s=Y.f;idocument.F=Object<\/script>"),e.close(),ve=e.F;n--;)delete
 ve[he][G[n]];return ve()},me=Object.create||function(e,t){var n;return 
null!==e?(de[he]=y(e),n=new de,de[he]=null,n[pe]=e):n=ve(),void 
0===t?n:le(n,t)},ye=h.f,ge=re("toStringTag"),_e=function(e,t,n){e&&!_(e=n?e:e.prototype,ge)&&ye(e,ge,{configurable:!0,value:t})},be={};S(be,re("iterator"),function(){return
 this});var 
we,ke=z("IE_PROTO"),Se=Object.prototype,Oe=Object.getPrototypeOf||function(e){return
 e=Q(e),_(e,ke)?e[ke]:"function"==typeof e.constructor&&e instanceof 
e.constructor?e.constructor.prototype:e instanceof 
Object?Se:null},Ce=re("iterator"),xe=!([].keys&&"next"in[].keys()),Ee="values",$e=function(){return
 this},Ae=function(e,t,n,r,o,i,a){var 
s,c,l;c=t,l=r,(s=n).prototype=me(be,{next:k(1,l)}),_e(s,c+" Iterator");var 
u,f,p,d=function(e){if(!xe&&e
  in y)return y[e];switch(e){case"keys":case Ee:return function(){return new 
n(this,e)}}return function(){return new n(this,e)}},h=t+" 
Iterator",v=o==Ee,m=!1,y=e.prototype,g=y[Ce]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void
 0,w="Array"==t&&y.entries||g;if(w&&(p=Oe(w.call(new 
e)))!==Object.prototype&&p.next&&(_e(p,h,!0),"function"!=typeof 
p[Ce]&&S(p,Ce,$e)),v&&g&&g.name!==Ee&&(m=!0,_=function(){return 
g.call(this)}),(xe||m||!y[Ce])&&S(y,Ce,_),ce[t]=_,ce[h]=$e,o)if(u={values:v?_:d(Ee),keys:i?_:d("keys"),entries:b},a)for(f
 in u)f in y||C(y,f,u[f]);else I(I.P+I.F*(xe||m),t,u);return 
u},je=(we=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return 
i<0||a<=i?we?"":void 
0:(n=o.charCodeAt(i))<55296||56319=t.length?{value:void 0,done:!0}:(e=je(t,n)
 ,this._i+=e.length,{value:e,done:!1})});var 
Ie=re("unscopables"),Me=Array.prototype;null==Me[Ie]&&S(Me,Ie,{});var 
Te=function(e){Me[Ie][e]=!0},Fe=function(e,t){return{value:t,done:!!e}},Pe=Ae(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var
 e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 
0,Fe(1)):Fe(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ce.Arguments=ce.Array,Te("keys"),Te("values"),Te("entries");for(var
 
Ne=re("iterator"),De=re("toStringTag"),Re=ce.Array,Ve={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheet
 
List:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},Je=K(Ve),Le=0;Ler;)n.push(t[r++]);return 
lt[++ct]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 
0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return 
r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return 
r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return 
r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof
 e?e:Function(e),n)},He(ct),ct},it=function(e){delete 
lt[e]},"process"==T(rt)?He=function(e){rt.nextTick(E(ft,e,1))}:st&&st.now?He=function(e){st.now(E(ft,e,1))}:at?(Ge=(Xe=new
 
at).port2,Xe.port1.onmessage=pt,He=E(Ge.postMessage,Ge,1)):v.addEventListener&&"function"==typeof
 postMessage&&!v.importScripts?(He=function(e){v.postMessage(e+"","*")},v.ad
 dEventListener("message",pt

[01/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.11

2018-06-19 Thread cxfeng
Repository: incubator-weex
Updated Branches:
  refs/heads/release b3be56d1c -> 9ea6ac79e


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/185d3932/pre-build/weex-main-jsfm.js
--
diff --git a/pre-build/weex-main-jsfm.js b/pre-build/weex-main-jsfm.js
index 8abdbd6..4a0b428 100644
--- a/pre-build/weex-main-jsfm.js
+++ b/pre-build/weex-main-jsfm.js
@@ -1,2 +1,2 @@
-(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.26.10, 
Build 2018-06-07 14:55. (Vue: 2.5.11-weex.1, Rax: 0.4.20)");var 
global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof
 exports&&"undefined"!=typeof module?t():"function"==typeof 
define&&define.amd?define(t):t()}(0,function(){"use strict";var 
t,c,r,l;function e(e){return 
e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function
 n(e,t){return 
e(t={exports:{}},t.exports),t.exports}Array.from||(Array.from=(t=Object.prototype.toString,c=function(e){return"function"==typeof
 e||"[object Function]"===t.call(e)},r=Math.pow(2,53)-1,l=function(e){var 
t,n=(t=Number(e),isNaN(t)?0:0!==t&&isFinite(t)?(0o;)_(r,n=t[o++])&&(~G(i,n)||i.push(n));return
 
i}(e,Z)},Q={f:Object.getOwnPropertySymbols},ee={f:{}.propertyIsEnumerable},te=function(e){return
 Object(P(e))},ne=Object.assign,re=!ne||i(function(){var 
e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return 
e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=ne({},e)[n]||Object.keys(ne({},t)).join("")!=r})?function(e,t){for(var
 n=arguments,r=te(e),o=arguments.length,i=1,a=Q.f,s=ee.f;idocument.F=Object<\/script>"),e.close(),ye=e.F;n--;)delete
 ye[me][Z[n]];return ye()},ge=Object.create||function(e,t){var n;return 
null!==e?(ve[me]=y(e),n=new ve,ve[me]=null,n[he]=e):n=ye(),void 
0===t?n:fe(n,t)},_e=h.f,be=ie("toStringTag"),we=function(e,t,n){e&&!_(e=n?e:e.prototype,be)&&_e(e,be,{configurable:!0,value:t})},ke={};S(ke,ie("iterator"),function(){return
 this});var 
Se,Oe=X("IE_PROTO"),Ce=Object.prototype,xe=Object.getPrototypeOf||function(e){return
 e=te(e),_(e,Oe)?e[Oe]:"function"==typeof e.constructor&&e instanceof 
e.constructor?e.constructor.prototype:e instanceof 
Object?Ce:null},Ee=ie("iterator"),$e=!([].keys&&"next"in[].keys()),Ae="values",je=function(){return
 this},Ie=function(e,t,n,r,o,i,a){var 
s,c,l;c=t,l=r,(s=n).prototype=ge(ke,{next:k(1,l)}),we(s,c+" Iterator");var 
u,f,p,d=function(e){if(!$e&&e in y)return y[e];switch(e){case"keys":case 
Ae:return function(){return new n(this,e)}}return function(){return new 
n(this,e)}},h=t+" Iterator",v=o
 
==Ae,m=!1,y=e.prototype,g=y[Ee]||y["@@iterator"]||o&&y[o],_=g||d(o),b=o?v?d("entries"):_:void
 0,w="Array"==t&&y.entries||g;if(w&&(p=xe(w.call(new 
e)))!==Object.prototype&&p.next&&(we(p,h,!0),"function"!=typeof 
p[Ee]&&S(p,Ee,je)),v&&g&&g.name!==Ae&&(m=!0,_=function(){return 
g.call(this)}),($e||m||!y[Ee])&&S(y,Ee,_),ue[t]=_,ue[h]=je,o)if(u={values:v?_:d(Ae),keys:i?_:d("keys"),entries:b},a)for(f
 in u)f in y||C(y,f,u[f]);else I(I.P+I.F*($e||m),t,u);return 
u},Me=(Se=!0,function(e,t){var n,r,o=String(P(e)),i=V(t),a=o.length;return 
i<0||a<=i?Se?"":void 
0:(n=o.charCodeAt(i))<55296||56319=t.length?{value:void 
0,done:!0}:(e=Me(t,n),this._i+=e.length,{value:e,done:!1})});var 
Te=ie("unscopables"),Fe=Array.prototype;null==Fe[Te]&&S(Fe,Te,{});var 
Pe=function(e){Fe[Te][e]=!0},Ne=f
 
unction(e,t){return{value:t,done:!!e}},Re=Ie(Array,"Array",function(e,t){this._t=N(e),this._i=0,this._k=t},function(){var
 e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 
0,Ne(1)):Ne(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values");ue.Arguments=ue.Array,Pe("keys"),Pe("values"),Pe("entries");for(var
 
De=ie("iterator"),Ve=ie("toStringTag"),Je=ue.Array,Le={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},We=Y(Le),qe=0;qer;)n.push(t[r++]);return 
ft[++ut]=function(){!function(e,t,n){var r=void 0===n;switch(t.length){case 
0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return 
r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return 
r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return 
r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}e.apply(n,t)}("function"==typeof
 e?e:Function(e),n)},Ge(ut),ut},st=function(e){delete 
ft[e]},"process"==T(it)?Ge=function(e){it.nextTick(E(dt,e,1))}:lt&<.now?Ge=function(e){lt.now(E(dt,e,1))}:ct?(Ze=(Ke=new
 
ct).port2,Ke.port1.onmessage=ht,Ge=E(Ze.postMessage,Ze,1)):v.addEventListener&&"function"==typeof
 
postMessa

[11/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Using clang-format

2018-06-19 Thread cxfeng
[WEEX-442][Core] Using clang-format


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

Branch: refs/heads/release
Commit: ad255b3a43e4b246060c1b2b7a71c92b19296a25
Parents: 8f8b214
Author: miomin 
Authored: Tue Jun 12 11:45:19 2018 +0800
Committer: YorkShen 
Committed: Tue Jun 12 12:44:03 2018 +0800

--
 .../android/bridge/impl/bridge_impl_android.cpp |  34 +-
 .../bridge/impl/weexcore_impl_android.cpp   |  28 +-
 .../Source/core/moniter/render_performance.cpp  |   5 +-
 .../Source/core/moniter/render_performance.h|  20 +-
 .../render/action/render_action_add_element.cpp |  58 +-
 .../render/action/render_action_add_element.h   |  64 +-
 .../render/action/render_action_add_event.cpp   |  26 +-
 .../render/action/render_action_add_event.h |  30 +-
 .../render_action_appendtree_createfinish.cpp   |  22 +-
 .../render_action_appendtree_createfinish.h |  26 +-
 .../render/action/render_action_createbody.cpp  |  45 +-
 .../render/action/render_action_createbody.h|  53 +-
 .../action/render_action_createfinish.cpp   |  15 +-
 .../render/action/render_action_createfinish.h  |  23 +-
 .../render/action/render_action_interface.h |  16 +-
 .../core/render/action/render_action_layout.cpp |  47 +-
 .../core/render/action/render_action_layout.h   |  49 +-
 .../action/render_action_move_element.cpp   |  32 +-
 .../render/action/render_action_move_element.h  |  32 +-
 .../action/render_action_remove_element.cpp |  22 +-
 .../action/render_action_remove_element.h   |  25 +-
 .../action/render_action_remove_event.cpp   |  25 +-
 .../render/action/render_action_remove_event.h  |  30 +-
 .../render/action/render_action_update_attr.cpp |  24 +-
 .../render/action/render_action_update_attr.h   |  31 +-
 .../action/render_action_update_style.cpp   |  41 +-
 .../render/action/render_action_update_style.h  |  50 +-
 .../core/render/manager/render_manager.cpp  | 270 ++---
 .../Source/core/render/manager/render_manager.h |  96 +-
 .../render/node/factory/render_appbar_factory.h |  20 +-
 .../render/node/factory/render_cell_factory.h   |  20 +-
 .../core/render/node/factory/render_creator.cpp |  54 +-
 .../core/render/node/factory/render_creator.h   |  58 +-
 .../node/factory/render_factory_interface.h |  16 +-
 .../render/node/factory/render_list_factory.h   |  20 +-
 .../render/node/factory/render_mask_factory.h   |  20 +-
 .../node/factory/render_object_interface.h  |  61 +-
 .../node/factory/render_scroller_factory.h  |  20 +-
 .../render/node/factory/render_text_factory.h   |  20 +-
 .../core/render/node/factory/render_type.h  |  32 +-
 .../render/node/factory/simple_render_factory.h |  21 +-
 .../Source/core/render/node/render_appbar.cpp   | 106 +-
 .../Source/core/render/node/render_appbar.h |  35 +-
 weex_core/Source/core/render/node/render_cell.h |  12 +-
 .../Source/core/render/node/render_list.cpp | 487 -
 weex_core/Source/core/render/node/render_list.h |  92 +-
 .../Source/core/render/node/render_mask.cpp |  57 +-
 weex_core/Source/core/render/node/render_mask.h |  22 +-
 .../Source/core/render/node/render_object.cpp   | 712 +++---
 .../Source/core/render/node/render_object.h | 184 ++--
 .../Source/core/render/node/render_scroller.cpp |  46 +-
 .../Source/core/render/node/render_scroller.h   |  32 +-
 .../Source/core/render/node/render_text.cpp |  20 +-
 weex_core/Source/core/render/node/render_text.h |  22 +-
 .../Source/core/render/page/render_page.cpp | 979 +--
 weex_core/Source/core/render/page/render_page.h | 211 ++--
 56 files changed, 2307 insertions(+), 2311 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp
--
diff --git a/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp 
b/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp
index 439d5b1..4d2c1f5 100644
--- a/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp
+++ b/weex_core/Source/android/bridge/impl/bridge_impl_android.cpp
@@ -152,7 +152,7 @@ namespace WeexCore {
   void Bridge_Impl_Android::reportException(const char* pageId, const char 
*func, const char *exception_string) {
 
 RenderPage *page = RenderManager::GetInstance()->GetPage(pageId);
-long long startTime = getCurrentTime();
+int64_t startTime = getCurrentTime();
 
 JNIEnv *env = getJNIEnv();
 jstring jFunc = env->NewStringUTF(func);
@@ -178,7 +178,7 @@ namespace WeexCore {
   int Bridge_Impl_

[25/50] [abbrv] incubator-weex git commit: [WEEX-443][iOS]Fix picker module callback not called on iOS 11.0.x

2018-06-19 Thread cxfeng
[WEEX-443][iOS]Fix picker module callback not called on iOS 11.0.x


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

Branch: refs/heads/release
Commit: fc93b106d03bd52da126c153825fe1d60a1dcc48
Parents: 0eb7683
Author: Xiaomin 
Authored: Thu Jun 7 20:42:06 2018 +0800
Committer: Adam Feng 
Committed: Wed Jun 13 17:08:06 2018 +0800

--
 .../WeexSDK/Sources/Manager/WXDatePickerManager.m   | 13 -
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 16 +++-
 2 files changed, 27 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fc93b106/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m 
b/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
index d671634..857ca82 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXDatePickerManager.m
@@ -25,7 +25,7 @@
 
 #define WXPickerHeight 266
 
-@interface WXDatePickerManager()
+@interface WXDatePickerManager() 
 
 @property(nonatomic,strong)UIDatePicker *datePicker;
 @property(nonatomic,strong)UIView *backgroudView;
@@ -46,6 +46,9 @@
 {
 self.backgroudView = [self createBackgroundView];
 UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer 
alloc]initWithTarget:self action:@selector(hide)];
+if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+tapGesture.delegate = self;
+}
 [self.backgroudView addGestureRecognizer:tapGesture];
 }
 
@@ -211,4 +214,12 @@
 
 }
 
+#pragma mark - UIGestureRecognizerDelegate
+- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
shouldReceiveTouch:(UITouch *)touch {
+if (self.datePickerView && [touch.view 
isDescendantOfView:self.datePickerView]) {
+return NO;
+}
+return YES;
+}
+
 @end

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fc93b106/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
--
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m 
b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
index 52fdf59..b894113 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m
@@ -28,7 +28,7 @@
 #define WXPickerHeight 266
 #define WXPickerToolBarHeight 44
 
-@interface WXPickerModule()
+@interface WXPickerModule() 
 
 @property (nonatomic, strong)NSString * pickerType;
 // when resign the picker ,then the focus will be.
@@ -269,6 +269,9 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 {
 self.backgroundView = [self createbackgroundView];
 UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer 
alloc]initWithTarget:self action:@selector(hide)];
+if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+tapGesture.delegate = self;
+}
 [self.backgroundView addGestureRecognizer:tapGesture];
 self.pickerView = [self createPickerView];
 UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 
[UIScreen mainScreen].bounds.size.width, WXPickerToolBarHeight)];
@@ -468,6 +471,9 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 {
 self.backgroundView = [self createbackgroundView];
 UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer 
alloc]initWithTarget:self action:@selector(hide)];
+if (WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
+tapGesture.delegate = self;
+}
 [self.backgroundView addGestureRecognizer:tapGesture];
 self.pickerView = [self createPickerView];
 UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 
[UIScreen mainScreen].bounds.size.width, WXPickerToolBarHeight)];
@@ -511,4 +517,12 @@ WX_EXPORT_METHOD(@selector(pickTime:callback:))
 }
 }
 
+#pragma mark - UIGestureRecognizerDelegate
+- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
shouldReceiveTouch:(UITouch *)touch {
+if (self.pickerView && [touch.view isDescendantOfView:self.pickerView]) {
+return NO;
+}
+return YES;
+}
+
 @end



[06/50] [abbrv] incubator-weex git commit: [WEEX-436] [iOS] fix history issue : delete rootNode in mainThread (resolve #1241)

2018-06-19 Thread cxfeng
[WEEX-436] [iOS] fix history issue : delete rootNode in mainThread (resolve 
#1241)

fix history issue : delete rootNode in mainThread

in some case ,WXComponentManager dealloc execute in mainThread
but all node operation(new / add / delete/other) should be in ComponentThread


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

Branch: refs/heads/release
Commit: af072a68619a3c4b3be83d8e03448aef6f0074d4
Parents: 69679b0
Author: 门柳 
Authored: Thu Jun 7 18:57:20 2018 +0800
Committer: 门柳 
Committed: Thu Jun 7 18:57:35 2018 +0800

--

--




[12/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] C++ code style : function name

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8f8b214f/weex_core/Source/core/render/page/render_page.cpp
--
diff --git a/weex_core/Source/core/render/page/render_page.cpp 
b/weex_core/Source/core/render/page/render_page.cpp
index 24d7dd9..78ad8cd 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -83,9 +83,9 @@ namespace WeexCore {
 #endif
 
 long long startTime = getCurrentTime();
-this->render_root->LayoutBefore();
+this->render_root->LayoutBeforeImpl();
 this->render_root->calculateLayout(this->render_page_size);
-this->render_root->LayoutAfter();
+this->render_root->LayoutAfterImpl();
 CssLayoutTime(getCurrentTime() - startTime);
 TraverseTree(this->render_root, 0);
   }
@@ -133,7 +133,7 @@ namespace WeexCore {
   void RenderPage::SetRootRenderObject(RenderObject *root) {
 if (root != nullptr) {
   this->render_root = root;
-  this->render_root->MarkRootRender();
+  this->render_root->set_is_root_render();
 }
   }
 
@@ -161,7 +161,7 @@ namespace WeexCore {
 if (child == nullptr)
   return false;
 
-RenderObject *parent = child->GetParentRender();
+RenderObject *parent = child->parent_render();
 if (parent == nullptr)
   return false;
 
@@ -179,12 +179,12 @@ namespace WeexCore {
 if (child == nullptr)
   return false;
 
-RenderObject *oldParent = child->GetParentRender();
+RenderObject *oldParent = child->parent_render();
 RenderObject *newParent = GetRenderObject(parent_ref);
 if (oldParent == nullptr || newParent == nullptr)
   return false;
 
-if (oldParent->Ref() == newParent->Ref()) {
+if (oldParent->ref() == newParent->ref()) {
   if (oldParent->IndexOf(child) < 0) {
 return false;
   } else if (oldParent->IndexOf(child) == index) {
@@ -415,7 +415,7 @@ namespace WeexCore {
 if (render == nullptr)
   return;
 
-std::string ref = render->Ref();
+std::string ref = render->ref();
 this->render_object_registers.insert(std::pair(ref, render));
 
 for(auto it = render->ChildListIterBegin(); it != 
render->ChildListIterEnd(); it++) {
@@ -430,7 +430,7 @@ namespace WeexCore {
 if (render == nullptr)
   return;
 
-this->render_object_registers.erase(render->Ref());
+this->render_object_registers.erase(render->ref());
 
 for(auto it = render->ChildListIterBegin(); it != 
render->ChildListIterEnd(); it++) {
   RenderObject* child = static_cast(*it);
@@ -457,14 +457,14 @@ namespace WeexCore {
 }
 
 if (i > 0 && render->IsAppendTree()) {
-  SendAppendTreeCreateFinish(render->Ref());
+  SendAppendTreeCreateFinish(render->ref());
 }
   }
 
   void RenderPage::SendAddElementAction(RenderObject *child, RenderObject 
*parent, int index, bool is_recursion, bool will_layout) {
 if (child == nullptr || parent == nullptr)
   return;
-if(parent != nullptr && parent->Type() == WeexCore::kRenderRecycleList){
+if(parent != nullptr && parent->type() == WeexCore::kRenderRecycleList){
 will_layout = false;
 }
 
@@ -480,7 +480,7 @@ namespace WeexCore {
   ++i;
 }
 
-if(child->Type() == WeexCore::kRenderRecycleList){
+if(child->type() == WeexCore::kRenderRecycleList){
   RenderList* renderList = (RenderList*)child;
   std::vector& cellSlots = renderList->CellSlots();
   for(auto it = cellSlots.begin(); it != cellSlots.end(); it++) {
@@ -493,7 +493,7 @@ namespace WeexCore {
 }
 
 if (!is_recursion && i > 0 && child->IsAppendTree()) {
-  SendAppendTreeCreateFinish(child->Ref());
+  SendAppendTreeCreateFinish(child->ref());
 }
   }
 
@@ -520,13 +520,13 @@ namespace WeexCore {
  std::vector> *margin,
  std::vector> *padding,
  std::vector> *border) {
-RenderAction *action = new RenderActionUpdateStyle(PageId(), 
render->Ref(), style, margin, padding, border);
+RenderAction *action = new RenderActionUpdateStyle(PageId(), 
render->ref(), style, margin, padding, border);
 PostRenderAction(action);
   }
 
   void RenderPage::SendUpdateAttrAction(RenderObject *render,
 std::vector> *attrs) {
-RenderAction *action = new RenderActionUpdateAttr(PageId(), render->Ref(), 
attrs);
+RenderAction *action = new RenderActionUpdateAttr(PageId(), render->ref(), 
attrs);
 PostRenderAction(action);
   }
 
@@ -537,7 +537,7 @@ namespace WeexCore {
   vAttrs->insert(vAttrs->begin(), std::pair(iter->first, iter->second));
 }
 
-RenderAction *action = new RenderActionUpdateAttr(PageId(), render->Ref(), 
vAttrs);
+RenderAction *action = new RenderActionUpdateAttr(PageId(), render->ref(), 
vAttrs);
 PostRenderAction(action);
 
 if (vAttrs 

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

2018-06-19 Thread cxfeng
Merge branch 'release' of 
https://git-wip-us.apache.org/repos/asf/incubator-weex into release


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

Branch: refs/heads/release
Commit: 9ea6ac79ecf7cd855e1afe114a1897fe06621e81
Parents: 939be31 b3be56d
Author: Adam Feng 
Authored: Tue Jun 19 17:40:00 2018 +0800
Committer: Adam Feng 
Committed: Tue Jun 19 17:40:00 2018 +0800

--

--




[28/50] [abbrv] incubator-weex git commit: [WEEX-456][ios]try to fix bas_access of parentNode

2018-06-19 Thread cxfeng
[WEEX-456][ios]try to fix bas_access of parentNode


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

Branch: refs/heads/release
Commit: a13225f60817be2ae40391f2606fdc4850df29c3
Parents: eeb9170
Author: zhongcang 
Authored: Wed Jun 13 15:35:08 2018 +0800
Committer: Adam Feng 
Committed: Thu Jun 14 10:35:47 2018 +0800

--
 ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h|  3 ++-
 .../Sources/Manager/WXComponentManager.mm| 19 ++-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.mm |  7 +++
 3 files changed, 23 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a13225f6/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h
--
diff --git a/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h 
b/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h
index 216c099..e1827c5 100644
--- a/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h
+++ b/ios/sdk/WeexSDK/Sources/Layout/WXCoreLayout.h
@@ -703,9 +703,10 @@ namespace WeexCore {
   return mChildList.cend();
 }
 
-inline void removeChild(const WXCoreLayoutNode* const child) {
+inline void removeChild(WXCoreLayoutNode* const child) {
   for (int index = 0; index < mChildList.size(); index++) {
 if (child == mChildList[index]) {
+  child->mParent = nullptr;
   mChildList.erase(mChildList.begin() + index);
   break;
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a13225f6/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
--
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm 
b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
index ed3e9f0..3fa3f33 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm
@@ -986,9 +986,26 @@ static NSThread *WXComponentThread;
 - (void)removeFixedComponent:(WXComponent *)fixComponent
 {
 [_fixedComponents removeObject:fixComponent];
-_rootFlexCSSNode->removeChild(fixComponent->_flexCssNode);
+[self removeFixFlexNode:fixComponent->_flexCssNode];
 }
 
+- (void)removeFixFlexNode:(WeexCore::WXCoreLayoutNode* )fixNode{
+if (nullptr == fixNode) {
+return;
+}
+if ([[NSThread currentThread].name 
isEqualToString:WX_COMPONENT_THREAD_NAME]) {
+_rootFlexCSSNode->removeChild(fixNode);
+}else{
+WXPerformBlockOnComponentThread(^{
+if (nullptr == fixNode) {
+return;
+}
+_rootFlexCSSNode->removeChild(fixNode);
+});
+}
+}
+
+
 @end
 
 void WXPerformBlockOnComponentThread(void (^block)(void))

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a13225f6/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
--
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm 
b/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
index f383ad8..58df862 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.mm
@@ -222,6 +222,9 @@ static BOOL bNeedRemoveEvents = YES;
 
 - (void)dealloc
 {
+if (_positionType == WXPositionTypeFixed) {
+[self.weexInstance.componentManager removeFixedComponent:self];
+}
 if(_flexCssNode){
 #ifdef DEBUG
 WXLogDebug(@"flexLayout -> dealloc %@",self.ref);
@@ -257,10 +260,6 @@ static BOOL bNeedRemoveEvents = YES;
 }
 }
 
-if (_positionType == WXPositionTypeFixed) {
-[self.weexInstance.componentManager removeFixedComponent:self];
-}
-
 pthread_mutex_destroy(&_propertyMutex);
 pthread_mutexattr_destroy(&_propertMutexAttr);
 



[16/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Use explicit

2018-06-19 Thread cxfeng
[WEEX-442][Core] Use explicit


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

Branch: refs/heads/release
Commit: 3dcab42c21d83136debbc77a6833a51641c1a4da
Parents: e110f0a
Author: miomin 
Authored: Thu Jun 7 17:35:04 2018 +0800
Committer: YorkShen 
Committed: Tue Jun 12 12:44:03 2018 +0800

--
 weex_core/Source/core/render/action/render_action_add_element.h   | 2 +-
 weex_core/Source/core/render/action/render_action_add_event.h | 2 +-
 .../core/render/action/render_action_appendtree_createfinish.h| 2 +-
 weex_core/Source/core/render/action/render_action_createbody.h| 2 +-
 weex_core/Source/core/render/action/render_action_createfinish.h  | 2 +-
 weex_core/Source/core/render/action/render_action_layout.h| 2 +-
 weex_core/Source/core/render/action/render_action_move_element.h  | 2 +-
 .../Source/core/render/action/render_action_remove_element.h  | 2 +-
 weex_core/Source/core/render/action/render_action_remove_event.h  | 2 +-
 weex_core/Source/core/render/action/render_action_update_attr.h   | 2 +-
 weex_core/Source/core/render/action/render_action_update_style.h  | 2 +-
 weex_core/Source/core/render/manager/render_manager.h | 2 +-
 weex_core/Source/core/render/node/factory/render_creator.h| 2 +-
 weex_core/Source/core/render/node/render_object.h | 2 +-
 weex_core/Source/core/render/page/render_page.h   | 3 ++-
 15 files changed, 16 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_add_element.h
--
diff --git a/weex_core/Source/core/render/action/render_action_add_element.h 
b/weex_core/Source/core/render/action/render_action_add_element.h
index 25cc8ea..07968fc 100644
--- a/weex_core/Source/core/render/action/render_action_add_element.h
+++ b/weex_core/Source/core/render/action/render_action_add_element.h
@@ -26,7 +26,7 @@ namespace WeexCore {
   class RenderActionAddElement : public render_action {
 
   public:
-RenderActionAddElement(const std::string &pageId, const RenderObject 
*render, const RenderObject *parent,
+explicit RenderActionAddElement(const std::string &pageId, const 
RenderObject *render, const RenderObject *parent,
int index, bool willLayout= true);
 
 void ExecuteAction();

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_add_event.h
--
diff --git a/weex_core/Source/core/render/action/render_action_add_event.h 
b/weex_core/Source/core/render/action/render_action_add_event.h
index 12006d4..0de206b 100644
--- a/weex_core/Source/core/render/action/render_action_add_event.h
+++ b/weex_core/Source/core/render/action/render_action_add_event.h
@@ -26,7 +26,7 @@ namespace WeexCore {
   class RenderActionAddEvent : public render_action {
 
   public:
-RenderActionAddEvent(const std::string &pageId, const std::string &ref, 
const std::string &event);
+explicit RenderActionAddEvent(const std::string &pageId, const std::string 
&ref, const std::string &event);
 
 void ExecuteAction();
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
--
diff --git 
a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h 
b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
index 0f871e3..cdc968c 100644
--- 
a/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
+++ 
b/weex_core/Source/core/render/action/render_action_appendtree_createfinish.h
@@ -26,7 +26,7 @@ namespace WeexCore {
   class RenderActionAppendTreeCreateFinish : public render_action {
 
   public:
-RenderActionAppendTreeCreateFinish(const std::string &pageId, const 
std::string &ref);
+explicit RenderActionAppendTreeCreateFinish(const std::string &pageId, 
const std::string &ref);
 
 void ExecuteAction();
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dcab42c/weex_core/Source/core/render/action/render_action_createbody.h
--
diff --git a/weex_core/Source/core/render/action/render_action_createbody.h 
b/weex_core/Source/core/render/action/render_action_createbody.h
index 9655734..90b9827 100644
--- a/weex_core/Source/core/rend

[44/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.14 (#1274)

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/pre-build/weex-rax-api.js
--
diff --git a/pre-build/weex-rax-api.js b/pre-build/weex-rax-api.js
index 4ab5226..cb5f512 100644
--- a/pre-build/weex-rax-api.js
+++ b/pre-build/weex-rax-api.js
@@ -1,2 +1,2 @@
-var global=this,process={env:{}};!function(e,t){"object"==typeof 
exports&&"undefined"!=typeof module?t():"function"==typeof 
define&&define.amd?define(t):t()}(0,function(){"use strict";var 
e,t,n=(function(e){e.exports=function(n){var r={};function o(e){if(r[e])return 
r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return 
n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return 
o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.n=function(e){var
 t=e&&e.__esModule?function(){return e.default}:function(){return e};return 
o.d(t,"a",t),t},o.o=function(e,t){return 
Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=22)}([function(e,t,n){var
 r=e.exports.createUniqueKey="undefined"!=typeof 
Symbol?Symbol:function(e){return"[["+e+"_"+Math.random().toFixed(8).slice(2)+"]]"},o=e.exports.isObject=function(e){return"object"==typeof
 e&&null!==e};e.exports.LISTENERS=r("lis
 
teners"),e.exports.CAPTURE=1,e.exports.BUBBLE=2,e.exports.ATTRIBUTE=3,e.exports.newNode=function(e,t,n){var
 
r=o(n);return{listener:e,kind:t,once:r&&Boolean(n.once),passive:r&&Boolean(n.passive),next:null}}},function(e,t,n){var
 
r=n(0),o=n(9),i=n(8),a=r.isObject,u=r.LISTENERS,s=r.CAPTURE,l=r.BUBBLE,c=r.ATTRIBUTE,f=r.newNode,d=o.defineCustomEventTarget,p=i.createEventWrapper,h=i.STOP_IMMEDIATE_PROPAGATION_FLAG,v=i.PASSIVE_LISTENER_FLAG,y="undefined"!=typeof
 window&&void 0!==window.EventTarget,m=e.exports=function e(){var 
t=arguments;if(!(this instanceof 
e)){if(1===arguments.length&&Array.isArray(arguments[0]))return 
d(e,arguments[0]);if(0>8-o%1*8)){if(255<(n=r.charCodeAt(o+=.75)))throw
 new Error("'btoa' failed: The string to be encoded contains characters outside 
of the Latin1 range.");t=t<<8|n}return a},e.atob=function(e){var 
t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Error("'atob' failed: 
The string to be decoded is not correctly encoded.");for(var 
n,r,o=0,i=0,a="";r=t.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r=u.indexOf(r);return
 a},e}},function(e,t,n){var 
o="@weex-module/timer";e.exports=function(n,r){return{setTimeout:function(e,t){return
 
n(o).setTimeout(e,t),r.taskCenter.callbackManager.lastCallbackId.toString()},clearTimeout:function(e){n(o).clearTimeout(e)},setInterval:function(e,t){return
 
n(o).setInterval(e,t),r.taskCenter.callbackManager.lastCallbackId.toString()},clearInterval
 :function(e){n(o).clearInterval(e)},requestAnimationFrame:function(e){return 
n(o).setTimeout(e,16)},cancelAnimationFrame:function(e){n(o).clearTimeout(e),function(e,t,n){var
 r=function(){function r(e,t){for(var n=0;nparseInt(o[u])){a=1;break}if(o[u]&&!r[u]&&0":if(1===a)return!0;break;case">=":if(-1!==a)return!0;break;default:if(0===a)return!0}return!1}},e.exports=t.default},function(e,t,n){var
 r,o=n(14),h=(r=o)&&r.__esModule?r:{default:r};function v(e){if("*"==e)return 
e;for(var t=(e="string"==typeof e?e:"").split("."),n=0,r=[];n<3;){var 
o="string"==typeof t[n]&&t[n]?t[n]:"0";r.push(o),n++}return 
r.join(".")}function y(e,t,n){var 
r={isDowngrade:!0,errorType:1,code:1e3},o=e.toLowerCase();return 
0<=o.indexOf("osversion")?r.code=1001:0<=o.indexOf("appversion")?r.code=1002:0<=o.indexOf("weexversion")?r.code=1003:0<=o.indexOf("devicemodel")&&(r.code=1004),r.errorMessage="Downgrade["+e+"]
 :: deviceInfo "+t+" matched criteria "+n,r}e.exports=function(r){return 
function(e){var t=r("@weex-module/instanceWrap"),n=function(e){var 
t={isDowngrade:!1},n=W
 XEnvironment,r=e[(n.platform||"unknow").toLowerCase()]||{};for(var o in n){var 
i=o,a=i.toLowerCase(),u=n[o],s=0<=a.indexOf("version"),l=0<=a.indexOf("osversion"),c=0<=a.indexOf("devicemodel"),f=r[o];if(l&&"p"==u.toLowerCase()&&(u="9.0.0"),f&&s){var
 d=v(f),p=v(u);if(h.default.satisfies(p,d)){t=y(i,u,f);break}}else 
if(c&&0<=(Array.isArray(f)?f:[f]).indexOf(u)){t=y(i,u,f);break}}return 
t}(e);return!!n.isDowngrade&&(t.error(n.errorType,n.code,n.errorMessage),!0)}}},function(e,t,n){var
 o="function"==typeof Symbol&&"symbol"==typeof 
Symbol.iterator?function(e){return typeof e}:function(e){return 
e&&"function"==typeof 
Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof 
e},l="@weex-module/",c={};e.exports=function(r,a,u){var 
s="windmill"===a.config.container;return console.log("[Rax] create require 
function, container: "+a.config.container),function e(i){var 
t=r[i];if(1>>0)+r+++"__",e&&e.forEach&&e.forEach(this.add,this)};o.prototype.add=function(e){var
 t=this.name;return 
e[t]||Object.defineProperty(e,t,{value:!0,writable:!0}),this}
 ,o.prototype.del

[34/50] [abbrv] incubator-weex git commit: [WEEX-342][android] update release build tool, use right package name

2018-06-19 Thread cxfeng
[WEEX-342][android] update release build tool, use right package name


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

Branch: refs/heads/release
Commit: c60016f358109f1d7f48b900891ae6646b06528a
Parents: a0dacda
Author: jianbai.gbj 
Authored: Thu Jun 14 11:26:00 2018 +0800
Committer: jianbai.gbj 
Committed: Thu Jun 14 11:26:00 2018 +0800

--
 scripts/generate_apache_release.sh | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c60016f3/scripts/generate_apache_release.sh
--
diff --git a/scripts/generate_apache_release.sh 
b/scripts/generate_apache_release.sh
index 3d9f02f..61d6531 100755
--- a/scripts/generate_apache_release.sh
+++ b/scripts/generate_apache_release.sh
@@ -13,6 +13,7 @@ rsync -rvv  --include-from=scripts/release_files.rules ./ 
$dest
 
 #repackage
 find $dest/android/sdk/src -type f -name '*.java' -exec sed -i '' 
's/com\.taobao\.weex/org\.apache\.weex/g' {} \;
+find $dest/android/sdk/src -type f -name 'AndroidManifest.xml' -exec sed -i '' 
's/com\.taobao\.weex/org\.apache\.weex/g' {} \;
 
 mkdir -p $dest/android/sdk/src/main/java/org
 mkdir -p $dest/android/sdk/src/main/java/org/apache



[26/50] [abbrv] incubator-weex git commit: [WEEX-451][iOS] Fix a mistake about set __weex_options__

2018-06-19 Thread cxfeng
[WEEX-451][iOS] Fix a mistake about set __weex_options__


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

Branch: refs/heads/release
Commit: 5cb82d5dd8fb8d239bf8c31d0ebb09ca239e3d49
Parents: 482f144
Author: Xiaomin 
Authored: Mon Jun 11 21:29:17 2018 +0800
Committer: Adam Feng 
Committed: Wed Jun 13 17:10:56 2018 +0800

--
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5cb82d5d/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 0c0fb86..e7243af 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -372,7 +372,7 @@ _Pragma("clang diagnostic pop") \
 #ifdef DEBUG
 WXLogDebug(@"flexLayout -> action: callNativeModule : %@ . 
%@",moduleName,methodName);
 #endif
-NSMutableDictionary * newOptions = [options mutableCopy];
+NSMutableDictionary * newOptions = options ? [options mutableCopy] : 
[NSMutableDictionary new];
 NSMutableArray * newArguments = [arguments mutableCopy];
 
 if ([WXSDKManager sharedInstance].multiContext && 
[instance.bundleType.lowercaseString isEqualToString:@"rax"]) {



[41/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Fix setViewport

2018-06-19 Thread cxfeng
[WEEX-442][Core] Fix setViewport


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

Branch: refs/heads/release
Commit: 578c35716166b12df30ac8f3039036cd922ce4af
Parents: 44fd78c
Author: miomin 
Authored: Thu Jun 14 19:38:26 2018 +0800
Committer: miomin 
Committed: Thu Jun 14 19:38:26 2018 +0800

--
 .../java/com/taobao/weex/WXSDKInstance.java |  1 -
 .../java/com/taobao/weex/bridge/WXBridge.java   |  8 -
 .../com/taobao/weex/bridge/WXBridgeManager.java |  4 ---
 .../java/com/taobao/weex/common/IWXBridge.java  |  2 --
 .../com/taobao/weex/ui/module/WXMetaModule.java |  1 -
 .../bridge/impl/weexcore_impl_android.cpp   |  8 -
 .../jniprebuild/jniheader/WXBridge_jni.h| 10 --
 weex_core/Source/base/ViewUtils.h   |  4 +--
 weex_core/Source/core/bridge/js_bridge.cpp  |  4 +++
 .../core/render/manager/render_manager.cpp  | 34 
 .../Source/core/render/manager/render_manager.h | 19 ++-
 .../Source/core/render/node/render_list.cpp | 13 
 .../Source/core/render/node/render_mask.cpp |  5 +--
 .../Source/core/render/node/render_object.cpp   | 11 +--
 .../Source/core/render/node/render_object.h |  4 +--
 .../Source/core/render/page/render_page.cpp |  3 +-
 weex_core/Source/core/render/page/render_page.h |  7 
 17 files changed, 71 insertions(+), 67 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
--
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java 
b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index d7d8581..9f59e30 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -318,7 +318,6 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
 
   public void setInstanceViewPortWidth(int instanceViewPortWidth) {
 this.mInstanceViewPortWidth = instanceViewPortWidth;
-
WXSDKManager.getInstance().getWXBridgeManager().setViewPortWidth(getInstanceId(),
 instanceViewPortWidth);
   }
 
   public int getInstanceViewPortWidth(){

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
--
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java 
b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
index cc2d1a9..4059d97 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
@@ -94,9 +94,6 @@ public class WXBridge implements IWXBridge {
 
   private native void nativeRegisterCoreEnv(String key, String value);
 
-  private native void nativeSetViewPortWidth(String instanceId, float value);
-
-
   /**
* update global config,
* @param config params
@@ -565,11 +562,6 @@ public class WXBridge implements IWXBridge {
 nativeRegisterCoreEnv(key, value);
   }
 
-  @Override
-  public void setViewPortWidth(String instanceId, float value) {
-nativeSetViewPortWidth(instanceId, value);
-  }
-
   public void reportNativeInitStatus(String statusCode, String errorMsg) {
 if 
(WXErrorCode.WX_JS_FRAMEWORK_INIT_SINGLE_PROCESS_SUCCESS.getErrorCode().equals(statusCode)
 || 
WXErrorCode.WX_JS_FRAMEWORK_INIT_FAILED.getErrorCode().equals(statusCode)) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/578c3571/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java 
b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index 5d20f14..9726098 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -2672,10 +2672,6 @@ public class WXBridgeManager implements Callback, 
BactchExecutor {
 return mWXBridge.getRenderFinishTime(instanceId);
   }
 
-  public void setViewPortWidth(String instanceId, float value) {
-mWXBridge.setViewPortWidth(instanceId, value);
-  }
-
   public void setMargin(String instanceId, String ref, CSSShorthand.EDGE edge, 
float value) {
 mWXBridge.setMargin(instanceId, ref, edge, value);
   }

http://git-wip-us.apache.org/repos/asf/incub

[08/50] [abbrv] incubator-weex git commit: * [Script] release preparing:

2018-06-19 Thread cxfeng
* [Script] release preparing:

1. add missing modules in package.json
2. move html5 folder to runtime folder in release_file.rules
3. modify js-framework path in build_from_source.sh
4. add NDK environment setup to HOW-TO-BUILD.md


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

Branch: refs/heads/release
Commit: e110f0a32b6cfe6d0adb006a931f6d7fd9de7c01
Parents: 65688e7
Author: Adam Feng 
Authored: Mon Jun 11 18:34:26 2018 +0800
Committer: Adam Feng 
Committed: Mon Jun 11 18:34:26 2018 +0800

--
 HOW-TO-BUILD.md  |  1 +
 package.json |  2 +-
 scripts/build_from_source.sh |  4 ++--
 scripts/release_files.rules  | 15 +--
 4 files changed, 9 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e110f0a3/HOW-TO-BUILD.md
--
diff --git a/HOW-TO-BUILD.md b/HOW-TO-BUILD.md
index eb5ae65..416c2bc 100644
--- a/HOW-TO-BUILD.md
+++ b/HOW-TO-BUILD.md
@@ -15,6 +15,7 @@ The environment required to build weex as follow:
 * NodeJS 4.0+
 * JDK 1.6+
 * Android SDK(`$ANDROID_HOME` must be set properly)
+* Android NDK(`$ANDROID_NDK` must be set properly)
 * Gradle 2.0+
 * iOS SDK:
 * NodeJS 4.0+

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e110f0a3/package.json
--
diff --git a/package.json b/package.json
index 0b90fb8..200f2f9 100644
--- a/package.json
+++ b/package.json
@@ -44,7 +44,7 @@
 "build:runtime": "node build/build.js runtime",
 "build:legacy": "node build/build.js legacy",
 "build:vanilla": "node build/build.js vanilla",
-"install:buildtools": "npm i webpack@^1.0 rollup rollup-watch 
rollup-plugin-buble rollup-plugin-json rollup-plugin-eslint 
rollup-plugin-commonjs rollup-plugin-postcss rollup-plugin-replace 
rollup-plugin-uglify rollup-plugin-node-resolve babel-core babel-eslint 
babel-istanbul babel-loader babel-plugin-coverage babel-preset-es2015 
babel-runtime",
+"install:buildtools": "npm i webpack@^1.0 rollup rollup-watch 
rollup-plugin-buble rollup-plugin-json rollup-plugin-eslint 
rollup-plugin-commonjs rollup-plugin-postcss rollup-plugin-replace 
rollup-plugin-uglify rollup-plugin-node-resolve babel-core babel-eslint 
babel-istanbul babel-loader babel-plugin-coverage babel-preset-es2015 
babel-runtime uglify-es eslint-plugin-flowtype eslint",
 "build:source": "npm run build:native",
 "build:examples": "npm run build:examples:native && npm run 
build:examples:web",
 "build:examples:native": "webpack --config 
build/webpack.examples.config.js",

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e110f0a3/scripts/build_from_source.sh
--
diff --git a/scripts/build_from_source.sh b/scripts/build_from_source.sh
index 132efb0..060f5a2 100644
--- a/scripts/build_from_source.sh
+++ b/scripts/build_from_source.sh
@@ -31,8 +31,8 @@ npm run build:source
 echo "Javascript Framework and HTML5 SDK build completed."
 sleep 2
 
-cp packages/weex-js-framework/index.min.js ios_sdk/WeexSDK/Resources/main.js
-cp packages/weex-js-framework/index.min.js android_sdk/assets/main.js
+cp pre-build/weex-js-framework.min.js ios_sdk/WeexSDK/Resources/main.js
+cp pre-build/weex-js-framework.min.js android_sdk/assets/main.js
 
 gradle wrapper --gradle-version 3.3
 echo 'include ":android_sdk"'>settings.gradle

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e110f0a3/scripts/release_files.rules
--
diff --git a/scripts/release_files.rules b/scripts/release_files.rules
index 01ba712..9d37139 100644
--- a/scripts/release_files.rules
+++ b/scripts/release_files.rules
@@ -33,17 +33,12 @@
 - /src/h5-render/node_modules
 - /src/js-framework/node_modules
 + /src/**
-+ /html5
-- /html5/**.output.js
-- /html5/render/browser/extend/packer.js
-- /html5/test/render/**
-+ /html5/**
++ /runtime
+- /runtime/**.output.js
+- /runtime/render/browser/extend/packer.js
+- /runtime/test/render/**
++ /runtime/**
 + /packages
-+ /packages/weex-html5
-+ /packages/weex-html5/package.json
-+ /packages/weex-vue-render
-+ /packages/weex-vue-render/src/**
-+ /packages/weex-vue-render/package.json
 + /build
 + /build/**
 



[46/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.14 (#1274)

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/939be31e/package.json
--
diff --git a/package.json b/package.json
index 0e2cd82..61d43e9 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "weex",
   "version": "0.12.2",
   "subversion": {
-"framework": "0.26.13",
+"framework": "0.26.14",
 "transformer": ">=0.1.5 <0.5"
   },
   "description": "A framework for building Mobile cross-platform UI",



[40/50] [abbrv] incubator-weex git commit: [WEEX-459][iOS] fix transform/transformOrigin conflict when updateStyles

2018-06-19 Thread cxfeng
[WEEX-459][iOS] fix transform/transformOrigin conflict when updateStyles


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

Branch: refs/heads/release
Commit: 44fd78c2783980d3a4525b6fa884f049479d
Parents: 676d0eb
Author: hjhcn <380050...@qq.com>
Authored: Tue Jun 12 17:36:00 2018 +0800
Committer: hjhcn <380050...@qq.com>
Committed: Thu Jun 14 17:38:26 2018 +0800

--
 ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/44fd78c2/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
--
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm 
b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
index 29d5d87..740e168 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.mm
@@ -251,14 +251,13 @@ do {\
 }
 }
 if (styles[@"transform"]) {
-_transform = [[WXTransform alloc] initWithCSSValue:[WXConvert 
NSString:styles[@"transform"]] origin:[WXConvert 
NSString:self.styles[@"transformOrigin"]] instance:self.weexInstance];
+id transformOrigin = styles[@"transformOrigin"] ?: 
self.styles[@"transformOrigin"];
+_transform = [[WXTransform alloc] initWithCSSValue:[WXConvert 
NSString:styles[@"transform"]] origin:[WXConvert NSString:transformOrigin] 
instance:self.weexInstance];
 if (!CGRectEqualToRect(self.calculatedFrame, CGRectZero)) {
 [_transform applyTransformForView:_view];
 [_layer setNeedsDisplay];
 }
-}
-
-if (styles[@"transformOrigin"]) {
+}else if (styles[@"transformOrigin"]) {
 [_transform setTransformOrigin:[WXConvert 
NSString:styles[@"transformOrigin"]]];
 if (!CGRectEqualToRect(self.calculatedFrame, CGRectZero)) {
 [_transform applyTransformForView:_view];



[17/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] C++ style format : variable declaration

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/weex_core/Source/core/render/page/render_page.cpp
--
diff --git a/weex_core/Source/core/render/page/render_page.cpp 
b/weex_core/Source/core/render/page/render_page.cpp
index 82e14d7..a3f078f 100644
--- a/weex_core/Source/core/render/page/render_page.cpp
+++ b/weex_core/Source/core/render/page/render_page.cpp
@@ -42,19 +42,17 @@
 
 namespace WeexCore {
 
-  static bool splitScreenRendering = false;
-
-  RenderPage::RenderPage(std::string pageId) {
+  RenderPage::RenderPage(std::string page_id) {
 
 #if RENDER_LOG
 LOGD("[RenderPage] new RenderPage  pageId: %s", pageId.c_str());
 #endif
 
-mPageId = pageId;
-mWXCorePerformance = new RenderPerformance();
-mViewPortWidth = kDefaultViewPortWidth;
-renderPageSize.first = WXCoreEnvironment::getInstance()->DeviceWidth();
-renderPageSize.second = NAN;
+this->page_id = page_id;
+this->render_performance = new RenderPerformance();
+this->viewport_width = kDefaultViewPortWidth;
+this->render_page_size.first = 
WXCoreEnvironment::getInstance()->DeviceWidth();
+this->render_page_size.second = NAN;
   }
 
   RenderPage::~RenderPage() {
@@ -63,21 +61,21 @@ namespace WeexCore {
 LOGD("[RenderPage] Delete RenderPage  pageId: %s", mPageId.c_str());
 #endif
 
-mRenderObjectRegisterMap.clear();
+this->render_object_registers.clear();
 
-if (render_root != nullptr) {
-  delete render_root;
-  render_root = nullptr;
+if (this->render_root != nullptr) {
+  delete this->render_root;
+  this->render_root = nullptr;
 }
 
-if (mWXCorePerformance != nullptr) {
-  delete mWXCorePerformance;
-  mWXCorePerformance = nullptr;
+if (this->render_performance != nullptr) {
+  delete this->render_performance;
+  this->render_performance = nullptr;
 }
   }
 
   void RenderPage::CalculateLayout() {
-if (render_root == nullptr || !render_root->ViewInit())
+if (this->render_root == nullptr || !this->render_root->ViewInit())
   return;
 
 #if RENDER_LOG
@@ -85,38 +83,11 @@ namespace WeexCore {
 #endif
 
 long long startTime = getCurrentTime();
-render_root->LayoutBefore();
-render_root->calculateLayout(renderPageSize);
-render_root->LayoutAfter();
+this->render_root->LayoutBefore();
+this->render_root->calculateLayout(this->render_page_size);
+this->render_root->LayoutAfter();
 CssLayoutTime(getCurrentTime() - startTime);
-
-if (splitScreenRendering) {
-  if (mAlreadyCreateFinish) {
-TraverseTree(render_root, 0);
-  } else {
-float deviceHeight = WXCoreEnvironment::getInstance()->DeviceHeight();
-float deviceWidth = WXCoreEnvironment::getInstance()->DeviceWidth();
-float radio = deviceWidth / (mViewPortWidth * 
kLayoutFirstScreenOverflowRadio);
-
-switch (render_root->getFlexDirection()) {
-  case kFlexDirectionColumn:
-  case kFlexDirectionColumnReverse:
-if (render_root->getLargestMainSize() * radio > deviceHeight / 3) {
-  TraverseTree(render_root, 0);
-}
-break;
-  case kFlexDirectionRow:
-  case kFlexDirectionRowReverse:
-  default:
-if (render_root->getLargestMainSize() * radio > deviceWidth / 3) {
-  TraverseTree(render_root, 0);
-}
-break;
-}
-  }
-} else {
-  TraverseTree(render_root, 0);
-}
+TraverseTree(this->render_root, 0);
   }
 
   void RenderPage::TraverseTree(RenderObject *render,int index) {
@@ -144,14 +115,14 @@ namespace WeexCore {
 
 SetRootRenderObject(root);
 
-if (isnan(render_root->getStyleWidth())) {
-  render_root->setStyleWidthLevel(FALLBACK_STYLE);
+if (isnan(this->render_root->getStyleWidth())) {
+  this->render_root->setStyleWidthLevel(FALLBACK_STYLE);
   if (GetRenderContainerWidthWrapContent())
-render_root->setStyleWidthToNAN();
+this->render_root->setStyleWidthToNAN();
   else
-
render_root->setStyleWidth(WXCoreEnvironment::getInstance()->DeviceWidth(), 
false);
+
this->render_root->setStyleWidth(WXCoreEnvironment::getInstance()->DeviceWidth(),
 false);
 } else {
-  render_root->setStyleWidthLevel(CSS_STYLE);
+  this->render_root->setStyleWidthLevel(CSS_STYLE);
 }
 PushRenderToRegisterMap(root);
 
@@ -161,25 +132,25 @@ namespace WeexCore {
 
   void RenderPage::SetRootRenderObject(RenderObject *root) {
 if (root != nullptr) {
-  render_root = root;
-  render_root->MarkRootRender();
+  this->render_root = root;
+  this->render_root->MarkRootRender();
 }
   }
 
-  bool RenderPage::AddRenderObject(const std::string &parentRef, int 
insertPosition, RenderObject *child) {
-RenderObject *parent = GetRenderObject(parentRef);
+  bool RenderPage::AddRenderObje

[18/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] C++ style format : variable declaration

2018-06-19 Thread cxfeng
[WEEX-442][Core] C++ style format : variable declaration


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

Branch: refs/heads/release
Commit: 2504c9239946b778ecc1a83407163bcfbef217cd
Parents: 9e8a3c1
Author: miomin 
Authored: Mon Jun 11 15:45:00 2018 +0800
Committer: YorkShen 
Committed: Tue Jun 12 12:44:03 2018 +0800

--
 android/playground/app/build.gradle |   2 +-
 .../java/com/alibaba/weex/WXApplication.java|   4 +-
 .../bridge/impl/weexcore_impl_android.cpp   |  10 +-
 .../render/action/render_action_add_element.cpp |  48 ++---
 .../render/action/render_action_add_element.h   |  28 +--
 .../render/action/render_action_add_event.cpp   |  13 +-
 .../render/action/render_action_add_event.h |   8 +-
 .../render_action_appendtree_createfinish.cpp   |  11 +-
 .../render_action_appendtree_createfinish.h |   6 +-
 .../render/action/render_action_createbody.cpp  |  36 ++--
 .../render/action/render_action_createbody.h|  20 +-
 .../action/render_action_createfinish.cpp   |   6 +-
 .../render/action/render_action_createfinish.h  |   4 +-
 .../core/render/action/render_action_layout.cpp |  27 +--
 .../core/render/action/render_action_layout.h   |  19 +-
 .../action/render_action_move_element.cpp   |  20 +-
 .../render/action/render_action_move_element.h  |  12 +-
 .../action/render_action_remove_element.cpp |  10 +-
 .../action/render_action_remove_element.h   |   6 +-
 .../action/render_action_remove_event.cpp   |  14 +-
 .../render/action/render_action_remove_event.h  |   8 +-
 .../render/action/render_action_update_attr.cpp |  15 +-
 .../render/action/render_action_update_attr.h   |  10 +-
 .../action/render_action_update_style.cpp   |  24 +--
 .../render/action/render_action_update_style.h  |  14 +-
 .../core/render/manager/render_manager.cpp  |  66 +++
 .../Source/core/render/manager/render_manager.h |  40 ++--
 .../core/render/node/factory/render_creator.cpp |   2 +-
 .../core/render/node/factory/render_creator.h   |  12 +-
 .../node/factory/render_object_interface.h  |  20 +-
 .../Source/core/render/node/render_appbar.cpp   |  12 +-
 .../Source/core/render/node/render_appbar.h |   4 +-
 .../Source/core/render/node/render_list.cpp | 131 +++--
 weex_core/Source/core/render/node/render_list.h |  22 +--
 .../Source/core/render/node/render_object.cpp   |  60 +++---
 .../Source/core/render/node/render_object.h |  40 ++--
 .../Source/core/render/node/render_scroller.cpp |   6 +-
 .../Source/core/render/node/render_scroller.h   |   4 +-
 .../Source/core/render/page/render_page.cpp | 186 ---
 weex_core/Source/core/render/page/render_page.h |  76 
 40 files changed, 527 insertions(+), 529 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/android/playground/app/build.gradle
--
diff --git a/android/playground/app/build.gradle 
b/android/playground/app/build.gradle
index 5b93f0c..3e4954d 100755
--- a/android/playground/app/build.gradle
+++ b/android/playground/app/build.gradle
@@ -117,7 +117,7 @@ dependencies {
 compile 'com.jakewharton.scalpel:scalpel:1.1.2'
 compile 
'com.taobao.android.weex_inspection:urlconnection_interceptor:1.0.0'
 compile 'com.android.support.test.espresso:espresso-idling-resource:2.2.2'
-compile 'com.taobao.android:weex_inspector:0.11.0'
+compile 'com.taobao.android:weex_inspector:0.16.7'
 //compile project(":weex_inspector")
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504c923/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
--
diff --git 
a/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java 
b/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
index e7499f2..35fd36a 100644
--- a/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
+++ b/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
@@ -63,8 +63,8 @@ public class WXApplication extends Application {
  **/
 //initDebugEnvironment(true, false, "DEBUG_SERVER_HOST");
 WXBridgeManager.updateGlobalConfig("wson_on");
-WXEnvironment.setOpenDebugLog(false);
-WXEnvironment.setApkDebugable(false);
+WXEnvironment.setOpenDebugLog(true);
+WXEnvironment.setApkDebugable(true);
 WXSDKEngine.addCustomOptions("appName", "WXSample");
 WXSDKEngine.addCustomOptions("appGroup", "WXApp");
 WXSDKEngine.initialize(t

[38/50] [abbrv] incubator-weex git commit: [WEEX-459][iOS] Fix crash if template not registered for recycle list on iOS.

2018-06-19 Thread cxfeng
[WEEX-459][iOS] Fix crash if template not registered for recycle list on iOS.


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

Branch: refs/heads/release
Commit: ece3827d5fd56f7cd7333dc744425df45e07edd9
Parents: d1d8005
Author: 神漠 
Authored: Wed Jun 13 20:08:12 2018 +0800
Committer: Adam Feng 
Committed: Thu Jun 14 14:56:26 2018 +0800

--
 .../Component/RecycleList/WXRecycleListComponent.mm | 16 +++-
 .../RecycleList/WXRecycleListTemplateManager.h  |  4 
 .../RecycleList/WXRecycleListTemplateManager.m  | 16 +++-
 3 files changed, 30 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ece3827d/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm
--
diff --git 
a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm 
b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm
index 551acd9..a55dada 100644
--- a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListComponent.mm
@@ -499,12 +499,18 @@ WX_EXPORT_METHOD(@selector(setListData:))
 // 1. get the data relating to the cell
 id data = [_dataManager dataAtIndex:indexPath.row];
 
-// 2. get the template type specified by data
+// 2. get the template type specified by data, and if template is not 
found, return an empty view of any template to avoid crash.
 NSString * templateType = [self templateType:indexPath];
 _templateManager.collectionView = collectionView;
-if (!templateType) {
-WXLogError(@"Each data should have a value for %@ to indicate template 
type", _templateSwitchKey);
-return nil;
+if (!templateType || (templateType && ![_templateManager 
isTemplateRegistered:templateType])) {
+WXLogError(@"Template %@ not registered for collection view.", 
templateType);
+UICollectionViewCell *cellView = [_collectionView 
dequeueReusableCellWithReuseIdentifier:[_templateManager anyRegisteredTemplate] 
forIndexPath:indexPath];
+for (UIView *view in cellView.contentView.subviews) {
+[view removeFromSuperview];
+}
+cellView.wx_component = nil;
+[cellView setAccessibilityIdentifier:nil];
+return cellView;
 }
 
 // 3. dequeue a cell component by template type
@@ -607,7 +613,7 @@ WX_EXPORT_METHOD(@selector(setListData:))
 return templateType;
 }
 
-if (_templateSwitchKey &&data[_templateSwitchKey]){
+if (_templateSwitchKey && data[_templateSwitchKey]){
 templateType = data[_templateSwitchKey];
 } else if (data[WXDefaultRecycleTemplateType]){
 // read the default type.

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ece3827d/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h
--
diff --git 
a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h 
b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h
index 926c2f1..b956122 100644
--- 
a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h
+++ 
b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h
@@ -32,4 +32,8 @@
 
 - (WXCellSlotComponent *)topTemplate;
 
+- (BOOL)isTemplateRegistered:(NSString *)aTemplate;
+
+- (NSString *)anyRegisteredTemplate;
+
 @end

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ece3827d/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m
--
diff --git 
a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m 
b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m
index 199d551..2a90eeb 100644
--- 
a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m
+++ 
b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m
@@ -31,12 +31,14 @@
 
 @implementation WXRecycleListTemplateManager
 {
+NSMutableSet *_registeredTemplates;
 NSMapTable *_templateTypeMap;
 }
 
 - (instancetype)init
 {
 if (self = [super init]) {
+_registeredTemplates = [NSMutableSet set];
 _templateTypeMap = [NSMapTable strongToWeakObjectsMapTable];
 }
 
@@ -87,7 +89,7 @@
 - (void)_registerCellClassForReuseID:(NSString *)templateID
 {
 WXLogDebug(@"register cell class fo

[42/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Fix compile error

2018-06-19 Thread cxfeng
[WEEX-442][Core] Fix compile error


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

Branch: refs/heads/release
Commit: 97967ae61bb63a9dd10e4ae9447fdb26ece4285b
Parents: 578c357
Author: miomin 
Authored: Thu Jun 14 20:11:30 2018 +0800
Committer: miomin 
Committed: Thu Jun 14 20:11:30 2018 +0800

--
 weex_core/Source/core/bridge/bridge.cpp | 7 ---
 weex_core/Source/core/bridge/bridge.h   | 2 --
 2 files changed, 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/97967ae6/weex_core/Source/core/bridge/bridge.cpp
--
diff --git a/weex_core/Source/core/bridge/bridge.cpp 
b/weex_core/Source/core/bridge/bridge.cpp
index 22d9139..7668754 100644
--- a/weex_core/Source/core/bridge/bridge.cpp
+++ b/weex_core/Source/core/bridge/bridge.cpp
@@ -132,13 +132,6 @@ namespace WeexCore {
 }
 }
 
-void Bridge::setViewPortWidth(const char *instanceId, float value) {
-RenderPage *page = 
RenderManager::GetInstance()->GetPage(std::string(instanceId));
- if (page == nullptr)
-   return;
- page->set_viewport_width(value);
-}
-
 void Bridge::setDefaultHeightAndWidthIntoRootDom(const char *instanceId, 
const float defaultWidth,
  const float defaultHeight,
  const bool 
isWidthWrapContent, const bool isHeightWrapContent) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/97967ae6/weex_core/Source/core/bridge/bridge.h
--
diff --git a/weex_core/Source/core/bridge/bridge.h 
b/weex_core/Source/core/bridge/bridge.h
index 8da0fdc..5aed446 100644
--- a/weex_core/Source/core/bridge/bridge.h
+++ b/weex_core/Source/core/bridge/bridge.h
@@ -114,8 +114,6 @@ namespace WeexCore {
 
 void markDirty(const char *instanceId,const  char *ref, bool dirty);
 
-void setViewPortWidth(const char *instanceId, float value);
-
 void setDefaultHeightAndWidthIntoRootDom(const char *instanceId, const 
float defaultWidth, const float defaultHeight,
  const bool isWidthWrapContent, 
const bool isHeightWrapContent);
 void setRenderContainerWrapContent(const char* instanceId,bool wrap);



[14/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Remove unless include

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19406510/weex_core/Source/core/render/node/render_list.h
--
diff --git a/weex_core/Source/core/render/node/render_list.h 
b/weex_core/Source/core/render/node/render_list.h
index 738e4ea..16d09dc 100644
--- a/weex_core/Source/core/render/node/render_list.h
+++ b/weex_core/Source/core/render/node/render_list.h
@@ -19,320 +19,69 @@
 #ifndef WEEX_PROJECT_RENDERLIST_H
 #define WEEX_PROJECT_RENDERLIST_H
 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "render_object.h"
+#include "core/render/node/render_object.h"
+#include "core/css/constants_value.h"
 
 namespace WeexCore {
 
   class RenderList : public RenderObject {
 
-bool mIsPreCalculateCellWidth = false;
-int mColumnCount = COLUMN_COUNT_NORMAL;
-float mColumnWidth = AUTO_VALUE;
-float mAvailableWidth = 0;
-float mColumnGap = COLUMN_GAP_NORMAL;
-bool mIsSetFlex = false;
-std::vector cellSlots;
-std::vector cellSlotsCopys;
-float mLeftGap = 0;
-float mRightGap = 0;
-
   public:
-  ~RenderList(){
-
-  if(cellSlotsCopys.size() > 0){
-  for(auto it = cellSlotsCopys.begin(); it != 
cellSlotsCopys.end(); ++it){
-  RenderObject* child =  *it;
-  if(child){
-  delete child;
-  child = nullptr;
-  }
-  }
-  cellSlotsCopys.clear();
-  }
 
-  if(cellSlots.size() > 0){
-  for(auto it = cellSlots.begin(); it != cellSlots.end(); ++it){
-  RenderObject* child =  *it;
-  if(child){
-  delete child;
-  child = nullptr;
-  }
-  }
-  cellSlots.clear();
-  }
-  }
-  
-  public:
-  void addCellSlotCopyTrack(RenderObject* cellSlot){
-  cellSlot->setParent(this, cellSlot);
-  cellSlotsCopys.push_back(cellSlot);
-  }
-  
-  std::vector &CellSlots(){
-  return cellSlots;
-  }
-  
-std::map *GetDefaultStyle() {
-  std::map *style = new std::map();
+~RenderList();
 
-  bool isVertical = true;
-  RenderObject *parent = (RenderObject *) getParent();
+void addCellSlotCopyTrack(RenderObject *cellSlot);
 
-  if (parent != nullptr && !parent->Type().empty()) {
-  if (parent->Type() == kHList) {
-  isVertical = false;
-  } else if (getOrientation() == HORIZONTAL_VALUE) {
-  isVertical = false;
-  }
-  }
+void setFlex(const float flex);
 
-  std::string prop = isVertical ? HEIGHT : WIDTH;
+std::map  *GetDefaultStyle();
 
-  if (prop == HEIGHT && isnan(getStyleHeight()) && !mIsSetFlex) {
-mIsSetFlex = true;
-style->insert(std::pair(FLEX, "1"));
-  } else if (prop == WIDTH && isnan(getStyleWidth()) && !mIsSetFlex) {
-mIsSetFlex = true;
-style->insert(std::pair(FLEX, "1"));
-  }
+std::map  *GetDefaultAttr();
 
-  return style;
-}
+void preCalculateCellWidth();
 
-inline void setFlex(const float flex) {
-mIsSetFlex = true;
-WXCoreLayoutNode::setFlex(flex);
-}
+std::string calcSpanOffset();
 
-float calcFreeSpaceAlongMainAxis(const float &width, const float &height, 
const float ¤tLength) const override {
-  return NAN;
-}
+float getStyleWidth();
 
-std::map *GetDefaultAttr() {
-  if (!mIsPreCalculateCellWidth) {
-preCalculateCellWidth();
-  }
-  return nullptr;
-}
+int AddRenderObject(int index, RenderObject *child);
 
+void AddRenderObjectWidth(RenderObject *child, const bool updating);
 
-inline void preCalculateCellWidth() {
-std::map *attrs = new std::map();
-if (Attributes() != nullptr) {
-mColumnCount = getColumnCount();
-mColumnWidth = getColumnWidth();
-mColumnGap = getColumnGap();
+void UpdateAttr(std::string key, std::string value);
 
-mLeftGap = getLeftGap();
-mRightGap = getRightGap();
+float getColumnCount();
 
-mAvailableWidth = getStyleWidth()- 
getWebPxByWidth(getPaddingLeft(), GetRenderPage()->ViewPortWidth()) - 
getWebPxByWidth(getPaddingRight(), GetRenderPage()->ViewPortWidth());
+float getColumnGap();
 
-if (AUTO_VALUE == mColumnCount && AUTO_VALUE == mColumnWidth) {
-mColumnCount = COLUMN_COUNT_NORMAL;
-mColumnWidth = (mAvailableWidth - ((mColumnCount - 1) * 
mColumnGap)) / mColumnCount;
-mColumnWidth = mColumnWidth > 0 ? mColumnWidth :0;
-} else if (AUTO_VALUE == mColumnWidth && AUTO_VALUE != 
mColumnCount) {
-mColumnWidth = (mAvailableWidth - mLeftGap - mRightGap - 
((mColumnCount - 1) * mColumnGap)) / mColumnCount;
- 

[29/50] [abbrv] incubator-weex git commit: [WEEX-342][android] ava.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at com.taobao.weex.ui.component

2018-06-19 Thread cxfeng
[WEEX-342][android] ava.util.ConcurrentModificationException  at 
java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at 
com.taobao.weex.ui.component.WXComponent.applyEvents(WXComponent.java:290)


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

Branch: refs/heads/release
Commit: a0dacda5b0c8901b4798710aea0597a66850bd84
Parents: a13225f
Author: jianbai.gbj 
Authored: Thu Jun 14 10:56:48 2018 +0800
Committer: jianbai.gbj 
Committed: Thu Jun 14 10:56:48 2018 +0800

--
 .../java/com/taobao/weex/ui/component/WXComponent.java| 10 --
 .../java/com/taobao/weex/ui/view/gesture/WXGesture.java   |  3 ++-
 2 files changed, 6 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a0dacda5/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 cba19d3..9572986 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
@@ -290,11 +290,7 @@ public abstract class WXComponent extends 
WXBasicComponent imple
 if (getEvents() == null || getEvents().isEmpty())
   return;
 WXEvent event = getEvents();
-int size = event.size();
-for(int i=0; i= event.size()){
-break;
-  }
+for(int i=0; i extends 
WXBasicComponent imple
 if (getEvents().size() < 1) {
   return;
 }
-for (String event : getEvents()) {
+WXEvent events = getEvents();
+for (int i=0; ihttp://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a0dacda5/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
--
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
index a27090b..be114a9 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/gesture/WXGesture.java
@@ -140,7 +140,8 @@ public class WXGesture extends 
GestureDetector.SimpleOnGestureListener implement
 if(event == null){
   return false;
 }
-for(String type : event){
+for(int i=0; i

[10/50] [abbrv] incubator-weex git commit: [WEEX-442][Core] Using clang-format

2018-06-19 Thread cxfeng
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_creator.h
--
diff --git a/weex_core/Source/core/render/node/factory/render_creator.h 
b/weex_core/Source/core/render/node/factory/render_creator.h
index b78a487..f5dddfc 100644
--- a/weex_core/Source/core/render/node/factory/render_creator.h
+++ b/weex_core/Source/core/render/node/factory/render_creator.h
@@ -16,48 +16,46 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-#ifndef WEEX_PROJECT_RENDERCREATOR_H
-#define WEEX_PROJECT_RENDERCREATOR_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_CREATOR_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_CREATOR_H_
 
 #include 
 
 namespace WeexCore {
 
-  class IRenderObject;
+class IRenderObject;
 
-  class RenderCreator {
+class RenderCreator {
+ private:
+  RenderCreator() {}
 
-  private:
-explicit RenderCreator() {}
+  ~RenderCreator() {}
 
-~RenderCreator() {}
-
-//just to release singleton object
-class Garbo {
-public:
-  ~Garbo() {
-if (RenderCreator::g_pInstance) {
-  delete RenderCreator::g_pInstance;
-}
+  // just to release singleton object
+  class Garbo {
+   public:
+~Garbo() {
+  if (RenderCreator::g_pInstance) {
+delete RenderCreator::g_pInstance;
   }
-};
-
-static Garbo garbo;
+}
+  };
 
-  public:
+  static Garbo garbo;
 
-static RenderCreator *GetInstance() {
-  if (!g_pInstance) {
-g_pInstance = new RenderCreator();
-  }
-  return g_pInstance;
+ public:
+  static RenderCreator *GetInstance() {
+if (!g_pInstance) {
+  g_pInstance = new RenderCreator();
 }
+return g_pInstance;
+  }
 
-IRenderObject *CreateRender(const std::string &type, const std::string 
&ref);
+  IRenderObject *CreateRender(const std::string &type, const std::string &ref);
 
-  private:
-static RenderCreator *g_pInstance;
-  };
-}
+ private:
+  static RenderCreator *g_pInstance;
+};
+}  // namespace WeexCore
 
-#endif //WEEX_PROJECT_RENDERCREATOR_H
+#endif  // CORE_RENDER_NODE_FACTORY_RENDER_CREATOR_H_

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_factory_interface.h
--
diff --git 
a/weex_core/Source/core/render/node/factory/render_factory_interface.h 
b/weex_core/Source/core/render/node/factory/render_factory_interface.h
index 02d936c..ab8787a 100644
--- a/weex_core/Source/core/render/node/factory/render_factory_interface.h
+++ b/weex_core/Source/core/render/node/factory/render_factory_interface.h
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-#ifndef WEEX_PROJECT_IRENDERFACTORY_H
-#define WEEX_PROJECT_IRENDERFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_FACTORY_INTERFACE_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_FACTORY_INTERFACE_H_
 
 #include "core/render/node/factory/render_object_interface.h"
 
 namespace WeexCore {
-  class IRenderFactory {
-  public:
-virtual IRenderObject *CreateRender() = 0;
-  };
-}
+class IRenderFactory {
+ public:
+  virtual IRenderObject *CreateRender() = 0;
+};
+}  // namespace WeexCore
 
-#endif //WEEX_PROJECT_IRENDERFACTORY_H
+#endif  // CORE_RENDER_NODE_FACTORY_RENDER_FACTORY_INTERFACE_H_

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_list_factory.h
--
diff --git a/weex_core/Source/core/render/node/factory/render_list_factory.h 
b/weex_core/Source/core/render/node/factory/render_list_factory.h
index e15c94a..50735f9 100644
--- a/weex_core/Source/core/render/node/factory/render_list_factory.h
+++ b/weex_core/Source/core/render/node/factory/render_list_factory.h
@@ -16,21 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-#ifndef WEEX_PROJECT_RENDERLISTFACTORY_H
-#define WEEX_PROJECT_RENDERLISTFACTORY_H
+#ifndef CORE_RENDER_NODE_FACTORY_RENDER_LIST_FACTORY_H_
+#define CORE_RENDER_NODE_FACTORY_RENDER_LIST_FACTORY_H_
 
-#include "core/render/node/render_list.h"
 #include "core/render/node/factory/render_factory_interface.h"
+#include "core/render/node/render_list.h"
 
 namespace WeexCore {
 
-  class RenderListFactory : public IRenderFactory {
-  public:
-IRenderObject *CreateRender() {
-  return new RenderList();
-}
-  };
+class RenderListFactory : public IRenderFactory {
+ public:
+  IRenderObject *CreateRender() { return new RenderList(); }
+};
 
-}
+}  // namespace WeexCore
 
-#endif //WEEX_PROJECT_RENDERLISTFACTORY_H
+#endif  // CORE_RENDER_NODE_FACTORY_RENDER_LIST_FACTORY_H_

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ad255b3a/weex_core/Source/core/render/node/factory/render_mask_

[33/50] [abbrv] incubator-weex git commit: * [jsfm] upgrade js framework to v0.26.13

2018-06-19 Thread cxfeng
* [jsfm] upgrade js framework to v0.26.13

+ add debounce function for data sync
+ consider that the timer does not exist


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

Branch: refs/heads/release
Commit: 38f43eccd4e36df990753c3a081c40dfcabe7e96
Parents: a13225f
Author: Hanks 
Authored: Thu Jun 14 11:15:18 2018 +0800
Committer: Hanks 
Committed: Thu Jun 14 11:15:18 2018 +0800

--
 android/sdk/assets/weex-main-jsfm.js | 2 +-
 package.json | 2 +-
 pre-build/weex-main-jsfm.js  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
--




[GitHub] incubator-weex pull request #1251: [WEEX-444] [core] mv dir of ipc/include t...

2018-06-19 Thread lucky-chen
Github user lucky-chen closed the pull request at:

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


---