Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(421)

Side by Side Diff: chrome/browser/ui/gtk/task_manager_gtk.cc

Issue 102073008: Allow multiple NaCl modules to be debugged. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix mac Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/gtk/task_manager_gtk.h" 5 #include "chrome/browser/ui/gtk/task_manager_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <set> 10 #include <set>
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 kTaskManagerCPU, 63 kTaskManagerCPU,
64 kTaskManagerNetwork, 64 kTaskManagerNetwork,
65 kTaskManagerProcessID, 65 kTaskManagerProcessID,
66 kTaskManagerJavaScriptMemory, 66 kTaskManagerJavaScriptMemory,
67 kTaskManagerWebCoreImageCache, 67 kTaskManagerWebCoreImageCache,
68 kTaskManagerWebCoreScriptsCache, 68 kTaskManagerWebCoreScriptsCache,
69 kTaskManagerWebCoreCssCache, 69 kTaskManagerWebCoreCssCache,
70 kTaskManagerVideoMemory, 70 kTaskManagerVideoMemory,
71 kTaskManagerFPS, 71 kTaskManagerFPS,
72 kTaskManagerSqliteMemoryUsed, 72 kTaskManagerSqliteMemoryUsed,
73 kTaskManagerNaClDebugStubPort,
73 kTaskManagerGoatsTeleported, 74 kTaskManagerGoatsTeleported,
74 kTaskManagerColumnCount, 75 kTaskManagerColumnCount,
75 }; 76 };
76 77
77 const TaskManagerColumn kTaskManagerLastVisibleColumn = 78 const TaskManagerColumn kTaskManagerLastVisibleColumn =
78 kTaskManagerGoatsTeleported; 79 kTaskManagerGoatsTeleported;
79 80
80 TaskManagerColumn TaskManagerResourceIDToColumnID(int id) { 81 TaskManagerColumn TaskManagerResourceIDToColumnID(int id) {
81 switch (id) { 82 switch (id) {
82 case IDS_TASK_MANAGER_TASK_COLUMN: 83 case IDS_TASK_MANAGER_TASK_COLUMN:
(...skipping 17 matching lines...) Expand all
100 case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: 101 case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN:
101 return kTaskManagerWebCoreScriptsCache; 102 return kTaskManagerWebCoreScriptsCache;
102 case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: 103 case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN:
103 return kTaskManagerWebCoreCssCache; 104 return kTaskManagerWebCoreCssCache;
104 case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: 105 case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN:
105 return kTaskManagerVideoMemory; 106 return kTaskManagerVideoMemory;
106 case IDS_TASK_MANAGER_FPS_COLUMN: 107 case IDS_TASK_MANAGER_FPS_COLUMN:
107 return kTaskManagerFPS; 108 return kTaskManagerFPS;
108 case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: 109 case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN:
109 return kTaskManagerSqliteMemoryUsed; 110 return kTaskManagerSqliteMemoryUsed;
111 case IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN:
112 return kTaskManagerNaClDebugStubPort;
110 case IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN: 113 case IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN:
111 return kTaskManagerGoatsTeleported; 114 return kTaskManagerGoatsTeleported;
112 default: 115 default:
113 NOTREACHED(); 116 NOTREACHED();
114 return static_cast<TaskManagerColumn>(-1); 117 return static_cast<TaskManagerColumn>(-1);
115 } 118 }
116 } 119 }
117 120
118 int TaskManagerColumnIDToResourceID(int id) { 121 int TaskManagerColumnIDToResourceID(int id) {
119 switch (id) { 122 switch (id) {
(...skipping 18 matching lines...) Expand all
138 case kTaskManagerWebCoreScriptsCache: 141 case kTaskManagerWebCoreScriptsCache:
139 return IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN; 142 return IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN;
140 case kTaskManagerWebCoreCssCache: 143 case kTaskManagerWebCoreCssCache:
141 return IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN; 144 return IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN;
142 case kTaskManagerVideoMemory: 145 case kTaskManagerVideoMemory:
143 return IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN; 146 return IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN;
144 case kTaskManagerFPS: 147 case kTaskManagerFPS:
145 return IDS_TASK_MANAGER_FPS_COLUMN; 148 return IDS_TASK_MANAGER_FPS_COLUMN;
146 case kTaskManagerSqliteMemoryUsed: 149 case kTaskManagerSqliteMemoryUsed:
147 return IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN; 150 return IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN;
151 case kTaskManagerNaClDebugStubPort:
152 return IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN;
148 case kTaskManagerGoatsTeleported: 153 case kTaskManagerGoatsTeleported:
149 return IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN; 154 return IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN;
150 default: 155 default:
151 NOTREACHED(); 156 NOTREACHED();
152 return -1; 157 return -1;
153 } 158 }
154 } 159 }
155 160
156 // Should be used for all gtk_tree_view functions that require a column index on 161 // Should be used for all gtk_tree_view functions that require a column index on
157 // input. 162 // input.
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 GDK_w, GDK_CONTROL_MASK, GtkAccelFlags(0), 563 GDK_w, GDK_CONTROL_MASK, GtkAccelFlags(0),
559 g_cclosure_new(G_CALLBACK(OnGtkAcceleratorThunk), 564 g_cclosure_new(G_CALLBACK(OnGtkAcceleratorThunk),
560 this, NULL)); 565 this, NULL));
561 } 566 }
562 567
563 void TaskManagerGtk::CreateTaskManagerTreeview() { 568 void TaskManagerGtk::CreateTaskManagerTreeview() {
564 process_list_ = gtk_list_store_new(kTaskManagerColumnCount, 569 process_list_ = gtk_list_store_new(kTaskManagerColumnCount,
565 GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, 570 GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
566 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, 571 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
567 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, 572 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
568 G_TYPE_STRING, G_TYPE_STRING); 573 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
569 574
570 // Support sorting on all columns. 575 // Support sorting on all columns.
571 process_list_sort_ = gtk_tree_model_sort_new_with_model( 576 process_list_sort_ = gtk_tree_model_sort_new_with_model(
572 GTK_TREE_MODEL(process_list_)); 577 GTK_TREE_MODEL(process_list_));
573 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_), 578 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_),
574 kTaskManagerTask, 579 kTaskManagerTask,
575 ComparePage, this, NULL); 580 ComparePage, this, NULL);
576 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_), 581 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_),
577 kTaskManagerTask, 582 kTaskManagerTask,
578 CompareProfileName, this, NULL); 583 CompareProfileName, this, NULL);
(...skipping 27 matching lines...) Expand all
606 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_), 611 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_),
607 kTaskManagerVideoMemory, 612 kTaskManagerVideoMemory,
608 CompareVideoMemory, this, NULL); 613 CompareVideoMemory, this, NULL);
609 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_), 614 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_),
610 kTaskManagerFPS, 615 kTaskManagerFPS,
611 CompareFPS, this, NULL); 616 CompareFPS, this, NULL);
612 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_), 617 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_),
613 kTaskManagerSqliteMemoryUsed, 618 kTaskManagerSqliteMemoryUsed,
614 CompareSqliteMemoryUsed, this, NULL); 619 CompareSqliteMemoryUsed, this, NULL);
615 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_), 620 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_),
621 kTaskManagerNaClDebugStubPort,
622 CompareNaClDebugStubPort, this, NULL);
623 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(process_list_sort_),
616 kTaskManagerGoatsTeleported, 624 kTaskManagerGoatsTeleported,
617 CompareGoatsTeleported, this, NULL); 625 CompareGoatsTeleported, this, NULL);
618 treeview_ = gtk_tree_view_new_with_model(process_list_sort_); 626 treeview_ = gtk_tree_view_new_with_model(process_list_sort_);
619 627
620 // Insert all the columns. 628 // Insert all the columns.
621 TreeViewInsertTaskColumn(treeview_, IDS_TASK_MANAGER_TASK_COLUMN); 629 TreeViewInsertTaskColumn(treeview_, IDS_TASK_MANAGER_TASK_COLUMN);
622 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_PROFILE_NAME_COLUMN); 630 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_PROFILE_NAME_COLUMN);
623 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_SHARED_MEM_COLUMN); 631 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_SHARED_MEM_COLUMN);
624 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN); 632 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN);
625 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_CPU_COLUMN); 633 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_CPU_COLUMN);
626 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_NET_COLUMN); 634 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_NET_COLUMN);
627 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_PROCESS_ID_COLUMN); 635 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_PROCESS_ID_COLUMN);
628 TreeViewInsertColumn(treeview_, 636 TreeViewInsertColumn(treeview_,
629 IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN); 637 IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN);
630 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN); 638 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN);
631 TreeViewInsertColumn(treeview_, 639 TreeViewInsertColumn(treeview_,
632 IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN); 640 IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN);
633 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN); 641 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN);
634 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN); 642 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN);
635 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_FPS_COLUMN); 643 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_FPS_COLUMN);
636 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN); 644 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN);
645 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN);
637 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN); 646 TreeViewInsertColumn(treeview_, IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN);
638 647
639 // Hide some columns by default. 648 // Hide some columns by default.
640 TreeViewColumnSetVisible(treeview_, kTaskManagerProfileName, false); 649 TreeViewColumnSetVisible(treeview_, kTaskManagerProfileName, false);
641 TreeViewColumnSetVisible(treeview_, kTaskManagerSharedMem, false); 650 TreeViewColumnSetVisible(treeview_, kTaskManagerSharedMem, false);
642 TreeViewColumnSetVisible(treeview_, kTaskManagerJavaScriptMemory, false); 651 TreeViewColumnSetVisible(treeview_, kTaskManagerJavaScriptMemory, false);
643 TreeViewColumnSetVisible(treeview_, kTaskManagerWebCoreImageCache, false); 652 TreeViewColumnSetVisible(treeview_, kTaskManagerWebCoreImageCache, false);
644 TreeViewColumnSetVisible(treeview_, kTaskManagerWebCoreScriptsCache, false); 653 TreeViewColumnSetVisible(treeview_, kTaskManagerWebCoreScriptsCache, false);
645 TreeViewColumnSetVisible(treeview_, kTaskManagerWebCoreCssCache, false); 654 TreeViewColumnSetVisible(treeview_, kTaskManagerWebCoreCssCache, false);
646 TreeViewColumnSetVisible(treeview_, kTaskManagerVideoMemory, false); 655 TreeViewColumnSetVisible(treeview_, kTaskManagerVideoMemory, false);
647 TreeViewColumnSetVisible(treeview_, kTaskManagerSqliteMemoryUsed, false); 656 TreeViewColumnSetVisible(treeview_, kTaskManagerSqliteMemoryUsed, false);
657 TreeViewColumnSetVisible(treeview_, kTaskManagerNaClDebugStubPort, false);
648 TreeViewColumnSetVisible(treeview_, kTaskManagerGoatsTeleported, false); 658 TreeViewColumnSetVisible(treeview_, kTaskManagerGoatsTeleported, false);
649 659
650 g_object_unref(process_list_); 660 g_object_unref(process_list_);
651 g_object_unref(process_list_sort_); 661 g_object_unref(process_list_sort_);
652 } 662 }
653 663
654 std::string TaskManagerGtk::GetModelText(int row, int col_id) { 664 std::string TaskManagerGtk::GetModelText(int row, int col_id) {
655 return UTF16ToUTF8(model_->GetResourceById(row, col_id)); 665 return UTF16ToUTF8(model_->GetResourceById(row, col_id));
656 } 666 }
657 667
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 if (TreeViewColumnIsVisible(treeview_, kTaskManagerVideoMemory)) 716 if (TreeViewColumnIsVisible(treeview_, kTaskManagerVideoMemory))
707 video_memory = GetModelText(row, IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN); 717 video_memory = GetModelText(row, IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN);
708 std::string fps; 718 std::string fps;
709 if (TreeViewColumnIsVisible(treeview_, kTaskManagerFPS)) 719 if (TreeViewColumnIsVisible(treeview_, kTaskManagerFPS))
710 fps = GetModelText(row, IDS_TASK_MANAGER_FPS_COLUMN); 720 fps = GetModelText(row, IDS_TASK_MANAGER_FPS_COLUMN);
711 std::string sqlite_memory; 721 std::string sqlite_memory;
712 if (TreeViewColumnIsVisible(treeview_, kTaskManagerSqliteMemoryUsed)) { 722 if (TreeViewColumnIsVisible(treeview_, kTaskManagerSqliteMemoryUsed)) {
713 sqlite_memory = 723 sqlite_memory =
714 GetModelText(row, IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN); 724 GetModelText(row, IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN);
715 } 725 }
726 std::string nacl_debug_stub_port;
727 if (TreeViewColumnIsVisible(treeview_, kTaskManagerNaClDebugStubPort)) {
728 nacl_debug_stub_port =
729 GetModelText(row, IDS_TASK_MANAGER_NACL_DEBUG_STUB_PORT_COLUMN);
730 }
716 731
717 std::string goats = 732 std::string goats =
718 GetModelText(row, IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN); 733 GetModelText(row, IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN);
719 734
720 gtk_list_store_set(process_list_, iter, 735 gtk_list_store_set(process_list_, iter,
721 kTaskManagerIcon, icon, 736 kTaskManagerIcon, icon,
722 kTaskManagerTask, task_markup, 737 kTaskManagerTask, task_markup,
723 kTaskManagerProfileName, profile_name.c_str(), 738 kTaskManagerProfileName, profile_name.c_str(),
724 kTaskManagerSharedMem, shared_mem.c_str(), 739 kTaskManagerSharedMem, shared_mem.c_str(),
725 kTaskManagerPrivateMem, priv_mem.c_str(), 740 kTaskManagerPrivateMem, priv_mem.c_str(),
726 kTaskManagerCPU, cpu.c_str(), 741 kTaskManagerCPU, cpu.c_str(),
727 kTaskManagerNetwork, net.c_str(), 742 kTaskManagerNetwork, net.c_str(),
728 kTaskManagerProcessID, procid.c_str(), 743 kTaskManagerProcessID, procid.c_str(),
729 kTaskManagerJavaScriptMemory, javascript_memory.c_str(), 744 kTaskManagerJavaScriptMemory, javascript_memory.c_str(),
730 kTaskManagerWebCoreImageCache, wk_img_cache.c_str(), 745 kTaskManagerWebCoreImageCache, wk_img_cache.c_str(),
731 kTaskManagerWebCoreScriptsCache, wk_scripts_cache.c_str(), 746 kTaskManagerWebCoreScriptsCache, wk_scripts_cache.c_str(),
732 kTaskManagerWebCoreCssCache, wk_css_cache.c_str(), 747 kTaskManagerWebCoreCssCache, wk_css_cache.c_str(),
733 kTaskManagerVideoMemory, video_memory.c_str(), 748 kTaskManagerVideoMemory, video_memory.c_str(),
734 kTaskManagerFPS, fps.c_str(), 749 kTaskManagerFPS, fps.c_str(),
735 kTaskManagerSqliteMemoryUsed, sqlite_memory.c_str(), 750 kTaskManagerSqliteMemoryUsed, sqlite_memory.c_str(),
751 kTaskManagerNaClDebugStubPort,
752 nacl_debug_stub_port.c_str(),
736 kTaskManagerGoatsTeleported, goats.c_str(), 753 kTaskManagerGoatsTeleported, goats.c_str(),
737 -1); 754 -1);
738 g_object_unref(icon); 755 g_object_unref(icon);
739 g_free(task_markup); 756 g_free(task_markup);
740 } 757 }
741 758
742 void TaskManagerGtk::KillSelectedProcesses() { 759 void TaskManagerGtk::KillSelectedProcesses() {
743 GtkTreeSelection* selection = gtk_tree_view_get_selection( 760 GtkTreeSelection* selection = gtk_tree_view_get_selection(
744 GTK_TREE_VIEW(treeview_)); 761 GTK_TREE_VIEW(treeview_));
745 762
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 } 961 }
945 962
946 namespace chrome { 963 namespace chrome {
947 964
948 // Declared in browser_dialogs.h. 965 // Declared in browser_dialogs.h.
949 void ShowTaskManager(Browser* browser) { 966 void ShowTaskManager(Browser* browser) {
950 TaskManagerGtk::Show(); 967 TaskManagerGtk::Show();
951 } 968 }
952 969
953 } // namespace chrome 970 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698