Chromium Code Reviews| 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; |
| } |