summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjnd@chromium.org <jnd@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-23 23:00:37 +0000
committerjnd@chromium.org <jnd@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-23 23:00:37 +0000
commit6462f8111b3626878c14f641f769b24607eaf868 (patch)
tree1fb390ed85f63984bcbea2dec9d21f21a8bea7a9
parentada8f5db432bbf123f9bfb45a25c640dd7b0b9b8 (diff)
downloadchromium_src-6462f8111b3626878c14f641f769b24607eaf868.zip
chromium_src-6462f8111b3626878c14f641f769b24607eaf868.tar.gz
chromium_src-6462f8111b3626878c14f641f769b24607eaf868.tar.bz2
Don't show the search-by-image menu item when the image does not have contents.
BUG=272076 TEST=None Review URL: https://chromiumcodereview.appspot.com/23200006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219376 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/renderer_host/chrome_render_view_host_observer.cc2
-rw-r--r--chrome/browser/tab_contents/render_view_context_menu.cc5
-rw-r--r--chrome/browser/translate/translate_manager_browsertest.cc2
-rw-r--r--content/common/view_messages.h2
-rw-r--r--content/public/common/context_menu_params.cc2
-rw-r--r--content/public/common/context_menu_params.h7
-rw-r--r--content/renderer/context_menu_params_builder.cc2
7 files changed, 13 insertions, 9 deletions
diff --git a/chrome/browser/renderer_host/chrome_render_view_host_observer.cc b/chrome/browser/renderer_host/chrome_render_view_host_observer.cc
index e5e96e5..cfebd23 100644
--- a/chrome/browser/renderer_host/chrome_render_view_host_observer.cc
+++ b/chrome/browser/renderer_host/chrome_render_view_host_observer.cc
@@ -198,6 +198,8 @@ void ChromeRenderViewHostObserver::OnFocusedNodeTouched(bool editable) {
// request based on the received thumbnail and opens the request in a new tab.
void ChromeRenderViewHostObserver::OnRequestThumbnailForContextNodeACK(
const SkBitmap& bitmap) {
+ if (bitmap.isNull())
+ return;
WebContents* web_contents =
WebContents::FromRenderViewHost(render_view_host());
const TemplateURL* const default_provider =
diff --git a/chrome/browser/tab_contents/render_view_context_menu.cc b/chrome/browser/tab_contents/render_view_context_menu.cc
index 46118e2..ab3b312 100644
--- a/chrome/browser/tab_contents/render_view_context_menu.cc
+++ b/chrome/browser/tab_contents/render_view_context_menu.cc
@@ -865,7 +865,8 @@ void RenderViewContextMenu::AppendImageItems() {
const TemplateURL* const default_provider =
TemplateURLServiceFactory::GetForProfile(profile_)->
GetDefaultSearchProvider();
- if (default_provider && !default_provider->image_url().empty() &&
+ if (params_.has_image_contents && default_provider &&
+ !default_provider->image_url().empty() &&
default_provider->image_url_ref().IsValid()) {
menu_model_.AddItem(
IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE,
@@ -1288,7 +1289,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const {
(params_.src_url.scheme() != chrome::kChromeUIScheme);
case IDC_CONTENT_CONTEXT_COPYIMAGE:
- return !params_.is_image_blocked;
+ return params_.has_image_contents;
// Media control commands should all be disabled if the player is in an
// error state.
diff --git a/chrome/browser/translate/translate_manager_browsertest.cc b/chrome/browser/translate/translate_manager_browsertest.cc
index f10bb02..c7a9b3f 100644
--- a/chrome/browser/translate/translate_manager_browsertest.cc
+++ b/chrome/browser/translate/translate_manager_browsertest.cc
@@ -334,7 +334,7 @@ class TestRenderViewContextMenu : public RenderViewContextMenu {
params.media_type = WebKit::WebContextMenuData::MediaTypeNone;
params.x = 0;
params.y = 0;
- params.is_image_blocked = false;
+ params.has_image_contents = true;
params.media_flags = 0;
params.spellcheck_enabled = false;
params.is_editable = false;
diff --git a/content/common/view_messages.h b/content/common/view_messages.h
index 0d5f0df..362320b 100644
--- a/content/common/view_messages.h
+++ b/content/common/view_messages.h
@@ -167,7 +167,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::ContextMenuParams)
IPC_STRUCT_TRAITS_MEMBER(link_text)
IPC_STRUCT_TRAITS_MEMBER(unfiltered_link_url)
IPC_STRUCT_TRAITS_MEMBER(src_url)
- IPC_STRUCT_TRAITS_MEMBER(is_image_blocked)
+ IPC_STRUCT_TRAITS_MEMBER(has_image_contents)
IPC_STRUCT_TRAITS_MEMBER(page_url)
IPC_STRUCT_TRAITS_MEMBER(keyword_url)
IPC_STRUCT_TRAITS_MEMBER(frame_url)
diff --git a/content/public/common/context_menu_params.cc b/content/public/common/context_menu_params.cc
index 176a429..5ec5a1f 100644
--- a/content/public/common/context_menu_params.cc
+++ b/content/public/common/context_menu_params.cc
@@ -18,7 +18,7 @@ ContextMenuParams::ContextMenuParams()
: media_type(WebKit::WebContextMenuData::MediaTypeNone),
x(0),
y(0),
- is_image_blocked(false),
+ has_image_contents(true),
frame_id(0),
media_flags(0),
misspelling_hash(0),
diff --git a/content/public/common/context_menu_params.h b/content/public/common/context_menu_params.h
index f58e9de..053d5ad 100644
--- a/content/public/common/context_menu_params.h
+++ b/content/public/common/context_menu_params.h
@@ -5,6 +5,7 @@
#ifndef CONTENT_PUBLIC_COMMON_CONTEXT_MENU_PARAMS_H_
#define CONTENT_PUBLIC_COMMON_CONTEXT_MENU_PARAMS_H_
+#include <string>
#include <vector>
#include "base/basictypes.h"
@@ -72,8 +73,9 @@ struct CONTENT_EXPORT ContextMenuParams {
// video.
GURL src_url;
- // This is true if the context menu was invoked on a blocked image.
- bool is_image_blocked;
+ // This is true if the context menu was invoked on an image which has
+ // non-empty contents.
+ bool has_image_contents;
// This is the URL of the top level page that the context menu was invoked
// on.
@@ -154,7 +156,6 @@ struct CONTENT_EXPORT ContextMenuParams {
gfx::Point selection_start;
gfx::Point selection_end;
#endif
-
};
} // namespace content
diff --git a/content/renderer/context_menu_params_builder.cc b/content/renderer/context_menu_params_builder.cc
index 8459fa2..e8cd078 100644
--- a/content/renderer/context_menu_params_builder.cc
+++ b/content/renderer/context_menu_params_builder.cc
@@ -24,7 +24,7 @@ ContextMenuParams ContextMenuParamsBuilder::Build(
params.link_url = data.linkURL;
params.unfiltered_link_url = data.linkURL;
params.src_url = data.srcURL;
- params.is_image_blocked = data.isImageBlocked;
+ params.has_image_contents = data.hasImageContents;
params.page_url = data.pageURL;
params.keyword_url = data.keywordURL;
params.frame_url = data.frameURL;