Merge commit 'd16ba8d888e07d285e3f523ed4010c934b1a4c48' into dev Conflicts: doc/source/guide/set-up-env.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/bdd6f1b5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/bdd6f1b5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/bdd6f1b5 Branch: refs/heads/dev Commit: bdd6f1b5b6a0dc1c2fbd12335b801f687149d29c Parents: 5cffb4e d16ba8d Author: gurisxie <279483...@qq.com> Authored: Fri Sep 15 10:55:24 2017 +0800 Committer: gurisxie <279483...@qq.com> Committed: Fri Sep 15 10:55:24 2017 +0800 ---------------------------------------------------------------------- .flowconfig | 1 + .gitignore | 4 + .travis.yml | 91 ++- Dangerfile-ios | 1 + HOW-TO-BUILD.md | 80 +++ LICENSE | 22 +- POSSIBLE-NOTICES-FOR-BIN-DIST | 3 + README.md | 53 +- README_RELEASE.md | 69 -- RUN-RAT.md | 12 + WeexSDK.podspec | 6 +- android/build.gradle | 7 +- android/commons/build.gradle | 1 + .../adapter/DefaultWebSocketAdapter.java | 54 +- .../weex/commons/util/RequestIdGenerator.java | 15 + .../weex/commons/util/WSEventReporter.java | 192 ++++++ .../gradle/wrapper/gradle-wrapper.properties | 4 +- android/playground/app/build.gradle | 4 +- .../java/com/alibaba/weex/WXApplication.java | 4 + .../java/com/alibaba/weex/WXPageActivity.java | 3 +- .../extend/adapter/InterceptWXHttpAdapter.java | 57 +- .../weex/extend/component/WXParallax.java | 345 ++++++++++ .../weex/extend/module/WXEventModule.java | 23 +- android/run-ci.sh | 4 - android/sdk/assets/main.js | 8 - android/sdk/build.gradle | 27 +- android/sdk/libs/armeabi/libweexjsc.so | Bin 7558100 -> 7570504 bytes android/sdk/libs/x86/libweexjsc.so | Bin 4545544 -> 12121924 bytes .../java/com/taobao/weex/ComponentObserver.java | 50 ++ .../com/taobao/weex/LayoutFinishListener.java | 26 + .../java/com/taobao/weex/WXEnvironment.java | 5 + .../main/java/com/taobao/weex/WXSDKEngine.java | 6 + .../java/com/taobao/weex/WXSDKInstance.java | 102 ++- .../main/java/com/taobao/weex/WXSDKManager.java | 15 +- .../taobao/weex/adapter/ICrashInfoReporter.java | 27 + .../taobao/weex/adapter/IDrawableLoader.java | 3 +- .../weex/adapter/IWXUserTrackAdapter.java | 2 +- .../java/com/taobao/weex/bridge/WXBridge.java | 299 +++++++- .../com/taobao/weex/bridge/WXBridgeManager.java | 425 +++++++++++- .../com/taobao/weex/bridge/WXModuleManager.java | 44 +- .../java/com/taobao/weex/common/Constants.java | 2 + .../weex/common/ICheckBindingScroller.java | 27 + .../java/com/taobao/weex/common/IWXBridge.java | 21 + .../java/com/taobao/weex/common/WXConfig.java | 1 + .../com/taobao/weex/common/WXImageStrategy.java | 9 +- .../com/taobao/weex/common/WXPerformance.java | 9 +- .../taobao/weex/dom/DOMActionContextImpl.java | 15 +- .../com/taobao/weex/dom/TextDecorationSpan.java | 55 ++ .../main/java/com/taobao/weex/dom/WXAttr.java | 38 +- .../java/com/taobao/weex/dom/WXDomHandler.java | 4 + .../java/com/taobao/weex/dom/WXDomManager.java | 19 + .../java/com/taobao/weex/dom/WXDomModule.java | 2 +- .../com/taobao/weex/dom/WXImageQuality.java | 4 +- .../taobao/weex/dom/WXRecyclerDomObject.java | 4 + .../main/java/com/taobao/weex/dom/WXStyle.java | 32 +- .../com/taobao/weex/dom/WXSwitchDomObject.java | 29 +- .../com/taobao/weex/dom/WXTextDomObject.java | 15 +- .../com/taobao/weex/dom/action/Actions.java | 74 +- .../taobao/weex/dom/action/AnimationAction.java | 40 +- .../weex/dom/action/CreateFinishAction.java | 20 + .../weex/dom/action/ExecutableRenderAction.java | 48 ++ .../weex/dom/action/ModuleInvocationAction.java | 68 ++ .../weex/dom/action/UpdateStyleAction.java | 4 +- .../taobao/weex/ui/IExternalModuleGetter.java | 30 + .../taobao/weex/ui/IExternalMoudleGetter.java | 29 - .../ui/animation/DimensionUpdateListener.java | 74 -- .../weex/ui/animation/HeightProperty.java | 35 + .../weex/ui/animation/LayoutParamsProperty.java | 64 ++ .../weex/ui/animation/WXAnimationBean.java | 73 +- .../taobao/weex/ui/animation/WidthProperty.java | 35 + .../ui/component/AbstractEditComponent.java | 47 +- .../com/taobao/weex/ui/component/Textarea.java | 6 + .../taobao/weex/ui/component/WXComponent.java | 113 ++- .../taobao/weex/ui/component/WXScroller.java | 88 ++- .../com/taobao/weex/ui/component/WXSlider.java | 14 +- .../weex/ui/component/WXTextDecoration.java | 1 + .../taobao/weex/ui/component/WXVContainer.java | 13 + .../ui/component/list/BasicListComponent.java | 296 +++++++- .../ui/component/list/DefaultDragHelper.java | 173 +++++ .../weex/ui/component/list/DragHelper.java | 57 ++ .../ui/component/list/DragSupportCallback.java | 146 ++++ .../weex/ui/component/list/EventTrigger.java | 25 + .../ui/component/list/StickyHeaderHelper.java | 2 +- .../taobao/weex/ui/component/list/WXCell.java | 1 - .../weex/ui/component/list/WXListComponent.java | 9 +- .../taobao/weex/ui/module/WXTimerModule.java | 97 ++- .../com/taobao/weex/ui/view/WXEditText.java | 9 +- .../weex/ui/view/WXHorizontalScrollView.java | 27 + .../com/taobao/weex/ui/view/WXImageView.java | 31 +- .../com/taobao/weex/ui/view/WXScrollView.java | 1 - .../weex/ui/view/border/BorderDrawable.java | 3 +- .../ExtendedStaggeredGridLayoutManager.java | 18 + .../taobao/weex/utils/WXDataStructureUtil.java | 21 +- .../com/taobao/weex/utils/WXResourceUtils.java | 2 +- .../taobao/weex/utils/WXSoInstallMgrSdk.java | 4 + .../java/com/taobao/weex/utils/WXViewUtils.java | 34 +- .../java/com/taobao/weex/WXSDKEngineTest.java | 1 - .../java/com/taobao/weex/WXSDKInstanceTest.java | 26 +- .../weex/adapter/DefaultUriAdapterTest.java | 4 +- .../clipboard/WXClipboardModuleTest.java | 4 +- .../navigator/WXNavigatorModuleTest.java | 4 +- .../appfram/storage/DefaultWXStorageTest.java | 32 +- .../appfram/storage/WXStorageModuleTest.java | 16 +- .../taobao/weex/bridge/WXBridgeManagerTest.java | 14 +- .../com/taobao/weex/bridge/WXBridgeTest.java | 4 +- .../com/taobao/weex/bridge/WXHashMapTest.java | 4 +- .../taobao/weex/bridge/WXModuleManagerTest.java | 4 +- .../java/com/taobao/weex/dom/WXAttrTest.java | 23 +- .../com/taobao/weex/dom/WXDomModuleTest.java | 4 +- .../com/taobao/weex/dom/WXDomObjectTest.java | 4 +- .../com/taobao/weex/dom/WXDomStatementTest.java | 4 +- .../taobao/weex/dom/WXTextDomObjectTest.java | 4 +- .../ui/animation/WXAnimationModuleTest.java | 4 +- .../weex/ui/component/EditComponentTest.java | 4 +- .../taobao/weex/ui/component/TextareaTest.java | 4 +- .../weex/ui/component/WXComponentTest.java | 4 +- .../com/taobao/weex/ui/component/WXDivTest.java | 4 +- .../taobao/weex/ui/component/WXEmbedTest.java | 4 +- .../taobao/weex/ui/component/WXImageTest.java | 14 +- .../taobao/weex/ui/component/WXLoadingTest.java | 4 +- .../taobao/weex/ui/component/WXRefreshTest.java | 4 +- .../weex/ui/component/WXScrollerTest.java | 4 +- .../weex/ui/component/WXSliderNeighborTest.java | 4 +- .../taobao/weex/ui/component/WXSliderTest.java | 4 +- .../taobao/weex/ui/component/WXSwitchTest.java | 4 +- .../taobao/weex/ui/component/WXVideoTest.java | 4 +- .../com/taobao/weex/ui/component/WXWebTest.java | 4 +- .../component/helper/WXTimeInputHelperTest.java | 4 +- .../component/list/DefaultDragHelperTest.java | 132 ++++ .../ui/component/list/WXListComponentTest.java | 4 +- .../taobao/weex/ui/module/WXMetaModuleTest.java | 4 +- .../weex/ui/module/WXModalUIModuleTest.java | 4 +- .../weex/ui/module/WXTimerModuleTest.java | 48 +- .../weex/ui/module/WXWebViewModuleTest.java | 4 +- .../weex/ui/view/WXCirclePageAdapterTest.java | 4 +- .../taobao/weex/ui/view/WXScrollViewTest.java | 4 +- .../com/taobao/weex/ui/view/WXWebViewTest.java | 9 +- .../weex/ui/view/gesture/WXGestureTest.java | 4 +- .../com/taobao/weex/utils/TypefaceUtilTest.java | 4 +- .../com/taobao/weex/utils/WXFileUtilsTest.java | 17 +- .../com/taobao/weex/utils/WXLogUtilsTest.java | 7 +- .../weex/utils/WXReflectionUtilsTest.java | 4 +- .../java/com/taobao/weex/utils/WXUtilsTest.java | 16 +- android/weex_debug/build.gradle | 10 +- .../taobao/weex/bridge/WXWebsocketBridge.java | 88 +++ bin/commit-msg.sh | 28 - bin/dist-browser.sh | 60 -- bin/dist-js-framework.sh | 56 -- bin/dist-vue.sh | 58 -- bin/install-hooks.sh | 23 - bin/pre-commit.sh | 27 - bin/pre-push.sh | 28 - bin/release.sh | 20 - bin/welcome.sh | 27 - build/config.js | 5 +- build/karma.vue.conf.js | 16 +- build/webpack.examples.web.config.js | 30 +- build/webpack.test.web.config.js | 22 +- dangerfile.js | 332 +++++++-- doc/_config.yml | 11 + doc/_config_cn.yml | 337 +++++++++ doc/source/_posts/arkit.md | 112 +++ doc/source/_posts/cn/hello.md | 6 - doc/source/_posts/coreml.md | 79 +++ doc/source/_posts/hello_world.md | 6 - doc/source/cn/blog/index.md | 4 - doc/source/cn/guide/integrate-to-your-app.md | 6 +- doc/source/cn/guide/tools/index.md | 1 + doc/source/cn/guide/tools/plugin.md | 77 +++ .../cn/references/advanced/extend-to-android.md | 32 +- .../cn/references/advanced/extend-to-ios.md | 4 +- .../advanced/integrate-devtool-to-android.md | 86 ++- doc/source/cn/references/bubble.md | 146 ++++ doc/source/cn/references/common-style.md | 66 +- doc/source/cn/references/components/image.md | 2 +- doc/source/cn/references/components/input.md | 257 +++++-- doc/source/cn/references/components/list.md | 8 +- doc/source/cn/references/components/scroller.md | 2 +- doc/source/cn/references/components/text.md | 66 +- doc/source/cn/references/downgrade.md | 11 + doc/source/cn/references/index.md | 4 +- doc/source/cn/references/modules/animation.md | 41 +- doc/source/cn/references/modules/dom.md | 2 +- doc/source/cn/references/modules/meta.md | 96 +++ doc/source/cn/references/modules/picker.md | 2 +- doc/source/cn/references/modules/timer.md | 47 ++ doc/source/cn/references/modules/websocket.md | 2 +- doc/source/cn/references/weex-variable.md | 5 +- doc/source/cn/releasenote.md | 663 ++---------------- doc/source/cn/v-0.10/references/bubble.md | 150 ++++ .../cn/v-0.10/references/components/input.md | 216 +++++- doc/source/faq.md | 6 +- doc/source/guide/index.md | 26 +- doc/source/guide/integrate-to-your-app.md | 6 +- doc/source/guide/intro/using-vue.md | 6 +- doc/source/guide/intro/write-once.md | 14 +- doc/source/guide/set-up-env.md | 20 +- doc/source/guide/tools/index.md | 1 + doc/source/guide/tools/plugin.md | 68 ++ .../references/advanced/extend-to-android.md | 14 + doc/source/references/advanced/extend-to-ios.md | 5 +- doc/source/references/bubble.md | 146 ++++ doc/source/references/common-style.md | 60 ++ doc/source/references/components/image.md | 2 +- doc/source/references/components/input.md | 249 +++++-- doc/source/references/components/list.md | 7 +- doc/source/references/components/scroller.md | 4 +- doc/source/references/components/text.md | 71 +- doc/source/references/downgrade.md | 11 + doc/source/references/index.md | 2 + doc/source/references/modules/animation.md | 55 +- doc/source/references/modules/dom.md | 2 +- doc/source/references/modules/meta.md | 97 +++ doc/source/references/modules/timer.md | 58 ++ doc/source/references/modules/websocket.md | 2 +- doc/source/references/weex-variable.md | 5 +- doc/source/releasenote.md | 663 ++---------------- doc/source/v-0.10/references/bubble.md | 150 ++++ doc/themes/weex/languages/cn.yml | 17 +- doc/themes/weex/languages/en.yml | 16 +- .../weex/layout/_partial/after-footer.ejs | 10 + doc/themes/weex/layout/_partial/footer.ejs | 2 +- doc/themes/weex/layout/_partial/head.ejs | 3 + doc/themes/weex/layout/_partial/header.ejs | 27 +- .../weex/layout/_partial/post/summary.ejs | 7 + doc/themes/weex/layout/_partial/sidebar.ejs | 3 + doc/themes/weex/layout/_partial/slider.ejs | 2 +- doc/themes/weex/layout/index.ejs | 28 + doc/themes/weex/layout/layout.ejs | 15 + doc/themes/weex/layout/post.ejs | 7 - doc/themes/weex/source/css/blog.scss | 3 + doc/themes/weex/source/css/common.scss | 14 +- doc/themes/weex/source/css/docsearch.min.css | 2 + doc/themes/weex/source/css/index.scss | 63 +- doc/themes/weex/source/css/media-queries.scss | 3 +- doc/themes/weex/source/css/partial/footer.scss | 5 +- doc/themes/weex/source/css/partial/header.scss | 6 +- .../weex/source/css/partial/highlight.scss | 7 +- .../weex/source/css/partial/search-form.scss | 44 +- doc/themes/weex/source/css/partial/summary.scss | 6 + doc/themes/weex/source/css/variable.scss | 4 +- doc/themes/weex/source/images/fliggy.png | Bin 0 -> 19329 bytes doc/themes/weex/source/images/juhuasuan.png | Bin 0 -> 46340 bytes doc/themes/weex/source/images/qianniu.png | Bin 0 -> 19852 bytes doc/themes/weex/source/images/taopiaopiao.png | Bin 0 -> 12460 bytes doc/themes/weex/source/js/common.js | 38 ++ doc/themes/weex/source/js/docsearch.min.js | 7 + examples/iconfont.we | 63 +- examples/index.we | 1 + examples/vue/components/input.vue | 17 + examples/vue/components/waterfall.vue | 165 +++-- examples/vue/hello.vue | 2 +- examples/vue/iconfont.vue | 80 ++- examples/vue/index.vue | 4 +- examples/vue/market/gcanvas.vue | 38 +- examples/vue/modules/websocket.vue | 116 ++++ html5/render/native/index.js | 33 +- html5/render/native/setup.js | 58 ++ html5/render/vue/README.md | 42 +- html5/render/vue/components/a.js | 19 + html5/render/vue/components/div.js | 1 + html5/render/vue/components/image.js | 1 + html5/render/vue/components/index.js | 9 +- html5/render/vue/components/input.js | 53 +- .../render/vue/components/scrollable/header.js | 3 +- .../vue/components/scrollable/list/cell.js | 1 + .../vue/components/scrollable/list/index.js | 14 +- .../components/scrollable/loading-indicator.js | 146 +++- .../render/vue/components/scrollable/loading.js | 5 +- .../render/vue/components/scrollable/refresh.js | 5 +- .../vue/components/scrollable/scroller.js | 19 +- .../vue/components/scrollable/waterfall.js | 337 +++++++++ html5/render/vue/components/slider/index.js | 155 +---- html5/render/vue/components/slider/indicator.js | 37 +- .../render/vue/components/slider/slideMixin.js | 660 ++++++++++++++---- .../vue/components/slider/slider-neighbor.css | 21 - .../vue/components/slider/slider-neighbor.js | 138 +--- html5/render/vue/components/slider/slider.css | 34 + html5/render/vue/components/switch.js | 1 + html5/render/vue/components/text.js | 1 + html5/render/vue/components/textarea.js | 1 + html5/render/vue/components/video.js | 28 +- html5/render/vue/components/web.js | 1 + html5/render/vue/config.js | 21 + html5/render/vue/core/node.js | 159 ++++- html5/render/vue/core/style.js | 175 +++-- html5/render/vue/env/global.js | 2 + html5/render/vue/env/index.js | 4 +- html5/render/vue/env/viewport.js | 6 +- html5/render/vue/env/weex.js | 39 +- html5/render/vue/env/wx-env.js | 20 +- html5/render/vue/index.js | 18 +- html5/render/vue/lib/envd/index.js | 179 +++++ html5/render/vue/lib/envd/params.js | 17 + html5/render/vue/lib/envd/version.js | 152 +++++ html5/render/vue/lib/gesture.js | 512 ++++++++++++++ html5/render/vue/mixins/base.js | 77 ++- html5/render/vue/mixins/index.js | 4 +- html5/render/vue/mixins/scrollable.js | 120 +++- html5/render/vue/mixins/sticky.js | 65 ++ html5/render/vue/mixins/style.js | 77 ++- html5/render/vue/modules/animation.js | 3 + html5/render/vue/modules/dom.js | 56 +- html5/render/vue/modules/globalEvent.js | 69 ++ html5/render/vue/modules/index.js | 4 + html5/render/vue/modules/modal/style.js | 2 +- html5/render/vue/modules/modal/toast.js | 3 +- html5/render/vue/modules/websocket/index.js | 26 + html5/render/vue/modules/websocket/websocket.js | 62 ++ html5/render/vue/styles/base.css | 86 +-- html5/render/vue/styles/reset.css | 5 + html5/render/vue/utils/component.js | 185 +++-- html5/render/vue/utils/event.js | 6 +- html5/render/vue/utils/func.js | 173 ++++- html5/render/vue/utils/index.js | 104 --- html5/render/vue/utils/lazyload.js | 17 +- html5/render/vue/utils/perf.js | 126 +++- html5/render/vue/utils/style.js | 256 +++++-- html5/runtime/vdom/document.js | 4 +- html5/runtime/vdom/element.js | 25 +- html5/shared/console.js | 10 +- html5/test/render/vue/core/node.js | 32 +- html5/test/render/vue/core/scope-style-map.js | 4 + .../render/vue/data/dotvue/event-bubble-bar.vue | 2 +- .../render/vue/data/dotvue/event-bubble.vue | 6 +- html5/test/render/vue/helper/utils.js | 10 +- html5/test/render/vue/modules/modal.js | 225 ++++++ html5/test/render/vue/modules/websocket.js | 80 +++ html5/test/render/vue/utils/component.js | 50 +- html5/test/render/vue/utils/event.js | 78 +++ html5/test/render/vue/utils/func.js | 278 +++++++- html5/test/render/vue/utils/lazyload.js | 106 +++ html5/test/render/vue/utils/perf.js | 132 ++++ html5/test/render/vue/utils/style.js | 162 ++++- html5/test/render/vue/utils/type.js | 49 ++ html5/test/render/vue/validator/index.js | 31 +- html5/test/unit/default/vm/vm.js | 2 +- ios/playground/Podfile | 2 +- .../WeexDemo.xcodeproj/project.pbxproj | 12 +- ios/playground/WeexDemo/AppDelegate.m | 4 + .../WeexDemo/WXConfigCenterDefaultImpl.h | 25 + .../WeexDemo/WXConfigCenterDefaultImpl.m | 45 ++ ios/playground/WeexDemo/WXDemoViewController.m | 24 +- .../WeexDemo/extend/module/WXEventModule.m | 16 + ios/sdk/WeexSDK-Dynamic/Info.plist | 24 + ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 680 ++++++++++++++++++- .../xcschemes/WeexSDK-Dynamic.xcscheme | 80 +++ ios/sdk/WeexSDK/Resources/main.js | 8 - .../WeexSDK/Sources/Bridge/WXBridgeContext.h | 8 +- .../WeexSDK/Sources/Bridge/WXBridgeContext.m | 205 +++++- ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m | 16 +- ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 217 +++++- ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m | 13 +- .../Component/Recycler/WXRecyclerComponent.h | 3 +- .../Component/Recycler/WXRecyclerComponent.m | 5 +- .../Recycler/WXSectionDataController.h | 2 + .../WeexSDK/Sources/Component/WXAComponent.m | 13 +- .../Sources/Component/WXCanvasComponent.h | 2 +- .../Sources/Component/WXComponent_internal.h | 3 +- .../Sources/Component/WXCycleSliderComponent.m | 42 +- .../WeexSDK/Sources/Component/WXEditComponent.m | 11 +- .../Sources/Component/WXEmbedComponent.m | 2 +- .../Sources/Component/WXFooterComponent.h | 2 +- .../Sources/Component/WXHeaderComponent.h | 3 +- .../Sources/Component/WXImageComponent.m | 39 +- .../Sources/Component/WXIndicatorComponent.m | 3 + .../WeexSDK/Sources/Component/WXListComponent.m | 118 +++- .../Sources/Component/WXLoadingComponent.m | 7 - .../Sources/Component/WXScrollerComponent.m | 45 +- .../Sources/Component/WXSliderComponent.m | 1 + .../Component/WXSliderNeighborComponent.m | 9 +- .../WeexSDK/Sources/Component/WXTextComponent.m | 146 ++-- ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 7 + ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 123 +++- .../Sources/Component/WXVideoComponent.m | 12 +- .../WeexSDK/Sources/Component/WXWebComponent.m | 11 +- .../Sources/Controller/WXBaseViewController.m | 25 +- .../Sources/Controller/WXRootViewController.m | 1 + .../Sources/Display/WXComponent+BoxShadow.h | 4 - ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.h | 1 + ios/sdk/WeexSDK/Sources/Display/WXRoundedRect.h | 2 +- ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 23 +- .../WeexSDK/Sources/Events/WXComponent+Events.m | 60 +- .../Sources/Handler/WXURLRewriteDefaultImpl.m | 2 +- .../WeexSDK/Sources/Layout/WXComponent+Layout.m | 28 +- .../WeexSDK/Sources/Loader/WXResourceLoader.m | 2 + .../WeexSDK/Sources/Manager/WXBridgeManager.h | 2 + .../Sources/Manager/WXComponentManager.h | 5 +- .../Sources/Manager/WXComponentManager.m | 39 +- ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m | 8 +- .../WeexSDK/Sources/Manager/WXServiceFactory.h | 2 +- .../WeexSDK/Sources/Manager/WXTracingManager.h | 126 ++++ .../WeexSDK/Sources/Manager/WXTracingManager.m | 384 +++++++++++ ios/sdk/WeexSDK/Sources/Model/WXComponent.h | 5 + ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 68 +- .../WeexSDK/Sources/Model/WXJSExceptionInfo.h | 1 + .../WeexSDK/Sources/Model/WXJSExceptionInfo.m | 1 + ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h | 17 +- ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 56 +- .../WeexSDK/Sources/Module/WXAnimationLayout.h | 49 ++ .../WeexSDK/Sources/Module/WXAnimationLayout.m | 115 ++++ .../WeexSDK/Sources/Module/WXAnimationModule.m | 69 +- ios/sdk/WeexSDK/Sources/Module/WXDomModule.m | 29 +- .../WeexSDK/Sources/Module/WXModalUIModule.m | 1 + .../WeexSDK/Sources/Module/WXNavigatorModule.m | 7 - ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 11 +- .../WeexSDK/Sources/Module/WXPrerenderManager.h | 89 +++ .../WeexSDK/Sources/Module/WXPrerenderManager.m | 314 +++++++++ ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 6 +- ios/sdk/WeexSDK/Sources/Module/WXTimerModule.m | 4 +- .../WeexSDK/Sources/Module/WXWebSocketModule.h | 1 - .../WeexSDK/Sources/Module/WXWebSocketModule.m | 1 + .../Sources/Network/WXResourceRequestHandler.h | 2 + .../WXResourceRequestHandlerDefaultImpl.m | 5 +- .../WeexSDK/Sources/Protocol/WXBridgeProtocol.h | 43 ++ .../Sources/Protocol/WXConfigCenterProtocol.h | 20 + .../Sources/Protocol/WXScrollerProtocol.h | 7 + .../Sources/Protocol/WXURLRewriteProtocol.h | 5 +- ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 6 +- ios/sdk/WeexSDK/Sources/Utility/WXDefine.h | 4 +- ios/sdk/WeexSDK/Sources/Utility/WXLog.m | 8 + ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 9 +- ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 118 ++-- .../View/WXComponent+PseudoClassManagement.h | 4 +- .../View/WXComponent+PseudoClassManagement.m | 4 +- .../Sources/View/WXComponent+ViewManagement.m | 114 +++- ios/sdk/WeexSDK/Sources/View/WXView.m | 1 + ios/sdk/WeexSDK/Sources/WeexSDK.h | 5 + ios/sdk/WeexSDK/dependency/SRWebSocket.h | 17 +- ios/sdk/WeexSDK/dependency/SRWebSocket.m | 18 +- ios/sdk/WeexSDKTests/WXAnimationModuleTests.m | 29 + ios/sdk/WeexSDKTests/WXURLRewriteTests.m | 21 - ios/sdk/WeexSDKTests/dependency/libOCMock.a | Bin 2098920 -> 0 bytes ios/sdk/buildScripts.sh | 2 + package.json | 39 +- packages/weex-vue-render/README.md | 42 +- packages/weex-vue-render/package.json | 8 +- pre-build/native-bundle-main.js | 8 + scripts/build_from_source.sh | 14 +- scripts/commit-msg.sh | 28 + scripts/dist-browser.sh | 60 ++ scripts/dist-js-framework.sh | 56 ++ scripts/dist-vue.sh | 58 ++ scripts/generate_apache_release.sh | 35 + scripts/install-hooks.sh | 23 + scripts/pre-commit.sh | 27 + scripts/pre-push.sh | 28 + scripts/release.sh | 20 + scripts/release_files.rules | 10 +- scripts/repackage_android.sh | 20 - scripts/replace-header.sh | 4 - scripts/welcome.sh | 27 + test/.gitignore | 3 +- test/ci-funcs.sh | 18 - test/mocha.opts | 2 +- test/pages/components/hyperlink.vue | 31 + test/pages/components/hyperlink_target.vue | 22 + test/pages/components/scroller-fixed.vue | 14 +- test/pages/components/slider-common.vue | 229 +++++++ test/pages/components/textarea-maxlength.vue | 10 +- test/pages/css/border.vue | 135 +++- test/pages/modules/globalEvent.vue | 48 ++ test/pages/modules/vue_timer.vue | 75 ++ test/pages/modules/we_timer.we | 73 ++ test/run.sh | 9 + test/screenshot/border-android.png | Bin 0 -> 156247 bytes test/screenshot/border-ios.png | Bin 168396 -> 126185 bytes test/screenshot/compositing-ios.png | Bin 228661 -> 228306 bytes test/scripts/components/hyperlink.test.js | 44 ++ test/scripts/components/recycler.test.js | 16 +- test/scripts/components/scroller-fixed.test.js | 5 +- test/scripts/components/slider-common.test.js | 100 +++ test/scripts/components/text.test.js | 2 +- .../components/textarea-maxlength.test.js | 6 +- test/scripts/css/border.test.js | 7 +- test/scripts/modules/globalEvent.test.js | 60 ++ test/scripts/modules/timer.test.js | 100 +++ test/scripts/util.js | 37 +- test/serve.sh | 3 +- 479 files changed, 17535 insertions(+), 4603 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/bdd6f1b5/doc/source/guide/set-up-env.md ----------------------------------------------------------------------