Merge mozilla-central and fx-team
authorEd Morley <emorley@mozilla.com>
Fri, 03 Oct 2014 15:15:58 +0100
changeset 231931 649217a03879447535e6c8ebef3756e0f42236a1
parent 231866 388e101e75c826f64aa3fb0de4b7fcf1faadcbbf (current diff)
parent 231930 ab146717125b693e77f8de5cd4308dd4aa525086 (diff)
child 231932 4339077e7826b456717a0a2a115812914b55a85f
push id4187
push userbhearsum@mozilla.com
push dateFri, 28 Nov 2014 15:29:12 +0000
treeherdermozilla-beta@f23cc6a30c11 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone35.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge mozilla-central and fx-team
mobile/android/base/resources/color-large-v11/new_tablet_tab_strip_item_title.xml
mobile/android/base/resources/drawable-hdpi-v11/ic_menu_back.png
mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_default_favicon.png
mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_back.png
mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_forward.png
mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_reload.png
mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_menu.png
mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_tabs_count.png
mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_tabs_count_foreground.png
mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_default_favicon.png
mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_back.png
mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_forward.png
mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_reload.png
mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_menu.png
mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_tabs_count.png
mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_tabs_count_foreground.png
mobile/android/base/resources/drawable-large-v11/new_tablet_tab_strip_divider.xml
mobile/android/base/resources/drawable-large-v11/new_tablet_tab_strip_item_bg.xml
mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_default_favicon.png
mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_back.png
mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_forward.png
mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_reload.png
mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_menu.png
mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_tabs_count.png
mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_tabs_count_foreground.png
mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_default_favicon.png
mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_back.png
mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_forward.png
mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_reload.png
mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_menu.png
mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_tabs_count.png
mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_tabs_count_foreground.png
mobile/android/base/resources/drawable-mdpi-v11/ic_menu_back.png
mobile/android/base/resources/drawable-xhdpi-v11/ic_menu_back.png
mobile/android/base/resources/layout-large-v11/new_tablet_browser_toolbar.xml
mobile/android/base/resources/layout-large-v11/new_tablet_tab_strip.xml
mobile/android/base/resources/layout-large-v11/new_tablet_tabs_counter.xml
mobile/android/base/resources/layout-large-v11/tab_strip.xml
mobile/android/base/resources/layout-large-v11/tab_strip_item.xml
mobile/android/base/resources/layout-large-v11/tab_strip_item_view.xml
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -247,16 +247,21 @@ toolbar[customizing] > .overflow-button 
 %ifdef XP_WIN
 #main-window[sizemode="maximized"] #titlebar-buttonbox {
   -moz-appearance: -moz-window-button-box-maximized;
 }
 %endif
 
 %endif
 
