зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1105109 - Put APZ autoscrolling behind a pref. r=kats
For now, the pref is off by default. MozReview-Commit-ID: BtzmFGIAGey --HG-- extra : rebase_source : a85b20059ae904cc18241e128974bbe8ee060468
This commit is contained in:
Родитель
e0c06e98b6
Коммит
3916c49dc6
|
@ -135,6 +135,10 @@ typedef GenericFlingAnimation FlingAnimation;
|
|||
* a single input block. If set to false, a single input block can only
|
||||
* scroll one APZC.
|
||||
*
|
||||
* \li\b apz.autoscroll.enabled
|
||||
* If set to true, autoscrolling is driven by APZ rather than the content
|
||||
* process main thread.
|
||||
*
|
||||
* \li\b apz.axis_lock.mode
|
||||
* The preferred axis locking style. See AxisLockMode for possible values.
|
||||
*
|
||||
|
|
|
@ -285,6 +285,7 @@ private:
|
|||
DECL_GFX_PREF(Live, "apz.allow_checkerboarding", APZAllowCheckerboarding, bool, true);
|
||||
DECL_GFX_PREF(Live, "apz.allow_immediate_handoff", APZAllowImmediateHandoff, bool, true);
|
||||
DECL_GFX_PREF(Live, "apz.allow_zooming", APZAllowZooming, bool, false);
|
||||
DECL_GFX_PREF(Live, "apz.autoscroll.enabled", APZAutoscrollEnabled, bool, false);
|
||||
DECL_GFX_PREF(Live, "apz.axis_lock.breakout_angle", APZAxisBreakoutAngle, float, float(M_PI / 8.0) /* 22.5 degrees */);
|
||||
DECL_GFX_PREF(Live, "apz.axis_lock.breakout_threshold", APZAxisBreakoutThreshold, float, 1.0f / 32.0f);
|
||||
DECL_GFX_PREF(Live, "apz.axis_lock.direct_pan_angle", APZAllowedDirectPanAngle, float, float(M_PI / 3.0) /* 60 degrees */);
|
||||
|
|
|
@ -678,6 +678,7 @@ pref("layers.geometry.d3d11.enabled", true);
|
|||
pref("apz.allow_checkerboarding", true);
|
||||
pref("apz.allow_immediate_handoff", true);
|
||||
pref("apz.allow_zooming", false);
|
||||
pref("apz.autoscroll.enabled", false);
|
||||
|
||||
// Whether to lock touch scrolling to one axis at a time
|
||||
// 0 = FREE (No locking at all)
|
||||
|
|
|
@ -1091,7 +1091,8 @@
|
|||
return false;
|
||||
}
|
||||
this.startScroll(data.scrolldir, data.screenX, data.screenY);
|
||||
if (this.isRemoteBrowser && data.scrollId != null) {
|
||||
if (this.isRemoteBrowser && data.scrollId != null &&
|
||||
this.mPrefs.getBoolPref("apz.autoscroll.enabled", false)) {
|
||||
let { tabParent } = this.frameLoader;
|
||||
if (tabParent) {
|
||||
tabParent.startApzAutoscroll(data.screenX, data.screenY,
|
||||
|
@ -1219,7 +1220,7 @@
|
|||
window.removeEventListener("keyup", this, true);
|
||||
this.messageManager.sendAsyncMessage("Autoscroll:Stop");
|
||||
|
||||
if (this.isRemoteBrowser) {
|
||||
if (this.isRemoteBrowser && this._autoScrollScrollId != null) {
|
||||
let { tabParent } = this.frameLoader;
|
||||
if (tabParent) {
|
||||
tabParent.stopApzAutoscroll(this._autoScrollScrollId,
|
||||
|
|
Загрузка…
Ссылка в новой задаче