Bug 1332595 - remove useless click handling, r=mossop

Really, the entire pagehide handling and attribute setting should
go away too, but there were serious test issues with doing so.
See the bug for more details. Remaining work will be in bug 1337794.

MozReview-Commit-ID: 5yhym5QemGr

--HG--
extra : rebase_source : 69d341efc8cc7097691fddf1f47b8bc59606fd6c
This commit is contained in:
Gijs Kruitbosch 2017-02-08 13:09:04 +00:00
Родитель e4852035e0
Коммит bb2da25549
1 изменённых файлов: 3 добавлений и 49 удалений

Просмотреть файл

@ -2878,24 +2878,6 @@ var BrowserOnClick = {
}
},
handleEvent(event) {
if (!event.isTrusted || // Don't trust synthetic events
event.button == 2) {
return;
}
let originalTarget = event.originalTarget;
let ownerDoc = originalTarget.ownerDocument;
if (!ownerDoc) {
return;
}
if (gMultiProcessBrowser &&
ownerDoc.documentURI.toLowerCase() == "about:newtab") {
this.onE10sAboutNewTab(event, ownerDoc);
}
},
receiveMessage(msg) {
switch (msg.name) {
case "Browser:CertExceptionError":
@ -3082,28 +3064,6 @@ var BrowserOnClick = {
}
},
/**
* This functions prevents navigation from happening directly through the <a>
* link in about:newtab (which is loaded in the parent and therefore would load
* the next page also in the parent) and instructs the browser to open the url
* in the current tab which will make it update the remoteness of the tab.
*/
onE10sAboutNewTab(event, ownerDoc) {
let isTopFrame = (ownerDoc.defaultView.parent === ownerDoc.defaultView);
if (!isTopFrame) {
return;
}
let anchorTarget = event.originalTarget.parentNode;
if (anchorTarget instanceof HTMLAnchorElement &&
anchorTarget.classList.contains("newtab-link")) {
event.preventDefault();
let where = whereToOpenLink(event, false, false);
openLinkIn(anchorTarget.href, where, { charset: ownerDoc.characterSet, referrerURI: ownerDoc.documentURIObject });
}
},
ignoreWarningButton(reason) {
// Allow users to override and continue through to the site,
// but add a notify bar as a reminder, so that they don't lose
@ -4924,13 +4884,9 @@ var TabsProgressListener = {
}
}
// Attach a listener to watch for "click" events bubbling up from error
// pages and other similar pages (like about:newtab). This lets us fix bugs
// like 401575 which require error page UI to do privileged things, without
// letting error pages have any privilege themselves.
// We can't look for this during onLocationChange since at that point the
// document URI is not yet the about:-uri of the error page.
// We used to listen for clicks in the browser here, but when that
// became unnecessary, removing the code below caused focus issues.
// This code should be removed. Tracked in bug 1337794.
let isRemoteBrowser = aBrowser.isRemoteBrowser;
// We check isRemoteBrowser here to avoid requesting the doc CPOW
let doc = isRemoteBrowser ? null : aWebProgress.DOMWindow.document;
@ -4945,11 +4901,9 @@ var TabsProgressListener = {
// STATE_STOP may be received twice for documents, thus store an
// attribute to ensure handling it just once.
doc.documentElement.setAttribute("hasBrowserHandlers", "true");
aBrowser.addEventListener("click", BrowserOnClick, true);
aBrowser.addEventListener("pagehide", function onPageHide(event) {
if (event.target.defaultView.frameElement)
return;
aBrowser.removeEventListener("click", BrowserOnClick, true);
aBrowser.removeEventListener("pagehide", onPageHide, true);
if (event.target.documentElement)
event.target.documentElement.removeAttribute("hasBrowserHandlers");