+#main-window[inFullscreen] #global-notificationbox,
+#main-window[inFullscreen] #high-priority-global-notificationbox {
+  visibility: collapse;
+}
+
 /* Rules to help integrate SDK widgets */
 toolbaritem[sdkstylewidget="true"] > toolbarbutton,
 toolbarpaletteitem > toolbaritem[sdkstylewidget="true"] > iframe,
 toolbarpaletteitem > toolbaritem[sdkstylewidget="true"] > .toolbarbutton-text {
   display: none;
 }
 
 toolbarpaletteitem:-moz-any([place="palette"], [place="panel"]) > toolbaritem[sdkstylewidget="true"] > toolbarbutton {
--- a/configure.in
+++ b/configure.in
@@ -3844,16 +3844,17 @@ MOZ_USE_NATIVE_POPUP_WINDOWS=
 MOZ_ANDROID_HISTORY=
 MOZ_WEBSMS_BACKEND=
 MOZ_ANDROID_BEAM=
 MOZ_LOCALE_SWITCHER=
 MOZ_ANDROID_SEARCH_ACTIVITY=
 MOZ_ANDROID_DOWNLOADS_INTEGRATION=
 MOZ_ANDROID_MLS_STUMBLER=
 MOZ_ANDROID_SHARE_OVERLAY=
+MOZ_ANDROID_NEW_TABLET_UI=
 ACCESSIBILITY=1
 MOZ_TIME_MANAGER=
 MOZ_PAY=
 MOZ_AUDIO_CHANNEL_MANAGER=
 NSS_NO_LIBPKIX=
 MOZ_CONTENT_SANDBOX=
 MOZ_GMP_SANDBOX=
 MOZ_SANDBOX=1
@@ -4904,16 +4905,24 @@ fi
 dnl ========================================================
 dnl = Include share overlay on Android
 dnl ========================================================
 if test -n "$MOZ_ANDROID_SHARE_OVERLAY"; then
     AC_DEFINE(MOZ_ANDROID_SHARE_OVERLAY)
 fi
 
 dnl ========================================================
+dnl = Include New Tablet UI on Android
+dnl = Temporary build flag to allow development in Nightly
+dnl ========================================================
+if test -n "$MOZ_ANDROID_NEW_TABLET_UI"; then
+    AC_DEFINE(MOZ_ANDROID_NEW_TABLET_UI)
+fi
+
+dnl ========================================================
 dnl = Enable IPDL's "expensive" unit tests
 dnl ========================================================
 MOZ_IPDL_TESTS=
 
 MOZ_ARG_ENABLE_BOOL(ipdl-tests,
 [  --enable-ipdl-tests     Enable expensive IPDL tests],
     MOZ_IPDL_TESTS=1,
     MOZ_IPDL_TESTS=)
@@ -8512,16 +8521,17 @@ AC_SUBST(MOZ_METRO)
 
 AC_SUBST(MOZ_ANDROID_HISTORY)
 AC_SUBST(MOZ_WEBSMS_BACKEND)
 AC_SUBST(MOZ_ANDROID_BEAM)
 AC_SUBST(MOZ_LOCALE_SWITCHER)
 AC_SUBST(MOZ_DISABLE_GECKOVIEW)
 AC_SUBST(MOZ_ANDROID_SEARCH_ACTIVITY)
 AC_SUBST(MOZ_ANDROID_SHARE_OVERLAY)
+AC_SUBST(MOZ_ANDROID_NEW_TABLET_UI)
 AC_SUBST(MOZ_ANDROID_MLS_STUMBLER)
 AC_SUBST(MOZ_ANDROID_DOWNLOADS_INTEGRATION)
 AC_SUBST(ENABLE_STRIP)
 AC_SUBST(PKG_SKIP_STRIP)
 AC_SUBST(STRIP_FLAGS)
 AC_SUBST(USE_ELF_HACK)
 AC_SUBST(INCREMENTAL_LINKER)
 AC_SUBST(MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS)
--- a/mobile/android/base/favicons/Favicons.java
+++ b/mobile/android/base/favicons/Favicons.java
@@ -404,17 +404,17 @@ public class Favicons {
                 isNewTabletEnabled ? R.drawable.new_tablet_default_favicon : R.drawable.favicon;
         defaultFavicon = BitmapFactory.decodeResource(res, defaultFaviconDrawableID);
         if (defaultFavicon == null) {
             throw new IllegalStateException("Null default favicon was returned from the resources system!");
         }
 
         // TODO: Remove this branch when old tablet is removed.
         final int defaultFaviconSizeDimenID =
-                isNewTabletEnabled ? R.dimen.tab_strip_favicon_size : R.dimen.favicon_bg;
+                isNewTabletEnabled ? R.dimen.new_tablet_tab_strip_favicon_size : R.dimen.favicon_bg;
         defaultFaviconSize = res.getDimensionPixelSize(defaultFaviconSizeDimenID);
 
         // Screen-density-adjusted upper limit on favicon size. Favicons larger than this are
         // downscaled to this size or discarded.
         largestFaviconSize = context.getResources().getDimensionPixelSize(R.dimen.favicon_largest_interesting_size);
         faviconsCache = new FaviconCache(FAVICON_CACHE_SIZE_BYTES, largestFaviconSize);
 
         // Initialize page mappings for each of our special pages.
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -395,20 +395,16 @@ gbjar.sources += [
     'tabs/RemoteTabsSetupPanel.java',
     'tabs/RemoteTabsVerificationPanel.java',
     'tabs/TabCurve.java',
     'tabs/TabsGridLayout.java',
     'tabs/TabsLayoutAdapter.java',
     'tabs/TabsLayoutItemView.java',
     'tabs/TabsListLayout.java',
     'tabs/TabsPanel.java',
-    'tabs/TabStrip.java',
-    'tabs/TabStripAdapter.java',
-    'tabs/TabStripItemView.java',
-    'tabs/TabStripView.java',
     'TabsAccessor.java',
     'Telemetry.java',
     'TelemetryContract.java',
     'TextSelection.java',
     'TextSelectionHandle.java',
     'ThumbnailHelper.java',
     'toolbar/AutocompleteHandler.java',
     'toolbar/BackButton.java',
@@ -508,16 +504,30 @@ if CONFIG['MOZ_ANDROID_SHARE_OVERLAY']:
         'overlays/ui/OverlayDialogButton.java',
         'overlays/ui/OverlayToastHelper.java',
         'overlays/ui/SendTabDeviceListArrayAdapter.java',
         'overlays/ui/SendTabList.java',
         'overlays/ui/SendTabTargetSelectedListener.java',
         'overlays/ui/ShareDialog.java',
     ]
 
+if (CONFIG['MOZ_ANDROID_MAX_SDK_VERSION']):
+    max_sdk_version = int(CONFIG['MOZ_ANDROID_MAX_SDK_VERSION'])
+else:
+    max_sdk_version = 999
+
+if CONFIG['MOZ_ANDROID_NEW_TABLET_UI'] and max_sdk_version >= 11:
+    gbjar.sources += [
+        'tabs/TabStrip.java',
+        'tabs/TabStripAdapter.java',
+        'tabs/TabStripItemView.java',
+        'tabs/TabStripView.java'
+    ]
+    ANDROID_RES_DIRS += [ SRCDIR + '/newtablet/res' ]
+
 gbjar.sources += sync_java_files
 gbjar.generated_sources += sync_generated_java_files
 gbjar.extra_jars = [
     'gecko-R.jar',
     'gecko-mozglue.jar',
     'gecko-thirdparty.jar',
     'gecko-util.jar',
     'sync-thirdparty.jar',
@@ -614,17 +624,18 @@ ANDROID_RES_DIRS += [
 
 ANDROID_GENERATED_RESFILES += [
     'res/raw/suggestedsites.json',
     'res/values/strings.xml',
 ]
 
 for var in ('MOZ_ANDROID_ANR_REPORTER', 'MOZ_LINKER_EXTRACT', 'MOZILLA_OFFICIAL', 'MOZ_DEBUG',
             'MOZ_ANDROID_SEARCH_ACTIVITY', 'MOZ_NATIVE_DEVICES', 'MOZ_ANDROID_MLS_STUMBLER',
-            'MOZ_ANDROID_SHARE_OVERLAY', 'MOZ_ANDROID_DOWNLOADS_INTEGRATION'):
+            'MOZ_ANDROID_SHARE_OVERLAY', 'MOZ_ANDROID_DOWNLOADS_INTEGRATION',
+            'MOZ_ANDROID_NEW_TABLET_UI'):
     if CONFIG[var]:
         DEFINES[var] = 1
 
 for var in ('MOZ_UPDATER', 'MOZ_PKG_SPECIAL'):
     if CONFIG[var]:
         DEFINES[var] = CONFIG[var]
 
 for var in ('ANDROID_PACKAGE_NAME', 'ANDROID_CPU_ARCH', 'CPU_ARCH',
rename from mobile/android/base/resources/color-large-v11/new_tablet_tab_strip_item_title.xml
rename to mobile/android/base/newtablet/res/color-large-v11/new_tablet_tab_strip_item_title.xml
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_default_favicon.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_default_favicon.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_back.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_ic_menu_back.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_forward.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_ic_menu_forward.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_reload.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_ic_menu_reload.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_menu.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_menu.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_tabs_count.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_tabs_count.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_tabs_count_foreground.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_tabs_count_foreground.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_default_favicon.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_default_favicon.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_back.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_ic_menu_back.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_forward.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_ic_menu_forward.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_reload.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_ic_menu_reload.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_menu.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_menu.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_tabs_count.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_tabs_count.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_tabs_count_foreground.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_tabs_count_foreground.png
rename from mobile/android/base/resources/drawable-large-v11/new_tablet_tab_strip_divider.xml
rename to mobile/android/base/newtablet/res/drawable-large-v11/new_tablet_tab_strip_divider.xml
rename from mobile/android/base/resources/drawable-large-v11/new_tablet_tab_strip_item_bg.xml
rename to mobile/android/base/newtablet/res/drawable-large-v11/new_tablet_tab_strip_item_bg.xml
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_default_favicon.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_default_favicon.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_back.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_ic_menu_back.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_forward.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_ic_menu_forward.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_reload.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_ic_menu_reload.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_menu.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_menu.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_tabs_count.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_tabs_count.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_tabs_count_foreground.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_tabs_count_foreground.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_default_favicon.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_default_favicon.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_back.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_ic_menu_back.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_forward.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_ic_menu_forward.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_reload.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_ic_menu_reload.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_menu.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_menu.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_tabs_count.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_tabs_count.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_tabs_count_foreground.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_tabs_count_foreground.png
rename from mobile/android/base/resources/layout-large-v11/new_tablet_browser_toolbar.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/new_tablet_browser_toolbar.xml
rename from mobile/android/base/resources/layout-large-v11/new_tablet_tab_strip.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/new_tablet_tab_strip.xml
rename from mobile/android/base/resources/layout-large-v11/new_tablet_tabs_counter.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/new_tablet_tabs_counter.xml
rename from mobile/android/base/resources/layout-large-v11/tab_strip.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/tab_strip.xml
rename from mobile/android/base/resources/layout-large-v11/tab_strip_item.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/tab_strip_item.xml
rename from mobile/android/base/resources/layout-large-v11/tab_strip_item_view.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/tab_strip_item_view.xml
--- a/mobile/android/base/resources/layout-large-v11/tab_strip_item_view.xml
+++ b/mobile/android/base/newtablet/res/layout-large-v11/tab_strip_item_view.xml
@@ -3,17 +3,17 @@
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <merge xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:gecko="http://schemas.android.com/apk/res-auto">
 
    <ImageView
         android:id="@+id/favicon"
-        android:layout_width="@dimen/tab_strip_favicon_size"
+        android:layout_width="@dimen/new_tablet_tab_strip_favicon_size"
         android:layout_height="match_parent"
         android:layout_marginRight="9dp"
         android:scaleType="centerInside"
         android:duplicateParentState="true"/>
 
     <org.mozilla.gecko.widget.FadedTextView
         android:id="@+id/title"
         android:layout_width="0dip"
rename from mobile/android/base/resources/drawable-hdpi-v11/ic_menu_back.png
rename to mobile/android/base/resources/drawable-hdpi/ic_menu_back.png
rename from mobile/android/base/resources/drawable-mdpi-v11/ic_menu_back.png
rename to mobile/android/base/resources/drawable-mdpi/ic_menu_back.png
rename from mobile/android/base/resources/drawable-xhdpi-v11/ic_menu_back.png
rename to mobile/android/base/resources/drawable-xhdpi/ic_menu_back.png
copy from mobile/android/base/resources/values/layout.xml
copy to mobile/android/base/resources/drawable/new_tablet_default_favicon.xml
--- a/mobile/android/base/resources/values/layout.xml
+++ b/mobile/android/base/resources/drawable/new_tablet_default_favicon.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-<resources>
-    <item type="layout" name="tabs_layout_item_view">@layout/tabs_item_row</item>
-</resources>
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+        android:src="@null"/>
copy from mobile/android/base/resources/values/layout.xml
copy to mobile/android/base/resources/drawable/new_tablet_ic_menu_forward.xml
--- a/mobile/android/base/resources/values/layout.xml
+++ b/mobile/android/base/resources/drawable/new_tablet_ic_menu_forward.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-<resources>
-    <item type="layout" name="tabs_layout_item_view">@layout/tabs_item_row</item>
-</resources>
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+        android:src="@null"/>
copy from mobile/android/base/resources/values/layout.xml
copy to mobile/android/base/resources/drawable/new_tablet_ic_menu_reload.xml
--- a/mobile/android/base/resources/values/layout.xml
+++ b/mobile/android/base/resources/drawable/new_tablet_ic_menu_reload.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-<resources>
-    <item type="layout" name="tabs_layout_item_view">@layout/tabs_item_row</item>
-</resources>
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+        android:src="@null"/>
copy from mobile/android/base/resources/values/layout.xml
copy to mobile/android/base/resources/drawable/new_tablet_tabs_count.xml
--- a/mobile/android/base/resources/values/layout.xml
+++ b/mobile/android/base/resources/drawable/new_tablet_tabs_count.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-<resources>
-    <item type="layout" name="tabs_layout_item_view">@layout/tabs_item_row</item>
-</resources>
+<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
+        android:src="@null"/>
--- a/mobile/android/base/resources/values-large-v11/dimens.xml
+++ b/mobile/android/base/resources/values-large-v11/dimens.xml
@@ -7,19 +7,12 @@
 
     <dimen name="browser_toolbar_height">56dp</dimen>
     <dimen name="browser_toolbar_button_padding">16dp</dimen>
 
     <!-- If you update one of these values, update the other. -->
     <dimen name="back_button_width">42dp</dimen>
     <dimen name="back_button_width_half">21dp</dimen>
 
-    <dimen name="forward_default_offset">-13dip</dimen>
-    <dimen name="new_tablet_forward_default_offset">-6dp</dimen>
-
-    <dimen name="new_tablet_browser_toolbar_menu_item_padding">19dp</dimen>
-
     <dimen name="tabs_counter_size">26sp</dimen>
     <dimen name="panel_grid_view_column_width">200dp</dimen>
 
-    <dimen name="tab_strip_favicon_size">16dp</dimen>
-
 </resources>
--- a/mobile/android/base/resources/values-large-v11/themes.xml
+++ b/mobile/android/base/resources/values-large-v11/themes.xml
@@ -9,13 +9,14 @@
         Base application theme. This could be overridden by GeckoBaseTheme
         in other res/values-XXX/themes.xml.
     -->
     <style name="GeckoBase" parent="@android:style/Theme.Holo.Light">
         <item name="android:windowContentOverlay">@null</item>
         <item name="android:windowActionBar">false</item>
         <item name="android:windowNoTitle">true</item>
         <item name="arrowPopupWidth">400dp</item>
+        <item name="menuItemActionBarStyleNewTablet">@style/Widget.MenuItemActionBar.NewTablet</item>
     </style>
 
     <style name="GeckoStartPane" parent="Gecko.Dialog"/>
     
 </resources>
--- a/mobile/android/base/resources/values/dimens.xml
+++ b/mobile/android/base/resources/values/dimens.xml
@@ -15,16 +15,20 @@
     <!-- favicon_size includes 4dp of right padding. We can't use margin (which would allow us to
          specify the actual size) because that would decrease the size of our hit target. -->
     <dimen name="browser_toolbar_favicon_size">21.33dip</dimen>
     <dimen name="browser_toolbar_shadow_size">2dp</dimen>
 
     <dimen name="new_tablet_tab_strip_height">48dp</dimen>
     <dimen name="new_tablet_tab_strip_item_width">250dp</dimen>
     <dimen name="new_tablet_tab_strip_item_margin">-30dp</dimen>
+    <dimen name="new_tablet_tab_strip_favicon_size">-30dp</dimen>
+    <dimen name="new_tablet_forward_default_offset">-6dp</dimen>
+    <dimen name="new_tablet_browser_toolbar_menu_item_padding">19dp</dimen>
+    <dimen name="forward_default_offset">-13dip</dimen>
 
     <!-- Dimensions used by Favicons and FaviconView -->
     <dimen name="favicon_size_small">16dp</dimen>
     <dimen name="favicon_size_large">32dp</dimen>
     <dimen name="favicon_bg">32dp</dimen>
     <dimen name="favicon_bg_radius">1dp</dimen>
     <!-- Set the upper limit on the size of favicon that will be processed. Favicons larger than
          this will be downscaled to this value. If you need to use larger Favicons (Due to a UI
--- a/mobile/android/base/resources/values/ids.xml
+++ b/mobile/android/base/resources/values/ids.xml
@@ -2,10 +2,11 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <resources>
 
     <item type="id" name="guestNotification"/>
     <item type="id" name="original_height"/>
+    <item type="id" name="menu_items"/>
 
 </resources>
--- a/mobile/android/base/resources/values/layout.xml
+++ b/mobile/android/base/resources/values/layout.xml
@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <resources>
     <item type="layout" name="tabs_layout_item_view">@layout/tabs_item_row</item>
+    <item type="layout" name="new_tablet_browser_toolbar">@null</item>
+    <item type="layout" name="new_tablet_tab_strip">@null</item>
 </resources>
--- a/mobile/android/base/resources/values/themes.xml
+++ b/mobile/android/base/resources/values/themes.xml
@@ -88,17 +88,16 @@
         <item name="android:spinnerStyle">@style/Widget.Spinner</item>
         <item name="android:windowBackground">@android:color/white</item>
         <item name="bookmarksListViewStyle">@style/Widget.BookmarksListView</item>
         <item name="floatingHintEditTextStyle">@style/FloatingHintEditText</item>
         <item name="tabGridLayoutViewStyle">@style/Widget.TabsGridLayout</item>
         <item name="geckoMenuListViewStyle">@style/Widget.GeckoMenuListView</item>
         <item name="homeListViewStyle">@style/Widget.HomeListView</item>
         <item name="menuItemActionBarStyle">@style/Widget.MenuItemActionBar</item>
-        <item name="menuItemActionBarStyleNewTablet">@style/Widget.MenuItemActionBar.NewTablet</item>
         <item name="menuItemActionModeStyle">@style/GeckoActionBar.Button</item>
         <item name="menuItemShareActionButtonStyle">@style/Widget.MenuItemSecondaryActionBar</item>
         <item name="panelGridViewStyle">@style/Widget.PanelGridView</item>
         <item name="topSitesGridItemViewStyle">@style/Widget.TopSitesGridItemView</item>
         <item name="topSitesGridViewStyle">@style/Widget.TopSitesGridView</item>
         <item name="topSitesThumbnailViewStyle">@style/Widget.TopSitesThumbnailView</item>
     </style>
 
--- a/mobile/android/base/tabs/TabStripItemView.java
+++ b/mobile/android/base/tabs/TabStripItemView.java
@@ -64,17 +64,17 @@ public class TabStripItemView extends Th
         tabClipRegion = new Region();
 
         tabPaint = new Paint();
         tabPaint.setAntiAlias(true);
         tabPaint.setColor(0xFFFF0000);
         tabPaint.setStrokeWidth(0.0f);
         tabPaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
 
-        faviconSize = getResources().getDimensionPixelSize(R.dimen.tab_strip_favicon_size);
+        faviconSize = getResources().getDimensionPixelSize(R.dimen.new_tablet_tab_strip_favicon_size);
 
         LayoutInflater.from(context).inflate(R.layout.tab_strip_item_view, this);
         setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 if (id < 0) {
                     throw new IllegalStateException("Invalid tab id:" + id);
                 }
--- a/mobile/android/confvars.sh
+++ b/mobile/android/confvars.sh
@@ -76,16 +76,22 @@ MOZ_WEBGL_CONFORMANT=1
 
 # Enable the Search Activity in nightly.
 if test "$NIGHTLY_BUILD"; then
   MOZ_ANDROID_SEARCH_ACTIVITY=1
 else
   MOZ_ANDROID_SEARCH_ACTIVITY=
 fi
 
+# Enable the new tablet UI in pre-release builds
+# if the max Android sdk is undefined or at least 11.
+if test ! "$RELEASE_BUILD"; then
+  MOZ_ANDROID_NEW_TABLET_UI=1
+fi
+
 # Enable the share handler in pre-release builds.
 if test ! "$RELEASE_BUILD"; then
   MOZ_ANDROID_SHARE_OVERLAY=1
 fi
 
 # Enable the Mozilla Location Service stumbler in Nightly.
 if test "$NIGHTLY_BUILD"; then
   MOZ_ANDROID_MLS_STUMBLER=1