diff --git a/browser/base/content/test/general/browser.ini b/browser/base/content/test/general/browser.ini index db60f751d76..9a20e5d6fa1 100644 --- a/browser/base/content/test/general/browser.ini +++ b/browser/base/content/test/general/browser.ini @@ -117,7 +117,6 @@ run-if = crashreporter [browser_aboutHealthReport.js] skip-if = os == "linux" # Bug 924307 [browser_aboutHome.js] -skip-if = os == "linux" # Bug 945667 [browser_aboutSyncProgress.js] [browser_addKeywordSearch.js] [browser_alltabslistener.js] diff --git a/browser/base/content/test/general/browser_aboutHome.js b/browser/base/content/test/general/browser_aboutHome.js index 10a268bd153..2c2b2e718e2 100644 --- a/browser/base/content/test/general/browser_aboutHome.js +++ b/browser/base/content/test/general/browser_aboutHome.js @@ -89,11 +89,15 @@ let gTests = [ } }, +// Disabled on Linux for intermittent issues with FHR, see Bug 945667. { desc: "Check that performing a search fires a search event and records to " + "Firefox Health Report.", setup: function () { }, run: function () { + // Skip this test on Linux. + if (navigator.platform.indexOf("Linux") == 0) { return; } + try { let cm = Cc["@mozilla.org/categorymanager;1"].getService(Ci.nsICategoryManager); cm.getCategoryEntry("healthreport-js-provider-default", "SearchesProvider"); diff --git a/browser/components/customizableui/test/browser.ini b/browser/components/customizableui/test/browser.ini index 52cc3408c71..9ab2df3d3d1 100644 --- a/browser/components/customizableui/test/browser.ini +++ b/browser/components/customizableui/test/browser.ini @@ -12,6 +12,9 @@ support-files = [browser_880164_customization_context_menus.js] [browser_880382_drag_wide_widgets_in_panel.js] [browser_885052_customize_mode_observers_disabed.js] +# Bug 951403 - Disabled on OSX for frequent failures +skip-if = os == "mac" + [browser_885530_showInPrivateBrowsing.js] [browser_886323_buildArea_removable_nodes.js] [browser_887438_currentset_shim.js] diff --git a/browser/components/search/test/Makefile.in b/browser/components/search/test/Makefile.in index 2de4d46a8dc..b347707a267 100644 --- a/browser/components/search/test/Makefile.in +++ b/browser/components/search/test/Makefile.in @@ -5,14 +5,8 @@ ifdef ENABLE_TESTS pp_mochitest_browser_files := \ browser_google.js \ - $(NULL) - -# This test depends on browser_aboutHome.js, which was disabled (bug 945667) -ifndef MOZ_WIDGET_GTK -pp_mochitest_browser_files += \ browser_google_behavior.js \ $(NULL) -endif pp_mochitest_browser_files_PATH := $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir) pp_mochitest_browser_files_FLAGS := -DMOZ_DISTRIBUTION_ID=$(MOZ_DISTRIBUTION_ID) diff --git a/browser/themes/linux/Toolbar-inverted.png b/browser/themes/linux/Toolbar-inverted.png index b42fd7475db..cea3d079b96 100644 Binary files a/browser/themes/linux/Toolbar-inverted.png and b/browser/themes/linux/Toolbar-inverted.png differ diff --git a/browser/themes/linux/Toolbar.png b/browser/themes/linux/Toolbar.png index 687cc1b3dad..673af6d9b6b 100644 Binary files a/browser/themes/linux/Toolbar.png and b/browser/themes/linux/Toolbar.png differ diff --git a/browser/themes/osx/Toolbar-inverted.png b/browser/themes/osx/Toolbar-inverted.png index b09decd7a34..31902989739 100644 Binary files a/browser/themes/osx/Toolbar-inverted.png and b/browser/themes/osx/Toolbar-inverted.png differ diff --git a/browser/themes/osx/Toolbar-inverted@2x.png b/browser/themes/osx/Toolbar-inverted@2x.png index 45476104303..f50ef056cf8 100644 Binary files a/browser/themes/osx/Toolbar-inverted@2x.png and b/browser/themes/osx/Toolbar-inverted@2x.png differ diff --git a/browser/themes/osx/Toolbar.png b/browser/themes/osx/Toolbar.png index 60261520e9b..6f04fff83e7 100644 Binary files a/browser/themes/osx/Toolbar.png and b/browser/themes/osx/Toolbar.png differ diff --git a/browser/themes/osx/Toolbar@2x.png b/browser/themes/osx/Toolbar@2x.png index 88ff4569ee3..616e85f3b39 100644 Binary files a/browser/themes/osx/Toolbar@2x.png and b/browser/themes/osx/Toolbar@2x.png differ diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css index 62f16b9d67b..eada9de1c8b 100644 --- a/browser/themes/osx/browser.css +++ b/browser/themes/osx/browser.css @@ -467,6 +467,10 @@ toolbar .toolbarbutton-1:not([type="menu-button"]), -moz-image-region: rect(18px, 630px, 36px, 612px); } + #bookmarks-menu-button[cui-areatype="toolbar"][open] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + -moz-image-region: rect(36px, 630px, 54px, 612px); + } + #history-panelmenu@toolbarButtonPressed@ { -moz-image-region: rect(18px, 180px, 36px, 162px); } @@ -475,7 +479,6 @@ toolbar .toolbarbutton-1:not([type="menu-button"]), -moz-image-region: rect(36px, 180px, 54px, 162px); } - #downloads-indicator@toolbarButtonPressed@, #downloads-button@toolbarButtonPressed@ { -moz-image-region: rect(18px, 198px, 36px, 180px); } @@ -671,6 +674,10 @@ toolbar .toolbarbutton-1:not([type="menu-button"]), -moz-image-region: rect(36px, 1260px, 72px, 1224px); } + #bookmarks-menu-button[cui-areatype="toolbar"][open] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + -moz-image-region: rect(72px, 1260px, 108px, 1224px); + } + #history-panelmenu[cui-areatype="toolbar"] { -moz-image-region: rect(0, 360px, 36px, 324px); } @@ -683,12 +690,10 @@ toolbar .toolbarbutton-1:not([type="menu-button"]), -moz-image-region: rect(72px, 360px, 108px, 324px); } - #downloads-indicator[cui-areatype="toolbar"], #downloads-button[cui-areatype="toolbar"] { -moz-image-region: rect(0, 396px, 36px, 360px); } - #downloads-indicator[cui-areatype="toolbar"]:hover:active:not([disabled="true"]), #downloads-button[cui-areatype="toolbar"]:hover:active:not([disabled="true"]) { -moz-image-region: rect(36px, 396px, 72px, 360px); } @@ -941,7 +946,6 @@ toolbar .toolbarbutton-1:not([type="menu-button"]), } #downloads-button[cui-areatype="menu-panel"], - #downloads-indicator[cui-areatype="menu-panel"], toolbarpaletteitem[place="palette"] > #downloads-button { -moz-image-region: rect(0px, 512px, 64px, 448px); } @@ -1916,6 +1920,11 @@ richlistitem[type~="action"][actiontype="switchtab"][selected="true"] > .ac-url- } #bookmarks-menu-button[cui-areatype="toolbar"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { + width: 18px; + height: 18px; +} + +#bookmarks-menu-button[cui-areatype="toolbar"].bookmark-item > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { width: 16px; height: 16px; } diff --git a/browser/themes/shared/menupanel.inc.css b/browser/themes/shared/menupanel.inc.css index 9b11795cf9d..3b41abb371b 100644 --- a/browser/themes/shared/menupanel.inc.css +++ b/browser/themes/shared/menupanel.inc.css @@ -25,7 +25,6 @@ toolbarpaletteitem[place="palette"] > #history-panelmenu { } #downloads-button[cui-areatype="menu-panel"], -#downloads-indicator[cui-areatype="menu-panel"], toolbarpaletteitem[place="palette"] > #downloads-button { -moz-image-region: rect(0px, 256px, 32px, 224px); } diff --git a/browser/themes/windows/Toolbar-aero.png b/browser/themes/windows/Toolbar-aero.png index 14a90c27b49..ff7c8ccce48 100644 Binary files a/browser/themes/windows/Toolbar-aero.png and b/browser/themes/windows/Toolbar-aero.png differ diff --git a/browser/themes/windows/Toolbar-inverted-aero.png b/browser/themes/windows/Toolbar-inverted-aero.png index b42fd7475db..cea3d079b96 100644 Binary files a/browser/themes/windows/Toolbar-inverted-aero.png and b/browser/themes/windows/Toolbar-inverted-aero.png differ diff --git a/browser/themes/windows/Toolbar-inverted.png b/browser/themes/windows/Toolbar-inverted.png index b42fd7475db..cea3d079b96 100644 Binary files a/browser/themes/windows/Toolbar-inverted.png and b/browser/themes/windows/Toolbar-inverted.png differ diff --git a/browser/themes/windows/Toolbar-lunaSilver.png b/browser/themes/windows/Toolbar-lunaSilver.png index 668f8c108f7..97255457aa7 100644 Binary files a/browser/themes/windows/Toolbar-lunaSilver.png and b/browser/themes/windows/Toolbar-lunaSilver.png differ diff --git a/browser/themes/windows/Toolbar.png b/browser/themes/windows/Toolbar.png index 687cc1b3dad..673af6d9b6b 100644 Binary files a/browser/themes/windows/Toolbar.png and b/browser/themes/windows/Toolbar.png differ diff --git a/mobile/android/base/BrowserApp.java b/mobile/android/base/BrowserApp.java index 46c81219a01..b527f4cdcbf 100644 --- a/mobile/android/base/BrowserApp.java +++ b/mobile/android/base/BrowserApp.java @@ -1631,9 +1631,9 @@ abstract public class BrowserApp extends GeckoApp @Override public void onLocaleReady(final String locale) { super.onLocaleReady(locale); - if (isHomePagerVisible()) { - // Blow it away and rebuild it with the right strings. - mHomePager.redisplay(getSupportLoaderManager(), getSupportFragmentManager()); + + if (mHomePager != null) { + mHomePager.invalidate(getSupportLoaderManager(), getSupportFragmentManager()); } if (mMenu != null) { @@ -1852,7 +1852,7 @@ abstract public class BrowserApp extends GeckoApp */ private void addAddonMenuItemToMenu(final Menu menu, final MenuItemInfo info) { info.added = true; - + final Menu destination; if (info.parent == 0) { destination = menu; @@ -2016,8 +2016,11 @@ abstract public class BrowserApp extends GeckoApp @Override public void openOptionsMenu() { - if (!hasTabsSideBar() && areTabsShown()) + // Disable menu access in edge cases only accessible to hardware menu buttons. + if ((!hasTabsSideBar() && areTabsShown()) || + mBrowserToolbar.isEditing()) { return; + } // Scroll custom menu to the top if (mMenuPanel != null) @@ -2476,7 +2479,7 @@ abstract public class BrowserApp extends GeckoApp @Override public void onNewTabs(String[] urls) { final EnumSet flags = EnumSet.of(OnUrlOpenListener.Flags.ALLOW_SWITCH_TO_TAB); - + for (String url : urls) { if (!maybeSwitchToTab(url, flags)) { openUrlAndStopEditing(url, true); diff --git a/mobile/android/base/GeckoApp.java b/mobile/android/base/GeckoApp.java index 3dc6fbb0c9c..74d4dfe43df 100644 --- a/mobile/android/base/GeckoApp.java +++ b/mobile/android/base/GeckoApp.java @@ -398,7 +398,7 @@ public abstract class GeckoApp return mMenuPanel; } - + return super.onCreatePanelView(featureId); } diff --git a/mobile/android/base/TextSelection.java b/mobile/android/base/TextSelection.java index 40595951873..983c43ad47c 100644 --- a/mobile/android/base/TextSelection.java +++ b/mobile/android/base/TextSelection.java @@ -124,6 +124,9 @@ class TextSelection extends Layer implements GeckoEventListener { if (mActionModeTimerTask != null) mActionModeTimerTask.cancel(); showActionMode(message.getJSONArray("actions")); + + if (handles.length() > 1) + GeckoAppShell.performHapticFeedback(true); } else if (event.equals("TextSelection:Update")) { if (mActionModeTimerTask != null) mActionModeTimerTask.cancel(); diff --git a/mobile/android/base/home/HomePager.java b/mobile/android/base/home/HomePager.java index 520dbc4fa0d..cb61d72aa6f 100644 --- a/mobile/android/base/home/HomePager.java +++ b/mobile/android/base/home/HomePager.java @@ -47,6 +47,9 @@ public class HomePager extends ViewPager { private String mInitialPageId; + // Whether or not we need to restart the loader when we show the HomePager. + private boolean mRestartLoader; + // This is mostly used by UI tests to easily fetch // specific list views at runtime. static final String LIST_TAG_HISTORY = "history"; @@ -154,7 +157,20 @@ public class HomePager extends ViewPager { super.addView(child, index, params); } - public void redisplay(LoaderManager lm, FragmentManager fm) { + /** + * Invalidates the current configuration, redisplaying the HomePager if necessary. + */ + public void invalidate(LoaderManager lm, FragmentManager fm) { + // We need to restart the loader to load the new strings. + mRestartLoader = true; + + // If the HomePager is currently visible, redisplay it with the new strings. + if (isVisible()) { + redisplay(lm, fm); + } + } + + private void redisplay(LoaderManager lm, FragmentManager fm) { final HomeAdapter adapter = (HomeAdapter) getAdapter(); // If mInitialPageId is non-null, this means the HomePager hasn't @@ -193,8 +209,13 @@ public class HomePager extends ViewPager { // list of pages in place. mTabStrip.setVisibility(View.INVISIBLE); - // Load list of pages from configuration - lm.initLoader(LOADER_ID_CONFIG, null, mConfigLoaderCallbacks); + // Load list of pages from configuration. Restart the loader if necessary. + if (mRestartLoader) { + lm.restartLoader(LOADER_ID_CONFIG, null, mConfigLoaderCallbacks); + mRestartLoader = false; + } else { + lm.initLoader(LOADER_ID_CONFIG, null, mConfigLoaderCallbacks); + } if (shouldAnimate) { animator.addPropertyAnimationListener(new PropertyAnimator.PropertyAnimationListener() { diff --git a/toolkit/content/tests/browser/browser.ini b/toolkit/content/tests/browser/browser.ini index 7996e69d04d..f2669a4efc0 100644 --- a/toolkit/content/tests/browser/browser.ini +++ b/toolkit/content/tests/browser/browser.ini @@ -5,7 +5,6 @@ [browser_bug594509.js] [browser_default_image_filename.js] [browser_findbar.js] -skip-if = os == "linux" # Bug 945667 [browser_input_file_tooltips.js] [browser_keyevents_during_autoscrolling.js] [browser_save_resend_postdata.js]