You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by da...@apache.org on 2017/08/17 03:59:50 UTC
[33/43] incubator-weex git commit: Merge branch '0.16-dev' into
jsfm-feature-0.22
Merge branch '0.16-dev' into jsfm-feature-0.22
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/8d6c0d28
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/8d6c0d28
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/8d6c0d28
Branch: refs/heads/0.16-dev
Commit: 8d6c0d2803c83866398832763d935a5e412c76ba
Parents: 65c1af5 096c59b
Author: Hanks <zh...@gmail.com>
Authored: Mon Aug 14 11:44:37 2017 +0800
Committer: Hanks <zh...@gmail.com>
Committed: Mon Aug 14 11:44:37 2017 +0800
----------------------------------------------------------------------
.travis.yml | 8 +-
android/build.gradle | 8 +-
android/sdk/libs/armeabi/libweexjsc.so | Bin 7570504 -> 7570392 bytes
android/sdk/libs/x86/libweexjsc.so | Bin 12121924 -> 12121924 bytes
.../java/com/taobao/weex/bridge/WXBridge.java | 8 +-
.../com/taobao/weex/bridge/WXBridgeManager.java | 36 +-
.../taobao/weex/bridge/WXValidateProcessor.java | 7 +-
.../java/com/taobao/weex/common/Constants.java | 1 +
.../java/com/taobao/weex/dom/WXDomObject.java | 17 +-
.../com/taobao/weex/dom/WXTextDomObject.java | 91 +-
.../dom/action/AbstractAddElementAction.java | 2 +-
.../taobao/weex/dom/action/AnimationAction.java | 1 +
.../ui/animation/CameraDistanceProperty.java | 54 +
.../weex/ui/animation/WXAnimationBean.java | 86 +-
.../taobao/weex/ui/component/WXComponent.java | 16 -
.../java/com/taobao/weex/utils/WXViewUtils.java | 4 +-
doc/source/_posts/arkit.md | 112 +
doc/source/_posts/cn/hello.md | 6 -
doc/source/_posts/hello_world.md | 7 -
doc/source/_posts/test.md | 14 -
doc/source/cn/blog/index.md | 4 -
.../cn/references/advanced/extend-to-ios.md | 4 +-
.../advanced/integrate-devtool-to-android.md | 86 +-
doc/source/cn/references/common-style.md | 2 +
doc/source/cn/references/components/text.md | 4 +-
doc/source/cn/references/modules/animation.md | 2 +-
doc/source/references/advanced/extend-to-ios.md | 5 +-
doc/source/references/common-style.md | 2 +
doc/source/references/components/text.md | 4 +-
doc/source/references/modules/animation.md | 2 +-
doc/themes/weex/layout/_partial/header.ejs | 1 +
.../weex/layout/_partial/post/summary.ejs | 1 +
doc/themes/weex/source/css/blog.scss | 3 +
doc/themes/weex/source/css/media-queries.scss | 1 +
doc/themes/weex/source/css/partial/header.scss | 6 +-
examples/vue/modules/websocket.vue | 22 +-
html5/render/vue/README.md | 15 +
html5/render/vue/components/image.js | 58 +-
html5/render/vue/config.js | 10 +-
html5/render/vue/core/node.js | 27 +-
html5/render/vue/lib/gesture.js | 6 +
html5/render/vue/modules/modal/toast.js | 23 +-
html5/runtime/bridge/normalize.js | 13 +-
html5/test/render/vue/core/node.js | 2 +
ios/.gitignore | 1 +
.../WeexDemo.xcodeproj/project.pbxproj | 30 +-
ios/playground/WeexDemo/AppDelegate.m | 8 +-
ios/playground/WeexDemo/WXDemoViewController.m | 2 -
ios/playground/WeexDemo/WXExtModule.h | 26 +
ios/playground/WeexDemo/WXExtModule.m | 43 +
.../WeexDemo/WXExtendCallNativeTest.h | 25 +
.../WeexDemo/WXExtendCallNativeTest.m | 47 +
ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 40 +
.../WeexSDK/Sources/Bridge/WXBridgeContext.m | 35 +-
ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 23 +-
.../Component/Recycler/WXRecyclerComponent.m | 58 +-
.../Recycler/WXRecyclerDragController.h | 52 +
.../Recycler/WXRecyclerDragController.m | 208 +
.../Sources/Component/WXImageComponent.m | 150 +-
.../WeexSDK/Sources/Component/WXListComponent.m | 4 +-
.../Sources/Component/WXScrollerComponent.m | 3 +-
.../WeexSDK/Sources/Component/WXTextComponent.m | 5 +-
ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h | 4 +
ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m | 10 +
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h | 10 +
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 6 +
.../WeexSDK/Sources/Loader/WXResourceLoader.m | 2 +-
.../WeexSDK/Sources/Loader/WXWebSocketLoader.h | 2 +-
.../WeexSDK/Sources/Loader/WXWebSocketLoader.m | 2 +-
.../WeexSDK/Sources/Manager/WXBridgeManager.m | 4 +
.../Sources/Manager/WXComponentFactory.h | 1 +
.../Sources/Manager/WXComponentFactory.m | 23 +
.../Sources/Manager/WXComponentManager.m | 18 +-
.../Sources/Manager/WXExtendCallNativeManager.h | 26 +
.../Sources/Manager/WXExtendCallNativeManager.m | 80 +
.../WeexSDK/Sources/Manager/WXModuleFactory.h | 6 +
.../WeexSDK/Sources/Manager/WXModuleFactory.m | 24 +
.../WeexSDK/Sources/Manager/WXTracingManager.h | 33 +-
.../WeexSDK/Sources/Manager/WXTracingManager.m | 169 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 1 -
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 6 +-
ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m | 13 +
.../WeexSDK/Sources/Module/WXWebSocketModule.m | 16 +-
ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m | 9 +
.../Sources/Protocol/WXAppMonitorProtocol.h | 2 +
.../Protocol/WXExtendCallNativeProtocol.h | 47 +
.../Sources/Protocol/WXTracingProtocol.h | 29 +
ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 12 +
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 22 +
.../Sources/View/WXComponent+ViewManagement.m | 1 -
.../Sources/WebSocket/WXWebSocketDefaultImpl.m | 2 +-
ios/sdk/WeexSDK/Sources/WeexSDK.h | 3 +
package.json | 10 +-
packages/weex-js-framework/index.js | 15740 +++++++++--------
packages/weex-js-framework/index.min.js | 4 +
packages/weex-js-framework/package.json | 2 +-
packages/weex-js-runtime/index.js | 1283 +-
packages/weex-js-runtime/index.min.js | 4 +
packages/weex-js-runtime/index.min.js.gz | Bin 0 -> 13215 bytes
packages/weex-js-runtime/package.json | 4 +
packages/weex-vue-render/README.md | 15 +
packages/weex-vue-render/package.json | 2 +-
pre-build/native-bundle-main.js | 16 +-
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/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/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 +-
142 files changed, 12808 insertions(+), 8443 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8d6c0d28/html5/runtime/bridge/normalize.js
----------------------------------------------------------------------
diff --cc html5/runtime/bridge/normalize.js
index 6913c63,0000000..5cdc08a
mode 100644,000000..100644
--- a/html5/runtime/bridge/normalize.js
+++ b/html5/runtime/bridge/normalize.js
@@@ -1,81 -1,0 +1,72 @@@
+import { typof, bufferToBase64, base64ToBuffer } from '../utils'
+
+/**
+ * Normalize a primitive value.
+ * @param {any} v
+ * @return {primitive}
+ */
+export function normalizePrimitive (v) {
+ const type = typof(v)
+
+ switch (type) {
+ case 'Undefined':
+ case 'Null':
+ return ''
+
+ case 'RegExp':
+ return v.toString()
+ case 'Date':
+ return v.toISOString()
+
+ case 'Number':
+ case 'String':
+ case 'Boolean':
- return v
-
+ case 'Array':
- return v.map(normalizePrimitive)
-
- case 'Object': {
- const obj = {}
- for (const k in v) {
- obj[k] = normalizePrimitive(v[k])
- }
- return obj
- }
++ case 'Object':
++ return v
+
+ case 'ArrayBuffer':
+ return {
+ '@type': 'binary',
+ dataType: type,
+ base64: bufferToBase64(v)
+ }
+
+ case 'Int8Array':
+ case 'Uint8Array':
+ case 'Uint8ClampedArray':
+ case 'Int16Array':
+ case 'Uint16Array':
+ case 'Int32Array':
+ case 'Uint32Array':
+ case 'Float32Array':
+ case 'Float64Array':
+ return {
+ '@type': 'binary',
+ dataType: type,
+ base64: bufferToBase64(v.buffer)
+ }
+
+ default:
+ return JSON.stringify(v)
+ }
+}
+
+export function decodePrimitive (data) {
+ if (typof(data) === 'Object') {
+ // decode base64 into binary
+ if (data['@type'] && data['@type'] === 'binary') {
+ return base64ToBuffer(data.base64 || '')
+ }
+
+ const realData = {}
+ for (const key in data) {
+ realData[key] = decodePrimitive(data[key])
+ }
+ return realData
+ }
+ if (typof(data) === 'Array') {
+ return data.map(decodePrimitive)
+ }
+ return data
+}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8d6c0d28/package.json
----------------------------------------------------------------------