mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 06:35:42 +00:00
Backing out bc4b2d84f80a (bug 682017)
This commit is contained in:
parent
cacf41b4a4
commit
98cc738788
@ -182,6 +182,7 @@ var Browser = {
|
|||||||
/* handles web progress management for open browsers */
|
/* handles web progress management for open browsers */
|
||||||
Elements.browsers.webProgress = new Browser.WebProgress();
|
Elements.browsers.webProgress = new Browser.WebProgress();
|
||||||
|
|
||||||
|
this.keySender = new ContentCustomKeySender(Elements.browsers);
|
||||||
let mouseModule = new MouseModule();
|
let mouseModule = new MouseModule();
|
||||||
let gestureModule = new GestureModule(Elements.browsers);
|
let gestureModule = new GestureModule(Elements.browsers);
|
||||||
let scrollWheelModule = new ScrollwheelModule(Elements.browsers);
|
let scrollWheelModule = new ScrollwheelModule(Elements.browsers);
|
||||||
@ -1972,6 +1973,52 @@ const ContentTouchHandler = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** Watches for mouse events in chrome and sends them to content. */
|
||||||
|
function ContentCustomKeySender(container) {
|
||||||
|
container.addEventListener("keypress", this, false);
|
||||||
|
container.addEventListener("keyup", this, false);
|
||||||
|
container.addEventListener("keydown", this, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
ContentCustomKeySender.prototype = {
|
||||||
|
handleEvent: function handleEvent(aEvent) {
|
||||||
|
if (Elements.contentShowing.getAttribute("disabled") == "true")
|
||||||
|
return;
|
||||||
|
|
||||||
|
let browser = getBrowser();
|
||||||
|
if (browser && browser.active && browser.getAttribute("remote") == "true") {
|
||||||
|
aEvent.stopPropagation();
|
||||||
|
aEvent.preventDefault();
|
||||||
|
|
||||||
|
let fl = browser.QueryInterface(Ci.nsIFrameLoaderOwner).frameLoader;
|
||||||
|
fl.sendCrossProcessKeyEvent(aEvent.type,
|
||||||
|
aEvent.keyCode,
|
||||||
|
(aEvent.type != "keydown") ? aEvent.charCode : null,
|
||||||
|
this._parseModifiers(aEvent));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_parseModifiers: function _parseModifiers(aEvent) {
|
||||||
|
const masks = Ci.nsIDOMNSEvent;
|
||||||
|
let mval = 0;
|
||||||
|
if (aEvent.shiftKey)
|
||||||
|
mval |= masks.SHIFT_MASK;
|
||||||
|
if (aEvent.ctrlKey)
|
||||||
|
mval |= masks.CONTROL_MASK;
|
||||||
|
if (aEvent.altKey)
|
||||||
|
mval |= masks.ALT_MASK;
|
||||||
|
if (aEvent.metaKey)
|
||||||
|
mval |= masks.META_MASK;
|
||||||
|
return mval;
|
||||||
|
},
|
||||||
|
|
||||||
|
toString: function toString() {
|
||||||
|
return "[ContentCustomKeySender] { }";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class to handle manipulations of the identity indicators in the UI
|
* Utility class to handle manipulations of the identity indicators in the UI
|
||||||
*/
|
*/
|
||||||
@ -2870,6 +2917,7 @@ Tab.prototype = {
|
|||||||
|
|
||||||
let fl = browser.QueryInterface(Ci.nsIFrameLoaderOwner).frameLoader;
|
let fl = browser.QueryInterface(Ci.nsIFrameLoaderOwner).frameLoader;
|
||||||
fl.renderMode = Ci.nsIFrameLoader.RENDER_MODE_ASYNC_SCROLL;
|
fl.renderMode = Ci.nsIFrameLoader.RENDER_MODE_ASYNC_SCROLL;
|
||||||
|
fl.eventMode = Ci.nsIFrameLoader.EVENT_MODE_DONT_FORWARD_TO_CHILD;
|
||||||
|
|
||||||
return browser;
|
return browser;
|
||||||
},
|
},
|
||||||
|
@ -816,6 +816,7 @@ var FormHelperUI = {
|
|||||||
if (focusedElement && focusedElement.localName == "browser")
|
if (focusedElement && focusedElement.localName == "browser")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Browser.keySender.handleEvent(aEvent);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "SizeChanged":
|
case "SizeChanged":
|
||||||
|
Loading…
Reference in New Issue
Block a user