| 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 a1e4bc7bf9376a04ca8be4eacf359fa1196b61c6..10a741c4ae97e05b168602a169b41345f90c5776 100644
|
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| @@ -145,6 +145,10 @@
|
| #include "chrome/browser/media/router/media_router_metrics.h"
|
| #endif
|
|
|
| +#if defined(OS_CHROMEOS)
|
| +#include "chrome/browser/renderer_context_menu/arc_app_menu_observer_chromeos.h"
|
| +#endif
|
| +
|
| using base::UserMetricsAction;
|
| using blink::WebContextMenuData;
|
| using blink::WebMediaPlayerAction;
|
| @@ -278,9 +282,13 @@ const struct UmaEnumCommandIdPair {
|
| {71, -1, IDC_OPEN_LINK_IN_PROFILE_FIRST},
|
| {72, -1, IDC_CONTENT_CONTEXT_GENERATEPASSWORD},
|
| {73, -1, IDC_SPELLCHECK_MULTI_LINGUAL},
|
| + {74, -1, IDC_CONTENT_CONTEXT_ARC_APP1},
|
| + {75, -1, IDC_CONTENT_CONTEXT_ARC_APP2},
|
| + {76, -1, IDC_CONTENT_CONTEXT_ARC_APP3},
|
| + {77, -1, IDC_CONTENT_CONTEXT_ARC_SUB_MENU},
|
| // Add new items here and use |enum_id| from the next line.
|
| // Also, add new items to RenderViewContextMenuItem enum in histograms.xml.
|
| - {74, -1, 0}, // Must be the last. Increment |enum_id| when new IDC
|
| + {78, -1, 0}, // Must be the last. Increment |enum_id| when new IDC
|
| // was added.
|
| };
|
|
|
| @@ -898,11 +906,14 @@ void RenderViewContextMenu::AppendLinkItems() {
|
| menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD,
|
| IDS_CONTENT_CONTEXT_OPENLINKOFFTHERECORD);
|
|
|
| +#if defined(OS_CHROMEOS)
|
| + AppendArcLinkItems();
|
| +#else
|
| // While ChromeOS supports multiple profiles, only one can be open at a
|
| // time.
|
| // TODO(jochen): Consider adding support for ChromeOS with similar
|
| // semantics as the profile switcher in the system tray.
|
| -#if !defined(OS_CHROMEOS)
|
| +
|
| // g_browser_process->profile_manager() is null during unit tests.
|
| if (g_browser_process->profile_manager() &&
|
| GetProfile()->GetProfileType() == Profile::REGULAR_PROFILE) {
|
| @@ -961,7 +972,7 @@ void RenderViewContextMenu::AppendLinkItems() {
|
| &profile_link_submenu_model_);
|
| }
|
| }
|
| -#endif // !defined(OS_CHROMEOS)
|
| +#endif // defined(OS_CHROMEOS)
|
| menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
|
| menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SAVELINKAS,
|
| IDS_CONTENT_CONTEXT_SAVELINKAS);
|
| @@ -981,6 +992,15 @@ void RenderViewContextMenu::AppendLinkItems() {
|
| }
|
| }
|
|
|
| +#if defined(OS_CHROMEOS)
|
| +void RenderViewContextMenu::AppendArcLinkItems() {
|
| + if (!arc_app_menu_observer_)
|
| + arc_app_menu_observer_.reset(new ArcAppMenuObserver(this));
|
| + observers_.AddObserver(arc_app_menu_observer_.get());
|
| + arc_app_menu_observer_->InitMenu(params_);
|
| +}
|
| +#endif // defined(OS_CHROMEOS)
|
| +
|
| void RenderViewContextMenu::AppendImageItems() {
|
| std::map<std::string, std::string>::const_iterator it =
|
| params_.properties.find(data_reduction_proxy::chrome_proxy_header());
|
|
|