summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.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/renderer/render_view.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/renderer/render_view.cc')
-rw-r--r--chrome/renderer/render_view.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 22dd829..7153ed2 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -1439,6 +1439,13 @@ WindowOpenDisposition RenderView::DispositionForNavigationAction(
// Webkit is asking whether to navigate to a new URL.
// This is fine normally, except if we're showing UI from one security
// context and they're trying to navigate to a different context.
+ //
+ // Reload allowing stale data is used for encoding changes which will never
+ // appear in a new tab. So we should return disposition as CURRENT_TAB when
+ // encountering this situation.
+ if (frame->IsReloadAllowingStaleData())
+ return CURRENT_TAB;
+
const GURL& url = request->GetURL();
// We only care about navigations that are within the current tab (as opposed
// to, for example, opening a new window).
@@ -1808,7 +1815,8 @@ void RenderView::ShowContextMenu(WebView* webview,
const GURL& frame_url,
const std::wstring& selection_text,
const std::wstring& misspelled_word,
- int edit_flags) {
+ int edit_flags,
+ const std::wstring& frame_encoding) {
ViewHostMsg_ContextMenu_Params params;
params.type = type;
params.x = x;
@@ -1820,6 +1828,7 @@ void RenderView::ShowContextMenu(WebView* webview,
params.selection_text = selection_text;
params.misspelled_word = misspelled_word;
params.edit_flags = edit_flags;
+ params.frame_encoding = frame_encoding;
Send(new ViewHostMsg_ContextMenu(routing_id_, params));
}