Index: chrome/browser/ui/webui/task_manager_dialog.cc |
diff --git a/chrome/browser/ui/webui/task_manager_dialog.cc b/chrome/browser/ui/webui/task_manager_dialog.cc |
index 0656b764ef7a8a2d93f93fdb016b0a2ab74c57e6..4c787ddbcb3de156c3a2c0a0c57d7c5d17cedacb 100644 |
--- a/chrome/browser/ui/webui/task_manager_dialog.cc |
+++ b/chrome/browser/ui/webui/task_manager_dialog.cc |
@@ -17,7 +17,7 @@ class TaskManagerDialogImpl : public HtmlDialogUIDelegate { |
public: |
TaskManagerDialogImpl(); |
- static void Show(); |
+ static void Show(bool is_background_page_mode); |
static TaskManagerDialogImpl* GetInstance(); |
protected: |
@@ -35,6 +35,8 @@ class TaskManagerDialogImpl : public HtmlDialogUIDelegate { |
} |
virtual GURL GetDialogContentURL() const OVERRIDE { |
std::string url_string(chrome::kChromeUITaskManagerURL); |
+ if (is_background_page_mode_) |
+ url_string += "#bg"; |
return GURL(url_string); |
} |
virtual void GetWebUIMessageHandlers( |
@@ -62,10 +64,11 @@ class TaskManagerDialogImpl : public HtmlDialogUIDelegate { |
} |
private: |
- void ShowDialog(); |
+ void ShowDialog(bool is_background_page_mode); |
void OpenHtmlDialog(); |
bool is_shown_; |
+ bool is_background_page_mode_; |
DISALLOW_COPY_AND_ASSIGN(TaskManagerDialogImpl); |
}; |
@@ -79,22 +82,25 @@ TaskManagerDialogImpl* TaskManagerDialogImpl::GetInstance() { |
return Singleton<TaskManagerDialogImpl>::get(); |
} |
-TaskManagerDialogImpl::TaskManagerDialogImpl() : is_shown_(false) { |
+TaskManagerDialogImpl::TaskManagerDialogImpl() |
+ : is_shown_(false), is_background_page_mode_(false) { |
} |
TaskManagerDialogImpl::~TaskManagerDialogImpl() { |
} |
-void TaskManagerDialogImpl::Show() { |
+// static |
+void TaskManagerDialogImpl::Show(bool is_background_page_mode) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
TaskManagerDialogImpl* dialog = TaskManagerDialogImpl::GetInstance(); |
- dialog->ShowDialog(); |
+ dialog->ShowDialog(is_background_page_mode); |
} |
-void TaskManagerDialogImpl::ShowDialog() { |
+void TaskManagerDialogImpl::ShowDialog(bool is_background_page_mode) { |
// TODO(yoshiki): Brings up existing UI when called with is_shown_ == TRUE |
if (!is_shown_) { |
is_shown_ = true; |
+ is_background_page_mode_ = is_background_page_mode; |
OpenHtmlDialog(); |
} |
} |
@@ -115,6 +121,13 @@ void TaskManagerDialogImpl::OpenHtmlDialog() { |
void TaskManagerDialog::Show() { |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
- NewRunnableFunction(&TaskManagerDialogImpl::Show)); |
+ NewRunnableFunction(&TaskManagerDialogImpl::Show, false)); |
+} |
+ |
+// static |
+void TaskManagerDialog::ShowBackgroundPages() { |
+ BrowserThread::PostTask( |
+ BrowserThread::UI, FROM_HERE, |
+ NewRunnableFunction(&TaskManagerDialogImpl::Show, true)); |
} |