зеркало из https://github.com/mozilla/gecko-dev.git
bug 199237 : fix the rendering of the non-ASCII title of a non-text doc(image, media) opened in a new tab/window (checking in for jshin@mailaps.org, r=bryner, sr=bz)
This commit is contained in:
Родитель
557d5ece5a
Коммит
95d977de84
|
@ -61,8 +61,17 @@ function openNewTabWith(href, linkNode, event, securityCheck)
|
|||
if (event && event.shiftKey)
|
||||
loadInBackground = !loadInBackground;
|
||||
|
||||
// As in openNewWindowWith(), we want to pass the charset of the
|
||||
// current document over to a new tab.
|
||||
var wintype = document.firstChild.getAttribute('windowtype');
|
||||
var originCharset;
|
||||
if (wintype == "navigator:browser") {
|
||||
originCharset = window._content.document.characterSet;
|
||||
}
|
||||
|
||||
// open link in new tab
|
||||
var browser = top.document.getElementById("content");
|
||||
var theTab = browser.addTab(href, getReferrer(document));
|
||||
var theTab = browser.addTab(href, getReferrer(document), originCharset);
|
||||
if (!loadInBackground)
|
||||
browser.selectedTab = theTab;
|
||||
|
||||
|
|
|
@ -110,11 +110,12 @@
|
|||
<method name="loadURI">
|
||||
<parameter name="aURI"/>
|
||||
<parameter name="aReferrerURI"/>
|
||||
<parameter name="aCharset"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
|
||||
const flags = nsIWebNavigation.LOAD_FLAGS_NONE;
|
||||
this.loadURIWithFlags(aURI, flags, aReferrerURI);
|
||||
this.loadURIWithFlags(aURI, flags, aReferrerURI, aCharset);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
@ -124,11 +125,19 @@
|
|||
<parameter name="aURI"/>
|
||||
<parameter name="aFlags"/>
|
||||
<parameter name="aReferrerURI"/>
|
||||
<parameter name="aCharset"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
if (!aURI)
|
||||
aURI = "about:blank";
|
||||
|
||||
if (aCharset) {
|
||||
try {
|
||||
this.documentCharsetInfo.parentCharset = this.mAtomService.getAtom(aCharset);
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
}
|
||||
this.webNavigation.loadURI(aURI, aFlags, aReferrerURI, null, null);
|
||||
]]>
|
||||
</body>
|
||||
|
@ -238,6 +247,11 @@
|
|||
.getBranch(null);
|
||||
</field>
|
||||
|
||||
<field name="mAtomService" readonly="true">
|
||||
Components.classes['@mozilla.org/atom-service;1']
|
||||
.getService(Components.interfaces.nsIAtomService);
|
||||
</field>
|
||||
|
||||
<field name="_mStrBundle">null</field>
|
||||
|
||||
<property name="mStrBundle">
|
||||
|
|
|
@ -644,6 +644,7 @@
|
|||
<method name="addTab">
|
||||
<parameter name="aURI"/>
|
||||
<parameter name="aReferrerURI"/>
|
||||
<parameter name="aCharset"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
var blank = (aURI == "about:blank");
|
||||
|
@ -1018,9 +1019,10 @@
|
|||
<method name="loadURI">
|
||||
<parameter name="aURI"/>
|
||||
<parameter name="aReferrerURI"/>
|
||||
<parameter name="aCharset"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
return this.mCurrentBrowser.loadURI(aURI, aReferrerURI);
|
||||
return this.mCurrentBrowser.loadURI(aURI, aReferrerURI, aCharset);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
@ -1030,9 +1032,10 @@
|
|||
<parameter name="aURI"/>
|
||||
<parameter name="aFlags"/>
|
||||
<parameter name="aReferrerURI"/>
|
||||
<parameter name="aCharset"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
return this.mCurrentBrowser.loadURIWithFlags(aURI, aFlags, aReferrerURI);
|
||||
return this.mCurrentBrowser.loadURIWithFlags(aURI, aFlags, aReferrerURI, aCharset);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
|
Загрузка…
Ссылка в новой задаче