summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser.cc
diff options
context:
space:
mode:
authorjnd@google.com <jnd@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-18 21:24:29 +0000
committerjnd@google.com <jnd@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-18 21:24:29 +0000
commit72c94f309664498277eee70eeccc05b44f0f255a (patch)
tree65d2fedf4b6907c4971dae0e8526d3c20efe9264 /chrome/browser/browser.cc
parentea8c4104164fcb225003bf074d3d4693929e00da (diff)
downloadchromium_src-72c94f309664498277eee70eeccc05b44f0f255a.zip
chromium_src-72c94f309664498277eee70eeccc05b44f0f255a.tar.gz
chromium_src-72c94f309664498277eee70eeccc05b44f0f255a.tar.bz2
The CL is consist of CLs(1624,1580) for bug:1281734 which are reviewed and LG by brett. I just merge them to single one for passing compilation.
The CL is to fix bug http://b/issue?id=1281734. FireFox uses encoding used by the original webpage to decode the source of the webpage, Chrome does not. We need to add a new parameter which carries the override encoding when opening a view-source URL for viewing its source. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@997 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser.cc')
-rw-r--r--chrome/browser/browser.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
index bc8408f..63c91ea 100644
--- a/chrome/browser/browser.cc
+++ b/chrome/browser/browser.cc
@@ -533,7 +533,8 @@ void Browser::ProcessPendingUIUpdates() {
void Browser::OpenURLFromTab(TabContents* source,
const GURL& url,
WindowOpenDisposition disposition,
- PageTransition::Type transition) {
+ PageTransition::Type transition,
+ const std::wstring& override_encoding) {
// No code for these yet
DCHECK((disposition != NEW_POPUP) && (disposition != SAVE_TO_DISK));
@@ -648,6 +649,14 @@ void Browser::OpenURLFromTab(TabContents* source,
// front-most.
new_contents->Focus();
}
+
+ if (!override_encoding.empty()) {
+ // The new tab needs a special encoding, such as a view source page
+ // which should use the same encoding as the original page.
+ WebContents* web_contents = new_contents->AsWebContents();
+ if (web_contents)
+ web_contents->set_override_encoding(override_encoding);
+ }
}
void Browser::NavigationStateChanged(const TabContents* source,