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 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_PUBLIC_COMMON_PROCESS_TYPE_H_ 6 #define CONTENT_PUBLIC_COMMON_PROCESS_TYPE_H_ 7 8 #include <string> 9 10 #include "content/common/content_export.h" 11 12 namespace content { 13 14 // Defines the different process types. 15 // NOTE: Do not remove or reorder the elements in this enum, and only add new 16 // items at the end, right before PROCESS_TYPE_MAX. We depend on these specific 17 // values in histograms. 18 enum ProcessType { 19 PROCESS_TYPE_UNKNOWN = 1, 20 PROCESS_TYPE_BROWSER, 21 PROCESS_TYPE_RENDERER, 22 PROCESS_TYPE_PLUGIN, 23 PROCESS_TYPE_WORKER, 24 PROCESS_TYPE_UTILITY, 25 PROCESS_TYPE_ZYGOTE, 26 PROCESS_TYPE_SANDBOX_HELPER, 27 PROCESS_TYPE_GPU, 28 PROCESS_TYPE_PPAPI_PLUGIN, 29 PROCESS_TYPE_PPAPI_BROKER, 30 // Custom process types used by the embedder should start from here. 31 PROCESS_TYPE_CONTENT_END, 32 // If any embedder has more than 10 custom process types, update this. 33 // We can switch to getting it from ContentClient, but that seems like 34 // overkill at this time. 35 PROCESS_TYPE_MAX = PROCESS_TYPE_CONTENT_END + 10, 36 }; 37 38 // Returns an English name of the process type, should only be used for non 39 // user-visible strings, or debugging pages like about:memory. 40 CONTENT_EXPORT std::string GetProcessTypeNameInEnglish(int type); 41 42 } // namespace content 43 44 #endif // CONTENT_PUBLIC_COMMON_PROCESS_TYPE_H_ 45