Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(617)

Unified Diff: chrome/browser/chromeos/arc/arc_intent_helper_bridge.cc

Issue 1760773004: Add "Open with <ARC-app-name>" items to the context menu (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: return std::pair Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/arc/arc_intent_helper_bridge.cc
diff --git a/chrome/browser/chromeos/arc/arc_intent_helper_bridge.cc b/chrome/browser/chromeos/arc/arc_intent_helper_bridge.cc
index ddc9ecc44f43e31936ca08ab3d85fbd95cfc3fa7..b0ad6448dd30ded69104f17f5dcf72a8e30118f3 100644
--- a/chrome/browser/chromeos/arc/arc_intent_helper_bridge.cc
+++ b/chrome/browser/chromeos/arc/arc_intent_helper_bridge.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/chromeos/arc/arc_intent_helper_bridge.h"
+#include "ash/shell.h"
#include "base/json/json_writer.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
@@ -28,9 +29,11 @@ void ArcIntentHelperBridge::OnIntentHelperInstanceReady() {
arc_bridge_service()->intent_helper_instance()->Init(
binding_.CreateInterfacePtrAndBind());
settings_bridge_.reset(new SettingsBridge(this));
+ ash::Shell::GetInstance()->open_with_menu_controller()->SetDelegate(this);
}
void ArcIntentHelperBridge::OnIntentHelperInstanceClosed() {
+ ash::Shell::GetInstance()->open_with_menu_controller()->SetDelegate(NULL);
settings_bridge_.reset();
}
@@ -69,4 +72,24 @@ void ArcIntentHelperBridge::OnBroadcastNeeded(
}
}
+int ArcIntentHelperBridge::PopulateOpenWithMenu(
+ RenderViewContextMenuProxy* proxy,
+ int menu_id_start,
+ size_t num_menu_items,
+ const GURL& url) {
+ menu_delegate_impl_.reset(
+ new OpenWithMenuControllerDelegate(arc_bridge_service()));
+ return menu_delegate_impl_->Init(proxy, menu_id_start, num_menu_items, url);
+}
+
+void ArcIntentHelperBridge::ExecuteCommand(int id) {
+ if (!menu_delegate_impl_)
+ return;
+ menu_delegate_impl_->ExecuteCommand(id);
+}
+
+void ArcIntentHelperBridge::MenuClosed() {
+ menu_delegate_impl_.reset();
+}
+
} // namespace arc

Powered by Google App Engine
This is Rietveld 408576698