зеркало из https://github.com/mozilla/gecko-dev.git
Bug 590246 - Multitouch swipe gestures [r=mfinkle]
This commit is contained in:
Родитель
4094baec54
Коммит
d3d3a22ff2
|
@ -127,6 +127,7 @@ function InputHandler(browserViewContainer) {
|
|||
window.addEventListener("mousemove", this, true);
|
||||
window.addEventListener("click", this, true);
|
||||
window.addEventListener("contextmenu", this, false);
|
||||
window.addEventListener("MozSwipeGesture", this, true);
|
||||
window.addEventListener("MozMagnifyGestureStart", this, true);
|
||||
window.addEventListener("MozMagnifyGestureUpdate", this, true);
|
||||
window.addEventListener("MozMagnifyGesture", this, true);
|
||||
|
@ -1238,6 +1239,24 @@ GestureModule.prototype = {
|
|||
try {
|
||||
let consume = false;
|
||||
switch (aEvent.type) {
|
||||
case "MozSwipeGesture":
|
||||
let gesture = Ci.nsIDOMSimpleGestureEvent;
|
||||
switch (aEvent.direction) {
|
||||
case gesture.DIRECTION_UP:
|
||||
Browser.scrollContentToTop();
|
||||
break;
|
||||
case gesture.DIRECTION_DOWN:
|
||||
Browser.scrollContentToBottom();
|
||||
break;
|
||||
case gesture.DIRECTION_LEFT:
|
||||
CommandUpdater.doCommand("cmd_back");
|
||||
break;
|
||||
case gesture.DIRECTION_RIGHT:
|
||||
CommandUpdater.doCommand("cmd_forward");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "MozMagnifyGestureStart":
|
||||
consume = true;
|
||||
this._pinchStart(aEvent);
|
||||
|
|
|
@ -673,6 +673,18 @@ var Browser = {
|
|||
this._browserView.onAfterVisibleMove();
|
||||
},
|
||||
|
||||
// cmd_scrollBottom does not work in Fennec (Bug 590535).
|
||||
scrollContentToBottom: function scrollContentToTop() {
|
||||
let x = {}, y = {};
|
||||
this.contentScrollboxScroller.getScrolledSize(x, y);
|
||||
this.contentScrollboxScroller.scrollTo(0, y.value);
|
||||
|
||||
this.pageScrollboxScroller.getScrolledSize(x, y);
|
||||
this.pageScrollboxScroller.scrollTo(0, y.value);
|
||||
|
||||
this._browserView.onAfterVisibleMove();
|
||||
},
|
||||
|
||||
/** Let current browser's scrollbox know about where content has been panned. */
|
||||
scrollBrowserToContent: function scrollBrowserToContent() {
|
||||
let browser = this.selectedBrowser;
|
||||
|
|
Загрузка…
Ссылка в новой задаче