| 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 fb8c8621df3350de646ecb6b3d0824ac728883b8..1ad2379e95ebdda9eab9e7eab884e7fc323efaf1 100644
|
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| @@ -47,6 +47,7 @@
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| #include "chrome/browser/profiles/profile_window.h"
|
| #include "chrome/browser/renderer_context_menu/context_menu_content_type_factory.h"
|
| +#include "chrome/browser/renderer_context_menu/open_with_menu_factory.h"
|
| #include "chrome/browser/renderer_context_menu/spelling_menu_observer.h"
|
| #include "chrome/browser/search/search.h"
|
| #include "chrome/browser/search_engines/template_url_service_factory.h"
|
| @@ -291,9 +292,23 @@ 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_OPEN_WITH1},
|
| + {75, -1, IDC_CONTENT_CONTEXT_OPEN_WITH2},
|
| + {76, -1, IDC_CONTENT_CONTEXT_OPEN_WITH3},
|
| + {77, -1, IDC_CONTENT_CONTEXT_OPEN_WITH4},
|
| + {78, -1, IDC_CONTENT_CONTEXT_OPEN_WITH5},
|
| + {79, -1, IDC_CONTENT_CONTEXT_OPEN_WITH6},
|
| + {80, -1, IDC_CONTENT_CONTEXT_OPEN_WITH7},
|
| + {81, -1, IDC_CONTENT_CONTEXT_OPEN_WITH8},
|
| + {82, -1, IDC_CONTENT_CONTEXT_OPEN_WITH9},
|
| + {83, -1, IDC_CONTENT_CONTEXT_OPEN_WITH10},
|
| + {84, -1, IDC_CONTENT_CONTEXT_OPEN_WITH11},
|
| + {85, -1, IDC_CONTENT_CONTEXT_OPEN_WITH12},
|
| + {86, -1, IDC_CONTENT_CONTEXT_OPEN_WITH13},
|
| + {87, -1, IDC_CONTENT_CONTEXT_OPEN_WITH14},
|
| // 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
|
| + {88, -1, 0}, // Must be the last. Increment |enum_id| when new IDC
|
| // was added.
|
| };
|
|
|
| @@ -945,6 +960,8 @@ void RenderViewContextMenu::AppendLinkItems() {
|
| menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD,
|
| IDS_CONTENT_CONTEXT_OPENLINKOFFTHERECORD);
|
|
|
| + AppendOpenWithLinkItems();
|
| +
|
| // While ChromeOS supports multiple profiles, only one can be open at a
|
| // time.
|
| // TODO(jochen): Consider adding support for ChromeOS with similar
|
| @@ -1040,6 +1057,14 @@ void RenderViewContextMenu::AppendLinkItems() {
|
| }
|
| }
|
|
|
| +void RenderViewContextMenu::AppendOpenWithLinkItems() {
|
| + open_with_menu_observer_.reset(OpenWithMenuFactory::CreateMenu(this));
|
| + if (open_with_menu_observer_) {
|
| + observers_.AddObserver(open_with_menu_observer_.get());
|
| + open_with_menu_observer_->InitMenu(params_);
|
| + }
|
| +}
|
| +
|
| void RenderViewContextMenu::AppendImageItems() {
|
| std::map<std::string, std::string>::const_iterator it =
|
| params_.properties.find(data_reduction_proxy::chrome_proxy_header());
|
|
|