mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 747883 - Make Native Fennec's onLocationChanged handler behave correctly for wyciwyg-prefixed URIs. r=mfinkle,kats
This commit is contained in:
parent
1015fbffe9
commit
5aefe4f637
@ -43,6 +43,9 @@ XPCOMUtils.defineLazyServiceGetter(this, "Haptic",
|
||||
XPCOMUtils.defineLazyServiceGetter(this, "DOMUtils",
|
||||
"@mozilla.org/inspector/dom-utils;1", "inIDOMUtils");
|
||||
|
||||
XPCOMUtils.defineLazyServiceGetter(window, "URIFixup",
|
||||
"@mozilla.org/docshell/urifixup;1", "nsIURIFixup");
|
||||
|
||||
const kStateActive = 0x00000001; // :active pseudoclass for elements
|
||||
|
||||
const kXLinkNamespace = "http://www.w3.org/1999/xlink";
|
||||
@ -2214,10 +2217,19 @@ Tab.prototype = {
|
||||
|
||||
this._hostChanged = true;
|
||||
|
||||
let uri = aLocationURI.spec;
|
||||
let fixedURI = aLocationURI;
|
||||
try {
|
||||
fixedURI = URIFixup.createExposableURI(aLocationURI);
|
||||
} catch (ex) { }
|
||||
|
||||
let documentURI = contentWin.document.documentURIObject.spec;
|
||||
let contentType = contentWin.document.contentType;
|
||||
let sameDocument = (aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_SAME_DOCUMENT) != 0;
|
||||
|
||||
// XXX If fixedURI matches browser.lastURI, we assume this isn't a real location
|
||||
// change but rather a spurious addition like a wyciwyg URI prefix. See Bug 747883.
|
||||
let sameDocument = (aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_SAME_DOCUMENT) != 0 ||
|
||||
((this.browser.lastURI != null) && fixedURI.equals(this.browser.lastURI));
|
||||
this.browser.lastURI = fixedURI;
|
||||
|
||||
// Reset state of click-to-play plugin notifications.
|
||||
clearTimeout(this.pluginDoorhangerTimeout);
|
||||
@ -2229,7 +2241,7 @@ Tab.prototype = {
|
||||
gecko: {
|
||||
type: "Content:LocationChange",
|
||||
tabID: this.id,
|
||||
uri: uri,
|
||||
uri: fixedURI.spec,
|
||||
documentURI: documentURI,
|
||||
contentType: contentType,
|
||||
sameDocument: sameDocument
|
||||
|
Loading…
Reference in New Issue
Block a user