diff --git a/mozilla/browser/base/content/contentAreaUtils.js b/mozilla/browser/base/content/contentAreaUtils.js index 184b46d56aa..8f6d5d5abb0 100644 --- a/mozilla/browser/base/content/contentAreaUtils.js +++ b/mozilla/browser/base/content/contentAreaUtils.js @@ -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; diff --git a/mozilla/toolkit/content/widgets/browser.xml b/mozilla/toolkit/content/widgets/browser.xml index 04d69bfb108..059d9b19fb6 100644 --- a/mozilla/toolkit/content/widgets/browser.xml +++ b/mozilla/toolkit/content/widgets/browser.xml @@ -110,11 +110,12 @@ + @@ -124,11 +125,19 @@ + @@ -238,6 +247,11 @@ .getBranch(null); + + Components.classes['@mozilla.org/atom-service;1'] + .getService(Components.interfaces.nsIAtomService); + + null diff --git a/mozilla/toolkit/content/widgets/tabbrowser.xml b/mozilla/toolkit/content/widgets/tabbrowser.xml index ad442560068..4dca0b9be8e 100644 --- a/mozilla/toolkit/content/widgets/tabbrowser.xml +++ b/mozilla/toolkit/content/widgets/tabbrowser.xml @@ -644,6 +644,7 @@ + + @@ -1030,9 +1032,10 @@ +