Merge branch '0.16-dev' into ios-native-0.16-dev Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/94422355 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/94422355 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/94422355
Branch: refs/heads/0.16-dev Commit: 944223557851cafc7dd4704e4c917d314ac23aef Parents: 4d78365 8b9845e Author: é½å±± <sunjjb...@163.com> Authored: Thu Aug 10 14:27:41 2017 +0800 Committer: GitHub <nore...@github.com> Committed: Thu Aug 10 14:27:41 2017 +0800 ---------------------------------------------------------------------- .gitignore | 5 +- .../java/com/alibaba/weex/IndexActivity.java | 14 + .../java/com/taobao/weex/WXSDKInstance.java | 11 +- .../main/java/com/taobao/weex/WXSDKManager.java | 10 + .../java/com/taobao/weex/bridge/WXBridge.java | 8 +- .../com/taobao/weex/bridge/WXBridgeManager.java | 36 +- .../taobao/weex/bridge/WXValidateProcessor.java | 7 +- .../taobao/weex/common/WXWorkThreadManager.java | 48 + .../java/com/taobao/weex/dom/WXDomObject.java | 17 +- .../dom/action/AbstractAddElementAction.java | 2 +- .../com/taobao/weex/ui/component/WXImage.java | 68 + .../ui/component/list/BasicListComponent.java | 15 +- .../taobao/weex/utils/WXViewToImageUtil.java | 151 + build/build.js | 106 +- build/config.js | 54 +- build/karma.vue.conf.js | 2 +- dangerfile.js | 79 +- entry.js | 11 + examples/vue/components/scroller.vue | 9 +- examples/vue/index.vue | 1 + examples/vue/modules/picker.vue | 64 + html5/frameworks/legacy/core/array.js | 4 + html5/frameworks/legacy/core/object.js | 6 + html5/frameworks/legacy/static/create.js | 7 +- html5/frameworks/legacy/vm/directive.js | 6 + html5/frameworks/vanilla/index.js | 35 +- html5/render/vue/README.md | 92 + html5/render/vue/components/a.js | 90 +- html5/render/vue/components/div.js | 43 +- html5/render/vue/components/image.js | 76 +- html5/render/vue/components/index.js | 37 +- html5/render/vue/components/input.js | 130 +- html5/render/vue/components/scrollable/cell.js | 39 + .../render/vue/components/scrollable/header.js | 102 +- html5/render/vue/components/scrollable/index.js | 48 + html5/render/vue/components/scrollable/list.js | 82 + .../vue/components/scrollable/list/cell.js | 36 - .../vue/components/scrollable/list/index.js | 77 - .../vue/components/scrollable/list/listMixin.js | 47 - .../vue/components/scrollable/list/style.js | 34 - .../components/scrollable/loading-indicator.js | 17 +- .../render/vue/components/scrollable/loading.js | 141 +- .../vue/components/scrollable/mixins/index.js | 26 + .../vue/components/scrollable/mixins/list.js | 46 + .../components/scrollable/mixins/scrollable.js | 267 + .../render/vue/components/scrollable/refresh.js | 157 +- .../vue/components/scrollable/scroller.js | 143 +- .../render/vue/components/scrollable/style.css | 90 + .../vue/components/scrollable/waterfall.js | 573 +- html5/render/vue/components/slider/index.js | 52 +- html5/render/vue/components/slider/indicator.js | 18 +- .../render/vue/components/slider/slideMixin.js | 46 +- .../vue/components/slider/slider-neighbor.js | 12 +- html5/render/vue/components/slider/slider.css | 19 + html5/render/vue/components/slider/slider.js | 75 + html5/render/vue/components/switch.js | 114 +- html5/render/vue/components/text.js | 52 +- html5/render/vue/components/textarea.js | 104 +- html5/render/vue/components/video.js | 107 +- html5/render/vue/components/web.js | 98 +- html5/render/vue/config.js | 10 +- html5/render/vue/core/node.js | 27 +- html5/render/vue/core/style.js | 35 - html5/render/vue/env/global.js | 6 + html5/render/vue/env/index.js | 5 - html5/render/vue/index.js | 25 - html5/render/vue/lib/gesture.js | 6 + html5/render/vue/mixins/base.js | 71 - html5/render/vue/mixins/index.js | 2 - html5/render/vue/mixins/scrollable.js | 233 - html5/render/vue/mixins/style.js | 4 +- html5/render/vue/modules/animation.js | 36 +- html5/render/vue/modules/dom.js | 96 +- html5/render/vue/modules/globalEvent.js | 8 +- html5/render/vue/modules/index.js | 36 +- html5/render/vue/modules/modal/toast.js | 23 +- html5/render/vue/modules/navigator.js | 10 +- html5/render/vue/modules/webview.js | 18 +- html5/render/vue/styles/base.css | 86 +- html5/render/vue/styles/reset.css | 19 + html5/render/vue/utils/lazyload.js | 24 +- html5/render/vue/utils/perf.js | 283 +- html5/runtime/callback-manager.js | 12 +- html5/runtime/config.js | 5 +- html5/runtime/normalize.js | 107 + html5/runtime/task-center.js | 61 +- html5/runtime/vdom/document.js | 2 + html5/runtime/vdom/element.js | 15 +- html5/test/render/vue/components/list.js | 2 +- html5/test/render/vue/components/switch.js | 5 +- html5/test/render/vue/core/node.js | 2 + html5/test/render/vue/examples/list-cell.js | 2 +- html5/test/render/vue/helper/index.js | 2 +- html5/test/render/vue/helper/main.js | 3 +- html5/test/render/vue/helper/utils.js | 4 + html5/test/render/vue/modules/animation.js | 12 +- html5/test/render/vue/modules/dom.js | 27 +- html5/test/render/vue/modules/globalEvent.js | 8 +- html5/test/render/vue/modules/navigator.js | 8 +- html5/test/render/vue/modules/webview.js | 10 +- html5/test/render/vue/utils/lazyload.js | 59 +- html5/test/render/vue/utils/perf.js | 94 +- html5/test/render/vue/utils/style.js | 50 +- ios/.gitignore | 1 + ios/playground/Podfile | 2 +- .../WeexDemo.xcodeproj/project.pbxproj | 24 +- ios/playground/WeexDemo/AppDelegate.m | 8 +- ios/playground/WeexDemo/Info.plist | 4 + ios/playground/WeexDemo/WXDemoViewController.m | 2 - ios/playground/WeexDemo/WXExtModule.h | 26 + ios/playground/WeexDemo/WXExtModule.m | 43 + ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 16 +- .../Component/Recycler/WXRecyclerComponent.m | 58 +- .../Recycler/WXRecyclerDragController.h | 52 + .../Recycler/WXRecyclerDragController.m | 208 + .../WeexSDK/Sources/Component/WXAComponent.m | 1 + .../WeexSDK/Sources/Component/WXEditComponent.m | 11 +- .../Sources/Component/WXImageComponent.m | 239 +- .../Sources/Component/WXTextAreaComponent.m | 2 +- ios/sdk/WeexSDK/Sources/Component/WXTransform.h | 1 + ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 33 +- .../Sources/Component/WXVideoComponent.m | 1 + .../WeexSDK/Sources/Component/WXWebComponent.m | 1 + .../WeexSDK/Sources/Loader/WXResourceLoader.m | 2 +- ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m | 1 + ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 1 + .../WeexSDK/Sources/Module/WXAnimationModule.m | 5 + ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 1 + .../WeexSDK/Sources/Module/WXWebSocketModule.h | 1 - .../WeexSDK/Sources/Module/WXWebSocketModule.m | 1 + .../Sources/Network/WXResourceResponse.h | 2 +- .../Sources/Protocol/WXURLRewriteProtocol.h | 2 +- ios/sdk/WeexSDK/Sources/Utility/WXDefine.h | 2 + ios/sdk/WeexSDK/Sources/WeexSDK.h | 1 + package.json | 35 +- packages/weex-js-framework/.npmignore | 4 + packages/weex-js-framework/index.js | 25150 +++++++++++++++++ packages/weex-js-framework/index.min.js | 1 + packages/weex-js-framework/package.json | 22 + packages/weex-js-runtime/.npmignore | 4 + packages/weex-js-runtime/index.js | 3906 +++ packages/weex-js-runtime/index.min.js | 1 + packages/weex-js-runtime/index.min.js.gz | Bin 0 -> 12588 bytes packages/weex-js-runtime/package.json | 22 + packages/weex-legacy-framework/.npmignore | 4 + packages/weex-legacy-framework/index.js | 5770 ++++ packages/weex-legacy-framework/index.min.js | 1 + packages/weex-legacy-framework/package.json | 22 + packages/weex-vue-plugins/weex-vue-a/README.md | 3 + .../weex-vue-plugins/weex-vue-a/package.json | 26 + .../weex-vue-plugins/weex-vue-a/src/index.js | 2 + .../weex-vue-animation/README.md | 3 + .../weex-vue-animation/package.json | 27 + .../weex-vue-animation/src/index.js | 2 + .../weex-vue-clipboard/README.md | 3 + .../weex-vue-clipboard/package.json | 27 + .../weex-vue-clipboard/src/index.js | 2 + .../weex-vue-plugins/weex-vue-dom/README.md | 3 + .../weex-vue-plugins/weex-vue-dom/package.json | 27 + .../weex-vue-plugins/weex-vue-dom/src/index.js | 2 + .../weex-vue-plugins/weex-vue-event/README.md | 3 + .../weex-vue-event/package.json | 27 + .../weex-vue-event/src/index.js | 2 + .../weex-vue-geolocation/README.md | 3 + .../weex-vue-geolocation/package.json | 27 + .../weex-vue-geolocation/src/index.js | 2 + .../weex-vue-global-event/README.md | 3 + .../weex-vue-global-event/package.json | 27 + .../weex-vue-global-event/src/index.js | 2 + .../weex-vue-plugins/weex-vue-input/README.md | 3 + .../weex-vue-input/package.json | 26 + .../weex-vue-input/src/index.js | 2 + .../weex-vue-plugins/weex-vue-modal/README.md | 3 + .../weex-vue-modal/package.json | 27 + .../weex-vue-modal/src/index.js | 2 + .../weex-vue-navigator/README.md | 3 + .../weex-vue-navigator/package.json | 27 + .../weex-vue-navigator/src/index.js | 2 + .../weex-vue-plugins/weex-vue-slider/README.md | 3 + .../weex-vue-slider/package.json | 27 + .../weex-vue-slider/src/index.js | 2 + .../weex-vue-plugins/weex-vue-storage/README.md | 3 + .../weex-vue-storage/package.json | 27 + .../weex-vue-storage/src/index.js | 2 + .../weex-vue-plugins/weex-vue-stream/README.md | 3 + .../weex-vue-stream/package.json | 27 + .../weex-vue-stream/src/index.js | 2 + .../weex-vue-plugins/weex-vue-switch/README.md | 3 + .../weex-vue-switch/package.json | 26 + .../weex-vue-switch/src/index.js | 2 + .../weex-vue-textarea/.DS_Store | Bin 0 -> 6148 bytes .../weex-vue-textarea/README.md | 3 + .../weex-vue-textarea/package.json | 26 + .../weex-vue-textarea/src/index.js | 2 + .../weex-vue-plugins/weex-vue-video/README.md | 3 + .../weex-vue-video/package.json | 26 + .../weex-vue-video/src/index.js | 2 + .../weex-vue-plugins/weex-vue-web/README.md | 3 + .../weex-vue-plugins/weex-vue-web/package.json | 26 + .../weex-vue-plugins/weex-vue-web/src/index.js | 2 + .../weex-vue-websocket/README.md | 3 + .../weex-vue-websocket/package.json | 27 + .../weex-vue-websocket/src/index.js | 2 + .../weex-vue-plugins/weex-vue-webview/README.md | 3 + .../weex-vue-webview/package.json | 27 + .../weex-vue-webview/src/index.js | 2 + packages/weex-vue-render/README.md | 92 + packages/weex-vue-render/package.json | 9 +- packages/weex-vue-render/src/index.core.js | 13 + packages/weex-vue-render/src/index.js | 12 + pre-build/native-bundle-main.js | 16 +- scripts/commit-msg.sh | 2 +- scripts/dist-vue.sh | 2 +- test/pages/components/hyperlink_target.vue | 1 + test/pages/components/iconfont.vue | 71 + test/pages/components/input-event.vue | 65 + test/pages/components/refresh-loading.vue | 115 + test/pages/components/switch-event.vue | 60 + test/pages/components/web-event.vue | 56 + test/pages/image-onload.vue | 14 +- test/pages/include/button.vue | 162 + test/pages/include/h1.vue | 13 + test/pages/include/h2.vue | 13 + test/pages/include/h3.vue | 13 + test/pages/include/hn.vue | 47 + test/pages/include/panel.vue | 141 + test/pages/include/wxc-desc.vue | 66 + test/pages/modules/animation-translate.vue | 129 + test/pages/modules/clipboard-event.vue | 57 + test/pages/modules/cover-generate.vue | 53 + test/pages/modules/downgrade-event.vue | 74 + test/pages/modules/gesture-longpress.vue | 75 + test/pages/modules/modal-event.vue | 61 + test/pages/modules/picker-event.vue | 63 + test/pages/modules/storage-event.vue | 59 + test/pages/modules/stream-result.vue | 85 + test/run.sh | 30 +- test/screenshot/border-android.png | Bin 156247 -> 158634 bytes test/scripts/components/iconfont.test.js | 34 + test/scripts/components/image-onload.test.js | 10 + test/scripts/components/input-event.test.js | 36 + test/scripts/components/refresh-loading.test.js | 38 + test/scripts/components/switch-event.test.js | 38 + test/scripts/components/web-event.test.js | 30 + .../scripts/modules/animation-translate.test.js | 40 + test/scripts/modules/clipboard-event.test.js | 35 + test/scripts/modules/downgrade-event.test.js | 30 + test/scripts/modules/gesture-longpress.test.js | 37 + test/scripts/modules/modal-event.test.js | 35 + test/scripts/modules/picker-event.test.js | 41 + test/scripts/modules/storage-event.test.js | 36 + test/scripts/modules/stream-result.test.js | 34 + test/scripts/util.js | 41 + test/scripts/zcover-generate.js | 32 + test/serve.sh | 2 +- vue.html | 11 +- 256 files changed, 41438 insertions(+), 2506 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/94422355/ios/playground/WeexDemo.xcodeproj/project.pbxproj ---------------------------------------------------------------------- diff --cc ios/playground/WeexDemo.xcodeproj/project.pbxproj index 7cfcbd8,1943c69..5c56412 --- a/ios/playground/WeexDemo.xcodeproj/project.pbxproj +++ b/ios/playground/WeexDemo.xcodeproj/project.pbxproj @@@ -28,9 -28,13 +28,14 @@@ 84361D5B1CA10F8E00F43825 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 775BEE8A1C1E8ECC008D1629 /* Assets.xcassets */; }; 846FC8DA1E1B853100949E7D /* WXSyncTestModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 7478481D1E0CD4910044500D /* WXSyncTestModule.m */; }; 846FC8DB1E1B853600949E7D /* WXATViewHierarchyPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = DCABAFF21D029685001C8592 /* WXATViewHierarchyPlugin.m */; }; + 847CAF2B1F39BB6B00551725 /* UIView+UIThreadCheck.m in Sources */ = {isa = PBXBuildFile; fileRef = 747DF6671E2F176A005C53A8 /* UIView+UIThreadCheck.m */; }; + 847CAF2C1F39BB8A00551725 /* WXATLoggerPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = DCABAFF01D029685001C8592 /* WXATLoggerPlugin.m */; }; + 847CAF2D1F39BBB900551725 /* WXScannerHistoryVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5B53681E8CED9400E02125 /* WXScannerHistoryVC.m */; }; + 847CAF2E1F39BBFB00551725 /* WXConfigCenterDefaultImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = DC20B8E51ECADA2500845F39 /* WXConfigCenterDefaultImpl.m */; }; + 847CAF311F39E3F100551725 /* WXExtModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 847CAF301F39E3F100551725 /* WXExtModule.m */; }; 84D7CAC71CE3266C00D48D46 /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7475ACA01CD8444A0044E96C /* libsqlite3.0.tbd */; }; 8A0B5EFFF75BF82EA481983D /* libPods-WeexUITestDemo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E48C20F443AA337D1FE97622 /* libPods-WeexUITestDemo.a */; }; + C47B78D21F299E27001D3B0C /* WXExtendCallNativeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C47B78D11F299E27001D3B0C /* WXExtendCallNativeTest.m */; }; C43CDA031F1C6E01005A6B03 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = C43CDA021F1C6E01005A6B03 /* libz.tbd */; }; DC20B8E61ECADA2500845F39 /* WXConfigCenterDefaultImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = DC20B8E51ECADA2500845F39 /* WXConfigCenterDefaultImpl.m */; }; DC5B53691E8CED9400E02125 /* WXScannerHistoryVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5B53681E8CED9400E02125 /* WXScannerHistoryVC.m */; }; @@@ -90,9 -93,9 +94,11 @@@ 775BEE981C1E8ECC008D1629 /* WeexDemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeexDemoTests.m; sourceTree = "<group>"; }; 775BEE9A1C1E8ECC008D1629 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 84361D751CA10F8E00F43825 /* WeexUITestDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WeexUITestDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 847CAF2F1F39E3F100551725 /* WXExtModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXExtModule.h; sourceTree = "<group>"; }; + 847CAF301F39E3F100551725 /* WXExtModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WXExtModule.m; sourceTree = "<group>"; }; 9420131417A731ED089B0814 /* Pods-WeexDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WeexDemo.release.xcconfig"; path = "Pods/Target Support Files/Pods-WeexDemo/Pods-WeexDemo.release.xcconfig"; sourceTree = "<group>"; }; + C47B78D01F299E27001D3B0C /* WXExtendCallNativeTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXExtendCallNativeTest.h; sourceTree = "<group>"; }; + C47B78D11F299E27001D3B0C /* WXExtendCallNativeTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WXExtendCallNativeTest.m; sourceTree = "<group>"; }; C43CDA021F1C6E01005A6B03 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; DC20B8E41ECADA2500845F39 /* WXConfigCenterDefaultImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXConfigCenterDefaultImpl.h; sourceTree = "<group>"; }; DC20B8E51ECADA2500845F39 /* WXConfigCenterDefaultImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WXConfigCenterDefaultImpl.m; sourceTree = "<group>"; }; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/94422355/ios/playground/WeexDemo/AppDelegate.m ---------------------------------------------------------------------- diff --cc ios/playground/WeexDemo/AppDelegate.m index d8472cd,19c702e..0414933 --- a/ios/playground/WeexDemo/AppDelegate.m +++ b/ios/playground/WeexDemo/AppDelegate.m @@@ -119,9 -120,9 +120,9 @@@ [WXSDKEngine registerComponent:@"select" withClass:NSClassFromString(@"WXSelectComponent")]; [WXSDKEngine registerModule:@"event" withClass:[WXEventModule class]]; [WXSDKEngine registerModule:@"syncTest" withClass:[WXSyncTestModule class]]; + [WXSDKEngine registerExtendCallNative:@"test" withClass:NSClassFromString(@"WXExtendCallNativeTest")]; - + [WXSDKEngine registerModule:@"ext" withClass:[WXExtModule class]]; - #if !(TARGET_IPHONE_SIMULATOR) [self checkUpdate]; #endif http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/94422355/ios/sdk/WeexSDK.xcodeproj/project.pbxproj ----------------------------------------------------------------------