diff options
author | Moonchild <mcwerewolf@gmail.com> | 2018-09-26 13:55:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-26 13:55:38 +0200 |
commit | 326611aaaed36d4d6e44fa77e781ed3e2e43539d (patch) | |
tree | ab4388e807924f543d0d4a8ab58f7f5f25973ffc | |
parent | e3508f55bed8a463d298021633dbc7d079c9d764 (diff) | |
parent | 1c159bf4dc4885e85bcff4099168a35b18848a92 (diff) | |
download | UXP-326611aaaed36d4d6e44fa77e781ed3e2e43539d.tar UXP-326611aaaed36d4d6e44fa77e781ed3e2e43539d.tar.gz UXP-326611aaaed36d4d6e44fa77e781ed3e2e43539d.tar.lz UXP-326611aaaed36d4d6e44fa77e781ed3e2e43539d.tar.xz UXP-326611aaaed36d4d6e44fa77e781ed3e2e43539d.zip |
Merge pull request #788 from alaviss/apz-experimental
gfx: add pref for enabling APZ without e10s
-rw-r--r-- | gfx/thebes/gfxPlatform.cpp | 10 | ||||
-rw-r--r-- | gfx/thebes/gfxPrefs.h | 1 | ||||
-rw-r--r-- | modules/libpref/init/all.js | 4 |
3 files changed, 10 insertions, 5 deletions
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); diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index a4834e3ec..32c59e737 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -705,6 +705,10 @@ pref("apz.y_skate_size_multiplier", "1.5"); pref("apz.y_stationary_size_multiplier", "1.5"); #endif +#if !defined(MOZ_WIDGET_ANDROID) && !defined(MOZ_WIDGET_UIKIT) +pref("apz.desktop.enabled", false); +#endif + #ifdef XP_MACOSX // Whether to run in native HiDPI mode on machines with "Retina"/HiDPI display; // <= 0 : hidpi mode disabled, display will just use pixel-based upscaling |