summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-08 19:55:14 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-08 19:55:14 +0000
commit8f0d1a2b4004082e5e46009d4446a59dff805928 (patch)
treeaabb0e55875425a5187eb8e724aa4b4a17ebe6c9 /chrome/browser
parented764d167c3f9653b9eec17ecc2042ea3c0a6611 (diff)
downloadchromium_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.h2
-rw-r--r--chrome/browser/cocoa/task_manager_mac.mm5
-rw-r--r--chrome/browser/gtk/task_manager_gtk.cc16
-rw-r--r--chrome/browser/task_manager.cc19
-rw-r--r--chrome/browser/task_manager.h2
-rw-r--r--chrome/browser/views/task_manager_view.cc16
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,