mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-16 14:55:47 +00:00
Backout 4253a5a838a8 and 7f5e40eb37c1
This commit is contained in:
parent
aa898d4232
commit
44b468dead
@ -1630,8 +1630,6 @@ Tab.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
set viewport(aViewport) {
|
set viewport(aViewport) {
|
||||||
BrowserEventHandler._cancelTapHighlight();
|
|
||||||
|
|
||||||
// Transform coordinates based on zoom
|
// Transform coordinates based on zoom
|
||||||
aViewport.x /= aViewport.zoom;
|
aViewport.x /= aViewport.zoom;
|
||||||
aViewport.y /= aViewport.zoom;
|
aViewport.y /= aViewport.zoom;
|
||||||
@ -2220,7 +2218,7 @@ Tab.prototype = {
|
|||||||
var BrowserEventHandler = {
|
var BrowserEventHandler = {
|
||||||
init: function init() {
|
init: function init() {
|
||||||
Services.obs.addObserver(this, "Gesture:SingleTap", false);
|
Services.obs.addObserver(this, "Gesture:SingleTap", false);
|
||||||
document.addEventListener("touchstart", this, false);
|
Services.obs.addObserver(this, "Gesture:ShowPress", false);
|
||||||
Services.obs.addObserver(this, "Gesture:CancelTouch", false);
|
Services.obs.addObserver(this, "Gesture:CancelTouch", false);
|
||||||
Services.obs.addObserver(this, "Gesture:DoubleTap", false);
|
Services.obs.addObserver(this, "Gesture:DoubleTap", false);
|
||||||
Services.obs.addObserver(this, "Gesture:Scroll", false);
|
Services.obs.addObserver(this, "Gesture:Scroll", false);
|
||||||
@ -2229,34 +2227,6 @@ var BrowserEventHandler = {
|
|||||||
BrowserApp.deck.addEventListener("DOMUpdatePageReport", PopupBlockerObserver.onUpdatePageReport, false);
|
BrowserApp.deck.addEventListener("DOMUpdatePageReport", PopupBlockerObserver.onUpdatePageReport, false);
|
||||||
},
|
},
|
||||||
|
|
||||||
handleEvent: function(aEvent) {
|
|
||||||
switch(aEvent.type) {
|
|
||||||
case "touchstart":
|
|
||||||
if (aEvent.touches.length == 1) {
|
|
||||||
let closest = ElementTouchHelper.elementFromPoint(BrowserApp.selectedBrowser.contentWindow,
|
|
||||||
aEvent.touches[0].screenX, aEvent.touches[0].screenY);
|
|
||||||
if (!closest) {
|
|
||||||
closest = ElementTouchHelper.anyElementFromPoint(BrowserApp.selectedBrowser.contentWindow,
|
|
||||||
aEvent.touches[0].screenX, aEvent.touches[0].screenY);
|
|
||||||
}
|
|
||||||
if (closest) {
|
|
||||||
this._doTapHighlight(closest);
|
|
||||||
|
|
||||||
// If we've pressed a scrollable element, let Java know that we may
|
|
||||||
// want to override the scroll behaviour (for document sub-frames)
|
|
||||||
this._scrollableElement = this._findScrollableElement(closest, true);
|
|
||||||
this._firstScrollEvent = true;
|
|
||||||
|
|
||||||
if (this._scrollableElement != null) {
|
|
||||||
// Discard if it's the top-level scrollable, we let Java handle this
|
|
||||||
let doc = BrowserApp.selectedBrowser.contentDocument;
|
|
||||||
if (this._scrollableElement != doc.body && this._scrollableElement != doc.documentElement)
|
|
||||||
sendMessageToJava({ gecko: { type: "Panning:Override" } });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
observe: function(aSubject, aTopic, aData) {
|
observe: function(aSubject, aTopic, aData) {
|
||||||
if (aTopic == "Gesture:Scroll") {
|
if (aTopic == "Gesture:Scroll") {
|
||||||
// If we've lost our scrollable element, return. Don't cancel the
|
// If we've lost our scrollable element, return. Don't cancel the
|
||||||
@ -2291,6 +2261,26 @@ var BrowserEventHandler = {
|
|||||||
}
|
}
|
||||||
} else if (aTopic == "Gesture:CancelTouch") {
|
} else if (aTopic == "Gesture:CancelTouch") {
|
||||||
this._cancelTapHighlight();
|
this._cancelTapHighlight();
|
||||||
|
} else if (aTopic == "Gesture:ShowPress") {
|
||||||
|
let data = JSON.parse(aData);
|
||||||
|
let closest = ElementTouchHelper.elementFromPoint(BrowserApp.selectedBrowser.contentWindow, data.x, data.y);
|
||||||
|
if (!closest)
|
||||||
|
closest = ElementTouchHelper.anyElementFromPoint(BrowserApp.selectedBrowser.contentWindow, data.x, data.y);
|
||||||
|
if (closest) {
|
||||||
|
this._doTapHighlight(closest);
|
||||||
|
|
||||||
|
// If we've pressed a scrollable element, let Java know that we may
|
||||||
|
// want to override the scroll behaviour (for document sub-frames)
|
||||||
|
this._scrollableElement = this._findScrollableElement(closest, true);
|
||||||
|
this._firstScrollEvent = true;
|
||||||
|
|
||||||
|
if (this._scrollableElement != null) {
|
||||||
|
// Discard if it's the top-level scrollable, we let Java handle this
|
||||||
|
let doc = BrowserApp.selectedBrowser.contentDocument;
|
||||||
|
if (this._scrollableElement != doc.body && this._scrollableElement != doc.documentElement)
|
||||||
|
sendMessageToJava({ gecko: { type: "Panning:Override" } });
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (aTopic == "Gesture:SingleTap") {
|
} else if (aTopic == "Gesture:SingleTap") {
|
||||||
let element = this._highlightElement;
|
let element = this._highlightElement;
|
||||||
if (element && !SelectHelper.handleClick(element)) {
|
if (element && !SelectHelper.handleClick(element)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user