Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-weex into ios-feature-mutli-context
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/13400fa9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/13400fa9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/13400fa9 Branch: refs/heads/master Commit: 13400fa9252e65580a45ccf0b2347422f66525a2 Parents: 2e01ca2 e32b52f Author: acton393 <[email protected]> Authored: Fri Jan 12 15:42:30 2018 +0800 Committer: acton393 <[email protected]> Committed: Fri Jan 12 15:42:30 2018 +0800 ---------------------------------------------------------------------- Gemfile.lock | 97 +-- .../java/com/alibaba/weex/IndexActivity.java | 4 +- .../java/com/alibaba/weex/WXApplication.java | 4 +- android/sdk/libs/armeabi/libweexjsc.so | Bin 336796 -> 337420 bytes android/sdk/libs/armeabi/libweexjss.so | Bin 6758224 -> 6774612 bytes .../java/com/taobao/weex/WXEnvironment.java | 9 +- .../java/com/taobao/weex/bridge/WXBridge.java | 16 +- .../com/taobao/weex/bridge/WXBridgeManager.java | 71 +- .../java/com/taobao/weex/bridge/WXJSObject.java | 1 + .../java/com/taobao/weex/common/IWXBridge.java | 7 +- .../java/com/taobao/weex/dom/WXDomHandler.java | 3 + .../java/com/taobao/weex/dom/WXDomObject.java | 9 +- .../java/com/taobao/weex/dom/flex/CSSNode.java | 14 +- .../com/taobao/weex/ui/component/WXText.java | 38 +- .../ui/component/list/BasicListComponent.java | 14 +- .../ui/component/list/StickyHeaderHelper.java | 11 + .../taobao/weex/ui/component/list/WXCell.java | 6 +- .../com/taobao/weex/ui/module/WXMetaModule.java | 28 + .../refresh/wrapper/BounceRecyclerView.java | 4 +- .../com/taobao/weex/utils/TypefaceUtil.java | 30 +- .../java/com/taobao/weex/utils/WXJsonUtils.java | 34 + .../main/java/com/taobao/weex/wson/Wson.java | 776 +++++++++++++++++++ .../taobao/weex/bridge/WXBridgeManagerTest.java | 6 +- .../com/taobao/weex/bridge/WXBridgeTest.java | 5 +- examples/vue/hello.vue | 47 +- .../WeexDemo.xcodeproj/project.pbxproj | 29 +- ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 12 - .../WeexSDK/Sources/Bridge/WXBridgeContext.m | 4 + ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m | 4 + .../Recycler/WXRecyclerDataController.m | 3 + .../Sources/Component/WXSliderComponent.h | 29 - .../Sources/Component/WXSliderComponent.m | 685 ---------------- ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 2 +- .../Sources/Manager/WXComponentManager.m | 2 +- ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 22 +- ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.h | 2 + ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m | 37 +- .../Sources/Protocol/WXAppMonitorProtocol.h | 8 + .../Sources/Protocol/WXConfigCenterProtocol.h | 8 + .../Sources/Utility/WXAppConfiguration.h | 5 + .../Sources/Utility/WXAppConfiguration.m | 11 + .../Sources/Utility/WXThreadSafeMutableArray.m | 186 ++++- .../Utility/WXThreadSafeMutableDictionary.m | 148 +++- ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 4 + ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 12 + package.json | 2 +- pre-build/native-bundle-main.js | 11 +- 47 files changed, 1531 insertions(+), 929 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/13400fa9/Gemfile.lock ---------------------------------------------------------------------- diff --cc Gemfile.lock index a655884,a655884..9222d31 --- a/Gemfile.lock +++ b/Gemfile.lock @@@ -1,40 -1,40 +1,40 @@@ GEM remote: https://rubygems.org/ specs: -- CFPropertyList (2.3.4) -- activesupport (4.2.7.1) ++ CFPropertyList (2.3.6) ++ activesupport (4.2.10) i18n (~> 0.7) -- json (~> 1.7, >= 1.7.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) -- addressable (2.5.0) -- public_suffix (~> 2.0, >= 2.0.2) -- claide (1.0.1) ++ addressable (2.5.2) ++ public_suffix (>= 2.0.2, < 4.0) ++ claide (1.0.2) claide-plugins (0.9.2) cork nap open4 (~> 1.3) -- cocoapods (1.1.1) ++ cocoapods (1.3.1) activesupport (>= 4.0.2, < 5) -- claide (>= 1.0.1, < 2.0) -- cocoapods-core (= 1.1.1) ++ claide (>= 1.0.2, < 2.0) ++ cocoapods-core (= 1.3.1) cocoapods-deintegrate (>= 1.0.1, < 2.0) -- cocoapods-downloader (>= 1.1.2, < 2.0) ++ cocoapods-downloader (>= 1.1.3, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) cocoapods-search (>= 1.0.0, < 2.0) cocoapods-stats (>= 1.0.0, < 2.0) -- cocoapods-trunk (>= 1.1.1, < 2.0) ++ cocoapods-trunk (>= 1.2.0, < 2.0) cocoapods-try (>= 1.1.0, < 2.0) -- colored (~> 1.2) ++ colored2 (~> 3.1) escape (~> 0.0.4) fourflusher (~> 2.0.1) gh_inspector (~> 1.0) -- molinillo (~> 0.5.1) ++ molinillo (~> 0.5.7) nap (~> 1.0) -- xcodeproj (>= 1.3.3, < 2.0) -- cocoapods-core (1.1.1) -- activesupport (>= 4.0.2, < 5) ++ ruby-macho (~> 1.1) ++ xcodeproj (>= 1.5.1, < 2.0) ++ cocoapods-core (1.3.1) ++ activesupport (>= 4.0.2, < 6) fuzzy_match (~> 2.0.4) nap (~> 1.0) cocoapods-deintegrate (1.0.1) @@@ -43,30 -43,30 +43,32 @@@ nap cocoapods-search (1.0.0) cocoapods-stats (1.0.0) -- cocoapods-trunk (1.1.2) ++ cocoapods-trunk (1.3.0) nap (>= 0.8, < 2.0) -- netrc (= 0.7.8) ++ netrc (~> 0.11) cocoapods-try (1.1.0) -- colored (1.2) -- cork (0.2.0) -- colored (~> 1.2) -- danger (4.0.5) ++ colored2 (3.1.2) ++ concurrent-ruby (1.0.5) ++ cork (0.3.0) ++ colored2 (~> 3.1) ++ danger (5.5.6) claide (~> 1.0) claide-plugins (>= 0.9.2) -- colored (~> 1.2) ++ colored2 (~> 3.1) cork (~> 0.1) faraday (~> 0.9) faraday-http-cache (~> 1.0) git (~> 1) kramdown (~> 1.5) -- octokit (~> 4.2) ++ no_proxy_fix ++ octokit (~> 4.7) terminal-table (~> 1) danger-plugin-api (1.0.0) danger (> 2.0) -- danger-xcode_summary (0.1.0) ++ danger-xcode_summary (0.4.0) danger-plugin-api (~> 1.0) escape (0.0.4) -- faraday (0.11.0) ++ faraday (0.13.1) multipart-post (>= 1.2, < 3) faraday-http-cache (1.3.1) faraday (~> 0.8) @@@ -74,37 -74,37 +76,38 @@@ fuzzy_match (2.0.4) gh_inspector (1.0.3) git (1.3.0) -- i18n (0.7.0) -- json (1.8.3) -- kramdown (1.13.2) -- minitest (5.10.1) -- molinillo (0.5.5) ++ i18n (0.9.1) ++ concurrent-ruby (~> 1.0) ++ kramdown (1.16.2) ++ minitest (5.11.1) ++ molinillo (0.5.7) multipart-post (2.0.0) nanaimo (0.2.3) nap (1.1.0) -- netrc (0.7.8) -- octokit (4.6.2) ++ netrc (0.11.0) ++ no_proxy_fix (0.1.2) ++ octokit (4.8.0) sawyer (~> 0.8.0, >= 0.5.3) open4 (1.3.4) -- public_suffix (2.0.5) -- rouge (1.11.1) ++ public_suffix (3.0.1) ++ rouge (2.0.7) ++ ruby-macho (1.1.0) sawyer (0.8.1) addressable (>= 2.3.5, < 2.6) faraday (~> 0.8, < 1.0) -- terminal-table (1.7.3) -- unicode-display_width (~> 1.1.1) -- thread_safe (0.3.5) -- tzinfo (1.2.2) ++ terminal-table (1.8.0) ++ unicode-display_width (~> 1.1, >= 1.1.1) ++ thread_safe (0.3.6) ++ tzinfo (1.2.4) thread_safe (~> 0.1) -- unicode-display_width (1.1.3) -- xcodeproj (1.4.2) ++ unicode-display_width (1.3.0) ++ xcodeproj (1.5.4) CFPropertyList (~> 2.3.3) -- activesupport (>= 3) -- claide (>= 1.0.1, < 2.0) -- colored (~> 1.2) ++ claide (>= 1.0.2, < 2.0) ++ colored2 (~> 3.1) nanaimo (~> 0.2.3) -- xcpretty (0.2.4) -- rouge (~> 1.8) ++ xcpretty (0.2.8) ++ rouge (~> 2.0.7) xcpretty-json-formatter (0.1.0) xcpretty (~> 0.2, >= 0.0.7) @@@ -119,4 -119,4 +122,4 @@@ DEPENDENCIE xcpretty-json-formatter! BUNDLED WITH -- 1.13.7 ++ 1.16.0 http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/13400fa9/examples/vue/hello.vue ---------------------------------------------------------------------- diff --cc examples/vue/hello.vue index 76272f7,76272f7..7450e9c --- a/examples/vue/hello.vue +++ b/examples/vue/hello.vue @@@ -1,5 -1,5 +1,44 @@@ <template> -- <div> -- <text style="font-size: 100px;">Hello World.</text> -- </div> --</template> ++ <div> ++ <slider style="width: 750px; height: 2668px; "> ++ <list style="width: 750;height:300px;"> ++ <cell v-for="item in list" style="margin-top: 6px; margin-bottom: 6px; background-color: green; width: 750px;"> ++ <div> ++ <text>{{item}}</text> ++ </div> ++ </cell> ++ </list> ++ <waterfall ++ class="container" ++ append="node" ++ column-width="369" ++ column-count="2" ++ column-gap="12" ++ show-scrollbar="false" ++ scrollable="true"> ++ <cell v-for="item in list" style="margin-top: 6px; margin-bottom: 6px; background-color: pink;"> ++ <div style="width: 369px; "> ++ <text>{{item}}</text> ++ </div> ++ </cell> ++ </waterfall> ++ </slider> ++ </div> ++</template> ++<style scoped> ++ .container { ++ width: 750px; ++ background-color: #999999; ++ } ++</style> ++<script> ++export default { ++ data() { ++ return { ++ list: ["3r23r2æ¤è gu'ru'd'h'f'wæ¤è æ å¦å¾ ä¼åé®å§é¢ç¬¦åiu'w'h'f'iu'h'fæ¤è æ å¦å¾ ä¼åé®å§é¢ç¬¦åiuæåå¤iuç¿°é£2h'fç¿°é£2fåhiåå fåå åir23r23", ++ '23423rwer23r23', '23423rwfewuify82y34f834738er23r23', '23423uwgfeug8f2t8fwbefy82y284ffgrwer23r23', ++ '23423rwer23r23', '23423rwer23r23', '23423rwersfduhewfy82374tf87wfy23r23', '23423rwer23r23'] ++ } ++ }, ++ methods: {} ++};</script> http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/13400fa9/ios/playground/WeexDemo.xcodeproj/project.pbxproj ---------------------------------------------------------------------- diff --cc ios/playground/WeexDemo.xcodeproj/project.pbxproj index 351693b,351693b..ab35313 --- a/ios/playground/WeexDemo.xcodeproj/project.pbxproj +++ b/ios/playground/WeexDemo.xcodeproj/project.pbxproj @@@ -407,6 -407,6 +407,7 @@@ TargetAttributes = { 775BEE7A1C1E8ECC008D1629 = { CreatedOnToolsVersion = 7.1.1; ++ DevelopmentTeam = G7EDFK7C8C; }; 775BEE931C1E8ECC008D1629 = { CreatedOnToolsVersion = 7.1.1; @@@ -507,6 -507,6 +508,7 @@@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( ++ "$(DERIVED_FILE_DIR)/Pods-WeexUITestDemo-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@@ -519,9 -519,9 +521,20 @@@ files = ( ); inputPaths = ( ++ "${SRCROOT}/Pods/Target Support Files/Pods-WeexUITestDemo/Pods-WeexUITestDemo-resources.sh", ++ "${PODS_ROOT}/ATSDK-Weex/ATSDK.framework/Versions/A/Resources/ATSDK.bundle", ++ "${PODS_ROOT}/ATSDK-Weex/ATSDK.framework/Versions/A/Resources/en.lproj", ++ "${PODS_ROOT}/ATSDK-Weex/ATSDK.framework/Versions/A/Resources/zh-Hans.lproj", ++ "${PODS_ROOT}/GCanvas/GCanvas.framework/default.glsl", ++ "${PODS_ROOT}/GCanvas/GCanvas.framework/grad.glsl", ++ "${PODS_ROOT}/GCanvas/GCanvas.framework/pattern.glsl", ++ "${PODS_ROOT}/GCanvas/GCanvas.framework/radiation.glsl", ++ "${PODS_ROOT}/../../../pre-build/native-bundle-main.js", ++ "${PODS_ROOT}/../../sdk/WeexSDK/Resources/[email protected]", ); name = "[CP] Copy Pods Resources"; outputPaths = ( ++ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@@ -554,6 -554,6 +567,7 @@@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( ++ "$(DERIVED_FILE_DIR)/Pods-WeexDemo-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@@ -566,9 -566,9 +580,20 @@@ files = ( ); inputPaths = ( ++ "${SRCROOT}/Pods/Target Support Files/Pods-WeexDemo/Pods-WeexDemo-resources.sh", ++ "${PODS_ROOT}/ATSDK-Weex/ATSDK.framework/Versions/A/Resources/ATSDK.bundle", ++ "${PODS_ROOT}/ATSDK-Weex/ATSDK.framework/Versions/A/Resources/en.lproj", ++ "${PODS_ROOT}/ATSDK-Weex/ATSDK.framework/Versions/A/Resources/zh-Hans.lproj", ++ "${PODS_ROOT}/GCanvas/GCanvas.framework/default.glsl", ++ "${PODS_ROOT}/GCanvas/GCanvas.framework/grad.glsl", ++ "${PODS_ROOT}/GCanvas/GCanvas.framework/pattern.glsl", ++ "${PODS_ROOT}/GCanvas/GCanvas.framework/radiation.glsl", ++ "${PODS_ROOT}/../../../pre-build/native-bundle-main.js", ++ "${PODS_ROOT}/../../sdk/WeexSDK/Resources/[email protected]", ); name = "[CP] Copy Pods Resources"; outputPaths = ( ++ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@@ -733,7 -733,7 +758,7 @@@ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; -- DEVELOPMENT_TEAM = ""; ++ DEVELOPMENT_TEAM = G7EDFK7C8C; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@@ -763,7 -763,7 +788,7 @@@ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CODE_SIGN_IDENTITY = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; -- DEVELOPMENT_TEAM = ""; ++ DEVELOPMENT_TEAM = G7EDFK7C8C; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/13400fa9/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/13400fa9/ios/sdk/WeexSDK/Sources/Component/Recycler/WXRecyclerDataController.m ---------------------------------------------------------------------- diff --cc ios/sdk/WeexSDK/Sources/Component/Recycler/WXRecyclerDataController.m index 31fb731,31fb731..08fc876 --- a/ios/sdk/WeexSDK/Sources/Component/Recycler/WXRecyclerDataController.m +++ b/ios/sdk/WeexSDK/Sources/Component/Recycler/WXRecyclerDataController.m @@@ -58,6 -58,6 +58,9 @@@ [_cellToIndexPathTable setObject:indexPath forKey:obj]; }]; if (controller.headerComponent) { ++ if (controller.headerComponent == nil) { ++ NSLog(@"test"); ++ } [_headerToIndexTable setObject:@(idx) forKey:controller.headerComponent]; } }]; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/13400fa9/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m ---------------------------------------------------------------------- diff --cc ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m index 3aceeb5,da9275d..f0e5ef7 --- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m +++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m @@@ -46,7 -46,7 +46,8 @@@ #import "WXJSExceptionProtocol.h" #import "WXTracingManager.h" #import "WXExceptionUtils.h" +#import "WXBridgeContext.h" + #import "WXMonitor.h" NSString *const bundleUrlOptionKey = @"bundleUrl";
