Home | History | Annotate | Download | only in common
      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