From 1c159bf4dc4885e85bcff4099168a35b18848a92 Mon Sep 17 00:00:00 2001 From: Leorize Date: Mon, 24 Sep 2018 08:26:53 +0700 Subject: gfx: add pref for enabling APZ without e10s --- gfx/thebes/gfxPlatform.cpp | 10 +++++----- gfx/thebes/gfxPrefs.h | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'gfx') diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp index d5af16a19..65227a8a7 100644 --- a/gfx/thebes/gfxPlatform.cpp +++ b/gfx/thebes/gfxPlatform.cpp @@ -2380,13 +2380,13 @@ gfxPlatform::AsyncPanZoomEnabled() { #if !defined(MOZ_WIDGET_ANDROID) && !defined(MOZ_WIDGET_UIKIT) // For XUL applications (everything but Firefox on Android) we only want - // to use APZ when E10S is enabled. If we ever get input events off the - // main thread we can consider relaxing this requirement. - if (!BrowserTabsRemoteAutostart()) { + // to use APZ when E10S is enabled or when the user explicitly enable it. + if (BrowserTabsRemoteAutostart() || gfxPrefs::APZDesktopEnabled()) { + return gfxPrefs::AsyncPanZoomEnabledDoNotUseDirectly(); + } else { return false; } -#endif -#ifdef MOZ_WIDGET_ANDROID +#elif defined(MOZ_WIDGET_ANDROID) return true; #else return gfxPrefs::AsyncPanZoomEnabledDoNotUseDirectly(); diff --git a/gfx/thebes/gfxPrefs.h b/gfx/thebes/gfxPrefs.h index 359a258c7..1253fdb48 100644 --- a/gfx/thebes/gfxPrefs.h +++ b/gfx/thebes/gfxPrefs.h @@ -310,6 +310,7 @@ private: DECL_GFX_PREF(Live, "apz.y_stationary_size_multiplier", APZYStationarySizeMultiplier, float, 3.5f); DECL_GFX_PREF(Live, "apz.zoom_animation_duration_ms", APZZoomAnimationDuration, int32_t, 250); DECL_GFX_PREF(Live, "apz.scale_repaint_delay_ms", APZScaleRepaintDelay, int32_t, 500); + DECL_GFX_PREF(Once, "apz.desktop.enabled", APZDesktopEnabled, bool, false); DECL_GFX_PREF(Live, "browser.ui.zoom.force-user-scalable", ForceUserScalable, bool, false); DECL_GFX_PREF(Live, "browser.viewport.desktopWidth", DesktopViewportWidth, int32_t, 980); -- cgit v1.2.3