Index: chrome/browser/renderer_host/chrome_render_view_host_observer.cc |
=================================================================== |
--- chrome/browser/renderer_host/chrome_render_view_host_observer.cc (revision 215736) |
+++ chrome/browser/renderer_host/chrome_render_view_host_observer.cc (working copy) |
@@ -206,12 +206,15 @@ |
// request based on the received thumbnail and opens the request in a new tab. |
void ChromeRenderViewHostObserver::OnRequestThumbnailForContextNodeACK( |
const SkBitmap& bitmap) { |
- const int kDefaultQualityForImageSearch = 90; |
WebContents* web_contents = |
WebContents::FromRenderViewHost(render_view_host()); |
- if (!web_contents) |
+ const TemplateURL* const default_provider = |
+ TemplateURLServiceFactory::GetForProfile(profile_)-> |
+ GetDefaultSearchProvider(); |
+ if (!web_contents || !default_provider) |
return; |
+ const int kDefaultQualityForImageSearch = 90; |
std::vector<unsigned char> data; |
if (!gfx::JPEGCodec::Encode( |
reinterpret_cast<unsigned char*>(bitmap.getAddr32(0, 0)), |
@@ -220,14 +223,9 @@ |
&data)) |
return; |
- const TemplateURL* const default_provider = |
- TemplateURLServiceFactory::GetForProfile(profile_)-> |
- GetDefaultSearchProvider(); |
- DCHECK(default_provider); |
TemplateURLRef::SearchTermsArgs search_args = |
TemplateURLRef::SearchTermsArgs(base::string16()); |
- search_args.image_thumbnail_content = std::string(data.begin(), |
- data.end()); |
+ search_args.image_thumbnail_content = std::string(data.begin(), data.end()); |
// TODO(jnd): Add a method in WebContentsViewDelegate to get the image URL |
// from the ContextMenuParams which creates current context menu. |
search_args.image_url = GURL(); |
@@ -240,16 +238,15 @@ |
OpenURLParams open_url_params(result, content::Referrer(), NEW_FOREGROUND_TAB, |
content::PAGE_TRANSITION_LINK, false); |
const std::string& content_type = post_content.first; |
- std::string& post_data = post_content.second; |
- if (!post_data.empty()) { |
+ std::string* post_data = &post_content.second; |
+ if (!post_data->empty()) { |
DCHECK(!content_type.empty()); |
open_url_params.uses_post = true; |
open_url_params.browser_initiated_post_data = |
- base::RefCountedString::TakeString(&post_data); |
+ base::RefCountedString::TakeString(post_data); |
open_url_params.extra_headers += base::StringPrintf( |
"%s: %s\r\n", net::HttpRequestHeaders::kContentType, |
content_type.c_str()); |
} |
- |
web_contents->OpenURL(open_url_params); |
} |