Chromium Code Reviews| 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 4070c3edc71350dc9940e7f52f3f3856fef5a91d..ce2ddbf732d2ce1eedd1a1edacd924e23c51bc5a 100644 |
| --- a/chrome/browser/ui/webui/task_manager_dialog.cc |
| +++ b/chrome/browser/ui/webui/task_manager_dialog.cc |
| @@ -7,11 +7,15 @@ |
| #include "base/bind.h" |
| #include "base/memory/singleton.h" |
| #include "base/utf_string_conversions.h" |
| +#include "chrome/browser/browser_process.h" |
| #include "chrome/browser/platform_util.h" |
| +#include "chrome/browser/prefs/pref_service.h" |
| +#include "chrome/browser/prefs/scoped_user_pref_update.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/browser_dialogs.h" |
| #include "chrome/browser/ui/browser_list.h" |
| #include "chrome/browser/ui/webui/html_dialog_ui.h" |
| +#include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| #include "grit/google_chrome_strings.h" |
| #include "ui/base/l10n/l10n_util.h" |
| @@ -56,6 +60,21 @@ class TaskManagerDialogImpl : public HtmlDialogUIDelegate { |
| std::vector<WebUIMessageHandler*>* handlers) const OVERRIDE { |
| } |
| virtual void GetDialogSize(gfx::Size* size) const OVERRIDE { |
| + // If we previously saved the dialog's bounds, use them. |
|
James Hawkins
2011/12/02 16:31:31
Don't use 'we' in comments, it's ambiguous.
NaveenBobbili (Motorola)
2011/12/03 01:25:33
Done.
|
| + if (g_browser_process->local_state()) { |
| + const DictionaryValue* placement_pref = |
| + g_browser_process->local_state()->GetDictionary( |
| + prefs::kTaskManagerWindowPlacement); |
| + int width, height; |
| + if (placement_pref && |
| + placement_pref->GetInteger("width", &width) && |
| + placement_pref->GetInteger("height", &height)) { |
| + size->SetSize(std::max(1, width), std::max(1, height)); |
| + return; |
| + } |
| + } |
| + |
| + // Otherwise set default size. |
| size->SetSize(640, 480); |
| } |
| virtual std::string GetDialogArgs() const OVERRIDE { |
| @@ -74,6 +93,18 @@ class TaskManagerDialogImpl : public HtmlDialogUIDelegate { |
| virtual bool HandleContextMenu(const ContextMenuParams& params) OVERRIDE { |
| return true; |
| } |
| + virtual void StoreDialogSize(const gfx::Rect dialog_bounds) OVERRIDE { |
| + // Store the dialog's size so we can restore it the next time it's opened. |
|
James Hawkins
2011/12/02 16:31:31
Same here about 'we'.
NaveenBobbili (Motorola)
2011/12/03 01:25:33
Done.
|
| + if (g_browser_process->local_state()) { |
| + DictionaryPrefUpdate update(g_browser_process->local_state(), |
| + prefs::kTaskManagerWindowPlacement); |
| + DictionaryValue* placement_pref = update.Get(); |
| + // Note that we store left/top for consistency with Windows, but that we |
| + // *don't* restore them. |
| + placement_pref->SetInteger("width", dialog_bounds.width()); |
| + placement_pref->SetInteger("height", dialog_bounds.height()); |
| + } |
| + } |
| private: |
| void ShowDialog(bool is_background_page_mode); |