Chromium Code Reviews| Index: chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| index de85cdfdceaf13ed12f36bd6dfd6f7cd32e3d838..da7099e71dd706ff349294ab07545051911c0cce 100644 |
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| @@ -31,6 +31,8 @@ |
| #include "chrome/browser/download/download_stats.h" |
| #include "chrome/browser/extensions/devtools_util.h" |
| #include "chrome/browser/extensions/extension_service.h" |
| +#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" |
| +#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h" |
| #include "chrome/browser/plugins/chrome_plugin_service_filter.h" |
| #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -209,8 +211,9 @@ const struct UmaEnumCommandIdPair { |
| {58, IDC_SPELLCHECK_SUGGESTION_0}, |
| {59, IDC_SPELLCHECK_ADD_TO_DICTIONARY}, |
| {60, IDC_SPELLPANEL_TOGGLE}, |
| + {61, IDC_CONTENT_CONTEXT_OPENORIGINALIMAGENEWTAB}, |
| // Add new items here and use |enum_id| from the next line. |
| - {61, 0}, // Must be the last. Increment |enum_id| when new IDC was added. |
| + {62, 0}, // Must be the last. Increment |enum_id| when new IDC was added. |
| }; |
| // Collapses large ranges of ids before looking for UMA enum. |
| @@ -692,8 +695,16 @@ void RenderViewContextMenu::AppendImageItems() { |
| IDS_CONTENT_CONTEXT_COPYIMAGELOCATION); |
| menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGE, |
| IDS_CONTENT_CONTEXT_COPYIMAGE); |
| - menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB, |
| - IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB); |
| + if (!browser_context_->IsOffTheRecord() && |
| + DataReductionProxyChromeSettingsFactory::GetForBrowserContext( |
| + browser_context_)->CanUseDataReductionProxy( |
| + params_.src_url)) { |
| + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENORIGINALIMAGENEWTAB, |
| + IDS_CONTENT_CONTEXT_OPENORIGINALIMAGENEWTAB); |
| + } else { |
| + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB, |
| + IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB); |
| + } |
| } |
| void RenderViewContextMenu::AppendSearchWebForImageItems() { |
| @@ -1102,6 +1113,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const { |
| // The images shown in the most visited thumbnails can't be opened or |
| // searched for conventionally. |
| + case IDC_CONTENT_CONTEXT_OPENORIGINALIMAGENEWTAB: |
| case IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB: |
| case IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE: |
| return params_.src_url.is_valid() && |
| @@ -1400,6 +1412,14 @@ void RenderViewContextMenu::ExecuteCommand(int id, int event_flags) { |
| GetImageThumbnailForSearch(); |
| break; |
| + case IDC_CONTENT_CONTEXT_OPENORIGINALIMAGENEWTAB: |
| + OpenURL(params_.src_url, |
| + GetDocumentURL(params_), |
| + NEW_BACKGROUND_TAB, |
| + ui::PAGE_TRANSITION_LINK, |
| + "X-PSA-Client-Options: v=1,m=1\nCache-Control: no-cache"); |
|
Alexei Svitkine (slow)
2015/02/20 18:37:27
Hardcoding this string in context menu code is bad
Not at Google. Contact bengr
2015/02/21 00:11:16
Moved the string to drp_settings. The OpenUrl(..)
|
| + break; |
| + |
| case IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB: |
| case IDC_CONTENT_CONTEXT_OPENAVNEWTAB: |
| OpenURL(params_.src_url, |