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

Side by Side Diff: chrome/browser/task_manager/task_manager_resource_providers.cc

Issue 8760011: Move the ProcessType enum out to its own file. This is in preparation for getting rid of ChildPro... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix mac Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/task_manager/task_manager_resource_providers.h" 5 #include "chrome/browser/task_manager/task_manager_resource_providers.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 29 matching lines...) Expand all
40 #include "chrome/common/extensions/extension.h" 40 #include "chrome/common/extensions/extension.h"
41 #include "chrome/common/render_messages.h" 41 #include "chrome/common/render_messages.h"
42 #include "chrome/common/url_constants.h" 42 #include "chrome/common/url_constants.h"
43 #include "content/browser/browser_child_process_host.h" 43 #include "content/browser/browser_child_process_host.h"
44 #include "content/browser/renderer_host/render_message_filter.h" 44 #include "content/browser/renderer_host/render_message_filter.h"
45 #include "content/browser/renderer_host/render_view_host.h" 45 #include "content/browser/renderer_host/render_view_host.h"
46 #include "content/browser/tab_contents/tab_contents.h" 46 #include "content/browser/tab_contents/tab_contents.h"
47 #include "content/public/browser/browser_thread.h" 47 #include "content/public/browser/browser_thread.h"
48 #include "content/public/browser/notification_service.h" 48 #include "content/public/browser/notification_service.h"
49 #include "content/public/browser/render_process_host.h" 49 #include "content/public/browser/render_process_host.h"
50 #include "content/public/common/process_type.h"
50 #include "grit/generated_resources.h" 51 #include "grit/generated_resources.h"
51 #include "grit/theme_resources.h" 52 #include "grit/theme_resources.h"
52 #include "grit/theme_resources_standard.h" 53 #include "grit/theme_resources_standard.h"
53 #include "third_party/sqlite/sqlite3.h" 54 #include "third_party/sqlite/sqlite3.h"
54 #include "ui/base/l10n/l10n_util.h" 55 #include "ui/base/l10n/l10n_util.h"
55 #include "ui/base/resource/resource_bundle.h" 56 #include "ui/base/resource/resource_bundle.h"
56 #include "v8/include/v8.h" 57 #include "v8/include/v8.h"
57 58
58 #if defined(OS_MACOSX) 59 #if defined(OS_MACOSX)
59 #include "skia/ext/skia_utils_mac.h" 60 #include "skia/ext/skia_utils_mac.h"
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after
779 } 780 }
780 781
781 base::ProcessHandle TaskManagerChildProcessResource::GetProcess() const { 782 base::ProcessHandle TaskManagerChildProcessResource::GetProcess() const {
782 return child_process_.handle(); 783 return child_process_.handle();
783 } 784 }
784 785
785 TaskManager::Resource::Type TaskManagerChildProcessResource::GetType() const { 786 TaskManager::Resource::Type TaskManagerChildProcessResource::GetType() const {
786 // Translate types to TaskManager::ResourceType, since ChildProcessInfo's type 787 // Translate types to TaskManager::ResourceType, since ChildProcessInfo's type
787 // is not available for all TaskManager resources. 788 // is not available for all TaskManager resources.
788 switch (child_process_.type()) { 789 switch (child_process_.type()) {
789 case ChildProcessInfo::PLUGIN_PROCESS: 790 case content::PROCESS_TYPE_PLUGIN:
790 case ChildProcessInfo::PPAPI_PLUGIN_PROCESS: 791 case content::PROCESS_TYPE_PPAPI_PLUGIN:
791 case ChildProcessInfo::PPAPI_BROKER_PROCESS: 792 case content::PROCESS_TYPE_PPAPI_BROKER:
792 return TaskManager::Resource::PLUGIN; 793 return TaskManager::Resource::PLUGIN;
793 case ChildProcessInfo::NACL_LOADER_PROCESS: 794 case content::PROCESS_TYPE_NACL_LOADER:
794 case ChildProcessInfo::NACL_BROKER_PROCESS: 795 case content::PROCESS_TYPE_NACL_BROKER:
795 return TaskManager::Resource::NACL; 796 return TaskManager::Resource::NACL;
796 case ChildProcessInfo::UTILITY_PROCESS: 797 case content::PROCESS_TYPE_UTILITY:
797 return TaskManager::Resource::UTILITY; 798 return TaskManager::Resource::UTILITY;
798 case ChildProcessInfo::PROFILE_IMPORT_PROCESS: 799 case content::PROCESS_TYPE_PROFILE_IMPORT:
799 return TaskManager::Resource::PROFILE_IMPORT; 800 return TaskManager::Resource::PROFILE_IMPORT;
800 case ChildProcessInfo::ZYGOTE_PROCESS: 801 case content::PROCESS_TYPE_ZYGOTE:
801 return TaskManager::Resource::ZYGOTE; 802 return TaskManager::Resource::ZYGOTE;
802 case ChildProcessInfo::SANDBOX_HELPER_PROCESS: 803 case content::PROCESS_TYPE_SANDBOX_HELPER:
803 return TaskManager::Resource::SANDBOX_HELPER; 804 return TaskManager::Resource::SANDBOX_HELPER;
804 case ChildProcessInfo::GPU_PROCESS: 805 case content::PROCESS_TYPE_GPU:
805 return TaskManager::Resource::GPU; 806 return TaskManager::Resource::GPU;
806 default: 807 default:
807 return TaskManager::Resource::UNKNOWN; 808 return TaskManager::Resource::UNKNOWN;
808 } 809 }
809 } 810 }
810 811
811 bool TaskManagerChildProcessResource::SupportNetworkUsage() const { 812 bool TaskManagerChildProcessResource::SupportNetworkUsage() const {
812 return network_usage_support_; 813 return network_usage_support_;
813 } 814 }
814 815
815 void TaskManagerChildProcessResource::SetSupportNetworkUsage() { 816 void TaskManagerChildProcessResource::SetSupportNetworkUsage() {
816 network_usage_support_ = true; 817 network_usage_support_ = true;
817 } 818 }
818 819
819 string16 TaskManagerChildProcessResource::GetLocalizedTitle() const { 820 string16 TaskManagerChildProcessResource::GetLocalizedTitle() const {
820 string16 title = child_process_.name(); 821 string16 title = child_process_.name();
821 if (title.empty()) { 822 if (title.empty()) {
822 switch (child_process_.type()) { 823 switch (child_process_.type()) {
823 case ChildProcessInfo::PLUGIN_PROCESS: 824 case content::PROCESS_TYPE_PLUGIN:
824 case ChildProcessInfo::PPAPI_PLUGIN_PROCESS: 825 case content::PROCESS_TYPE_PPAPI_PLUGIN:
825 case ChildProcessInfo::PPAPI_BROKER_PROCESS: 826 case content::PROCESS_TYPE_PPAPI_BROKER:
826 title = l10n_util::GetStringUTF16(IDS_TASK_MANAGER_UNKNOWN_PLUGIN_NAME); 827 title = l10n_util::GetStringUTF16(IDS_TASK_MANAGER_UNKNOWN_PLUGIN_NAME);
827 break; 828 break;
828 default: 829 default:
829 // Nothing to do for non-plugin processes. 830 // Nothing to do for non-plugin processes.
830 break; 831 break;
831 } 832 }
832 } 833 }
833 834
834 // Explicitly mark name as LTR if there is no strong RTL character, 835 // Explicitly mark name as LTR if there is no strong RTL character,
835 // to avoid the wrong concatenation result similar to "!Yahoo Mail: the 836 // to avoid the wrong concatenation result similar to "!Yahoo Mail: the
836 // best web-based Email: NIGULP", in which "NIGULP" stands for the Hebrew 837 // best web-based Email: NIGULP", in which "NIGULP" stands for the Hebrew
837 // or Arabic word for "plugin". 838 // or Arabic word for "plugin".
838 base::i18n::AdjustStringForLocaleDirection(&title); 839 base::i18n::AdjustStringForLocaleDirection(&title);
839 840
840 switch (child_process_.type()) { 841 switch (child_process_.type()) {
841 case ChildProcessInfo::UTILITY_PROCESS: 842 case content::PROCESS_TYPE_UTILITY:
842 return l10n_util::GetStringUTF16(IDS_TASK_MANAGER_UTILITY_PREFIX); 843 return l10n_util::GetStringUTF16(IDS_TASK_MANAGER_UTILITY_PREFIX);
843 844
844 case ChildProcessInfo::PROFILE_IMPORT_PROCESS: 845 case content::PROCESS_TYPE_PROFILE_IMPORT:
845 return l10n_util::GetStringUTF16(IDS_TASK_MANAGER_UTILITY_PREFIX); 846 return l10n_util::GetStringUTF16(IDS_TASK_MANAGER_UTILITY_PREFIX);
846 847
847 case ChildProcessInfo::GPU_PROCESS: 848 case content::PROCESS_TYPE_GPU:
848 return l10n_util::GetStringUTF16(IDS_TASK_MANAGER_GPU_PREFIX); 849 return l10n_util::GetStringUTF16(IDS_TASK_MANAGER_GPU_PREFIX);
849 850
850 case ChildProcessInfo::NACL_BROKER_PROCESS: 851 case content::PROCESS_TYPE_NACL_BROKER:
851 return l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NACL_BROKER_PREFIX); 852 return l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NACL_BROKER_PREFIX);
852 853
853 case ChildProcessInfo::PLUGIN_PROCESS: 854 case content::PROCESS_TYPE_PLUGIN:
854 case ChildProcessInfo::PPAPI_PLUGIN_PROCESS: 855 case content::PROCESS_TYPE_PPAPI_PLUGIN:
855 return l10n_util::GetStringFUTF16( 856 return l10n_util::GetStringFUTF16(
856 IDS_TASK_MANAGER_PLUGIN_PREFIX, title, child_process_.version()); 857 IDS_TASK_MANAGER_PLUGIN_PREFIX, title, child_process_.version());
857 858
858 case ChildProcessInfo::PPAPI_BROKER_PROCESS: 859 case content::PROCESS_TYPE_PPAPI_BROKER:
859 return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_PLUGIN_BROKER_PREFIX, 860 return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_PLUGIN_BROKER_PREFIX,
860 title, child_process_.version()); 861 title, child_process_.version());
861 862
862 case ChildProcessInfo::NACL_LOADER_PROCESS: 863 case content::PROCESS_TYPE_NACL_LOADER:
863 return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_NACL_PREFIX, title); 864 return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_NACL_PREFIX, title);
864 865
865 // These types don't need display names or get them from elsewhere. 866 // These types don't need display names or get them from elsewhere.
866 case ChildProcessInfo::BROWSER_PROCESS: 867 case content::PROCESS_TYPE_BROWSER:
867 case ChildProcessInfo::RENDER_PROCESS: 868 case content::PROCESS_TYPE_RENDERER:
868 case ChildProcessInfo::ZYGOTE_PROCESS: 869 case content::PROCESS_TYPE_ZYGOTE:
869 case ChildProcessInfo::SANDBOX_HELPER_PROCESS: 870 case content::PROCESS_TYPE_SANDBOX_HELPER:
870 case ChildProcessInfo::MAX_PROCESS: 871 case content::PROCESS_TYPE_MAX:
871 NOTREACHED(); 872 NOTREACHED();
872 break; 873 break;
873 874
874 case ChildProcessInfo::WORKER_PROCESS: 875 case content::PROCESS_TYPE_WORKER:
875 NOTREACHED() << "Workers are not handled by this provider."; 876 NOTREACHED() << "Workers are not handled by this provider.";
876 break; 877 break;
877 878
878 case ChildProcessInfo::UNKNOWN_PROCESS: 879 case content::PROCESS_TYPE_UNKNOWN:
879 NOTREACHED() << "Need localized name for child process type."; 880 NOTREACHED() << "Need localized name for child process type.";
880 } 881 }
881 882
882 return title; 883 return title;
883 } 884 }
884 885
885 //////////////////////////////////////////////////////////////////////////////// 886 ////////////////////////////////////////////////////////////////////////////////
886 // TaskManagerChildProcessResourceProvider class 887 // TaskManagerChildProcessResourceProvider class
887 //////////////////////////////////////////////////////////////////////////////// 888 ////////////////////////////////////////////////////////////////////////////////
888 889
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 NOTREACHED() << "Unexpected notification."; 963 NOTREACHED() << "Unexpected notification.";
963 return; 964 return;
964 } 965 }
965 } 966 }
966 967
967 void TaskManagerChildProcessResourceProvider::Add( 968 void TaskManagerChildProcessResourceProvider::Add(
968 const ChildProcessInfo& child_process_info) { 969 const ChildProcessInfo& child_process_info) {
969 if (!updating_) 970 if (!updating_)
970 return; 971 return;
971 // Workers are handled by TaskManagerWorkerResourceProvider. 972 // Workers are handled by TaskManagerWorkerResourceProvider.
972 if (child_process_info.type() == ChildProcessInfo::WORKER_PROCESS) 973 if (child_process_info.type() == content::PROCESS_TYPE_WORKER)
973 return; 974 return;
974 std::map<ChildProcessInfo, TaskManagerChildProcessResource*>:: 975 std::map<ChildProcessInfo, TaskManagerChildProcessResource*>::
975 const_iterator iter = resources_.find(child_process_info); 976 const_iterator iter = resources_.find(child_process_info);
976 if (iter != resources_.end()) { 977 if (iter != resources_.end()) {
977 // The case may happen that we have added a child_process_info as part of 978 // The case may happen that we have added a child_process_info as part of
978 // the iteration performed during StartUpdating() call but the notification 979 // the iteration performed during StartUpdating() call but the notification
979 // that it has connected was not fired yet. So when the notification 980 // that it has connected was not fired yet. So when the notification
980 // happens, we already know about this plugin and just ignore it. 981 // happens, we already know about this plugin and just ignore it.
981 return; 982 return;
982 } 983 }
983 AddToTaskManager(child_process_info); 984 AddToTaskManager(child_process_info);
984 } 985 }
985 986
986 void TaskManagerChildProcessResourceProvider::Remove( 987 void TaskManagerChildProcessResourceProvider::Remove(
987 const ChildProcessInfo& child_process_info) { 988 const ChildProcessInfo& child_process_info) {
988 if (!updating_) 989 if (!updating_)
989 return; 990 return;
990 if (child_process_info.type() == ChildProcessInfo::WORKER_PROCESS) 991 if (child_process_info.type() == content::PROCESS_TYPE_WORKER)
991 return; 992 return;
992 std::map<ChildProcessInfo, TaskManagerChildProcessResource*> 993 std::map<ChildProcessInfo, TaskManagerChildProcessResource*>
993 ::iterator iter = resources_.find(child_process_info); 994 ::iterator iter = resources_.find(child_process_info);
994 if (iter == resources_.end()) { 995 if (iter == resources_.end()) {
995 // ChildProcessInfo disconnection notifications are asynchronous, so we 996 // ChildProcessInfo disconnection notifications are asynchronous, so we
996 // might be notified for a plugin we don't know anything about (if it was 997 // might be notified for a plugin we don't know anything about (if it was
997 // closed before the task manager was shown and destroyed after that). 998 // closed before the task manager was shown and destroyed after that).
998 return; 999 return;
999 } 1000 }
1000 // Remove the resource from the Task Manager. 1001 // Remove the resource from the Task Manager.
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
1391 1392
1392 return &resource_; 1393 return &resource_;
1393 } 1394 }
1394 1395
1395 void TaskManagerBrowserProcessResourceProvider::StartUpdating() { 1396 void TaskManagerBrowserProcessResourceProvider::StartUpdating() {
1396 task_manager_->AddResource(&resource_); 1397 task_manager_->AddResource(&resource_);
1397 } 1398 }
1398 1399
1399 void TaskManagerBrowserProcessResourceProvider::StopUpdating() { 1400 void TaskManagerBrowserProcessResourceProvider::StopUpdating() {
1400 } 1401 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698