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:17:11 UTC

[41/50] incubator-weex git commit: Merge branch '0.11-dev' into 0.12-dev

Merge branch '0.11-dev' into 0.12-dev


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

Branch: refs/heads/dev
Commit: b932600a8f79b3ad9a75ca9be9c94a24e8e5811d
Parents: 102e37d bbb120d
Author: sospartan <so...@apache.org>
Authored: Thu Apr 13 10:31:21 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Thu Apr 13 10:31:21 2017 +0800

----------------------------------------------------------------------
 .eslintignore                                   |   1 +
 .gitignore                                      |   2 +-
 NOTICE                                          |   8 +-
 build/karma.vue.conf.js                         |   7 +-
 build/webpack.examples.web.config.js            |  31 +-
 build/webpack.test.web.config.js                |  81 +++
 examples/vue/showcase/itemlist.vue              |  11 +-
 examples/vue/style/index.vue                    |   2 +-
 .../npm/karma-rollup-preprocessor_vx.x.x.js     |  53 ++
 flow-typed/npm/karma-sinon-chai_vx.x.x.js       |  38 ++
 html5/render/vue/README.md                      |  24 +-
 html5/render/vue/components/a.js                |  18 +-
 html5/render/vue/components/div.js              |  18 +-
 html5/render/vue/components/image.js            |  25 +-
 html5/render/vue/components/input.js            |  18 +-
 .../render/vue/components/scrollable/header.js  |   6 +-
 .../vue/components/scrollable/list/cell.js      |   7 +-
 .../vue/components/scrollable/list/index.js     |   6 +-
 .../vue/components/scrollable/list/style.js     |  16 +
 .../components/scrollable/loading-indicator.js  |  44 +-
 .../render/vue/components/scrollable/loading.js |   6 +-
 .../render/vue/components/scrollable/refresh.js |   6 +-
 .../vue/components/scrollable/scroller.js       |   8 +-
 html5/render/vue/components/slider/index.js     |  37 +-
 html5/render/vue/components/slider/indicator.js |  58 +-
 html5/render/vue/components/switch.js           |  67 ++-
 html5/render/vue/components/text.js             |  27 +-
 html5/render/vue/components/textarea.js         |  19 +-
 html5/render/vue/components/video.js            |   7 +-
 html5/render/vue/components/web.js              |  19 +-
 html5/render/vue/core/index.js                  |   2 +
 html5/render/vue/core/node.js                   |  28 +
 html5/render/vue/core/style.js                  | 212 ++++++++
 html5/render/vue/env/global.js                  |  11 +
 html5/render/vue/env/index.js                   |  11 +-
 html5/render/vue/env/viewport.js                | 163 ++++--
 html5/render/vue/env/weex.js                    |   9 +-
 html5/render/vue/env/wx-env.js                  |  76 +--
 html5/render/vue/index.js                       |  13 +-
 html5/render/vue/mixins/base.js                 |  43 --
 html5/render/vue/mixins/style.js                | 142 +----
 html5/render/vue/modules/animation.js           |   7 +-
 html5/render/vue/modules/dom.js                 |   5 +-
 html5/render/vue/modules/index.js               |   2 +-
 html5/render/vue/modules/modal/index.js         |  10 +-
 html5/render/vue/modules/modal/style.js         | 146 ++++++
 html5/render/vue/styles/base.css                | 194 +++++++
 html5/render/vue/styles/components.css          | 513 ------------------
 html5/render/vue/utils/index.js                 |  36 +-
 html5/render/vue/utils/style.js                 | 110 ++++
 html5/test/render/vue/components/image.js       |   4 +-
 html5/test/render/vue/components/switch.js      |   4 -
 html5/test/render/vue/components/text.js        |   4 -
 html5/test/render/vue/components/web.js         |   4 -
 html5/test/render/vue/core/scope-style-map.js   |  76 +++
 html5/test/render/vue/core/style.js             |  65 +++
 .../vue/data/build/dotvue/scoped-style.js       | 525 +++++++++++++++++++
 html5/test/render/vue/data/css/head1.css        |  38 ++
 html5/test/render/vue/data/css/head10.css       |  14 +
 html5/test/render/vue/data/css/head11.css       |   2 +
 html5/test/render/vue/data/css/head12.css       |   2 +
 html5/test/render/vue/data/css/head13.css       |  25 +
 html5/test/render/vue/data/css/head2.css        |  11 +
 html5/test/render/vue/data/css/head3.css        |  25 +
 html5/test/render/vue/data/css/head4.css        |  56 ++
 html5/test/render/vue/data/css/head5.css        | 153 ++++++
 html5/test/render/vue/data/css/head6.css        |   4 +
 html5/test/render/vue/data/css/head7.css        |  61 +++
 html5/test/render/vue/data/css/head8.css        | 507 ++++++++++++++++++
 html5/test/render/vue/data/css/head9.css        | 173 ++++++
 .../render/vue/data/dotvue/scoped-style.vue     |  13 +
 html5/test/render/vue/data/head-css.js          |  13 +
 html5/test/render/vue/data/head-map.js          | 275 ++++++++++
 html5/test/render/vue/helper.js                 | 140 -----
 html5/test/render/vue/helper/env.js             |  20 +
 html5/test/render/vue/helper/index.js           |  73 +++
 html5/test/render/vue/helper/runtime.js         |  74 +++
 html5/test/render/vue/helper/utils.js           |   8 +
 html5/test/render/vue/utils.js                  |  47 --
 html5/test/render/vue/utils/func.js             |  49 ++
 html5/test/render/vue/utils/style.js            |  68 +++
 package.json                                    |   7 +-
 packages/weex-vue-render/README.md              |  24 +-
 packages/weex-vue-render/package.json           |   2 +-
 84 files changed, 3829 insertions(+), 1140 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/NOTICE
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/a.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/a.js
index e4c953c,83851b2..bf12d21
--- a/html5/render/vue/components/a.js
+++ b/html5/render/vue/components/a.js
@@@ -1,21 -1,11 +1,29 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, trimTextVNodes, createEventMap } from '../core'
+ // import { validateStyles } from '../validator'
+ 
+ const _css = `
+ .weex-a {
+   text-decoration: none;
+ }
+ `
  
  export default {
    name: 'weex-a',

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/div.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/div.js
index 3425476,bdc90d0..9811332
--- a/html5/render/vue/components/div.js
+++ b/html5/render/vue/components/div.js
@@@ -1,21 -1,11 +1,29 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../validator'
+ import { extractComponentStyle, trimTextVNodes, createEventMap } from '../core'
+ 
+ const _css = `
+ body > .weex-div {
+   min-height: 100%;
+ }
+ `
  
  export default {
    name: 'weex-div',

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/image.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/image.js
index 5ee785c,b245338..39caa55
--- a/html5/render/vue/components/image.js
+++ b/html5/render/vue/components/image.js
@@@ -1,22 -1,12 +1,31 @@@
 +/*
 + * 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.
 + */
 +
+ import { extractComponentStyle, createEventMap } from '../core'
+ import { extend } from '../utils'
+ 
+ const _css = `
+ .weex-image, .weex-img {
+   background-repeat: no-repeat;
+   background-position: 50% 50%;
+ }
+ `
  /**
   * get resize (stetch|cover|contain) related styles.
   */

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/input.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/header.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/header.js
index f58962b,9fdeddb..9753209
--- a/html5/render/vue/components/scrollable/header.js
+++ b/html5/render/vue/components/scrollable/header.js
@@@ -1,22 -1,6 +1,23 @@@
 -// import { validateStyles } from '../../validator'
 +/*
 + * 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.
 + */
  import { supportSticky } from '../../utils/style'
+ import { extractComponentStyle, createEventMap } from '../../core'
  
  export default {
    data () {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/list/cell.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/list/cell.js
index d3d6160,ab8910c..2f37f4a
--- a/html5/render/vue/components/scrollable/list/cell.js
+++ b/html5/render/vue/components/scrollable/list/cell.js
@@@ -1,21 -1,5 +1,23 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../../../validator'
+ import { extractComponentStyle, createEventMap } from '../../../core'
  
  export default {
    render (createElement) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/list/index.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/list/index.js
index b920879,fc803c6..a5fceff
--- a/html5/render/vue/components/scrollable/list/index.js
+++ b/html5/render/vue/components/scrollable/list/index.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, createEventMap } from '../../../core'
  import { scrollable } from '../../../mixins'
  // import { validateStyles } from '../../../validator'
  import { extend } from '../../../utils'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/loading-indicator.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/loading-indicator.js
index e41edf2,b184cca..8d82eed
--- a/html5/render/vue/components/scrollable/loading-indicator.js
+++ b/html5/render/vue/components/scrollable/loading-indicator.js
@@@ -1,21 -1,40 +1,59 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle } from '../../core'
+ 
+ const _css = `
+ .weex-refresh-indicator,
+ .weex-loading-indicator {
+   width: 1.0rem;
+   height: 1.0rem;
+   -webkit-box-align: center;
+   -webkit-align-items: center;
+       -ms-flex-align: center;
+           align-items: center;
+   -webkit-box-pack: center;
+   -webkit-justify-content: center;
+       -ms-flex-pack: center;
+           justify-content: center;
+   overflow: visible;
+   background: none;
+ }
+ .weex-refresh-indicator:before,
+ .weex-loading-indicator:before {
+   display: block;
+   content: '';
+   font-size: 0.16rem;
+   width: 1em;
+   height: 1em;
+   left: -60%;
+   top: 40%;
+   border-radius: 50%;
+   position: relative;
+   text-indent: -9999em;
+   -webkit-animation: weex-spinner 1.1s infinite ease;
+           animation: weex-spinner 1.1s infinite ease;
+   -webkit-transform: translate3d(1.0rem, 0, 0);
+           transform: translate3d(1.0rem, 0, 0);
+ }
+ `
+ 
++>>>>>>> 0.11-dev
  export default {
    render (createElement) {
      this.weexType = 'loading-indicator'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/loading.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/loading.js
index a8e07fa,8f01fde..e8bef52
--- a/html5/render/vue/components/scrollable/loading.js
+++ b/html5/render/vue/components/scrollable/loading.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle } from '../../core'
  import LoadingIndicator from './loading-indicator'
  
  export default {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/refresh.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/refresh.js
index 1093edf,1d941d4..a770095
--- a/html5/render/vue/components/scrollable/refresh.js
+++ b/html5/render/vue/components/scrollable/refresh.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle } from '../../core'
  import LoadingIndicator from './loading-indicator'
  import { createEvent } from '../../utils'
  

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/scrollable/scroller.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/scrollable/scroller.js
index 67fe9ca,b56ef70..96ebc10
--- a/html5/render/vue/components/scrollable/scroller.js
+++ b/html5/render/vue/components/scrollable/scroller.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, createEventMap } from '../../core'
  import { scrollable } from '../../mixins'
  // import { validateStyles } from '../../validator'
  import { extend } from '../../utils'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/slider/index.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/slider/index.js
index 1523edf,b37b0a2..c5a1eeb
--- a/html5/render/vue/components/slider/index.js
+++ b/html5/render/vue/components/slider/index.js
@@@ -1,21 -1,5 +1,23 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../../validator'
+ import { extractComponentStyle, createEventMap } from '../../core'
  import { throttle, bind, extend, fireLazyload } from '../../utils'
  import indicator from './indicator'
  import slideMixin from './slideMixin'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/slider/indicator.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/slider/indicator.js
index ce9e45b,6722041..97388bb
--- a/html5/render/vue/components/slider/indicator.js
+++ b/html5/render/vue/components/slider/indicator.js
@@@ -1,27 -1,39 +1,57 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle } from '../../core'
  import { extend, extendKeys } from '../../utils'
  
+ const _css = `
+ .weex-indicator {
+   position: absolute;
+   z-index: 10;
+   -webkit-flex-direction: row;
+   -ms-flex-direction: row;
+   flex-direction: row;
+   -webkit-box-orient: horizontal;
+   margin: 0;
+   padding: 0;
+ }
+ 
+ .weex-indicator-item {
+   display: inline-block;
+   position: relative;
+   border-radius: 50%;
+   width: 0.266667rem;
+   height: 0.266667rem;
+   background-color: #BBBBBB;
+ }
+ .weex-indicator-item + .weex-indicator-item {
+   margin-left: 0.133333rem;
+ }
+ 
+ .weex-indicator-item-active {
+   background-color: blue;
+ }
+ `
+ 
  function getIndicatorItemStyle (spec, isActive) {
    const style = {}
-   style['background-color'] = spec[isActive ? 'item-selected-color' : 'item-color']
-   style['width'] = style['height'] = spec['item-size']
+   style['background-color'] = spec[isActive ? 'itemSelectedColor' : 'itemColor']
+   style['width'] = style['height'] = spec['itemSize']
    return style
  }
  

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/switch.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/switch.js
index 49b55af,cf904c3..426beb5
--- a/html5/render/vue/components/switch.js
+++ b/html5/render/vue/components/switch.js
@@@ -1,21 -1,62 +1,80 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../validator'
+ import { extractComponentStyle } from '../core'
+ 
+ const _css = `
+ .weex-switch {
+   border: 0.013333rem solid #dfdfdf;
+   cursor: pointer;
+   display: inline-block;
+   position: relative;
+   vertical-align: middle;
+   -webkit-user-select: none;
+      -moz-user-select: none;
+       -ms-user-select: none;
+           user-select: none;
+   box-sizing: content-box;
+   background-clip: content-box;
+   color: #64bd63;
+   width: 1.333333rem;
+   height: 0.8rem;
+   background-color: white;
+   border-color: #dfdfdf;
+   box-shadow: #dfdfdf 0 0 0 0 inset;
+   border-radius: 0.8rem;
+   -webkit-transition: border 0.4s, box-shadow 0.4s, background-color 1.2s;
+           transition: border 0.4s, box-shadow 0.4s, background-color 1.2s;
+ }
+ 
+ .weex-switch-checked {
+   background-color: #64bd63;
+   border-color: #64bd63;
+   box-shadow: #64bd63 0 0 0 0.533333rem inset;
+ }
+ 
+ .weex-switch-checked.weex-switch-disabled {
+   background-color: #A0CCA0;
+   box-shadow: #A0CCA0 0 0 0 0.533333rem inset;
+ }
+ 
+ .weex-switch-disabled {
+   background-color: #EEEEEE;
+ }
+ 
+ .weex-switch-inner {
+   width: 0.8rem;
+   height: 0.8rem;
+   background: #fff;
+   border-radius: 100%;
+   box-shadow: 0 0.013333rem 0.04rem rgba(0, 0, 0, 0.4);
+   position: absolute;
+   top: 0;
+   left: 0;
+   -webkit-transition: background-color 0.4s, left 0.2s;
+           transition: background-color 0.4s, left 0.2s;
+ }
+ 
+ .weex-switch-checked > .weex-switch-inner {
+   left: 0.533333rem;
+ }
+ `
  
  export default {
    props: {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/text.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/textarea.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/textarea.js
index 65306f0,bc1ffdf..a1851ee
--- a/html5/render/vue/components/textarea.js
+++ b/html5/render/vue/components/textarea.js
@@@ -1,25 -1,18 +1,36 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, createEventMap } from '../core'
  import { inputCommon } from '../mixins'
  import { extend, mapFormEvents } from '../utils'
+ 
  // import { validateStyles } from '../validator'
  
+ const _css = `
+ .weex-textarea {
+   font-size: 0.426667rem
+ }
+ .weex-textarea:focus {
+   outline: none;
+ }
+ `
+ 
  export default {
    mixins: [inputCommon],
    props: {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/video.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/video.js
index 1031b5f,8c52672..b39bf4a
--- a/html5/render/vue/components/video.js
+++ b/html5/render/vue/components/video.js
@@@ -1,21 -1,5 +1,23 @@@
 +/*
 + * 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.
 + */
+ // import { validateStyles } from '../validator'
+ import { extractComponentStyle, createEventMap } from '../core'
  
  export default {
    props: {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/components/web.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/web.js
index a17ec8a,9ae7d5f..1bf95a6
--- a/html5/render/vue/components/web.js
+++ b/html5/render/vue/components/web.js
@@@ -1,21 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
+ import { extractComponentStyle, createEventMap } from '../core'
  import { createEvent } from '../utils'
  // import { validateStyles } from '../validator'
  

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/env/index.js
----------------------------------------------------------------------
diff --cc html5/render/vue/env/index.js
index 2f4f41b,73f640e..c00b251
--- a/html5/render/vue/env/index.js
+++ b/html5/render/vue/env/index.js
@@@ -1,23 -1,5 +1,23 @@@
 +/*
 + * 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.
 + */
  import '../styles/reset.css'
- import '../styles/components.css'
+ import '../styles/base.css'
  
  // import 'lazyimg'
  import '../../browser/render/gesture'

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/env/viewport.js
----------------------------------------------------------------------
diff --cc html5/render/vue/env/viewport.js
index 3384b43,5a80893..dda12ca
--- a/html5/render/vue/env/viewport.js
+++ b/html5/render/vue/env/viewport.js
@@@ -1,21 -1,6 +1,24 @@@
 +/*
 + * 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.
 + */
+ // @flow
+ 
+ import { extend } from '../utils/func'
  
  /**
   * viewport priority:
@@@ -25,12 -10,41 +28,46 @@@
   * 3. process.env.VIEWPORT_WIDTH (buid time)
   *
   */
++<<<<<<< HEAD
 +
 +let viewportWidth = process.env.VIEWPORT_WIDTH
++=======
+ let isInited = false
+ const DEFAULT_VIEWPORT_WIDTH = 750
+ 
+ /**
+  * get viewport width from weex-viewport meta.
+  */
+ const envViewportWidth = parseInt(process.env.VIEWPORT_WIDTH)
+ let width: number = !isNaN(envViewportWidth) && envViewportWidth > 0
+   ? envViewportWidth
+   : DEFAULT_VIEWPORT_WIDTH
++>>>>>>> 0.11-dev
  
- const wxViewportMeta = document.querySelector('meta[name="weex-viewport"]')
+ let wxViewportMeta = document.querySelector('meta[name="weex-viewport"]')
  const metaWidth = wxViewportMeta && parseInt(wxViewportMeta.getAttribute('content'))
- if (metaWidth && !isNaN(metaWidth) && metaWidth > 0) { viewportWidth = metaWidth }
+ if (metaWidth && !isNaN(metaWidth) && metaWidth > 0) {
+   width = metaWidth
+ }
+ 
+ let dpr: number = 0
+ let deRect: mixed = null
+ let screenWidth: number = 0
+ let screenHeight: number = 0
+ 
+ const info: {
+   dpr: number,
+   scale: number,
+   rem: number,
+   deviceWidth: number,
+   deviceHeight: number
+ } = {
+   dpr,
+   scale: 0,
+   rem: 0,
+   deviceWidth: 0,
+   deviceHeight: 0
+ }
  
  /**
   * set root font-size for rem units. If already been set, just skip this.

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/env/weex.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/env/wx-env.js
----------------------------------------------------------------------
diff --cc html5/render/vue/env/wx-env.js
index 68cddb2,011b412..47d1706
--- a/html5/render/vue/env/wx-env.js
+++ b/html5/render/vue/env/wx-env.js
@@@ -1,66 -1,52 +1,70 @@@
 +/*
 + * 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.
 + */
  import 'envd'
  
- import { setViewport } from './viewport'
+ import { init as initViewport } from './viewport'
  import { extend } from '../utils'
  
- const scaleInfo = setViewport()
- 
- const lib = window.lib
- const env = {
-   platform: 'Web',
-   // weexVersion: '0.10.0', // TODO: get version from package.json (not sure)
-   weexVersion: 'process.env.WEEX_VERSION',
-   userAgent: navigator.userAgent,
-   appName: lib.env.aliapp ? lib.env.aliapp.appname : navigator.appName,
-   appVersion: lib.env.aliapp ? lib.env.aliapp.version.val : null,
-   osName: lib.env.browser ? lib.env.browser.name : null,
-   osVersion: lib.env.browser ? lib.env.browser.version.val : null,
-   deviceModel: lib.env.os.name || null
- }
- 
  /**
-  * scaleInfo: scale, deviceWidth, deviceHeight.
+  * get WXEnvironment info.
+  * @param  {object} viewportInfo: info about viewport.
+  * @param  {object} envInfo: info parsed from lib.env.
   */
- extend(env, scaleInfo)
+ export function initEnv (viewportInfo, envInfo) {
+   const env = {
+     platform: 'Web',
+     weexVersion: 'process.env.WEEX_VERSION',
+     userAgent: navigator.userAgent,
+     appName: envInfo.aliapp ? envInfo.aliapp.appname : navigator.appName,
+     appVersion: envInfo.aliapp ? envInfo.aliapp.version.val : null,
+     osName: envInfo.browser ? envInfo.browser.name : null,
+     osVersion: envInfo.browser ? envInfo.browser.version.val : null,
+     deviceModel: envInfo.os.name || null
+   }
+   /**
+    * viewportInfo: scale, deviceWidth, deviceHeight. dpr
+    */
+   return extend(env, viewportInfo)
+ }
+ 
+ // const viewportInfo = initViewport()
  
  // 750 by default currently
- const scale = env.scale
+ // const scale = viewportInfo.scale
  
- const units = {
-   REM: 12 * scale,
-   VW: env.deviceWidth / 100,
-   VH: env.deviceHeight / 100,
-   VMIN: Math.min(env.deviceWidth, env.deviceHeight) / 100,
-   VMAX: Math.max(env.deviceWidth, env.deviceHeight) / 100,
-   CM: 96 / 2.54 * scale,
-   MM: 96 / 25.4 * scale,
-   Q: 96 / 25.4 / 4 * scale,
-   IN: 96 * scale,
-   PT: 96 / 72 * scale,
-   PC: 96 / 6 * scale,
-   PX: scale
- }
+ // const units = {
+ //   REM: 12 * scale,
+ //   VW: viewportInfo.deviceWidth / 100,
+ //   VH: viewportInfo.deviceHeight / 100,
+ //   VMIN: Math.min(viewportInfo.deviceWidth, viewportInfo.deviceHeight) / 100,
+ //   VMAX: Math.max(viewportInfo.deviceWidth, viewportInfo.deviceHeight) / 100,
+ //   CM: 96 / 2.54 * scale,
+ //   MM: 96 / 25.4 * scale,
+ //   Q: 96 / 25.4 / 4 * scale,
+ //   IN: 96 * scale,
+ //   PT: 96 / 72 * scale,
+ //   PC: 96 / 6 * scale,
+ //   PX: scale
+ // }
  
- Object.freeze(units)
+ // Object.freeze(units)
  // Object.freeze(env)
  
- window.CSS_UNIT = units
- window.WXEnvironment = env
+ // window.CSS_UNIT = units
+ window.WXEnvironment = initEnv(initViewport(), window.lib.env)

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/index.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/mixins/base.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/mixins/style.js
----------------------------------------------------------------------
diff --cc html5/render/vue/mixins/style.js
index f7dc13e,1052501..8625537
--- a/html5/render/vue/mixins/style.js
+++ b/html5/render/vue/mixins/style.js
@@@ -1,85 -1,11 +1,29 @@@
 +/*
 + * 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.
 + */
  import {
-   camelizeKeys,
-   hyphenateKeys,
-   extend,
-   trimComment
- } from '../utils'
- import { tagBegin, tagEnd } from '../utils/perf'
- import addPrefix from 'inline-style-prefixer/static'
+   getHeadStyleMap,
+   getComponentStyle,
+   extractComponentStyle
+ } from '../core'
  
- function getHeadStyleMap () {
-   if (process.env.NODE_ENV === 'development') {
-     tagBegin('getHeadStyleMap')
-   }
-   const res = Array.from(document.styleSheets || [])
-     .reduce((pre, styleSheet) => {
-       // why not using styleSheet.rules || styleSheet.cssRules to get css rules ?
-       // because weex's components defined non-standard style attributes, which is
-       // auto ignored when access rule.cssText.
-       const strArr = trimComment(styleSheet.ownerNode.textContent.trim()).split(/}/)
-       const len = strArr.length
-       const rules = []
-       for (let i = 0; i < len; i++) {
-         const str = strArr[i]
-         if (!str || str.match(/^\s*$/)) {
-           continue
-         }
- 
-         const match = str.match(/((?:,?\s*\.[[\]\w-]+\s*)+)({[^}]+)/)
-         if (!match) {
-           // not the vue static class styles map. so acquire no rules for this styleSheet.
-           // just jump through this styleSheet and go to analyzing next.
-           return pre
-         }
-         const clsNms = match[1].split(',').map(n => n.trim())
-         const cssText = match[2].replace(/[{}]/g, '').trim()
-         let clsNmsIdx = 0
-         const clsNmsLen = clsNms.length
-         while (clsNmsIdx < clsNmsLen) {
-           rules.push({
-             selectorText: clsNms[clsNmsIdx],
-             cssText
-           })
-           clsNmsIdx++
-         }
-       }
-       Array.from(rules).forEach(rule => {
-         const selector = rule.selectorText || ''
-         pre[selector] = trimComment(rule.cssText).split(';')
-           .reduce((styleObj, statement) => {
-             statement = statement.trim()
-             if (statement && statement.indexOf('/*') <= -1) {
-               const resArr = statement.split(':').map((part) => part.trim())
-               styleObj[resArr[0]] = resArr[1]
-             }
-             return styleObj
-           }, {})
-       })
-       return pre
-     }, {})
-   if (process.env.NODE_ENV === 'development') {
-     tagEnd('getHeadStyleMap')
-   }
-   return res
- }
+ let warned = false
+ const warnInfo = `[vue-render] after v0.11.3 there's no need to add $processStyle in vue-loader config anymore.`
  
  export default {
    beforeCreate () {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/modules/animation.js
----------------------------------------------------------------------
diff --cc html5/render/vue/modules/animation.js
index 99bc0cb,bfcc159..9efc4ba
--- a/html5/render/vue/modules/animation.js
+++ b/html5/render/vue/modules/animation.js
@@@ -1,22 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
- import { nextFrame, toCSSText } from '../utils'
+ import { nextFrame, toCSSText, autoPrefix, camelizeKeys, normalizeStyle } from '../utils'
  
  function transitionOnce (vnode, config, callback) {
    const duration = config.duration || 1000 // ms

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/modules/dom.js
----------------------------------------------------------------------
diff --cc html5/render/vue/modules/dom.js
index 4b8425a,d290d7d..61f30dd
--- a/html5/render/vue/modules/dom.js
+++ b/html5/render/vue/modules/dom.js
@@@ -1,22 -1,4 +1,22 @@@
 +/*
 + * 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.
 + */
- import { camelToKebab, appendStyle } from '../utils'
+ import { camelToKebab, appendCss } from '../utils'
  
  function getParentScroller (vnode) {
    if (!vnode) return null

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/modules/index.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/modules/modal/index.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/utils/index.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/html5/render/vue/utils/style.js
----------------------------------------------------------------------
diff --cc html5/render/vue/utils/style.js
index 67f0e3a,0dc1879..5d565e1
--- a/html5/render/vue/utils/style.js
+++ b/html5/render/vue/utils/style.js
@@@ -1,24 -1,16 +1,35 @@@
 +/*
 + * 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.
 + */
 +
  // @flow
  
+ import { getViewportInfo } from '../env/viewport'
+ import addPrefix from 'inline-style-prefixer/static/index'
+ 
+ const noUnitsNumberKeys = [
+   'flex',
+   'opacity',
+   'zIndex',
+   'fontWeight',
+   'lines'
+ ]
+ 
  /**
   * remove comments from a cssText.
   */

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b932600a/package.json
----------------------------------------------------------------------
diff --cc package.json
index b2c4fd4,4524d59..30466fd
--- a/package.json
+++ b/package.json
@@@ -3,8 -3,8 +3,13 @@@
    "version": "0.4.0",
    "subversion": {
      "browser": "0.5.0",
++<<<<<<< HEAD
 +    "vue-render": "0.11.2",
 +    "framework": "0.20.3",
++=======
+     "framework": "0.19.17",
+     "vue-render": "0.11.5",
++>>>>>>> 0.11-dev
      "transformer": ">=0.1.5 <0.5"
    },
    "description": "A framework for building Mobile cross-platform UI",