You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/04/13 05:16:52 UTC

[22/50] incubator-weex git commit: Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

Merge branch '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.12-dev

* '0.12-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex: (46 commits)
  * [test] fix js lint
  * [android] Change compiling error due to enableLayerType
  * [android] Fix layerType name in WXComponent
  * [ios] remove the overflow:hidden limit for border-x-x-radius on image component
  * [test] use '@ignore-' in test case description to ignore in run script
  * [all] add DISCLAIMER
  * [all] update LICENSE
  * [jsfm] fix lint err in license header
  * [ios] fix issue that image's frame can not be changed
  * [android] fix wximage#setSrc when view not created or after destory.
  * [android] fix npe when remove event
  * [android] update isHardwareSupport resuse isCPUSupport
  * [all] update NOTICE
  * [test] fix android code license
  * [test] update license header chck by danger
  * [test] change src-header to asf required
  * [ios] move UIGraphicsEndImageContext() to override endDrawContext:
  * [android] update NavigatorModule add judge callback
  * [android] update embed support activity lifecycle
  * [ios] use xcode 8.3
  ...

# Conflicts:
#	test/scripts/components/recycler.test.js


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/cc45cdc8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/cc45cdc8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/cc45cdc8

Branch: refs/heads/dev
Commit: cc45cdc8823431fd548c9c64a8637a4408522c40
Parents: 8dcc235 579a2b3
Author: zshshr <zh...@gmail.com>
Authored: Wed Apr 12 14:11:42 2017 +0800
Committer: zshshr <zh...@gmail.com>
Committed: Wed Apr 12 14:11:42 2017 +0800

