Index: chrome/browser/renderer_context_menu/open_with_menu_factory_ash.cc |
diff --git a/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.cc b/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..56dbd65c5bba16f1bb69b01f876c07e169b31818 |
--- /dev/null |
+++ b/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.cc |
@@ -0,0 +1,31 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/renderer_context_menu/open_with_menu_factory.h" |
+ |
+#include "ash/renderer_context_menu/open_with_menu_controller.h" |
+#include "ash/shell.h" |
+ |
+namespace { |
+ |
+ash::OpenWithMenuController* GetController() { |
+ if (!ash::Shell::HasInstance()) |
+ return nullptr; |
+ return ash::Shell::GetInstance()->open_with_menu_controller(); |
+} |
+ |
+} // namespace |
+ |
+RenderViewContextMenuObserver* OpenWithMenuFactory::CreateMenu( |
+ RenderViewContextMenuProxy* proxy, |
+ int menu_id_start, |
+ size_t num_menu_items, |
+ int sub_menu_id_start, |
+ size_t num_sub_menu_items) { |
+ ash::OpenWithMenuController* controller = GetController(); |
+ if (!controller) |
+ return nullptr; |
+ return controller->CreateMenu(proxy, menu_id_start, num_menu_items, |
+ sub_menu_id_start, num_sub_menu_items); |
+} |