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
----------------------------------------------------------------------