diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-08 19:55:14 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-08 19:55:14 +0000 |
commit | 8f0d1a2b4004082e5e46009d4446a59dff805928 (patch) | |
tree | aabb0e55875425a5187eb8e724aa4b4a17ebe6c9 /chrome/browser | |
parent | ed764d167c3f9653b9eec17ecc2042ea3c0a6611 (diff) | |
download | chromium_src-8f0d1a2b4004082e5e46009d4446a59dff805928.zip chromium_src-8f0d1a2b4004082e5e46009d4446a59dff805928.tar.gz chromium_src-8f0d1a2b4004082e5e46009d4446a59dff805928.tar.bz2 |
Add about:memory link to task manager.
Since about:memory DCHECK()s atm, the link is not completely hooked up.
In the xib, I've added a square button with height 14 and the new HyperlinkCell, contained in a GTMWidthBasedResizer or how it's called. I made sure the baseline of link on the left and button on the right is at the same height.
BUG=17989,13156
TEST=Open MainMenu.xib, click "Enable" for view->dev->taskman. Build&run chrome. Task manager should contain link.
Review URL: http://codereview.chromium.org/255018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28426 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/cocoa/task_manager_mac.h | 2 | ||||
-rw-r--r-- | chrome/browser/cocoa/task_manager_mac.mm | 5 | ||||
-rw-r--r-- | chrome/browser/gtk/task_manager_gtk.cc | 16 | ||||
-rw-r--r-- | chrome/browser/task_manager.cc | 19 | ||||
-rw-r--r-- | chrome/browser/task_manager.h | 2 | ||||
-rw-r--r-- | chrome/browser/views/task_manager_view.cc | 16 |
6 files changed, 29 insertions, 31 deletions
diff --git a/chrome/browser/cocoa/task_manager_mac.h b/chrome/browser/cocoa/task_manager_mac.h index 46d0455..2b8f961 100644 --- a/chrome/browser/cocoa/task_manager_mac.h +++ b/chrome/browser/cocoa/task_manager_mac.h @@ -22,6 +22,8 @@ // Refreshes all data in the task manager table. - (void)reloadData; + +- (IBAction)statsLinkClicked:(id)sender; @end // This class listens to task changed events sent by chrome. diff --git a/chrome/browser/cocoa/task_manager_mac.mm b/chrome/browser/cocoa/task_manager_mac.mm index a35128c..e5b1a04 100644 --- a/chrome/browser/cocoa/task_manager_mac.mm +++ b/chrome/browser/cocoa/task_manager_mac.mm @@ -13,7 +13,6 @@ #include "grit/generated_resources.h" // TODO(thakis): Autoremember window size/pos (and selected columns?) -// TODO(thakis): Link that opens about:memory // TODO(thakis): Activate button iff something is selected, hook it up // TODO(thakis): Column sort comparator // TODO(thakis): Clicking column header doesn't sort @@ -50,6 +49,10 @@ [tableView_ reloadData]; } +- (IBAction)statsLinkClicked:(id)sender { + TaskManager::GetInstance()->OpenAboutMemory(); +} + - (void)awakeFromNib { [self setUpTableColumns]; [self setUpTableHeaderContextMenu]; diff --git a/chrome/browser/gtk/task_manager_gtk.cc b/chrome/browser/gtk/task_manager_gtk.cc index 9854a3e..bc66dd7 100644 --- a/chrome/browser/gtk/task_manager_gtk.cc +++ b/chrome/browser/gtk/task_manager_gtk.cc @@ -24,7 +24,6 @@ #include "chrome/common/gtk_util.h" #include "chrome/common/pref_names.h" #include "chrome/common/pref_service.h" -#include "chrome/common/url_constants.h" #include "grit/app_resources.h" #include "grit/chromium_strings.h" @@ -663,20 +662,7 @@ void TaskManagerGtk::ActivateFocusedTab() { } void TaskManagerGtk::OnLinkActivated() { - Browser* browser = BrowserList::GetLastActive(); - DCHECK(browser); - browser->OpenURL(GURL(chrome::kAboutMemoryURL), GURL(), NEW_FOREGROUND_TAB, - PageTransition::LINK); - // In case the browser window is minimzed, show it. If this is an application - // or popup, we can only have one tab, hence we need to process this in a - // tabbed browser window. Currently, |browser| is pointing to the application, - // popup window. Therefore, we have to retrieve the last active tab again, - // since a new window has been used. - if (browser->type() & Browser::TYPE_APP_POPUP) { - browser = BrowserList::GetLastActive(); - DCHECK(browser); - } - browser->window()->Show(); + task_manager_->OpenAboutMemory(); } gint TaskManagerGtk::CompareImpl(GtkTreeModel* model, GtkTreeIter* a, diff --git a/chrome/browser/task_manager.cc b/chrome/browser/task_manager.cc index 0af61ff..bbc77da 100644 --- a/chrome/browser/task_manager.cc +++ b/chrome/browser/task_manager.cc @@ -14,12 +14,14 @@ #include "base/thread.h" #include "chrome/browser/browser_list.h" #include "chrome/browser/browser_process.h" +#include "chrome/browser/browser_window.h" #include "chrome/browser/net/url_request_tracking.h" #include "chrome/browser/renderer_host/render_process_host.h" #include "chrome/browser/renderer_host/resource_dispatcher_host.h" #include "chrome/browser/task_manager_resource_providers.h" #include "chrome/common/pref_names.h" #include "chrome/common/pref_service.h" +#include "chrome/common/url_constants.h" #include "grit/app_resources.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" @@ -820,3 +822,20 @@ void TaskManager::OnWindowClosed() { TaskManager* TaskManager::GetInstance() { return Singleton<TaskManager>::get(); } + +void TaskManager::OpenAboutMemory() { + Browser* browser = BrowserList::GetLastActive(); + DCHECK(browser); + browser->OpenURL(GURL(chrome::kAboutMemoryURL), GURL(), NEW_FOREGROUND_TAB, + PageTransition::LINK); + // In case the browser window is minimzed, show it. If this is an application + // or popup, we can only have one tab, hence we need to process this in a + // tabbed browser window. Currently, |browser| is pointing to the application, + // popup window. Therefore, we have to retrieve the last active tab again, + // since a new window has been used. + if (browser->type() & Browser::TYPE_APP_POPUP) { + browser = BrowserList::GetLastActive(); + DCHECK(browser); + } + browser->window()->Show(); +} diff --git a/chrome/browser/task_manager.h b/chrome/browser/task_manager.h index a4ece90..70c2644 100644 --- a/chrome/browser/task_manager.h +++ b/chrome/browser/task_manager.h @@ -125,6 +125,8 @@ class TaskManager { TaskManagerModel* model() const { return model_.get(); } + void OpenAboutMemory(); + private: FRIEND_TEST(TaskManagerTest, Basic); FRIEND_TEST(TaskManagerTest, Resources); diff --git a/chrome/browser/views/task_manager_view.cc b/chrome/browser/views/task_manager_view.cc index 2572cd0..36a477b 100644 --- a/chrome/browser/views/task_manager_view.cc +++ b/chrome/browser/views/task_manager_view.cc @@ -16,7 +16,6 @@ #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" #include "chrome/common/pref_service.h" -#include "chrome/common/url_constants.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" @@ -581,20 +580,7 @@ void TaskManagerView::OnKeyDown(unsigned short virtual_keycode) { // views::LinkController implementation void TaskManagerView::LinkActivated(views::Link* source, int event_flags) { DCHECK(source == about_memory_link_); - Browser* browser = BrowserList::GetLastActive(); - DCHECK(browser); - browser->OpenURL(GURL(chrome::kAboutMemoryURL), GURL(), NEW_FOREGROUND_TAB, - PageTransition::LINK); - // In case the browser window is minimzed, show it. If this is an application - // or popup, we can only have one tab, hence we need to process this in a - // tabbed browser window. Currently, |browser| is pointing to the application, - // popup window. Therefore, we have to retrieve the last active tab again, - // since a new window has been used. - if (browser->type() & Browser::TYPE_APP_POPUP) { - browser = BrowserList::GetLastActive(); - DCHECK(browser); - } - browser->window()->Show(); + task_manager_->OpenAboutMemory(); } void TaskManagerView::ShowContextMenu(views::View* source, int x, int y, |