----------------------------------------------------------------------
 .rat-excludes                                   |  11 +
 .travis.yml                                     |   2 +-
 DISCLAIMER                                      |   1 +
 LICENSE                                         |   2 +-
 NOTICE                                          |   7 +-
 .../alibaba/weex/commons/ApplicationTest.java   | 222 +-----
 .../weex/commons/AbstractWeexActivity.java      | 222 +-----
 .../weex/commons/SimpleWeexActivity.java        | 220 +-----
 .../weex/commons/WXAnalyzerDelegate.java        | 220 +-----
 .../alibaba/weex/commons/adapter/BlurTool.java  | 220 +-----
 .../commons/adapter/BlurTransformation.java     | 222 +-----
 .../adapter/DefaultWebSocketAdapter.java        | 220 +-----
 .../adapter/DefaultWebSocketAdapterFactory.java | 220 +-----
 .../commons/adapter/FrescoImageAdapter.java     | 220 +-----
 .../commons/adapter/FrescoImageComponent.java   | 220 +-----
 .../weex/commons/adapter/FrescoImageView.java   | 220 +-----
 .../weex/commons/adapter/ImageAdapter.java      | 220 +-----
 .../commons/adapter/JSExceptionAdapter.java     | 220 +-----
 .../alibaba/weex/commons/util/AssertUtil.java   | 220 +-----
 .../alibaba/weex/commons/util/ScreenUtil.java   | 220 +-----
 .../java/com/alibaba/weex/ApplicationTest.java  |  20 +-
 .../com/alibaba/weex/WeappJsBaseTestCase.java   |  18 +
 .../benchmark/BenchmarkActivityTestRule.java    | 218 +-----
 .../alibaba/weex/benchmark/BenchmarkTest.java   | 218 +-----
 .../com/alibaba/weex/benchmark/BoxPlot.java     | 218 +-----
 .../java/com/alibaba/weex/benchmark/Repeat.java | 218 +-----
 .../com/alibaba/weex/benchmark/RepeatRule.java  | 218 +-----
 .../weex/benchmark/WeexNativeCompareTest.java   | 218 +-----
 .../java/com/alibaba/weex/util/Falcon.java      |  18 +
 .../java/com/alibaba/weex/util/ScreenShot.java  |  18 +
 .../com/alibaba/weex/util/SdCardHelper.java     |  18 +
 .../java/com/alibaba/weex/util/TestFlow.java    |  18 +
 .../java/com/alibaba/weex/util/ViewUtil.java    |  18 +
 .../com/alibaba/weex/BenchmarkActivity.java     | 218 +-----
 .../java/com/alibaba/weex/IndexActivity.java    | 220 +-----
 .../java/com/alibaba/weex/SplashActivity.java   | 220 +-----
 .../src/main/java/com/alibaba/weex/Utility.java | 220 +-----
 .../java/com/alibaba/weex/WXApplication.java    | 220 +-----
 .../java/com/alibaba/weex/WXBaseActivity.java   | 220 +-----
 .../java/com/alibaba/weex/WXDebugActivity.java  | 220 +-----
 .../java/com/alibaba/weex/WXPageActivity.java   | 220 +-----
 .../com/alibaba/weex/constants/Constants.java   | 220 +-----
 .../alibaba/weex/extend/PlayDebugAdapter.java   | 220 +-----
 .../extend/WXInstanceStatisticsListener.java    | 220 +-----
 .../extend/adapter/InterceptWXHttpAdapter.java  | 220 +-----
 .../alibaba/weex/extend/component/RichText.java | 220 +-----
 .../extend/component/WXComponentSyncTest.java   | 220 +-----
 .../alibaba/weex/extend/component/WXMask.java   | 126 +---
 .../extend/component/dom/WXMaskDomObject.java   | 220 +-----
 .../weex/extend/module/GeolocationModule.java   | 220 +-----
 .../alibaba/weex/extend/module/MyModule.java    | 220 +-----
 .../weex/extend/module/RenderModule.java        | 220 +-----
 .../weex/extend/module/SyncTestModule.java      | 220 +-----
 .../weex/extend/module/WXEventModule.java       | 220 +-----
 .../extend/module/location/DefaultLocation.java | 222 +-----
 .../weex/extend/module/location/ILocatable.java | 220 +-----
 .../extend/module/location/LocationFactory.java | 220 +-----
 .../alibaba/weex/extend/view/WXMaskView.java    | 220 +-----
 .../alibaba/weex/https/HotRefreshManager.java   | 220 +-----
 .../com/alibaba/weex/https/WXHttpManager.java   | 220 +-----
 .../com/alibaba/weex/https/WXHttpResponse.java  | 220 +-----
 .../java/com/alibaba/weex/https/WXHttpTask.java | 220 +-----
 .../alibaba/weex/https/WXOkHttpDispatcher.java  | 220 +-----
 .../alibaba/weex/https/WXRequestListener.java   | 220 +-----
 android/sdk/license/LICENSE                     | 218 +-----
 .../taobao/weex/IWXActivityStateListener.java   | 220 +-----
 .../java/com/taobao/weex/IWXRenderListener.java | 220 +-----
 .../com/taobao/weex/IWXStatisticsListener.java  | 220 +-----
 .../main/java/com/taobao/weex/InitConfig.java   | 220 +-----
 .../java/com/taobao/weex/RenderContainer.java   | 220 +-----
 .../java/com/taobao/weex/WXEnvironment.java     | 238 +------
 .../com/taobao/weex/WXGlobalEventModule.java    | 126 +---
 .../com/taobao/weex/WXGlobalEventReceiver.java  | 220 +-----
 .../java/com/taobao/weex/WXRenderErrorCode.java | 220 +-----
 .../main/java/com/taobao/weex/WXSDKEngine.java  | 126 +---
 .../java/com/taobao/weex/WXSDKInstance.java     | 249 ++-----
 .../main/java/com/taobao/weex/WXSDKManager.java | 143 +---
 .../taobao/weex/adapter/DefaultUriAdapter.java  | 220 +-----
 .../weex/adapter/DefaultWXHttpAdapter.java      | 220 +-----
 .../taobao/weex/adapter/DrawableStrategy.java   | 218 +-----
 .../taobao/weex/adapter/IDrawableLoader.java    | 218 +-----
 .../taobao/weex/adapter/IWXDebugAdapter.java    | 220 +-----
 .../com/taobao/weex/adapter/IWXHttpAdapter.java | 220 +-----
 .../weex/adapter/IWXImgLoaderAdapter.java       | 220 +-----
 .../weex/adapter/IWXJSExceptionAdapter.java     | 220 +-----
 .../taobao/weex/adapter/IWXSoLoaderAdapter.java | 220 +-----
 .../weex/adapter/IWXUserTrackAdapter.java       | 220 +-----
 .../com/taobao/weex/adapter/URIAdapter.java     | 220 +-----
 .../com/taobao/weex/annotation/Component.java   | 220 +-----
 .../com/taobao/weex/annotation/JSMethod.java    | 220 +-----
 .../weex/appfram/clipboard/IWXClipboard.java    | 220 +-----
 .../appfram/clipboard/WXClipboardModule.java    | 220 +-----
 .../navigator/IActivityNavBarSetter.java        | 220 +-----
 .../appfram/navigator/WXNavigatorModule.java    | 130 +---
 .../weex/appfram/pickers/DatePickerImpl.java    | 220 +-----
 .../weex/appfram/pickers/WXPickersModule.java   | 220 +-----
 .../weex/appfram/storage/DefaultWXStorage.java  | 220 +-----
 .../taobao/weex/appfram/storage/IWXStorage.java | 220 +-----
 .../weex/appfram/storage/IWXStorageAdapter.java | 220 +-----
 .../appfram/storage/StorageResultHandler.java   | 220 +-----
 .../appfram/storage/WXSQLiteOpenHelper.java     | 220 +-----
 .../weex/appfram/storage/WXStorageModule.java   | 220 +-----
 .../appfram/websocket/IWebSocketAdapter.java    | 220 +-----
 .../websocket/IWebSocketAdapterFactory.java     | 220 +-----
 .../appfram/websocket/WebSocketCloseCodes.java  | 220 +-----
 .../weex/appfram/websocket/WebSocketModule.java | 220 +-----
 .../java/com/taobao/weex/bridge/Invoker.java    | 220 +-----
 .../java/com/taobao/weex/bridge/JSCallback.java | 220 +-----
 .../taobao/weex/bridge/JavascriptInvokable.java | 220 +-----
 .../com/taobao/weex/bridge/MethodInvoker.java   | 220 +-----
 .../com/taobao/weex/bridge/ModuleFactory.java   | 220 +-----
 .../taobao/weex/bridge/NativeInvokeHelper.java  | 220 +-----
 .../taobao/weex/bridge/SimpleJSCallback.java    | 220 +-----
 .../java/com/taobao/weex/bridge/WXBridge.java   | 220 +-----
 .../com/taobao/weex/bridge/WXBridgeManager.java | 220 +-----
 .../java/com/taobao/weex/bridge/WXHashMap.java  | 220 +-----
 .../java/com/taobao/weex/bridge/WXJSObject.java | 220 +-----
 .../com/taobao/weex/bridge/WXModuleManager.java | 220 +-----
 .../java/com/taobao/weex/bridge/WXParams.java   | 143 +---
 .../taobao/weex/bridge/WXServiceManager.java    | 220 +-----
 .../java/com/taobao/weex/bridge/WXTask.java     | 220 +-----
 .../taobao/weex/bridge/WXValidateProcessor.java | 220 +-----
 .../java/com/taobao/weex/common/Constants.java  | 220 +-----
 .../com/taobao/weex/common/Destroyable.java     | 220 +-----
 .../java/com/taobao/weex/common/IWXBridge.java  | 220 +-----
 .../com/taobao/weex/common/IWXDebugProxy.java   | 220 +-----
 .../java/com/taobao/weex/common/IWXObject.java  | 220 +-----
 .../java/com/taobao/weex/common/IWXTask.java    | 220 +-----
 .../taobao/weex/common/OnWXScrollListener.java  | 143 +---
 .../taobao/weex/common/TypeModuleFactory.java   | 220 +-----
 .../com/taobao/weex/common/WXCompatModule.java  | 220 +-----
 .../java/com/taobao/weex/common/WXConfig.java   | 220 +-----
 .../com/taobao/weex/common/WXErrorCode.java     | 220 +-----
 .../com/taobao/weex/common/WXException.java     | 220 +-----
 .../com/taobao/weex/common/WXImageSharpen.java  | 220 +-----
 .../com/taobao/weex/common/WXImageStrategy.java | 222 +-----
 .../com/taobao/weex/common/WXInstanceWrap.java  | 220 +-----
 .../taobao/weex/common/WXJSBridgeMsgType.java   | 220 +-----
 .../taobao/weex/common/WXJSEngineListener.java  | 220 +-----
 .../taobao/weex/common/WXJSExceptionInfo.java   | 220 +-----
 .../com/taobao/weex/common/WXJSService.java     | 220 +-----
 .../java/com/taobao/weex/common/WXModule.java   | 220 +-----
 .../com/taobao/weex/common/WXModuleAnno.java    | 222 +-----
 .../com/taobao/weex/common/WXPerformance.java   | 222 +-----
 .../com/taobao/weex/common/WXRefreshData.java   | 220 +-----
 .../taobao/weex/common/WXRenderStrategy.java    | 223 +-----
 .../java/com/taobao/weex/common/WXRequest.java  | 220 +-----
 .../taobao/weex/common/WXRequestListener.java   | 220 +-----
 .../java/com/taobao/weex/common/WXResponse.java | 220 +-----
 .../taobao/weex/common/WXRuntimeException.java  | 220 +-----
 .../java/com/taobao/weex/common/WXThread.java   | 220 +-----
 .../com/taobao/weex/dom/ApplyStyleConsumer.java | 220 +-----
 .../taobao/weex/dom/BasicEditTextDomObject.java | 220 +-----
 .../com/taobao/weex/dom/CSSAlignConvert.java    | 220 +-----
 .../weex/dom/CSSFlexDirectionConvert.java       | 220 +-----
 .../com/taobao/weex/dom/CSSJustifyConvert.java  | 220 +-----
 .../taobao/weex/dom/CSSPositionTypeConvert.java | 220 +-----
 .../com/taobao/weex/dom/CSSWrapConvert.java     | 220 +-----
 .../java/com/taobao/weex/dom/DOMAction.java     | 220 +-----
 .../com/taobao/weex/dom/DOMActionContext.java   | 220 +-----
 .../taobao/weex/dom/DOMActionContextImpl.java   | 220 +-----
 .../java/com/taobao/weex/dom/DomContext.java    | 220 +-----
 .../com/taobao/weex/dom/ImmutableDomObject.java | 220 +-----
 .../java/com/taobao/weex/dom/RenderAction.java  | 220 +-----
 .../taobao/weex/dom/RenderActionContext.java    | 220 +-----
 .../com/taobao/weex/dom/RenderActionTask.java   | 220 +-----
 .../weex/dom/SafePutConcurrentHashMap.java      | 220 +-----
 .../weex/dom/TextAreaEditTextDomObject.java     | 220 +-----
 .../main/java/com/taobao/weex/dom/WXAttr.java   | 220 +-----
 .../com/taobao/weex/dom/WXCellDomObject.java    | 218 +-----
 .../com/taobao/weex/dom/WXCustomStyleSpan.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomHandler.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomManager.java  | 220 +-----
 .../java/com/taobao/weex/dom/WXDomModule.java   | 220 +-----
 .../java/com/taobao/weex/dom/WXDomObject.java   | 220 +-----
 .../com/taobao/weex/dom/WXDomObjectFactory.java | 220 +-----
 .../java/com/taobao/weex/dom/WXDomRegistry.java | 220 +-----
 .../java/com/taobao/weex/dom/WXDomTask.java     | 220 +-----
 .../main/java/com/taobao/weex/dom/WXEvent.java  | 220 +-----
 .../com/taobao/weex/dom/WXImageQuality.java     | 222 +-----
 .../com/taobao/weex/dom/WXLineHeightSpan.java   | 220 +-----
 .../com/taobao/weex/dom/WXListDomObject.java    | 220 +-----
 .../taobao/weex/dom/WXRecyclerDomObject.java    | 220 +-----
 .../taobao/weex/dom/WXScrollerDomObject.java    | 220 +-----
 .../main/java/com/taobao/weex/dom/WXStyle.java  | 220 +-----
 .../com/taobao/weex/dom/WXSwitchDomObject.java  | 220 +-----
 .../com/taobao/weex/dom/WXTextDomObject.java    | 220 +-----
 .../dom/action/AbstractAddElementAction.java    | 220 +-----
 .../dom/action/AbstractLayoutFinishAction.java  | 220 +-----
 .../java/com/taobao/weex/dom/action/Action.java | 220 +-----
 .../com/taobao/weex/dom/action/Actions.java     | 220 +-----
 .../weex/dom/action/AddElementAction.java       | 220 +-----
 .../taobao/weex/dom/action/AddEventAction.java  | 220 +-----
 .../taobao/weex/dom/action/AddRuleAction.java   | 220 +-----
 .../taobao/weex/dom/action/AnimationAction.java | 221 +-----
 .../weex/dom/action/CreateBodyAction.java       | 220 +-----
 .../weex/dom/action/CreateFinishAction.java     | 220 +-----
 .../weex/dom/action/GetComponentRectAction.java | 220 +-----
 .../weex/dom/action/InvokeMethodAction.java     | 220 +-----
 .../weex/dom/action/MoveElementAction.java      | 220 +-----
 .../weex/dom/action/RefreshFinishAction.java    | 220 +-----
 .../weex/dom/action/RemoveElementAction.java    | 220 +-----
 .../weex/dom/action/RemoveEventAction.java      | 220 +-----
 .../weex/dom/action/ScrollToElementAction.java  | 220 +-----
 .../weex/dom/action/UpdateAttributeAction.java  | 220 +-----
 .../weex/dom/action/UpdateFinishAction.java     | 220 +-----
 .../weex/dom/action/UpdateStyleAction.java      | 220 +-----
 .../main/java/com/taobao/weex/http/Options.java | 220 +-----
 .../main/java/com/taobao/weex/http/Status.java  | 220 +-----
 .../java/com/taobao/weex/http/WXHttpUtil.java   | 220 +-----
 .../com/taobao/weex/http/WXStreamModule.java    | 220 +-----
 .../com/taobao/weex/ui/ComponentCreator.java    | 220 +-----
 .../weex/ui/ExternalLoaderComponentHolder.java  | 220 +-----
 .../weex/ui/IExternalComponentGetter.java       | 220 +-----
 .../taobao/weex/ui/IExternalMoudleGetter.java   | 220 +-----
 .../com/taobao/weex/ui/IFComponentHolder.java   | 220 +-----
 .../java/com/taobao/weex/ui/IWXRenderTask.java  | 220 +-----
 .../taobao/weex/ui/RenderActionContextImpl.java | 220 +-----
 .../taobao/weex/ui/SimpleComponentHolder.java   | 220 +-----
 .../com/taobao/weex/ui/WXComponentRegistry.java | 220 +-----
 .../com/taobao/weex/ui/WXRenderHandler.java     | 220 +-----
 .../com/taobao/weex/ui/WXRenderManager.java     | 220 +-----
 .../ui/animation/BackgroundColorProperty.java   | 218 +-----
 .../ui/animation/DimensionUpdateListener.java   | 218 +-----
 .../weex/ui/animation/WXAnimationBean.java      | 220 +-----
 .../weex/ui/animation/WXAnimationModule.java    | 220 +-----
 .../ui/component/AbstractEditComponent.java     | 222 +-----
 .../weex/ui/component/AppearanceHelper.java     | 220 +-----
 .../weex/ui/component/NestedContainer.java      | 220 +-----
 .../taobao/weex/ui/component/Scrollable.java    | 220 +-----
 .../com/taobao/weex/ui/component/Textarea.java  | 220 +-----
 .../java/com/taobao/weex/ui/component/WXA.java  | 220 +-----
 .../taobao/weex/ui/component/WXBaseRefresh.java | 220 +-----
 .../weex/ui/component/WXBasicComponentType.java | 220 +-----
 .../taobao/weex/ui/component/WXComponent.java   | 160 +----
 .../weex/ui/component/WXComponentFactory.java   | 220 +-----
 .../weex/ui/component/WXComponentProp.java      | 220 +-----
 .../com/taobao/weex/ui/component/WXDiv.java     | 220 +-----
 .../com/taobao/weex/ui/component/WXEmbed.java   | 262 ++-----
 .../com/taobao/weex/ui/component/WXHeader.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXImage.java   | 225 +------
 .../taobao/weex/ui/component/WXIndicator.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXInput.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXLoading.java | 220 +-----
 .../weex/ui/component/WXLoadingIndicator.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXRefresh.java | 220 +-----
 .../taobao/weex/ui/component/WXScroller.java    | 220 +-----
 .../com/taobao/weex/ui/component/WXSlider.java  | 220 +-----
 .../weex/ui/component/WXSliderNeighbor.java     | 220 +-----
 .../com/taobao/weex/ui/component/WXSwitch.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXText.java    | 220 +-----
 .../weex/ui/component/WXTextDecoration.java     | 220 +-----
 .../taobao/weex/ui/component/WXVContainer.java  | 220 +-----
 .../com/taobao/weex/ui/component/WXVideo.java   | 220 +-----
 .../com/taobao/weex/ui/component/WXWeb.java     | 220 +-----
 .../component/helper/SoftKeyboardDetector.java  | 218 +-----
 .../ui/component/helper/WXStickyHelper.java     | 220 +-----
 .../ui/component/helper/WXTimeInputHelper.java  | 222 +-----
 .../ui/component/list/BasicListComponent.java   | 220 +-----
 .../component/list/HorizontalListComponent.java | 220 +-----
 .../ui/component/list/ListComponentView.java    | 220 +-----
 .../ui/component/list/SimpleListComponent.java  | 220 +-----
 .../ui/component/list/SimpleRecyclerView.java   | 220 +-----
 .../ui/component/list/StickyHeaderHelper.java   | 220 +-----
 .../taobao/weex/ui/component/list/WXCell.java   | 220 +-----
 .../weex/ui/component/list/WXListComponent.java | 220 +-----
 .../component/pesudo/OnActivePseudoListner.java | 220 +-----
 .../weex/ui/component/pesudo/PesudoStatus.java  | 220 +-----
 .../pesudo/TouchActivePseudoListener.java       | 220 +-----
 .../com/taobao/weex/ui/module/WXMetaModule.java | 220 +-----
 .../taobao/weex/ui/module/WXModalUIModule.java  | 222 +-----
 .../taobao/weex/ui/module/WXTimerModule.java    | 222 +-----
 .../taobao/weex/ui/module/WXWebViewModule.java  | 220 +-----
 .../com/taobao/weex/ui/view/IRenderStatus.java  | 218 +-----
 .../com/taobao/weex/ui/view/IWXScroller.java    | 220 +-----
 .../com/taobao/weex/ui/view/IWXTextView.java    | 220 +-----
 .../java/com/taobao/weex/ui/view/IWebView.java  | 220 +-----
 .../weex/ui/view/WXBaseCircleIndicator.java     | 222 +-----
 .../weex/ui/view/WXBaseRefreshLayout.java       | 220 +-----
 .../taobao/weex/ui/view/WXCircleIndicator.java  | 220 +-----
 .../weex/ui/view/WXCirclePageAdapter.java       | 220 +-----
 .../taobao/weex/ui/view/WXCircleViewPager.java  | 220 +-----
 .../com/taobao/weex/ui/view/WXEditText.java     | 220 +-----
 .../com/taobao/weex/ui/view/WXFrameLayout.java  | 220 +-----
 .../weex/ui/view/WXHorizontalScrollView.java    | 220 +-----
 .../com/taobao/weex/ui/view/WXImageView.java    | 220 +-----
 .../taobao/weex/ui/view/WXLoadingLayout.java    | 220 +-----
 .../taobao/weex/ui/view/WXRefreshLayout.java    | 220 +-----
 .../com/taobao/weex/ui/view/WXScrollView.java   | 220 +-----
 .../taobao/weex/ui/view/WXSmoothScroller.java   | 220 +-----
 .../com/taobao/weex/ui/view/WXSwitchView.java   | 220 +-----
 .../com/taobao/weex/ui/view/WXTextView.java     | 220 +-----
 .../com/taobao/weex/ui/view/WXVideoView.java    | 220 +-----
 .../java/com/taobao/weex/ui/view/WXWebView.java | 220 +-----
 .../weex/ui/view/border/BorderCorner.java       | 220 +-----
 .../weex/ui/view/border/BorderDrawable.java     | 222 +-----
 .../taobao/weex/ui/view/border/BorderEdge.java  | 220 +-----
 .../weex/ui/view/border/BorderRadiusType.java   | 218 +-----
 .../taobao/weex/ui/view/border/BorderStyle.java | 220 +-----
 .../taobao/weex/ui/view/border/BorderUtil.java  | 220 +-----
 .../view/border/BorderWidthStyleColorType.java  | 218 +-----
 .../weex/ui/view/border/BottomLeftCorner.java   | 220 +-----
 .../weex/ui/view/border/BottomRightCorner.java  | 220 +-----
 .../weex/ui/view/border/TopLeftCorner.java      | 220 +-----
 .../weex/ui/view/border/TopRightCorner.java     | 220 +-----
 .../taobao/weex/ui/view/gesture/WXGesture.java  | 222 +-----
 .../ui/view/gesture/WXGestureObservable.java    | 220 +-----
 .../weex/ui/view/gesture/WXGestureType.java     | 220 +-----
 .../listview/ExtendedLinearLayoutManager.java   | 220 +-----
 .../weex/ui/view/listview/WXRecyclerView.java   | 220 +-----
 .../listview/adapter/IOnLoadMoreListener.java   | 220 +-----
 .../adapter/IRecyclerAdapterListener.java       | 220 +-----
 .../listview/adapter/ListBaseViewHolder.java    | 220 +-----
 .../adapter/RecyclerViewBaseAdapter.java        | 222 +-----
 .../adapter/TransformItemDecoration.java        | 220 +-----
 .../adapter/WXRecyclerViewOnScrollListener.java | 220 +-----
 .../refresh/circlebar/CircleProgressBar.java    | 222 +-----
 .../circlebar/MaterialProgressDrawable.java     | 222 +-----
 .../ui/view/refresh/core/WXRefreshView.java     | 220 +-----
 .../ui/view/refresh/core/WXSwipeLayout.java     | 220 +-----
 .../ui/view/refresh/wrapper/BaseBounceView.java | 220 +-----
 .../refresh/wrapper/BounceRecyclerView.java     | 220 +-----
 .../refresh/wrapper/BounceScrollerView.java     | 220 +-----
 .../java/com/taobao/weex/utils/ATagUtil.java    | 218 +-----
 .../main/java/com/taobao/weex/utils/FontDO.java | 222 +-----
 .../com/taobao/weex/utils/FunctionParser.java   | 220 +-----
 .../com/taobao/weex/utils/ImageDrawable.java    | 218 +-----
 .../java/com/taobao/weex/utils/ImgURIUtil.java  | 218 +-----
 .../java/com/taobao/weex/utils/LogLevel.java    | 220 +-----
 .../java/com/taobao/weex/utils/OsVersion.java   | 220 +-----
 .../taobao/weex/utils/SingleFunctionParser.java | 218 +-----
 .../main/java/com/taobao/weex/utils/Trace.java  | 220 +-----
 .../com/taobao/weex/utils/TypefaceUtil.java     | 220 +-----
 .../taobao/weex/utils/WXDataStructureUtil.java  | 220 +-----
 .../java/com/taobao/weex/utils/WXDomUtils.java  | 218 +-----
 .../java/com/taobao/weex/utils/WXFileUtils.java | 220 +-----
 .../com/taobao/weex/utils/WXInterception.java   | 220 +-----
 .../java/com/taobao/weex/utils/WXJsonUtils.java | 220 +-----
 .../java/com/taobao/weex/utils/WXLogUtils.java  | 126 +---
 .../taobao/weex/utils/WXReflectionUtils.java    | 220 +-----
 .../com/taobao/weex/utils/WXResourceUtils.java  | 325 ++-------
 .../taobao/weex/utils/WXSoInstallMgrSdk.java    | 220 +-----
 .../java/com/taobao/weex/utils/WXUtils.java     | 220 +-----
 .../java/com/taobao/weex/utils/WXViewUtils.java | 220 +-----
 .../taobao/weex/utils/batch/BactchExecutor.java | 220 +-----
 .../weex/utils/batch/BatchOperationHelper.java  | 220 +-----
 .../taobao/weex/utils/batch/Interceptor.java    | 220 +-----
 .../test/java/com/taobao/weex/TestActivity.java | 220 +-----
 .../java/com/taobao/weex/TestApplication.java   | 220 +-----
 .../java/com/taobao/weex/WXSDKEngineTest.java   | 222 +-----
 .../java/com/taobao/weex/WXSDKInstanceTest.java | 222 +-----
 .../java/com/taobao/weex/WXSDKManagerTest.java  | 222 +-----
 .../weex/adapter/DefaultUriAdapterTest.java     | 222 +-----
 .../clipboard/WXClipboardModuleTest.java        | 222 +-----
 .../navigator/WXNavigatorModuleTest.java        | 222 +-----
 .../appfram/storage/DefaultWXStorageTest.java   | 222 +-----
 .../appfram/storage/WXStorageModuleTest.java    | 222 +-----
 .../taobao/weex/bridge/WXBridgeManagerTest.java | 222 +-----
 .../com/taobao/weex/bridge/WXBridgeTest.java    | 222 +-----
 .../com/taobao/weex/bridge/WXHashMapTest.java   | 220 +-----
 .../taobao/weex/bridge/WXModuleManagerTest.java | 222 +-----
 .../java/com/taobao/weex/common/TestModule.java | 220 +-----
 .../taobao/weex/common/TestModuleFactory.java   | 220 +-----
 .../com/taobao/weex/common/WXModuleTest.java    | 222 +-----
 .../java/com/taobao/weex/dom/TestDomObject.java | 220 +-----
 .../java/com/taobao/weex/dom/WXAttrTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomManagerTest.java   | 222 +-----
 .../com/taobao/weex/dom/WXDomModuleTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomObjectTest.java    | 222 +-----
 .../com/taobao/weex/dom/WXDomStatementTest.java | 222 +-----
 .../java/com/taobao/weex/dom/WXStyleTest.java   | 220 +-----
 .../taobao/weex/dom/WXTextDomObjectTest.java    | 222 +-----
 .../com/taobao/weex/dom/action/TestActions.java |  18 +
 .../taobao/weex/http/WXStreamModuleTest.java    | 220 +-----
 .../com/taobao/weex/ui/ComponentHolderTest.java | 222 +-----
 .../taobao/weex/ui/WXRenderStatementTest.java   | 222 +-----
 .../ui/animation/WXAnimationModuleTest.java     | 222 +-----
 .../taobao/weex/ui/component/ComponentTest.java | 220 +-----
 .../weex/ui/component/EditComponentTest.java    | 222 +-----
 .../taobao/weex/ui/component/TestComponent.java | 220 +-----
 .../taobao/weex/ui/component/TestConstants.java | 220 +-----
 .../taobao/weex/ui/component/TextareaTest.java  | 222 +-----
 .../weex/ui/component/WXComponentTest.java      | 222 +-----
 .../com/taobao/weex/ui/component/WXDivTest.java | 222 +-----
 .../taobao/weex/ui/component/WXEmbedTest.java   | 222 +-----
 .../taobao/weex/ui/component/WXHeaderTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXImageTest.java   | 128 +---
 .../taobao/weex/ui/component/WXLoadingTest.java | 222 +-----
 .../taobao/weex/ui/component/WXRefreshTest.java | 222 +-----
 .../weex/ui/component/WXScrollerTest.java       | 222 +-----
 .../weex/ui/component/WXSliderNeighborTest.java | 222 +-----
 .../taobao/weex/ui/component/WXSliderTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXSwitchTest.java  | 222 +-----
 .../taobao/weex/ui/component/WXTextTest.java    | 222 +-----
 .../taobao/weex/ui/component/WXVideoTest.java   | 222 +-----
 .../com/taobao/weex/ui/component/WXWebTest.java | 222 +-----
 .../component/helper/WXTimeInputHelperTest.java | 220 +-----
 .../ui/component/list/WXListComponentTest.java  | 222 +-----
 .../taobao/weex/ui/module/WXMetaModuleTest.java | 222 +-----
 .../weex/ui/module/WXModalUIModuleTest.java     | 222 +-----
 .../weex/ui/module/WXTimerModuleTest.java       | 222 +-----
 .../weex/ui/module/WXWebViewModuleTest.java     | 222 +-----
 .../weex/ui/view/WXCirclePageAdapterTest.java   | 222 +-----
 .../taobao/weex/ui/view/WXScrollViewTest.java   | 222 +-----
 .../com/taobao/weex/ui/view/WXWebViewTest.java  | 222 +-----
 .../weex/ui/view/border/BorderCornerTest.java   | 220 +-----
 .../weex/ui/view/border/BorderDrawableTest.java | 220 +-----
 .../weex/ui/view/gesture/WXGestureTest.java     | 222 +-----
 .../taobao/weex/utils/FunctionParserTest.java   | 222 +-----
 .../com/taobao/weex/utils/TypefaceUtilTest.java | 222 +-----
 .../com/taobao/weex/utils/WXFileUtilsTest.java  | 222 +-----
 .../com/taobao/weex/utils/WXJsonUtilsTest.java  | 222 +-----
 .../com/taobao/weex/utils/WXLogUtilsTest.java   | 222 +-----
 .../weex/utils/WXReflectionUtilsTest.java       | 222 +-----
 .../taobao/weex/utils/WXResourceUtilsTest.java  | 233 +------
 .../java/com/taobao/weex/utils/WXUtilsTest.java | 222 +-----
 .../configuration/MockitoConfiguration.java     | 220 +-----
 .../java/com/taobao/weex/ApplicationTest.java   |  20 +-
 .../main/java/com/taobao/weex/WXDebugTool.java  |  18 +
 .../java/com/taobao/weex/WXPFComponent.java     |  18 +
 .../main/java/com/taobao/weex/WXPrettyFish.java |  18 +
 .../taobao/weex/adapter/DefautDebugAdapter.java |  18 +
 .../taobao/weex/bridge/WXWebsocketBridge.java   | 220 +-----
 .../taobao/weex/scalpel/ScalpelFrameLayout.java |  18 +
 .../weex/websocket/WXWebSocketManager.java      | 126 +---
 .../java/com/taobao/weex/ExampleUnitTest.java   |  20 +-
 dangerfile.js                                   |  21 +-
 doc/source/cn/references/modules/modal.md       |   2 +
 doc/source/references/modules/modal.md          |   2 +
 examples/vue/components/sliderinfinite.vue      |  46 ++
 html5/frameworks/index.js                       |  18 +
 html5/frameworks/legacy/api/methods.js          |  18 +
 html5/frameworks/legacy/api/modules.js          |  18 +
 html5/frameworks/legacy/app/bundle/bootstrap.js |  18 +
 html5/frameworks/legacy/app/bundle/define.js    |  18 +
 html5/frameworks/legacy/app/bundle/index.js     |  18 +
 html5/frameworks/legacy/app/ctrl/index.js       |  18 +
 html5/frameworks/legacy/app/ctrl/init.js        |  18 +
 html5/frameworks/legacy/app/ctrl/misc.js        |  18 +
 html5/frameworks/legacy/app/differ.js           |  18 +
 html5/frameworks/legacy/app/downgrade.js        |  18 +
 html5/frameworks/legacy/app/index.js            |  18 +
 html5/frameworks/legacy/app/instance.js         |  18 +
 html5/frameworks/legacy/app/register.js         |  18 +
 html5/frameworks/legacy/app/viewport.js         |  18 +
 html5/frameworks/legacy/config.js               |  19 +
 html5/frameworks/legacy/core/array.js           |  19 +
 html5/frameworks/legacy/core/dep.js             |  19 +
 html5/frameworks/legacy/core/object.js          |  19 +
 html5/frameworks/legacy/core/observer.js        |  19 +
 html5/frameworks/legacy/core/state.js           |  19 +
 html5/frameworks/legacy/core/watcher.js         |  19 +
 html5/frameworks/legacy/index.js                |  18 +
 html5/frameworks/legacy/static/bridge.js        |  18 +
 html5/frameworks/legacy/static/create.js        |  18 +
 html5/frameworks/legacy/static/life.js          |  18 +
 html5/frameworks/legacy/static/map.js           |  18 +
 html5/frameworks/legacy/static/misc.js          |  18 +
 html5/frameworks/legacy/static/register.js      |  18 +
 html5/frameworks/legacy/util/index.js           |  18 +
 html5/frameworks/legacy/util/shared.js          |  18 +
 html5/frameworks/legacy/vm/compiler.js          |  18 +
 html5/frameworks/legacy/vm/directive.js         |  18 +
 html5/frameworks/legacy/vm/dom-helper.js        |  18 +
 html5/frameworks/legacy/vm/events.js            |  18 +
 html5/frameworks/legacy/vm/index.js             |  18 +
 html5/frameworks/vanilla/index.js               |  18 +
 html5/render/browser/base/atomic.js             |  18 +
 html5/render/browser/base/component/flexbox.js  |  18 +
 html5/render/browser/base/component/index.js    |  18 +
 html5/render/browser/base/component/lazyload.js |  18 +
 html5/render/browser/base/component/operate.js  |  18 +
 html5/render/browser/base/component/position.js |  18 +
 html5/render/browser/base/component/sticky.js   |  18 +
 .../browser/base/component/valueFilter.js       |  18 +
 html5/render/browser/base/div.js                |  18 +
 html5/render/browser/base/droot.js              |  18 +
 html5/render/browser/base/moduleEvent.js        |  18 +
 html5/render/browser/base/root.js               |  18 +
 html5/render/browser/bridge/index.js            |  18 +
 html5/render/browser/bridge/protocol.js         |  18 +
 html5/render/browser/bridge/receiver.js         |  18 +
 html5/render/browser/bridge/sender.js           |  18 +
 html5/render/browser/dom/appearWatcher.js       |  18 +
 html5/render/browser/dom/componentManager.js    |  18 +
 html5/render/browser/dom/index.js               |  18 +
 .../browser/extend/api/animation/index.js       |  18 +
 .../render/browser/extend/api/animation/lib.js  |  18 +
 html5/render/browser/extend/api/clipboard.js    |  18 +
 html5/render/browser/extend/api/dom.js          |  18 +
 html5/render/browser/extend/api/event.js        |  18 +
 html5/render/browser/extend/api/geolocation.js  |  18 +
 html5/render/browser/extend/api/globalEvent.js  |  18 +
 html5/render/browser/extend/api/meta.js         |  18 +
 html5/render/browser/extend/api/modal.js        |  18 +
 html5/render/browser/extend/api/navigator.js    |  18 +
 html5/render/browser/extend/api/pageInfo.js     |  18 +
 html5/render/browser/extend/api/storage.js      |  19 +
 html5/render/browser/extend/api/stream.js       |  18 +
 html5/render/browser/extend/api/timer.js        |  19 +-
 html5/render/browser/extend/api/webSocket.js    |  19 +
 html5/render/browser/extend/api/webview.js      |  18 +
 html5/render/browser/extend/components/a.js     |  18 +
 .../browser/extend/components/countdown.js      |  18 +
 .../browser/extend/components/datepicker.js     |  18 +
 html5/render/browser/extend/components/embed.js |  18 +
 .../browser/extend/components/image/index.js    |  18 +
 .../extend/components/indicator/index.js        |  18 +
 html5/render/browser/extend/components/input.js |  18 +
 .../render/browser/extend/components/marquee.js |  18 +
 .../browser/extend/components/neighbor/index.js |  18 +
 .../browser/extend/components/richtext.js       |  18 +
 .../extend/components/scrollable/index.js       |  18 +
 .../extend/components/scrollable/list/hlist.js  |  18 +
 .../extend/components/scrollable/list/index.js  |  18 +
 .../extend/components/scrollable/list/list.js   |  18 +
 .../extend/components/scrollable/list/vlist.js  |  18 +
 .../components/scrollable/loading/index.js      |  18 +
 .../extend/components/scrollable/motion.js      |  18 +
 .../components/scrollable/refresh/index.js      |  18 +
 .../extend/components/scrollable/scroll.js      |  19 +
 .../extend/components/scrollable/scrollable.js  |  18 +
 .../components/scrollable/scroller/index.js     |  18 +
 .../render/browser/extend/components/select.js  |  18 +
 .../extend/components/slider/carrousel.js       |  19 +
 .../browser/extend/components/slider/index.js   |  18 +
 .../browser/extend/components/slider/timer.js   |  19 +
 .../browser/extend/components/spinner/index.js  |  18 +
 .../browser/extend/components/switch/index.js   |  18 +
 .../extend/components/tabheader/index.js        |  18 +
 html5/render/browser/extend/components/text.js  |  18 +
 .../browser/extend/components/textarea.js       |  18 +
 .../browser/extend/components/timepicker.js     |  18 +
 .../browser/extend/components/video/index.js    |  18 +
 html5/render/browser/extend/components/web.js   |  18 +
 html5/render/browser/extend/index.js            |  18 +
 html5/render/browser/index.js                   |  18 +
 html5/render/browser/render/config.js           |  18 +
 html5/render/browser/render/gesture.js          |  18 +
 html5/render/browser/render/index.js            |  19 +
 html5/render/browser/render/loader.js           |  19 +
 html5/render/browser/render/register.js         |  18 +
 html5/render/browser/utils/array.js             |  18 +
 html5/render/browser/utils/index.js             |  19 +
 html5/render/browser/utils/logger.js            |  20 +-
 html5/render/native/index.js                    |  18 +
 html5/render/vue/components/a.js                |  19 +-
 html5/render/vue/components/div.js              |  19 +-
 html5/render/vue/components/image.js            |  19 +
 html5/render/vue/components/index.js            |  18 +
 html5/render/vue/components/input.js            |  19 +
 .../render/vue/components/scrollable/header.js  |  19 +-
 .../vue/components/scrollable/list/cell.js      |  19 +-
 .../vue/components/scrollable/list/index.js     |  18 +
 .../vue/components/scrollable/list/listMixin.js |  18 +
 .../components/scrollable/loading-indicator.js  |  18 +
 .../render/vue/components/scrollable/loading.js |  18 +
 .../render/vue/components/scrollable/refresh.js |  18 +
 .../vue/components/scrollable/scroller.js       |  18 +
 html5/render/vue/components/slider/index.js     |  25 +-
 html5/render/vue/components/slider/indicator.js |  18 +
 .../render/vue/components/slider/slideMixin.js  |  42 +-
 html5/render/vue/components/switch.js           |  19 +-
 html5/render/vue/components/text.js             |  19 +
 html5/render/vue/components/textarea.js         |  18 +
 html5/render/vue/components/video.js            |  19 +-
 html5/render/vue/components/warning.js          |  18 +
 html5/render/vue/components/web.js              |  18 +
 html5/render/vue/env/index.js                   |  18 +
 html5/render/vue/env/viewport.js                |  20 +
 html5/render/vue/env/weex.js                    |  19 +
 html5/render/vue/env/wx-env.js                  |  18 +
 html5/render/vue/index.js                       |  19 +-
 html5/render/vue/mixins/base.js                 |  18 +
 html5/render/vue/mixins/index.js                |  18 +
 html5/render/vue/mixins/input-common.js         |  19 +
 html5/render/vue/mixins/scrollable.js           |  18 +
 html5/render/vue/mixins/style.js                |  18 +
 html5/render/vue/modules/animation.js           |  18 +
 html5/render/vue/modules/dom.js                 |  22 +
 html5/render/vue/modules/index.js               |  20 +
 html5/render/vue/modules/modal/alert.js         |  18 +
 html5/render/vue/modules/modal/confirm.js       |  18 +
 html5/render/vue/modules/modal/index.js         |  18 +
 html5/render/vue/modules/modal/modal.js         |  18 +
 html5/render/vue/modules/modal/prompt.js        |  18 +
 html5/render/vue/modules/modal/toast.js         |  18 +
 html5/render/vue/modules/navigator.js           |  19 +
 html5/render/vue/modules/webview.js             |  19 +
 html5/render/vue/utils/component.js             |  18 +
 html5/render/vue/utils/event.js                 |  19 +-
 html5/render/vue/utils/func.js                  |  19 +
 html5/render/vue/utils/index.js                 |  18 +
 html5/render/vue/utils/lazyload.js              |  19 +
 html5/render/vue/utils/perf.js                  |  19 +
 html5/render/vue/utils/style.js                 |  19 +
 html5/render/vue/utils/type.js                  |  19 +
 html5/render/vue/validator/check.js             |  18 +
 html5/render/vue/validator/index.js             |  18 +
 html5/render/vue/validator/prop.js              |  18 +
 html5/render/vue/validator/style.js             |  18 +
 html5/runtime/callback-manager.js               |  19 +
 html5/runtime/config.js                         |  18 +
 html5/runtime/handler.js                        |  19 +
 html5/runtime/index.js                          |  19 +
 html5/runtime/init.js                           |  18 +
 html5/runtime/listener.js                       |  19 +
 html5/runtime/service.js                        |  19 +
 html5/runtime/task-center.js                    |  18 +
 html5/runtime/vdom/comment.js                   |  19 +
 html5/runtime/vdom/document.js                  |  19 +
 html5/runtime/vdom/element-types.js             |  18 +
 html5/runtime/vdom/element.js                   |  19 +
 html5/runtime/vdom/index.js                     |  18 +
 html5/runtime/vdom/node.js                      |  19 +
 html5/runtime/vdom/operation.js                 |  18 +
 html5/services/amd/index.js                     |  19 +
 html5/services/broadcast-channel/index.js       |  19 +
 .../services/broadcast-channel/message-event.js |  19 +
 html5/services/index.js                         |  18 +
 html5/shared/arrayFrom.js                       |  19 +
 html5/shared/console.js                         |  19 +
 html5/shared/freeze.js                          |  18 +
 html5/shared/index.js                           |  18 +
 html5/shared/objectAssign.js                    |  18 +
 html5/shared/objectSetPrototypeOf.js            |  19 +
 html5/shared/promise.js                         |  20 +
 html5/shared/setTimeout.js                      |  19 +
 .../WeexDemo.xcodeproj/project.pbxproj          |   6 +
 ios/playground/WeexDemo/AppDelegate.h           |  23 +-
 ios/playground/WeexDemo/AppDelegate.m           |  28 +-
 .../delete.imageset/Contents.json               |  23 +
 .../Assets.xcassets/delete.imageset/delete.png  | Bin 0 -> 289 bytes
 .../delete.imageset/delete@2x.png               | Bin 0 -> 504 bytes
 .../delete.imageset/delete@3x.png               | Bin 0 -> 690 bytes
 .../scan_history.imageset/Contents.json         |  23 +
 .../scan_history.imageset/history.png           | Bin 0 -> 546 bytes
 .../scan_history.imageset/history@2x.png        | Bin 0 -> 1037 bytes
 .../scan_history.imageset/history@3x.png        | Bin 0 -> 1628 bytes
 .../WeexDemo/DemoBaseViewController.h           |  23 +-
 .../WeexDemo/DemoBaseViewController.m           |  23 +-
 ios/playground/WeexDemo/DemoDefine.h            |  25 +-
 ios/playground/WeexDemo/Info.plist              |  12 +-
 .../WeexDemo/Scanner/WXScannerHistoryVC.h       |  13 +
 .../WeexDemo/Scanner/WXScannerHistoryVC.m       | 196 ++++++
 ios/playground/WeexDemo/Scanner/WXScannerVC.h   |  25 +-
 ios/playground/WeexDemo/Scanner/WXScannerVC.m   |  41 +-
 ios/playground/WeexDemo/UIView+UIThreadCheck.h  |  23 +-
 ios/playground/WeexDemo/UIView+UIThreadCheck.m  |  23 +-
 .../WeexDemo/UIViewController+WXDemoNaviBar.h   |  23 +-
 .../WeexDemo/UIViewController+WXDemoNaviBar.m   |  73 +-
 ios/playground/WeexDemo/WXDemoViewController.h  |  23 +-
 ios/playground/WeexDemo/WXDemoViewController.m  |  23 +-
 ios/playground/WeexDemo/WXSyncTestModule.h      |  23 +-
 ios/playground/WeexDemo/WXSyncTestModule.m      |  23 +-
 .../WeexDemo/debug/WXATLoggerPlugin.h           |  23 +-
 .../WeexDemo/debug/WXATLoggerPlugin.m           |  23 +-
 .../WeexDemo/debug/WXATViewHierarchyPlugin.h    |  23 +-
 .../WeexDemo/debug/WXATViewHierarchyPlugin.m    |  23 +-
 .../extend/component/WXSelectComponent.h        |  23 +-
 .../extend/component/WXSelectComponent.m        |  23 +-
 .../extend/handler/WXImgLoaderDefaultImpl.h     |  23 +-
 .../extend/handler/WXImgLoaderDefaultImpl.m     |  23 +-
 .../WeexDemo/extend/module/WXEventModule.h      |  23 +-
 .../WeexDemo/extend/module/WXEventModule.m      |  23 +-
 ios/playground/WeexDemo/main.m                  |  23 +-
 ios/sdk/WeexSDK.xcodeproj/project.pbxproj       |   2 +
 ios/sdk/WeexSDK/Sources/Bridge/JSValue+Weex.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/JSValue+Weex.m   |  23 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.h    |  23 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeMethod.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXCallJSMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXCallJSMethod.m |  23 +-
 .../WeexSDK/Sources/Bridge/WXComponentMethod.h  |  23 +-
 .../WeexSDK/Sources/Bridge/WXComponentMethod.m  |  23 +-
 .../Sources/Bridge/WXDebugLoggerBridge.h        |  23 +-
 .../Sources/Bridge/WXDebugLoggerBridge.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.h |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXModuleMethod.m |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXPolyfillSet.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Bridge/WXPolyfillSet.m  |  23 +-
 .../Component/Recycler/WXMultiColumnLayout.h    |  23 +-
 .../Component/Recycler/WXMultiColumnLayout.m    |  23 +-
 .../Component/Recycler/WXRecyclerComponent.h    |  23 +-
 .../Component/Recycler/WXRecyclerComponent.m    |  23 +-
 .../Recycler/WXRecyclerDataController.h         |  23 +-
 .../Recycler/WXRecyclerDataController.m         |  23 +-
 .../Recycler/WXRecyclerUpdateController.h       |  23 +-
 .../Recycler/WXRecyclerUpdateController.m       |  23 +-
 .../Recycler/WXSectionDataController.h          |  23 +-
 .../Recycler/WXSectionDataController.m          |  23 +-
 .../WeexSDK/Sources/Component/WXAComponent.h    |  23 +-
 .../WeexSDK/Sources/Component/WXAComponent.m    |  23 +-
 .../Sources/Component/WXCanvasComponent.h       |  23 +-
 .../Sources/Component/WXCanvasComponent.m       |  23 +-
 .../WeexSDK/Sources/Component/WXCellComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXCellComponent.m |  23 +-
 .../Sources/Component/WXComponent_internal.h    |  23 +-
 .../WeexSDK/Sources/Component/WXDivComponent.h  |  23 +-
 .../WeexSDK/Sources/Component/WXDivComponent.m  |  23 +-
 .../WeexSDK/Sources/Component/WXEditComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXEditComponent.m |  31 +-
 .../Sources/Component/WXEmbedComponent.h        |  23 +-
 .../Sources/Component/WXEmbedComponent.m        |  23 +-
 .../Sources/Component/WXFooterComponent.h       |  23 +-
 .../Sources/Component/WXFooterComponent.m       |  23 +-
 .../Sources/Component/WXHeaderComponent.h       |  23 +-
 .../Sources/Component/WXHeaderComponent.m       |  23 +-
 .../Sources/Component/WXImageComponent.h        |  25 +-
 .../Sources/Component/WXImageComponent.m        |  29 +-
 .../Sources/Component/WXIndicatorComponent.h    |  23 +-
 .../Sources/Component/WXIndicatorComponent.m    |  23 +-
 .../WeexSDK/Sources/Component/WXListComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXListComponent.m |  23 +-
 .../Sources/Component/WXLoadingComponent.h      |  25 +-
 .../Sources/Component/WXLoadingComponent.m      |  18 +
 .../Sources/Component/WXLoadingIndicator.h      |  23 +-
 .../Sources/Component/WXLoadingIndicator.m      |  23 +-
 .../Sources/Component/WXRefreshComponent.h      |  23 +-
 .../Sources/Component/WXRefreshComponent.m      |  23 +-
 .../Sources/Component/WXScrollerComponent.h     |  23 +-
 .../Sources/Component/WXScrollerComponent.m     |  23 +-
 .../Sources/Component/WXSliderComponent.h       |  23 +-
 .../Sources/Component/WXSliderComponent.m       |  23 +-
 .../Component/WXSliderNeighborComponent.h       |  23 +-
 .../Component/WXSliderNeighborComponent.m       |  23 +-
 .../Sources/Component/WXSwitchComponent.h       |  23 +-
 .../Sources/Component/WXSwitchComponent.m       |  23 +-
 .../Sources/Component/WXTextAreaComponent.h     |  23 +-
 .../Sources/Component/WXTextAreaComponent.m     |  23 +-
 .../WeexSDK/Sources/Component/WXTextComponent.h |  23 +-
 .../WeexSDK/Sources/Component/WXTextComponent.m |  23 +-
 .../Sources/Component/WXTextInputComponent.h    |  23 +-
 .../Sources/Component/WXTextInputComponent.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.h |  23 +-
 ios/sdk/WeexSDK/Sources/Component/WXTransform.m |  23 +-
 .../Sources/Component/WXVideoComponent.h        |  23 +-
 .../Sources/Component/WXVideoComponent.m        |  23 +-
 .../WeexSDK/Sources/Component/WXWebComponent.h  |  23 +-
 .../WeexSDK/Sources/Component/WXWebComponent.m  |  23 +-
 .../Sources/Controller/WXBaseViewController.h   |  23 +-
 .../Sources/Controller/WXBaseViewController.m   |  28 +-
 .../Sources/Controller/WXRootViewController.h   |  23 +-
 .../Sources/Controller/WXRootViewController.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Debug/WXDebugTool.m     |  23 +-
 .../WeexSDK/Sources/Display/UIBezierPath+Weex.h |  23 +-
 .../WeexSDK/Sources/Display/UIBezierPath+Weex.m |  23 +-
 .../Sources/Display/WXComponent+BoxShadow.h     |  23 +-
 .../Sources/Display/WXComponent+BoxShadow.m     |  23 +-
 .../Sources/Display/WXComponent+Display.h       |  23 +-
 .../Sources/Display/WXComponent+Display.m       |  25 +-
 .../WeexSDK/Sources/Display/WXDisplayQueue.h    |  23 +-
 .../WeexSDK/Sources/Display/WXDisplayQueue.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXInnerLayer.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXLayer.h       |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXLayer.m       |  23 +-
 ios/sdk/WeexSDK/Sources/Display/WXRoundedRect.h |  23 +-
 .../WeexSDK/Sources/Display/WXRoundedRect.mm    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Engine/WXSDKError.h     |  23 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.h |  23 +-
 .../WeexSDK/Sources/Events/WXComponent+Events.m |  23 +-
 .../Sources/Handler/WXNavigationDefaultImpl.h   |  23 +-
 .../Sources/Handler/WXNavigationDefaultImpl.m   |  23 +-
 .../Sources/Handler/WXURLRewriteDefaultImpl.h   |  23 +-
 .../Sources/Handler/WXURLRewriteDefaultImpl.m   |  23 +-
 .../WeexSDK/Sources/Loader/WXResourceLoader.h   |  23 +-
 .../WeexSDK/Sources/Loader/WXResourceLoader.m   |  23 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.h  |  23 +-
 .../WeexSDK/Sources/Loader/WXWebSocketLoader.m  |  23 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.h   |  23 +-
 .../WeexSDK/Sources/Manager/WXBridgeManager.m   |  23 +-
 .../Sources/Manager/WXComponentFactory.h        |  23 +-
 .../Sources/Manager/WXComponentFactory.m        |  23 +-
 .../Sources/Manager/WXComponentManager.h        |  23 +-
 .../Sources/Manager/WXComponentManager.m        |  23 +-
 .../Sources/Manager/WXDatePickerManager.h       |  23 +-
 .../Sources/Manager/WXDatePickerManager.m       |  23 +-
 .../WeexSDK/Sources/Manager/WXHandlerFactory.h  |  23 +-
 .../WeexSDK/Sources/Manager/WXHandlerFactory.m  |  23 +-
 .../Sources/Manager/WXInvocationConfig.h        |  23 +-
 .../Sources/Manager/WXInvocationConfig.m        |  23 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.h   |  23 +-
 .../WeexSDK/Sources/Manager/WXModuleFactory.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.h |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXRuleManager.m |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Manager/WXSDKManager.m  |  23 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.h  |  23 +-
 .../WeexSDK/Sources/Manager/WXServiceFactory.m  |  23 +-
 .../Sources/Model/WXComponent+Navigation.h      |  23 +-
 .../Sources/Model/WXComponent+Navigation.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m     |  23 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.h   |  23 +-
 .../WeexSDK/Sources/Model/WXJSExceptionInfo.m   |  25 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |  23 +-
 .../Sources/Model/WXSDKInstance_private.h       |  23 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXAnimationModule.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXCanvasModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXCanvasModule.m |  23 +-
 .../WeexSDK/Sources/Module/WXClipboardModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXClipboardModule.m  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.m    |  23 +-
 .../Sources/Module/WXGlobalEventModule.h        |  23 +-
 .../Sources/Module/WXGlobalEventModule.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXInstanceWrap.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXInstanceWrap.m |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXMetaModule.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXMetaModule.m   |  23 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXModalUIModule.m    |  23 +-
 .../WeexSDK/Sources/Module/WXNavigatorModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXNavigatorModule.m  |  18 +
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 145 +++-
 .../WeexSDK/Sources/Module/WXStorageModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXStorageModule.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.h |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXStreamModule.m |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXTimerModule.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Module/WXTimerModule.m  |  23 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.h  |  23 +-
 .../WeexSDK/Sources/Module/WXWebSocketModule.m  |  23 +-
 .../WeexSDK/Sources/Module/WXWebViewModule.h    |  23 +-
 .../WeexSDK/Sources/Module/WXWebViewModule.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m     |  29 +-
 .../WeexSDK/Sources/Network/WXResourceRequest.h |  23 +-
 .../WeexSDK/Sources/Network/WXResourceRequest.m |  23 +-
 .../Sources/Network/WXResourceRequestHandler.h  |  23 +-
 .../WXResourceRequestHandlerDefaultImpl.h       |  23 +-
 .../WXResourceRequestHandlerDefaultImpl.m       |  23 +-
 .../Sources/Network/WXResourceResponse.h        |  23 +-
 .../Sources/Network/WXResourceResponse.m        |  23 +-
 .../Sources/Protocol/WXAppMonitorProtocol.h     |  23 +-
 .../WeexSDK/Sources/Protocol/WXBridgeProtocol.h |  23 +-
 .../Sources/Protocol/WXDestroyProtocol.h        |  23 +-
 .../Sources/Protocol/WXEventModuleProtocol.h    |  23 +-
 .../Sources/Protocol/WXImgLoaderProtocol.h      |  23 +-
 .../Sources/Protocol/WXJSExceptionProtocol.h    |  23 +-
 .../WeexSDK/Sources/Protocol/WXModuleProtocol.h |  23 +-
 .../Sources/Protocol/WXNavigationProtocol.h     |  23 +-
 .../Sources/Protocol/WXNetworkProtocol.h        |  23 +-
 .../Sources/Protocol/WXScrollerProtocol.h       |  23 +-
 .../Sources/Protocol/WXTextComponentProtocol.h  |  23 +-
 .../Sources/Protocol/WXURLRewriteProtocol.h     |  23 +-
 .../Sources/Protocol/WXValidateProtocol.h       |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSArray+Weex.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSArray+Weex.m  |  23 +-
 .../Sources/Utility/NSObject+WXSwizzle.h        |  23 +-
 .../Sources/Utility/NSObject+WXSwizzle.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSTimer+Weex.h  |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/NSTimer+Weex.m  |  23 +-
 .../Sources/Utility/WXAppConfiguration.h        |  23 +-
 .../Sources/Utility/WXAppConfiguration.m        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXAssert.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXAssert.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.h   |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXBoxShadow.m   |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXConvert.m     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDefine.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h    |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m    |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLength.h      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLength.m      |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.h         |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXLog.m         |  23 +-
 .../Utility/WXSimulatorShortcutManager.h        |  23 +-
 .../Utility/WXSimulatorShortcutManager.m        |  23 +-
 .../Sources/Utility/WXThreadSafeCounter.h       |  23 +-
 .../Sources/Utility/WXThreadSafeCounter.m       |  23 +-
 .../Sources/Utility/WXThreadSafeMutableArray.h  |  23 +-
 .../Sources/Utility/WXThreadSafeMutableArray.m  |  23 +-
 .../Utility/WXThreadSafeMutableDictionary.h     |  23 +-
 .../Utility/WXThreadSafeMutableDictionary.m     |  25 +-
 ios/sdk/WeexSDK/Sources/Utility/WXType.h        |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.h     |  23 +-
 ios/sdk/WeexSDK/Sources/Utility/WXUtility.m     |  23 +-
 .../Sources/Utility/WXWeakObjectWrapper.h       |  23 +-
 .../Sources/Utility/WXWeakObjectWrapper.m       |  23 +-
 .../View/WXComponent+PseudoClassManagement.h    |  23 +-
 .../View/WXComponent+PseudoClassManagement.m    |  23 +-
 .../Sources/View/WXComponent+ViewManagement.h   |  23 +-
 .../Sources/View/WXComponent+ViewManagement.m   |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXErrorView.h      |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXErrorView.m      |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXRootView.h       |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXRootView.m       |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXView.h           |  23 +-
 ios/sdk/WeexSDK/Sources/View/WXView.m           |  23 +-
 .../Sources/WebSocket/SRWebSocket+Weex.h        |  23 +-
 .../Sources/WebSocket/SRWebSocket+Weex.m        |  23 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.h  |  23 +-
 .../Sources/WebSocket/WXWebSocketDefaultImpl.m  |  23 +-
 .../Sources/WebSocket/WXWebSocketHandler.h      |  23 +-
 ios/sdk/WeexSDK/Sources/WeexSDK.h               |  21 +-
 ios/sdk/WeexSDK_MTL/WeexSDK_MTL.h               |  23 +-
 ios/sdk/WeexSDK_MTL/WeexSDK_MTL.m               |  23 +-
 scripts/apache-rat-0.12.jar                     | Bin 0 -> 1592593 bytes
 scripts/rat-ant-build.xml                       |   8 +
 scripts/rat-scan.sh                             |   3 +
 scripts/replace-header.sh                       |   4 +
 scripts/rh/LICENSE                              | 674 +++++++++++++++++++
 scripts/rh/README                               |  46 ++
 scripts/rh/header.template                      |  18 +
 scripts/rh/remove_header.awk                    |  48 ++
 scripts/rh/replace_header.sh                    |  11 +
 test/pages/image-onload.vue                     |   2 +-
 test/run.sh                                     |   9 +-
 test/scripts/components/image-onload.test.js    |   4 +-
 vue.html                                        |  10 +-
 923 files changed, 16974 insertions(+), 83267 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc45cdc8/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
