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

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

Branch: refs/heads/dev
Commit: 4b5672d769d1d58c6cb930df8a79f06db2f20660
Parents: 7ae75e3 ae69e1e
Author: Hanks <zhanghan...@gmail.com>
Authored: Mon Sep 25 20:06:16 2017 +0800
Committer: Hanks <zhanghan...@gmail.com>
Committed: Mon Sep 25 20:06:16 2017 +0800

----------------------------------------------------------------------
 .travis.yml                                     |   52 +-
 POSSIBLE-NOTICES-FOR-BIN-DIST                   |    5 +-
 WeexSDK.podspec                                 |    2 -
 android/build.gradle                            |   13 +-
 .../commons/adapter/FrescoImageComponent.java   |    2 +-
 android/gradle.properties                       |    5 +-
 .../gradle/wrapper/gradle-wrapper.properties    |    2 +-
 android/jacoco.gradle                           |   43 +
 .../alibaba/weex/benchmark/BenchmarkTest.java   |   29 +-
 .../playground/app/src/main/AndroidManifest.xml |    8 +
 .../java/com/alibaba/weex/WXPageActivity.java   |   14 +-
 .../alibaba/weex/util/CoverageDataDumper.java   |   36 +
 .../alibaba/weex/util/JacocoCodeCoverage.java   |   93 +
 android/sdk/build.gradle                        |    6 +
 android/sdk/libs/armeabi/libweexjsb.so          |  Bin 0 -> 22556 bytes
 android/sdk/libs/armeabi/libweexjsc.so          |  Bin 7570392 -> 325660 bytes
 android/sdk/libs/armeabi/libweexjss.so          |  Bin 0 -> 6754016 bytes
 .../java/com/taobao/weex/WXEnvironment.java     |   32 +-
 .../main/java/com/taobao/weex/WXSDKEngine.java  |    8 +-
 .../java/com/taobao/weex/WXSDKInstance.java     |  143 +-
 .../taobao/weex/adapter/IDrawableLoader.java    |   11 +-
 .../weex/appfram/pickers/DatePickerImpl.java    |    3 +-
 .../appfram/websocket/WebSocketCloseCodes.java  |    2 +-
 .../java/com/taobao/weex/bridge/WXBridge.java   |   14 +
 .../com/taobao/weex/bridge/WXBridgeManager.java |  248 ++-
 .../java/com/taobao/weex/bridge/WXParams.java   |    9 +
 .../java/com/taobao/weex/common/Constants.java  |   32 +
 .../java/com/taobao/weex/common/IWXBridge.java  |    2 +
 .../com/taobao/weex/common/IWXDebugProxy.java   |    2 +
 .../java/com/taobao/weex/common/WXConfig.java   |    1 +
 .../com/taobao/weex/common/WXErrorCode.java     |   14 +-
 .../taobao/weex/common/WXJSBridgeMsgType.java   |    2 +
 .../com/taobao/weex/dom/ImmutableDomObject.java |   21 +-
 .../main/java/com/taobao/weex/dom/WXAttr.java   |  147 +-
 .../com/taobao/weex/dom/WXCellDomObject.java    |   53 +-
 .../java/com/taobao/weex/dom/WXDomObject.java   |   26 +-
 .../main/java/com/taobao/weex/dom/WXEvent.java  |  120 +-
 .../taobao/weex/dom/WXRecyclerDomObject.java    |   58 +-
 .../main/java/com/taobao/weex/dom/WXStyle.java  |   17 -
 .../com/taobao/weex/dom/WXTextDomObject.java    |   24 +-
 .../dom/action/AbstractAddElementAction.java    |   12 +-
 .../com/taobao/weex/dom/action/Actions.java     |    7 +-
 .../taobao/weex/dom/action/AddEventAction.java  |   11 +-
 .../weex/dom/action/CreateBodyAction.java       |   12 +-
 .../weex/dom/action/ReloadPageAction.java       |   66 +
 .../weex/dom/action/RemoveEventAction.java      |    5 +-
 .../taobao/weex/dom/action/TraceableAction.java |    1 +
 .../com/taobao/weex/dom/binding/ELUtils.java    |  125 ++
 .../taobao/weex/dom/binding/WXStatement.java    |  160 ++
 .../com/taobao/weex/el/parse/ArrayStack.java    |   75 +
 .../java/com/taobao/weex/el/parse/Block.java    |   75 +
 .../java/com/taobao/weex/el/parse/Operator.java |  106 +
 .../com/taobao/weex/el/parse/Operators.java     |  499 +++++
 .../java/com/taobao/weex/el/parse/Parser.java   |  485 +++++
 .../java/com/taobao/weex/el/parse/Symbol.java   |   37 +
 .../java/com/taobao/weex/el/parse/Token.java    |   89 +
 .../ui/component/AbstractEditComponent.java     |    4 +-
 .../weex/ui/component/AppearanceHelper.java     |   18 +-
 .../weex/ui/component/WXBasicComponentType.java |    3 +
 .../taobao/weex/ui/component/WXComponent.java   |  299 ++-
 .../com/taobao/weex/ui/component/WXDiv.java     |   74 +-
 .../com/taobao/weex/ui/component/WXHeader.java  |    4 +-
 .../com/taobao/weex/ui/component/WXImage.java   |   82 +-
 .../com/taobao/weex/ui/component/WXLoading.java |    5 +-
 .../com/taobao/weex/ui/component/WXRefresh.java |    5 +-
 .../taobao/weex/ui/component/WXScroller.java    |    2 +-
 .../com/taobao/weex/ui/component/WXSlider.java  |    4 +-
 .../com/taobao/weex/ui/component/WXText.java    |   94 +-
 .../taobao/weex/ui/component/WXVContainer.java  |   50 +-
 .../weex/ui/component/binding/Layouts.java      |   92 +
 .../weex/ui/component/binding/Statements.java   |  413 ++++
 .../ui/component/list/BasicListComponent.java   |  209 +-
 .../ui/component/list/RecyclerTransform.java    |   90 +
 .../ui/component/list/SimpleListComponent.java  |    6 +-
 .../ui/component/list/StickyHeaderHelper.java   |   71 +-
 .../taobao/weex/ui/component/list/WXCell.java   |   65 +-
 .../weex/ui/component/list/WXListComponent.java |  136 +-
 .../list/template/CellLifecycleManager.java     |  211 ++
 .../list/template/TemplateStickyHelper.java     |  252 +++
 .../list/template/TemplateViewHolder.java       |   79 +
 .../list/template/WXRecyclerTemplateList.java   | 1460 ++++++++++++++
 .../com/taobao/weex/ui/flat/FlatComponent.java  |   33 +
 .../com/taobao/weex/ui/flat/FlatGUIContext.java |  146 ++
 .../taobao/weex/ui/flat/WidgetContainer.java    |   93 +
 .../weex/ui/flat/widget/AndroidViewWidget.java  |   76 +
 .../taobao/weex/ui/flat/widget/BaseWidget.java  |  130 ++
 .../taobao/weex/ui/flat/widget/TextWidget.java  |   49 +
 .../com/taobao/weex/ui/flat/widget/Widget.java  |   51 +
 .../taobao/weex/ui/flat/widget/WidgetGroup.java |   54 +
 .../taobao/weex/ui/module/WXTimerModule.java    |    9 +-
 .../weex/ui/view/WXBaseCircleIndicator.java     |  131 +-
 .../com/taobao/weex/ui/view/WXFrameLayout.java  |   53 +-
 .../com/taobao/weex/ui/view/WXImageView.java    |   16 +-
 .../weex/ui/view/border/BorderCorner.java       |   37 +-
 .../taobao/weex/ui/view/border/BorderUtil.java  |   26 -
 .../weex/ui/view/border/BottomLeftCorner.java   |    7 +-
 .../weex/ui/view/border/BottomRightCorner.java  |    7 +-
 .../weex/ui/view/border/TopLeftCorner.java      |    7 +-
 .../weex/ui/view/border/TopRightCorner.java     |    7 +-
 .../listview/ExtendedLinearLayoutManager.java   |   20 +
 .../weex/ui/view/listview/WXRecyclerView.java   |   50 +
 .../com/taobao/weex/utils/BoxShadowUtil.java    |  510 +++++
 .../com/taobao/weex/utils/FunctionParser.java   |    6 -
 .../com/taobao/weex/utils/ImageDrawable.java    |   17 +-
 .../java/com/taobao/weex/utils/LogLevel.java    |    4 +-
 .../java/com/taobao/weex/utils/OsVersion.java   |    2 +-
 .../main/java/com/taobao/weex/utils/Trace.java  |    4 +-
 .../java/com/taobao/weex/utils/WXLogUtils.java  |   14 +
 .../com/taobao/weex/utils/WXResourceUtils.java  |    4 +
 .../java/com/taobao/weex/utils/WXUtils.java     |   41 +-
 .../java/com/taobao/weex/utils/WXViewUtils.java |   31 +
 .../com/taobao/weex/el/IfStatementTest.java     |  155 ++
 .../java/com/taobao/weex/el/ParserTest.java     |  244 +++
 .../com/taobao/weex/ui/component/WXDivTest.java |   12 +-
 .../taobao/weex/ui/component/WXTextTest.java    |   18 +-
 .../ui/component/binding/BindingValueTest.java  |   65 +
 .../ui/component/binding/StatementTest.java     |  184 ++
 .../ui/component/list/WXListComponentTest.java  |    3 +-
 .../weex/ui/module/WXTimerModuleTest.java       |   45 +-
 .../taobao/weex/bridge/WXWebsocketBridge.java   |    6 +
 dangerfile-android.js                           |  108 ++
 dangerfile-ios.js                               |  107 ++
 dangerfile-jsfm.js                              |  105 +
 dangerfile.js                                   |    8 +-
 doc/_config.yml                                 |    2 +
 doc/_config_cn.yml                              |    2 +
 doc/source/cn/guide/index.md                    |    9 +-
 doc/source/cn/guide/integrate-to-your-app.md    |    6 +-
 doc/source/cn/guide/set-up-env.md               |    4 +-
 doc/source/cn/guide/tools/index.md              |    1 +
 doc/source/cn/guide/tools/plugin.md             |   77 +
 doc/source/cn/guide/tools/toolkit.md            |    2 +-
 .../cn/references/advanced/extend-to-android.md |   21 +-
 doc/source/cn/references/common-style.md        |   60 +-
 doc/source/cn/references/components/text.md     |    6 +-
 doc/source/cn/references/modules/animation.md   |   37 +-
 doc/source/cn/references/modules/dom.md         |    2 +-
 doc/source/cn/references/weex-variable.md       |   48 +
 doc/source/guide/index.md                       |    4 +-
 doc/source/guide/integrate-to-your-app.md       |    6 +-
 doc/source/guide/set-up-env.md                  |    6 +-
 doc/source/guide/tools/index.md                 |    1 +
 doc/source/guide/tools/plugin.md                |   68 +
 doc/source/guide/tools/toolkit.md               |    5 +-
 doc/source/references/common-style.md           |   58 +
 doc/source/references/components/text.md        |    8 +-
 doc/source/references/modules/animation.md      |   47 +-
 doc/source/references/modules/dom.md            |    2 +-
 doc/source/references/weex-variable.md          |   52 +-
 doc/themes/weex/languages/en.yml                |    2 +-
 .../weex/layout/_partial/after-footer.ejs       |   10 +
 doc/themes/weex/layout/_partial/header.ejs      |    3 +
 doc/themes/weex/layout/_partial/sidebar.ejs     |    3 +
 doc/themes/weex/source/css/index.scss           |   42 +-
 ios/playground/WeexDemo/Scanner/WXScannerVC.m   |    2 +-
 .../WeexDemo/WXConfigCenterDefaultImpl.m        |    6 +-
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj       |  171 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m    |    4 +-
 .../Sources/Bridge/WXDebugLoggerBridge.h        |   26 -
 .../Sources/Bridge/WXDebugLoggerBridge.m        |  213 ---
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |   89 +-
 .../Component/RecycleList/WXCellSlotComponent.h |   32 +
 .../Component/RecycleList/WXCellSlotComponent.m |   93 +
 .../RecycleList/WXComponent+DataBinding.h       |   31 +
 .../RecycleList/WXComponent+DataBinding.mm      |  451 +++++
 .../Component/RecycleList/WXJSASTParser.h       |  100 +
 .../Component/RecycleList/WXJSASTParser.mm      |  919 +++++++++
 .../RecycleList/WXRecycleListComponent.h        |   25 +
 .../RecycleList/WXRecycleListComponent.m        |  459 +++++
 .../RecycleList/WXRecycleListDataManager.h      |   34 +
 .../RecycleList/WXRecycleListDataManager.m      |   71 +
 .../Component/RecycleList/WXRecycleListLayout.h |   32 +
 .../Component/RecycleList/WXRecycleListLayout.m |  113 ++
 .../RecycleList/WXRecycleListTemplateManager.h  |   33 +
 .../RecycleList/WXRecycleListTemplateManager.m  |   94 +
 .../RecycleList/WXRecycleListUpdateManager.h    |   50 +
 .../RecycleList/WXRecycleListUpdateManager.m    |  262 +++
 .../Component/Recycler/WXMultiColumnLayout.m    |   32 +-
 .../Recycler/WXSectionDataController.m          |    2 +-
 .../WeexSDK/Sources/Component/WXAComponent.m    |    1 +
 .../WeexSDK/Sources/Component/WXCellComponent.m |    4 +-
 .../Sources/Component/WXComponent_internal.h    |   34 +-
 .../Sources/Component/WXCycleSliderComponent.m  |   56 +
 .../WeexSDK/Sources/Component/WXEditComponent.m |    9 +-
 .../Sources/Component/WXImageComponent.m        |   45 +-
 .../WeexSDK/Sources/Component/WXListComponent.m |    4 +
 .../Sources/Component/WXScrollerComponent.h     |    2 +
 .../Sources/Component/WXScrollerComponent.m     |   13 +-
 .../Sources/Component/WXSliderComponent.m       |   53 +
 .../Component/WXSliderNeighborComponent.m       |   14 +
 .../Sources/Component/WXSwitchComponent.m       |    2 +
 .../Sources/Component/WXTextAreaComponent.m     |    4 +
 .../WeexSDK/Sources/Component/WXTextComponent.m |   25 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.m |    2 +-
 .../WeexSDK/Sources/Component/WXWebComponent.m  |    1 +
 .../Sources/Controller/WXBaseViewController.m   |    4 +-
 .../Sources/Display/WXComponent+Display.m       |    2 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m    |    9 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.m |   40 +-
 .../WeexSDK/Sources/Layout/WXComponent+Layout.m |    4 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.h   |   13 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.m   |   10 +
 .../Sources/Manager/WXComponentFactory.h        |   12 +
 .../Sources/Manager/WXComponentFactory.m        |   30 +-
 .../Sources/Manager/WXComponentManager.h        |   21 +-
 .../Sources/Manager/WXComponentManager.m        |  173 +-
 .../Sources/Manager/WXDatePickerManager.m       |    8 +
 .../WeexSDK/Sources/Manager/WXTracingManager.h  |    5 +
 .../WeexSDK/Sources/Manager/WXTracingManager.m  |   13 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.h     |   19 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m     |  161 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |   11 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.m  |   26 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.m    |    4 +-
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m |   44 +
 .../WeexSDK/Sources/Module/WXPrerenderManager.h |   21 +
 .../WeexSDK/Sources/Module/WXPrerenderManager.m |  162 +-
 .../WeexSDK/Sources/Module/WXVoiceOverModule.h  |   25 +
 .../WeexSDK/Sources/Module/WXVoiceOverModule.m  |  148 ++
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  |    1 -
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.h     |    1 +
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m     |    1 +
 .../Sources/Protocol/WXAppMonitorProtocol.h     |    1 +
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.m     |   26 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h    |   23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m    |   86 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.m         |   15 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.h     |   20 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.m     |    4 +
 .../Sources/View/WXComponent+ViewManagement.m   |    4 +
 .../Sources/WebSocket/SRWebSocket+Weex.h        |   29 -
 .../Sources/WebSocket/SRWebSocket+Weex.m        |   47 -
 .../Sources/WebSocket/WXWebSocketDefaultImpl.h  |   25 -
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  |  121 --
 ios/sdk/WeexSDK/Sources/WeexSDK.h               |    3 +
 ios/sdk/WeexSDK/dependency/SRWebSocket.h        |  135 --
 ios/sdk/WeexSDK/dependency/SRWebSocket.m        | 1806 ------------------
 package.json                                    |    3 +-
 pre-build/native-bundle-main.js                 |   16 +-
 scripts/build_from_source.sh                    |    2 +-
 scripts/generate_apache_release.sh              |    2 +-
 test/mocha.opts                                 |    2 -
 test/pages/attributes/dom-operation.vue         |   33 +
 test/pages/components/a-src.vue                 |   86 +
 test/pages/components/a-support-href1.vue       |   58 +
 test/pages/components/a-support-href2.vue       |   58 +
 test/pages/components/hyperlink.vue             |   31 -
 test/pages/components/hyperlink_target.vue      |   23 -
 test/pages/components/iconfont.vue              |    6 +-
 test/pages/components/image-onload.vue          |   65 +
 test/pages/components/image-resize.vue          |   97 +
 test/pages/components/list-scroll.vue           |   33 +
 test/pages/components/refresh-loading.vue       |   20 +-
 test/pages/components/scroller-scroll.vue       |   31 +
 test/pages/components/slider-infinite.vue       |   54 +
 test/pages/components/textarea-placeholder.vue  |   62 +
 test/pages/components/video-property.vue        |   97 +
 test/pages/components/web-event.vue             |   55 +-
 test/pages/dom-operation.vue                    |   33 -
 test/pages/image-onload.vue                     |   31 -
 test/pages/include/navbar.vue                   |  121 ++
 test/pages/include/navpage.vue                  |   62 +
 test/pages/index.vue                            |   30 -
 test/pages/list-scroll.vue                      |   33 -
 test/pages/modules/dom-common.vue               |   87 +
 test/pages/modules/dom-update.vue               |   78 +
 test/pages/modules/downgrade-event.vue          |    2 +-
 test/pages/modules/modal-event.vue              |   75 +-
 test/pages/modules/navigator-event.vue          |  101 +
 test/pages/modules/picker-event.vue             |    6 +-
 test/pages/modules/stream-result.vue            |  185 +-
 test/pages/modules/viewport-basic.vue           |   62 +
 test/pages/modules/vue_timer.vue                |   14 +-
 test/pages/modules/we_timer.we                  |   14 +-
 test/pages/scroller-scroll.vue                  |   31 -
 test/pages/slider-infinite.vue                  |   54 -
 test/run.sh                                     |   27 +-
 test/screenshot/border-android.png              |  Bin 158634 -> 0 bytes
 test/screenshot/border-ios.png                  |  Bin 126185 -> 128088 bytes
 test/screenshot/compositing-ios.png             |  Bin 228306 -> 229534 bytes
 test/screenshot/image-resize-android.png        |  Bin 0 -> 218804 bytes
 test/screenshot/image-resize-ios.png            |  Bin 0 -> 138103 bytes
 test/scripts/attributes/compositing.test.js     |    5 +-
 test/scripts/attributes/dom.test.js             |   98 +
 test/scripts/components/a-src.test.js           |   65 +
 test/scripts/components/hyperlink.test.js       |   44 -
 test/scripts/components/iconfont.test.js        |    2 +-
 test/scripts/components/image-onload.test.js    |   32 +-
 test/scripts/components/image-resize.test.js    |   43 +
 test/scripts/components/input-event.test.js     |    2 +-
 test/scripts/components/recycler.test.js        |   20 +-
 test/scripts/components/refresh-loading.test.js |   12 +-
 test/scripts/components/scroll-event.test.js    |   13 +-
 test/scripts/components/scroller-fixed.test.js  |    2 +-
 test/scripts/components/slider-common.test.js   |    4 +-
 test/scripts/components/slider-infinite.test.js |    4 +-
 test/scripts/components/switch-event.test.js    |    2 +-
 test/scripts/components/text.test.js            |    8 +-
 .../components/textarea-maxlength.test.js       |    3 +-
 .../components/textarea-placeholder.test.js     |   69 +
 test/scripts/components/video-property.test.js  |   45 +
 test/scripts/components/web-event.test.js       |   22 +-
 test/scripts/css/border.test.js                 |    3 +-
 test/scripts/dom.test.js                        |   97 -
 test/scripts/index.test.js                      |   77 -
 .../scripts/modules/animation-translate.test.js |    5 +-
 test/scripts/modules/clipboard-event.test.js    |    5 +-
 test/scripts/modules/dom-common.test.js         |   36 +
 test/scripts/modules/dom-update.test.js         |   51 +
 test/scripts/modules/gesture-longpress.test.js  |    5 +-
 test/scripts/modules/globalEvent.test.js        |    2 +-
 test/scripts/modules/modal-event.test.js        |   18 +-
 test/scripts/modules/navigator-event.test.js    |   51 +
 test/scripts/modules/picker-event.test.js       |    9 +-
 test/scripts/modules/stream-result.test.js      |   20 +-
 test/scripts/modules/timer.test.js              |    5 +-
 test/scripts/modules/viewport-basic.test.js     |   45 +
 test/scripts/util.js                            |   58 +-
 318 files changed, 15594 insertions(+), 4275 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4b5672d7/package.json
----------------------------------------------------------------------

Reply via email to