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 092b48f31556f817437b63433476946a3354578c..3498f4b178afef89a4bce667390d9db42b3a944d 100644 |
| --- a/chrome/renderer/chrome_content_renderer_client.cc |
| +++ b/chrome/renderer/chrome_content_renderer_client.cc |
| @@ -9,6 +9,7 @@ |
| #include "base/metrics/histogram.h" |
| #include "base/path_service.h" |
| #include "base/string_util.h" |
| +#include "base/strings/string_number_conversions.h" |
| #include "base/utf_string_conversions.h" |
| #include "base/values.h" |
| #include "chrome/common/child_process_logging.h" |
| @@ -201,6 +202,16 @@ bool ShouldUseJavaScriptSettingForPlugin(const WebPluginInfo& plugin) { |
| return false; |
| } |
| +content::RenderView* GetRenderViewFromWebFrame(WebKit::WebFrame* frame) { |
|
jam
2013/06/05 16:36:01
nit: no need for this method. we know that frame i
kmadhusu
2013/06/05 18:40:39
Done.
|
| + if (!frame) |
| + return NULL; |
| + |
| + WebKit::WebView* view = frame->view(); |
| + if (!view) |
| + return NULL; |
| + return content::RenderView::FromWebView(view); |
| +} |
| + |
| } // namespace |
| namespace chrome { |
| @@ -992,6 +1003,16 @@ 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)) { |
| + if (url.host() == chrome::kChromeUIThumbnailHost) |
| + return search_box->GenerateThumbnailURLFromTransientURL(url, new_url); |
| + else if (url.host() == chrome::kChromeUIFaviconHost) |
| + return search_box->GenerateFaviconURLFromTransientURL(url, new_url); |
| + } |
| + } |
| + |
| return false; |
| } |