index 81aeeac,bbac404..c547c78
mode 100755,100644..100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc45cdc8/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
----------------------------------------------------------------------
diff --cc android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
index 4bf3ee1,0000000..3950be2
mode 100644,000000..100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java
@@@ -1,243 -1,0 +1,57 @@@
 +/**
-  *
-  *                                  Apache License
-  *                            Version 2.0, January 2004
-  *                         http://www.apache.org/licenses/
-  *
-  *    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-  *
-  *    1. Definitions.
-  *
-  *       "License" shall mean the terms and conditions for use, reproduction,
-  *       and distribution as defined by Sections 1 through 9 of this document.
-  *
-  *       "Licensor" shall mean the copyright owner or entity authorized by
-  *       the copyright owner that is granting the License.
-  *
-  *       "Legal Entity" shall mean the union of the acting entity and all
-  *       other entities that control, are controlled by, or are under common
-  *       control with that entity. For the purposes of this definition,
-  *       "control" means (i) the power, direct or indirect, to cause the
-  *       direction or management of such entity, whether by contract or
-  *       otherwise, or (ii) ownership of fifty percent (50%) or more of the
-  *       outstanding shares, or (iii) beneficial ownership of such entity.
-  *
-  *       "You" (or "Your") shall mean an individual or Legal Entity
-  *       exercising permissions granted by this License.
-  *
-  *       "Source" form shall mean the preferred form for making modifications,
-  *       including but not limited to software source code, documentation
-  *       source, and configuration files.
-  *
-  *       "Object" form shall mean any form resulting from mechanical
-  *       transformation or translation of a Source form, including but
-  *       not limited to compiled object code, generated documentation,
-  *       and conversions to other media types.
-  *
-  *       "Work" shall mean the work of authorship, whether in Source or
-  *       Object form, made available under the License, as indicated by a
-  *       copyright notice that is included in or attached to the work
-  *       (an example is provided in the Appendix below).
-  *
-  *       "Derivative Works" shall mean any work, whether in Source or Object
-  *       form, that is based on (or derived from) the Work and for which the
-  *       editorial revisions, annotations, elaborations, or other modifications
-  *       represent, as a whole, an original work of authorship. For the purposes
-  *       of this License, Derivative Works shall not include works that remain
-  *       separable from, or merely link (or bind by name) to the interfaces of,
-  *       the Work and Derivative Works thereof.
-  *
-  *       "Contribution" shall mean any work of authorship, including
-  *       the original version of the Work and any modifications or additions
-  *       to that Work or Derivative Works thereof, that is intentionally
-  *       submitted to Licensor for inclusion in the Work by the copyright owner
-  *       or by an individual or Legal Entity authorized to submit on behalf of
-  *       the copyright owner. For the purposes of this definition, "submitted"
-  *       means any form of electronic, verbal, or written communication sent
-  *       to the Licensor or its representatives, including but not limited to
-  *       communication on electronic mailing lists, source code control systems,
-  *       and issue tracking systems that are managed by, or on behalf of, the
-  *       Licensor for the purpose of discussing and improving the Work, but
-  *       excluding communication that is conspicuously marked or otherwise
-  *       designated in writing by the copyright owner as "Not a Contribution."
-  *
-  *       "Contributor" shall mean Licensor and any individual or Legal Entity
-  *       on behalf of whom a Contribution has been received by Licensor and
-  *       subsequently incorporated within the Work.
-  *
-  *    2. Grant of Copyright License. Subject to the terms and conditions of
-  *       this License, each Contributor hereby grants to You a perpetual,
-  *       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-  *       copyright license to reproduce, prepare Derivative Works of,
-  *       publicly display, publicly perform, sublicense, and distribute the
-  *       Work and such Derivative Works in Source or Object form.
-  *
-  *    3. Grant of Patent License. Subject to the terms and conditions of
-  *       this License, each Contributor hereby grants to You a perpetual,
-  *       worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-  *       (except as stated in this section) patent license to make, have made,
-  *       use, offer to sell, sell, import, and otherwise transfer the Work,
-  *       where such license applies only to those patent claims licensable
-  *       by such Contributor that are necessarily infringed by their
-  *       Contribution(s) alone or by combination of their Contribution(s)
-  *       with the Work to which such Contribution(s) was submitted. If You
-  *       institute patent litigation against any entity (including a
-  *       cross-claim or counterclaim in a lawsuit) alleging that the Work
-  *       or a Contribution incorporated within the Work constitutes direct
-  *       or contributory patent infringement, then any patent licenses
-  *       granted to You under this License for that Work shall terminate
-  *       as of the date such litigation is filed.
-  *
-  *    4. Redistribution. You may reproduce and distribute copies of the
-  *       Work or Derivative Works thereof in any medium, with or without
-  *       modifications, and in Source or Object form, provided that You
-  *       meet the following conditions:
-  *
-  *       (a) You must give any other recipients of the Work or
-  *           Derivative Works a copy of this License; and
-  *
-  *       (b) You must cause any modified files to carry prominent notices
-  *           stating that You changed the files; and
-  *
-  *       (c) You must retain, in the Source form of any Derivative Works
-  *           that You distribute, all copyright, patent, trademark, and
-  *           attribution notices from the Source form of the Work,
-  *           excluding those notices that do not pertain to any part of
-  *           the Derivative Works; and
-  *
-  *       (d) If the Work includes a "NOTICE" text file as part of its
-  *           distribution, then any Derivative Works that You distribute must
-  *           include a readable copy of the attribution notices contained
-  *           within such NOTICE file, excluding those notices that do not
-  *           pertain to any part of the Derivative Works, in at least one
-  *           of the following places: within a NOTICE text file distributed
-  *           as part of the Derivative Works; within the Source form or
-  *           documentation, if provided along with the Derivative Works; or,
-  *           within a display generated by the Derivative Works, if and
-  *           wherever such third-party notices normally appear. The contents
-  *           of the NOTICE file are for informational purposes only and
-  *           do not modify the License. You may add Your own attribution
-  *           notices within Derivative Works that You distribute, alongside
-  *           or as an addendum to the NOTICE text from the Work, provided
-  *           that such additional attribution notices cannot be construed
-  *           as modifying the License.
-  *
-  *       You may add Your own copyright statement to Your modifications and
-  *       may provide additional or different license terms and conditions
-  *       for use, reproduction, or distribution of Your modifications, or
-  *       for any such Derivative Works as a whole, provided Your use,
-  *       reproduction, and distribution of the Work otherwise complies with
-  *       the conditions stated in this License.
-  *
-  *    5. Submission of Contributions. Unless You explicitly state otherwise,
-  *       any Contribution intentionally submitted for inclusion in the Work
-  *       by You to the Licensor shall be under the terms and conditions of
-  *       this License, without any additional terms or conditions.
-  *       Notwithstanding the above, nothing herein shall supersede or modify
-  *       the terms of any separate license agreement you may have executed
-  *       with Licensor regarding such Contributions.
-  *
-  *    6. Trademarks. This License does not grant permission to use the trade
-  *       names, trademarks, service marks, or product names of the Licensor,
-  *       except as required for reasonable and customary use in describing the
-  *       origin of the Work and reproducing the content of the NOTICE file.
-  *
-  *    7. Disclaimer of Warranty. Unless required by applicable law or
-  *       agreed to in writing, Licensor provides the Work (and each
-  *       Contributor provides its Contributions) on an "AS IS" BASIS,
-  *       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-  *       implied, including, without limitation, any warranties or conditions
-  *       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-  *       PARTICULAR PURPOSE. You are solely responsible for determining the
-  *       appropriateness of using or redistributing the Work and assume any
-  *       risks associated with Your exercise of permissions under this License.
-  *
-  *    8. Limitation of Liability. In no event and under no legal theory,
-  *       whether in tort (including negligence), contract, or otherwise,
-  *       unless required by applicable law (such as deliberate and grossly
-  *       negligent acts) or agreed to in writing, shall any Contributor be
-  *       liable to You for damages, including any direct, indirect, special,
-  *       incidental, or consequential damages of any character arising as a
-  *       result of this License or out of the use or inability to use the
-  *       Work (including but not limited to damages for loss of goodwill,
-  *       work stoppage, computer failure or malfunction, or any and all
-  *       other commercial damages or losses), even if such Contributor
-  *       has been advised of the possibility of such damages.
-  *
-  *    9. Accepting Warranty or Additional Liability. While redistributing
-  *       the Work or Derivative Works thereof, You may choose to offer,
-  *       and charge a fee for, acceptance of support, warranty, indemnity,
-  *       or other liability obligations and/or rights consistent with this
-  *       License. However, in accepting such obligations, You may act only
-  *       on Your own behalf and on Your sole responsibility, not on behalf
-  *       of any other Contributor, and only if You agree to indemnify,
-  *       defend, and hold each Contributor harmless for any liability
-  *       incurred by, or claims asserted against, such Contributor by reason
-  *       of your accepting any such warranty or additional liability.
-  *
-  *    END OF TERMS AND CONDITIONS
-  *
-  *    APPENDIX: How to apply the Apache License to your work.
-  *
-  *       To apply the Apache License to your work, attach the following
-  *       boilerplate notice, with the fields enclosed by brackets "[]"
-  *       replaced with your own identifying information. (Don't include
-  *       the brackets!)  The text should be enclosed in the appropriate
-  *       comment syntax for the file format. We also recommend that a
-  *       file or class name and description of purpose be included on the
-  *       same "printed page" as the copyright notice for easier
-  *       identification within third-party archives.
-  *
-  *    Copyright 2016 Alibaba Group
-  *
-  *    Licensed under the Apache License, Version 2.0 (the "License");
-  *    you may not use this file except in compliance with the License.
-  *    You may obtain a copy of the License at
-  *
-  *        http://www.apache.org/licenses/LICENSE-2.0
-  *
-  *    Unless required by applicable law or agreed to in writing, software
-  *    distributed under the License is distributed on an "AS IS" BASIS,
-  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  *    See the License for the specific language governing permissions and
-  *    limitations under the License.
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *   http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing,
++ * software distributed under the License is distributed on an
++ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
++ * KIND, either express or implied.  See the License for the
++ * specific language governing permissions and limitations
++ * under the License.
 + */
 +package com.taobao.weex.dom;
 +
 +import com.taobao.weex.dom.flex.CSSNode;
 +import com.taobao.weex.dom.flex.MeasureOutput;
 +import com.taobao.weex.ui.component.WXBasicComponentType;
 +import com.taobao.weex.utils.WXLogUtils;
 +
 +/**
 + * Created by zhengshihan on 2017/4/11.
 + */
 +
 +public class WXCellDomObject extends WXDomObject {
 +
 +  /** package **/ static final CSSNode.MeasureFunction CELL_MEASURE_FUNCTION = new MeasureFunction() {
 +    @Override
 +    public void measure(CSSNode node, float width, MeasureOutput measureOutput) {
 +      if (node != null) {
 +        CSSNode parent = node.getParent();
 +        if (parent != null && parent instanceof WXRecyclerDomObject) {
 +          WXRecyclerDomObject parentDom = ((WXRecyclerDomObject) parent);
 +          parentDom.preCalculateCellWidth();
 +          WXDomObject domObject = (WXDomObject) node;
 +          if (WXBasicComponentType.CELL.equals(domObject.getType())) {
 +            float w = ((WXRecyclerDomObject) parent).getColumnWidth();
 +            node.setLayoutWidth(w);
 +          } else if (WXBasicComponentType.HEADER.equals(domObject.getType())){
 +            float w = parentDom.getAvailableWidth();
 +            WXLogUtils.d("getAvailableWidth:"+w);
 +            node.setLayoutWidth(w);
 +          }
 +        }
 +      }
 +    }
 +  };
 +
 +  public WXCellDomObject() {
 +    setMeasureFunction(CELL_MEASURE_FUNCTION);
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cc45cdc8/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java
----------------------------------------------------------------------