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

Unified Diff: chrome/browser/task_management/providers/web_contents/extension_task.cc

Issue 2006423002: Task Manager: Make double-clicking on an extension do something useful. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@tm_selection
Patch Set: Created 4 years, 7 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/task_management/providers/web_contents/extension_task.cc
diff --git a/chrome/browser/task_management/providers/web_contents/extension_task.cc b/chrome/browser/task_management/providers/web_contents/extension_task.cc
index 9e6da132398dc92de57dfc0a6d46ab3a8f4b768e..4fffb451eef90ef8d57b54bbbb986f83e319ef85 100644
--- a/chrome/browser/task_management/providers/web_contents/extension_task.cc
+++ b/chrome/browser/task_management/providers/web_contents/extension_task.cc
@@ -5,6 +5,10 @@
#include "chrome/browser/task_management/providers/web_contents/extension_task.h"
#include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/chrome_pages.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/view_type_utils.h"
@@ -41,7 +45,8 @@ ExtensionTask::ExtensionTask(content::WebContents* web_contents,
: RendererTask(GetExtensionTitle(web_contents, extension, view_type),
GetDefaultIcon(),
web_contents,
- web_contents->GetRenderProcessHost()) {
+ web_contents->GetRenderProcessHost()),
+ extension_id_(extension->id()) {
afakhry 2016/05/25 18:50:59 I applied this locally and flashed it on a chromeo
ncarter (slow) 2016/05/25 19:59:09 Yuck. Thanks for figuring that out.
LoadExtensionIcon(extension);
}
@@ -58,6 +63,19 @@ void ExtensionTask::UpdateFavicon() {
// extension.
}
+void ExtensionTask::Activate() {
+ // TODO(nick): For extensions::VIEW_TYPE_APP_WINDOW, and maybe others, there
+ // may actually be a window we could focus. Special case those here as needed.
+ Browser* browser = chrome::FindTabbedBrowser(
+ Profile::FromBrowserContext(web_contents()->GetBrowserContext()), true);
+
+ // If an existing browser isn't found, don't create a new one.
+ if (!browser)
+ return;
+
+ chrome::ShowExtensions(browser, extension_id_);
+}
+
Task::Type ExtensionTask::GetType() const {
return Task::EXTENSION;
}

Powered by Google App Engine
This is Rietveld 408576698