| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" | 5 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" | 24 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" |
| 25 #include "chrome/browser/browser_process.h" | 25 #include "chrome/browser/browser_process.h" |
| 26 #include "chrome/browser/chrome_notification_types.h" | 26 #include "chrome/browser/chrome_notification_types.h" |
| 27 #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h" | 27 #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h" |
| 28 #include "chrome/browser/devtools/devtools_window.h" | 28 #include "chrome/browser/devtools/devtools_window.h" |
| 29 #include "chrome/browser/download/download_service.h" | 29 #include "chrome/browser/download/download_service.h" |
| 30 #include "chrome/browser/download/download_service_factory.h" | 30 #include "chrome/browser/download/download_service_factory.h" |
| 31 #include "chrome/browser/download/download_stats.h" | 31 #include "chrome/browser/download/download_stats.h" |
| 32 #include "chrome/browser/extensions/devtools_util.h" | 32 #include "chrome/browser/extensions/devtools_util.h" |
| 33 #include "chrome/browser/extensions/extension_service.h" | 33 #include "chrome/browser/extensions/extension_service.h" |
| 34 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" |
| 35 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_fact
ory.h" |
| 34 #include "chrome/browser/plugins/chrome_plugin_service_filter.h" | 36 #include "chrome/browser/plugins/chrome_plugin_service_filter.h" |
| 35 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 37 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| 36 #include "chrome/browser/profiles/profile.h" | 38 #include "chrome/browser/profiles/profile.h" |
| 37 #include "chrome/browser/profiles/profile_io_data.h" | 39 #include "chrome/browser/profiles/profile_io_data.h" |
| 38 #include "chrome/browser/renderer_context_menu/context_menu_content_type_factory
.h" | 40 #include "chrome/browser/renderer_context_menu/context_menu_content_type_factory
.h" |
| 39 #include "chrome/browser/renderer_context_menu/spellchecker_submenu_observer.h" | 41 #include "chrome/browser/renderer_context_menu/spellchecker_submenu_observer.h" |
| 40 #include "chrome/browser/renderer_context_menu/spelling_menu_observer.h" | 42 #include "chrome/browser/renderer_context_menu/spelling_menu_observer.h" |
| 41 #include "chrome/browser/search/search.h" | 43 #include "chrome/browser/search/search.h" |
| 42 #include "chrome/browser/search_engines/template_url_service_factory.h" | 44 #include "chrome/browser/search_engines/template_url_service_factory.h" |
| 43 #include "chrome/browser/spellchecker/spellcheck_host_metrics.h" | 45 #include "chrome/browser/spellchecker/spellcheck_host_metrics.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 | 143 |
| 142 // Maps UMA enumeration to IDC. IDC could be changed so we can't use | 144 // Maps UMA enumeration to IDC. IDC could be changed so we can't use |
| 143 // just them and |UMA_HISTOGRAM_CUSTOM_ENUMERATION|. | 145 // just them and |UMA_HISTOGRAM_CUSTOM_ENUMERATION|. |
| 144 // Never change mapping or reuse |enum_id|. Always push back new items. | 146 // Never change mapping or reuse |enum_id|. Always push back new items. |
| 145 // Items that is not used any more by |RenderViewContextMenu.ExecuteCommand| | 147 // Items that is not used any more by |RenderViewContextMenu.ExecuteCommand| |
| 146 // could be deleted, but don't change the rest of |kUmaEnumToControlId|. | 148 // could be deleted, but don't change the rest of |kUmaEnumToControlId|. |
| 147 const struct UmaEnumCommandIdPair { | 149 const struct UmaEnumCommandIdPair { |
| 148 int enum_id; | 150 int enum_id; |
| 149 int control_id; | 151 int control_id; |
| 150 } kUmaEnumToControlId[] = { | 152 } kUmaEnumToControlId[] = { |
| 151 /* | 153 /* |
| 152 enum id for 0, 1 are detected using | 154 enum id for 0, 1 are detected using |
| 153 RenderViewContextMenu::IsContentCustomCommandId and | 155 RenderViewContextMenu::IsContentCustomCommandId and |
| 154 ContextMenuMatcher::IsExtensionsCustomCommandId | 156 ContextMenuMatcher::IsExtensionsCustomCommandId |
| 155 */ | 157 */ |
| 156 {2, IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_FIRST}, | 158 {2, IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_FIRST}, |
| 157 {3, IDC_CONTENT_CONTEXT_OPENLINKNEWTAB}, | 159 {3, IDC_CONTENT_CONTEXT_OPENLINKNEWTAB}, |
| 158 {4, IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW}, | 160 {4, IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW}, |
| 159 {5, IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD}, | 161 {5, IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD}, |
| 160 {6, IDC_CONTENT_CONTEXT_SAVELINKAS}, | 162 {6, IDC_CONTENT_CONTEXT_SAVELINKAS}, |
| 161 {7, IDC_CONTENT_CONTEXT_SAVEAVAS}, | 163 {7, IDC_CONTENT_CONTEXT_SAVEAVAS}, |
| 162 {8, IDC_CONTENT_CONTEXT_SAVEIMAGEAS}, | 164 {8, IDC_CONTENT_CONTEXT_SAVEIMAGEAS}, |
| 163 {9, IDC_CONTENT_CONTEXT_COPYLINKLOCATION}, | 165 {9, IDC_CONTENT_CONTEXT_COPYLINKLOCATION}, |
| 164 {10, IDC_CONTENT_CONTEXT_COPYIMAGELOCATION}, | 166 {10, IDC_CONTENT_CONTEXT_COPYIMAGELOCATION}, |
| 165 {11, IDC_CONTENT_CONTEXT_COPYAVLOCATION}, | 167 {11, IDC_CONTENT_CONTEXT_COPYAVLOCATION}, |
| 166 {12, IDC_CONTENT_CONTEXT_COPYIMAGE}, | 168 {12, IDC_CONTENT_CONTEXT_COPYIMAGE}, |
| 167 {13, IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB}, | 169 {13, IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB}, |
| 168 {14, IDC_CONTENT_CONTEXT_OPENAVNEWTAB}, | 170 {14, IDC_CONTENT_CONTEXT_OPENAVNEWTAB}, |
| 169 {15, IDC_CONTENT_CONTEXT_PLAYPAUSE}, | 171 {15, IDC_CONTENT_CONTEXT_PLAYPAUSE}, |
| 170 {16, IDC_CONTENT_CONTEXT_MUTE}, | 172 {16, IDC_CONTENT_CONTEXT_MUTE}, |
| 171 {17, IDC_CONTENT_CONTEXT_LOOP}, | 173 {17, IDC_CONTENT_CONTEXT_LOOP}, |
| 172 {18, IDC_CONTENT_CONTEXT_CONTROLS}, | 174 {18, IDC_CONTENT_CONTEXT_CONTROLS}, |
| 173 {19, IDC_CONTENT_CONTEXT_ROTATECW}, | 175 {19, IDC_CONTENT_CONTEXT_ROTATECW}, |
| 174 {20, IDC_CONTENT_CONTEXT_ROTATECCW}, | 176 {20, IDC_CONTENT_CONTEXT_ROTATECCW}, |
| 175 {21, IDC_BACK}, | 177 {21, IDC_BACK}, |
| 176 {22, IDC_FORWARD}, | 178 {22, IDC_FORWARD}, |
| 177 {23, IDC_SAVE_PAGE}, | 179 {23, IDC_SAVE_PAGE}, |
| 178 {24, IDC_RELOAD}, | 180 {24, IDC_RELOAD}, |
| 179 {25, IDC_CONTENT_CONTEXT_RELOAD_PACKAGED_APP}, | 181 {25, IDC_CONTENT_CONTEXT_RELOAD_PACKAGED_APP}, |
| 180 {26, IDC_CONTENT_CONTEXT_RESTART_PACKAGED_APP}, | 182 {26, IDC_CONTENT_CONTEXT_RESTART_PACKAGED_APP}, |
| 181 {27, IDC_PRINT}, | 183 {27, IDC_PRINT}, |
| 182 {28, IDC_VIEW_SOURCE}, | 184 {28, IDC_VIEW_SOURCE}, |
| 183 {29, IDC_CONTENT_CONTEXT_INSPECTELEMENT}, | 185 {29, IDC_CONTENT_CONTEXT_INSPECTELEMENT}, |
| 184 {30, IDC_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE}, | 186 {30, IDC_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE}, |
| 185 {31, IDC_CONTENT_CONTEXT_VIEWPAGEINFO}, | 187 {31, IDC_CONTENT_CONTEXT_VIEWPAGEINFO}, |
| 186 {32, IDC_CONTENT_CONTEXT_TRANSLATE}, | 188 {32, IDC_CONTENT_CONTEXT_TRANSLATE}, |
| 187 {33, IDC_CONTENT_CONTEXT_RELOADFRAME}, | 189 {33, IDC_CONTENT_CONTEXT_RELOADFRAME}, |
| 188 {34, IDC_CONTENT_CONTEXT_VIEWFRAMESOURCE}, | 190 {34, IDC_CONTENT_CONTEXT_VIEWFRAMESOURCE}, |
| 189 {35, IDC_CONTENT_CONTEXT_VIEWFRAMEINFO}, | 191 {35, IDC_CONTENT_CONTEXT_VIEWFRAMEINFO}, |
| 190 {36, IDC_CONTENT_CONTEXT_UNDO}, | 192 {36, IDC_CONTENT_CONTEXT_UNDO}, |
| 191 {37, IDC_CONTENT_CONTEXT_REDO}, | 193 {37, IDC_CONTENT_CONTEXT_REDO}, |
| 192 {38, IDC_CONTENT_CONTEXT_CUT}, | 194 {38, IDC_CONTENT_CONTEXT_CUT}, |
| 193 {39, IDC_CONTENT_CONTEXT_COPY}, | 195 {39, IDC_CONTENT_CONTEXT_COPY}, |
| 194 {40, IDC_CONTENT_CONTEXT_PASTE}, | 196 {40, IDC_CONTENT_CONTEXT_PASTE}, |
| 195 {41, IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE}, | 197 {41, IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE}, |
| 196 {42, IDC_CONTENT_CONTEXT_DELETE}, | 198 {42, IDC_CONTENT_CONTEXT_DELETE}, |
| 197 {43, IDC_CONTENT_CONTEXT_SELECTALL}, | 199 {43, IDC_CONTENT_CONTEXT_SELECTALL}, |
| 198 {44, IDC_CONTENT_CONTEXT_SEARCHWEBFOR}, | 200 {44, IDC_CONTENT_CONTEXT_SEARCHWEBFOR}, |
| 199 {45, IDC_CONTENT_CONTEXT_GOTOURL}, | 201 {45, IDC_CONTENT_CONTEXT_GOTOURL}, |
| 200 {46, IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS}, | 202 {46, IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS}, |
| 201 {47, IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_SETTINGS}, | 203 {47, IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_SETTINGS}, |
| 202 {48, IDC_CONTENT_CONTEXT_ADDSEARCHENGINE}, | 204 {48, IDC_CONTENT_CONTEXT_ADDSEARCHENGINE}, |
| 203 {52, IDC_CONTENT_CONTEXT_OPENLINKWITH}, | 205 {52, IDC_CONTENT_CONTEXT_OPENLINKWITH}, |
| 204 {53, IDC_CHECK_SPELLING_WHILE_TYPING}, | 206 {53, IDC_CHECK_SPELLING_WHILE_TYPING}, |
| 205 {54, IDC_SPELLCHECK_MENU}, | 207 {54, IDC_SPELLCHECK_MENU}, |
| 206 {55, IDC_CONTENT_CONTEXT_SPELLING_TOGGLE}, | 208 {55, IDC_CONTENT_CONTEXT_SPELLING_TOGGLE}, |
| 207 {56, IDC_SPELLCHECK_LANGUAGES_FIRST}, | 209 {56, IDC_SPELLCHECK_LANGUAGES_FIRST}, |
| 208 {57, IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE}, | 210 {57, IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE}, |
| 209 {58, IDC_SPELLCHECK_SUGGESTION_0}, | 211 {58, IDC_SPELLCHECK_SUGGESTION_0}, |
| 210 {59, IDC_SPELLCHECK_ADD_TO_DICTIONARY}, | 212 {59, IDC_SPELLCHECK_ADD_TO_DICTIONARY}, |
| 211 {60, IDC_SPELLPANEL_TOGGLE}, | 213 {60, IDC_SPELLPANEL_TOGGLE}, |
| 212 // Add new items here and use |enum_id| from the next line. | 214 {61, IDC_CONTENT_CONTEXT_OPEN_ORIGINAL_IMAGE_NEW_TAB}, |
| 213 {61, 0}, // Must be the last. Increment |enum_id| when new IDC was added. | 215 // Add new items here and use |enum_id| from the next line. |
| 216 {62, 0}, // Must be the last. Increment |enum_id| when new IDC was added. |
| 214 }; | 217 }; |
| 215 | 218 |
| 216 // Collapses large ranges of ids before looking for UMA enum. | 219 // Collapses large ranges of ids before looking for UMA enum. |
| 217 int CollapseCommandsForUMA(int id) { | 220 int CollapseCommandsForUMA(int id) { |
| 218 DCHECK(!RenderViewContextMenu::IsContentCustomCommandId(id)); | 221 DCHECK(!RenderViewContextMenu::IsContentCustomCommandId(id)); |
| 219 DCHECK(!ContextMenuMatcher::IsExtensionsCustomCommandId(id)); | 222 DCHECK(!ContextMenuMatcher::IsExtensionsCustomCommandId(id)); |
| 220 | 223 |
| 221 if (id >= IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_FIRST && | 224 if (id >= IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_FIRST && |
| 222 id <= IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_LAST) { | 225 id <= IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_LAST) { |
| 223 return IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_FIRST; | 226 return IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_FIRST; |
| (...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 IDS_CONTENT_CONTEXT_COPYLINKLOCATION); | 688 IDS_CONTENT_CONTEXT_COPYLINKLOCATION); |
| 686 } | 689 } |
| 687 | 690 |
| 688 void RenderViewContextMenu::AppendImageItems() { | 691 void RenderViewContextMenu::AppendImageItems() { |
| 689 menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SAVEIMAGEAS, | 692 menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SAVEIMAGEAS, |
| 690 IDS_CONTENT_CONTEXT_SAVEIMAGEAS); | 693 IDS_CONTENT_CONTEXT_SAVEIMAGEAS); |
| 691 menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGELOCATION, | 694 menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGELOCATION, |
| 692 IDS_CONTENT_CONTEXT_COPYIMAGELOCATION); | 695 IDS_CONTENT_CONTEXT_COPYIMAGELOCATION); |
| 693 menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGE, | 696 menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGE, |
| 694 IDS_CONTENT_CONTEXT_COPYIMAGE); | 697 IDS_CONTENT_CONTEXT_COPYIMAGE); |
| 695 menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB, | 698 if (!browser_context_->IsOffTheRecord() && |
| 696 IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB); | 699 DataReductionProxyChromeSettingsFactory::GetForBrowserContext( |
| 700 browser_context_)->CanUseDataReductionProxy(params_.src_url)) { |
| 701 menu_model_.AddItemWithStringId( |
| 702 IDC_CONTENT_CONTEXT_OPEN_ORIGINAL_IMAGE_NEW_TAB, |
| 703 IDS_CONTENT_CONTEXT_OPEN_ORIGINAL_IMAGE_NEW_TAB); |
| 704 } else { |
| 705 menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB, |
| 706 IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB); |
| 707 } |
| 697 } | 708 } |
| 698 | 709 |
| 699 void RenderViewContextMenu::AppendSearchWebForImageItems() { | 710 void RenderViewContextMenu::AppendSearchWebForImageItems() { |
| 700 TemplateURLService* service = | 711 TemplateURLService* service = |
| 701 TemplateURLServiceFactory::GetForProfile(GetProfile()); | 712 TemplateURLServiceFactory::GetForProfile(GetProfile()); |
| 702 const TemplateURL* const default_provider = | 713 const TemplateURL* const default_provider = |
| 703 service->GetDefaultSearchProvider(); | 714 service->GetDefaultSearchProvider(); |
| 704 if (params_.has_image_contents && default_provider && | 715 if (params_.has_image_contents && default_provider && |
| 705 !default_provider->image_url().empty() && | 716 !default_provider->image_url().empty() && |
| 706 default_provider->image_url_ref().IsValid(service->search_terms_data())) { | 717 default_provider->image_url_ref().IsValid(service->search_terms_data())) { |
| (...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1095 DCHECK(local_state); | 1106 DCHECK(local_state); |
| 1096 // Test if file-selection dialogs are forbidden by policy. | 1107 // Test if file-selection dialogs are forbidden by policy. |
| 1097 if (!local_state->GetBoolean(prefs::kAllowFileSelectionDialogs)) | 1108 if (!local_state->GetBoolean(prefs::kAllowFileSelectionDialogs)) |
| 1098 return false; | 1109 return false; |
| 1099 | 1110 |
| 1100 return params_.has_image_contents; | 1111 return params_.has_image_contents; |
| 1101 } | 1112 } |
| 1102 | 1113 |
| 1103 // The images shown in the most visited thumbnails can't be opened or | 1114 // The images shown in the most visited thumbnails can't be opened or |
| 1104 // searched for conventionally. | 1115 // searched for conventionally. |
| 1116 case IDC_CONTENT_CONTEXT_OPEN_ORIGINAL_IMAGE_NEW_TAB: |
| 1105 case IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB: | 1117 case IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB: |
| 1106 case IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE: | 1118 case IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE: |
| 1107 return params_.src_url.is_valid() && | 1119 return params_.src_url.is_valid() && |
| 1108 (params_.src_url.scheme() != content::kChromeUIScheme); | 1120 (params_.src_url.scheme() != content::kChromeUIScheme); |
| 1109 | 1121 |
| 1110 case IDC_CONTENT_CONTEXT_COPYIMAGE: | 1122 case IDC_CONTENT_CONTEXT_COPYIMAGE: |
| 1111 return params_.has_image_contents; | 1123 return params_.has_image_contents; |
| 1112 | 1124 |
| 1113 // Media control commands should all be disabled if the player is in an | 1125 // Media control commands should all be disabled if the player is in an |
| 1114 // error state. | 1126 // error state. |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1393 break; | 1405 break; |
| 1394 | 1406 |
| 1395 case IDC_CONTENT_CONTEXT_COPYIMAGE: | 1407 case IDC_CONTENT_CONTEXT_COPYIMAGE: |
| 1396 CopyImageAt(params_.x, params_.y); | 1408 CopyImageAt(params_.x, params_.y); |
| 1397 break; | 1409 break; |
| 1398 | 1410 |
| 1399 case IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE: | 1411 case IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE: |
| 1400 GetImageThumbnailForSearch(); | 1412 GetImageThumbnailForSearch(); |
| 1401 break; | 1413 break; |
| 1402 | 1414 |
| 1415 case IDC_CONTENT_CONTEXT_OPEN_ORIGINAL_IMAGE_NEW_TAB: |
| 1416 OpenURLWithExtraHeaders( |
| 1417 params_.src_url, GetDocumentURL(params_), NEW_BACKGROUND_TAB, |
| 1418 ui::PAGE_TRANSITION_LINK, |
| 1419 data_reduction_proxy::kDataReductionPassThroughHeader); |
| 1420 break; |
| 1421 |
| 1403 case IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB: | 1422 case IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB: |
| 1404 case IDC_CONTENT_CONTEXT_OPENAVNEWTAB: | 1423 case IDC_CONTENT_CONTEXT_OPENAVNEWTAB: |
| 1405 OpenURL(params_.src_url, | 1424 OpenURL(params_.src_url, |
| 1406 GetDocumentURL(params_), | 1425 GetDocumentURL(params_), |
| 1407 NEW_BACKGROUND_TAB, | 1426 NEW_BACKGROUND_TAB, |
| 1408 ui::PAGE_TRANSITION_LINK); | 1427 ui::PAGE_TRANSITION_LINK); |
| 1409 break; | 1428 break; |
| 1410 | 1429 |
| 1411 case IDC_CONTENT_CONTEXT_PLAYPAUSE: { | 1430 case IDC_CONTENT_CONTEXT_PLAYPAUSE: { |
| 1412 bool play = !!(params_.media_flags & WebContextMenuData::MediaPaused); | 1431 bool play = !!(params_.media_flags & WebContextMenuData::MediaPaused); |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1785 source_web_contents_->GetRenderViewHost()-> | 1804 source_web_contents_->GetRenderViewHost()-> |
| 1786 ExecuteMediaPlayerActionAtLocation(location, action); | 1805 ExecuteMediaPlayerActionAtLocation(location, action); |
| 1787 } | 1806 } |
| 1788 | 1807 |
| 1789 void RenderViewContextMenu::PluginActionAt( | 1808 void RenderViewContextMenu::PluginActionAt( |
| 1790 const gfx::Point& location, | 1809 const gfx::Point& location, |
| 1791 const WebPluginAction& action) { | 1810 const WebPluginAction& action) { |
| 1792 source_web_contents_->GetRenderViewHost()-> | 1811 source_web_contents_->GetRenderViewHost()-> |
| 1793 ExecutePluginActionAtLocation(location, action); | 1812 ExecutePluginActionAtLocation(location, action); |
| 1794 } | 1813 } |
| OLD | NEW |