Chromium Code Reviews| Index: chrome/renderer/chrome_content_renderer_client.cc |
| diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
| index 2211993fa6991946db21b5eaf009aad31c2ad18f..1548e09577521d162478d08ce33ffab1f0144a05 100644 |
| --- a/chrome/renderer/chrome_content_renderer_client.cc |
| +++ b/chrome/renderer/chrome_content_renderer_client.cc |
| @@ -221,15 +221,6 @@ bool ShouldUseJavaScriptSettingForPlugin(const WebPluginInfo& plugin) { |
| return false; |
| } |
| -content::RenderView* GetRenderViewFromWebFrame(WebKit::WebFrame* webframe) { |
| - if (!webframe) |
| - return NULL; |
| - WebKit::WebView* webview = webframe->view(); |
| - if (!webview) |
| - return NULL; |
| - return content::RenderView::FromWebView(webview); |
| -} |
| - |
| } // namespace |
| namespace chrome { |
| @@ -1004,13 +995,11 @@ bool ChromeContentRendererClient::WillSendRequest( |
| return true; |
| } |
| - const content::RenderView* render_view = GetRenderViewFromWebFrame(frame); |
| - if (SearchBox* search_box = SearchBox::Get(render_view)) { |
| - if (url.SchemeIs(chrome::kChromeSearchScheme) && |
| - url.host() == chrome::kChromeSearchSuggestionHost) { |
| - if (search_box->GenerateDataURLForSuggestionRequest(url, new_url)) |
| - return true; |
| - } |
| + if (url.SchemeIs(chrome::kChromeSearchScheme) && |
| + url.host() == chrome::kChromeSearchSuggestionHost) { |
| + GURL top_url(frame->top()->document().url()); |
| + SetOriginForSuggestionRequest(url, top_url, new_url); |
| + return true; |
| } |
| return false; |
| @@ -1239,4 +1228,19 @@ bool ChromeContentRendererClient::IsRequestOSFileHandleAllowedForURL( |
| return false; |
| } |
| +void ChromeContentRendererClient::SetOriginForSuggestionRequest( |
| + const GURL& url, |
| + const GURL& top_url, |
| + GURL *new_url) const { |
| + // Note that this replaces any existing query string parameters, including |
| + // any existing &origin parameter. |
| + GURL::Replacements set_origin; |
| + std::string query_str = "origin="; |
| + query_str.append(top_url.GetOrigin().spec()); |
| + // Origin should not include a trailing slash. That is part of the path. |
|
palmer
2013/04/09 00:26:15
Does this mean that GURL.GetOrigin.spec has a bug?
Jered
2013/04/09 01:18:58
No, spec() is intended to stringify URLs, not orig
|
| + TrimString(query_str, "/", &query_str); |
| + set_origin.SetQueryStr(query_str); |
| + *new_url = url.ReplaceComponents(set_origin); |
|
brettw
2013/04/08 23:16:42
I'd just return the new one rather than using the
Jered
2013/04/08 23:55:05
Done.
palmer
2013/04/09 00:26:15
Agreed.
Jered
2013/04/09 01:18:58
Done.
|
| +} |
| + |
| } // namespace chrome |