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 // A handful of resource-like constants related to the Chrome application.
      6 
      7 #ifndef CHROME_COMMON_CHROME_CONSTANTS_H_
      8 #define CHROME_COMMON_CHROME_CONSTANTS_H_
      9 
     10 #include "base/files/file_path.h"
     11 
     12 namespace chrome {
     13 
     14 extern const char kChromeVersion[];
     15 
     16 extern const char kChromeVersionEnvVar[];
     17 
     18 extern const base::FilePath::CharType kBrowserProcessExecutableName[];
     19 extern const base::FilePath::CharType kHelperProcessExecutableName[];
     20 extern const base::FilePath::CharType kBrowserProcessExecutablePath[];
     21 extern const base::FilePath::CharType kHelperProcessExecutablePath[];
     22 extern const base::FilePath::CharType kBrowserProcessExecutableNameChromium[];
     23 extern const base::FilePath::CharType kHelperProcessExecutableNameChromium[];
     24 extern const base::FilePath::CharType kBrowserProcessExecutablePathChromium[];
     25 extern const base::FilePath::CharType kHelperProcessExecutablePathChromium[];
     26 #if defined(OS_MACOSX)
     27 // NOTE: if you change the value of kFrameworkName, please don't forget to
     28 // update components/test/run_all_unittests.cc as well.
     29 // TODO(tfarina): Remove the comment above, when you fix components to use plist
     30 // on Mac.
     31 extern const base::FilePath::CharType kFrameworkName[];
     32 
     33 // The helper .app bundle name and executable name may have one of these
     34 // suffixes to identify specific features, or it may have no suffix at all.
     35 // This is a NULL-terminated array of strings. If kHelperFlavorSuffixes
     36 // contains "EN", "MF", and NULL, it indicates that if the normal helper is
     37 // named Chromium Helper.app, helper executables could show up at any of
     38 // Chromium Helper.app/Contents/MacOS/Chromium Helper,
     39 // Chromium Helper EN.app/Contents/MacOS/Chromium Helper EN, and
     40 // Chromium Helper MF.app/Contents/MacOS/Chromium Helper MF.
     41 extern const base::FilePath::CharType* const kHelperFlavorSuffixes[];
     42 #endif  // OS_MACOSX
     43 #if defined(OS_WIN)
     44 extern const base::FilePath::CharType kMetroDriverDll[];
     45 extern const wchar_t kStatusTrayWindowClass[];
     46 #endif  // defined(OS_WIN)
     47 extern const wchar_t kCrashReportLog[];
     48 extern const wchar_t kTestingInterfaceDLL[];
     49 extern const char    kInitialProfile[];
     50 extern const char    kMultiProfileDirPrefix[];
     51 extern const base::FilePath::CharType kGuestProfileDir[];
     52 extern const wchar_t kBrowserResourcesDll[];
     53 
     54 // filenames
     55 #if defined(OS_ANDROID)
     56 extern const base::FilePath::CharType kAndroidCacheFilename[];
     57 #endif
     58 extern const base::FilePath::CharType kArchivedHistoryFilename[];
     59 extern const base::FilePath::CharType kCacheDirname[];
     60 extern const base::FilePath::CharType kCookieFilename[];
     61 extern const base::FilePath::CharType kCRLSetFilename[];
     62 extern const base::FilePath::CharType kCLDDataFilename[];
     63 extern const base::FilePath::CharType kCustomDictionaryFileName[];
     64 extern const base::FilePath::CharType kExtensionActivityLogFilename[];
     65 extern const base::FilePath::CharType kExtensionsCookieFilename[];
     66 extern const base::FilePath::CharType kFaviconsFilename[];
     67 extern const base::FilePath::CharType kFirstRunSentinel[];
     68 extern const base::FilePath::CharType kGCMStoreDirname[];
     69 extern const base::FilePath::CharType kHistoryFilename[];
     70 extern const base::FilePath::CharType kJumpListIconDirname[];
     71 extern const base::FilePath::CharType kLocalStateFilename[];
     72 extern const base::FilePath::CharType kLocalStorePoolName[];
     73 extern const base::FilePath::CharType kLoginDataFileName[];
     74 extern const base::FilePath::CharType kSupervisedUserSettingsFilename[];
     75 extern const base::FilePath::CharType kMediaCacheDirname[];
     76 extern const base::FilePath::CharType kNewTabThumbnailsFilename[];
     77 extern const base::FilePath::CharType kOBCertFilename[];
     78 extern const base::FilePath::CharType kPreferencesFilename[];
     79 extern const base::FilePath::CharType kProtectedPreferencesFilenameDeprecated[];
     80 extern const base::FilePath::CharType kReadmeFilename[];
     81 extern const base::FilePath::CharType kResetPromptMementoFilename[];
     82 extern const base::FilePath::CharType kSafeBrowsingBaseFilename[];
     83 extern const base::FilePath::CharType kSecurePreferencesFilename[];
     84 extern const base::FilePath::CharType kServiceStateFileName[];
     85 extern const base::FilePath::CharType kShortcutsDatabaseName[];
     86 extern const base::FilePath::CharType kSingletonCookieFilename[];
     87 extern const base::FilePath::CharType kSingletonLockFilename[];
     88 extern const base::FilePath::CharType kSingletonSocketFilename[];
     89 extern const base::FilePath::CharType kSyncCredentialsFilename[];
     90 extern const base::FilePath::CharType kThemePackFilename[];
     91 extern const base::FilePath::CharType kThumbnailsFilename[];
     92 extern const base::FilePath::CharType kTopSitesFilename[];
     93 extern const base::FilePath::CharType kWebAppDirname[];
     94 
     95 // File name of the Pepper Flash plugin on different platforms.
     96 extern const base::FilePath::CharType kPepperFlashPluginFilename[];
     97 
     98 // directory names
     99 extern const wchar_t kUserDataDirname[];
    100 
    101 extern const bool kRecordModeEnabled;
    102 
    103 // If a WebContents is impolite and displays a second JavaScript alert within
    104 // kJavaScriptMessageExpectedDelay of a previous JavaScript alert being
    105 // dismissed, display an option to suppress future alerts from this WebContents.
    106 extern const int kJavaScriptMessageExpectedDelay;
    107 
    108 // Are touch icons enabled? False by default.
    109 extern const bool kEnableTouchIcon;
    110 
    111 // Fraction of the total number of processes to be used for hosting
    112 // extensions. If we have more extensions than this percentage, we will start
    113 // combining extensions in existing processes. This allows web pages to have
    114 // enough render processes and not be starved when a lot of extensions are
    115 // installed.
    116 extern const float kMaxShareOfExtensionProcesses;
    117 
    118 // This is used by the PreRead experiment.
    119 extern const char kPreReadEnvironmentVariable[];
    120 
    121 #if defined(OS_LINUX)
    122 // The highest and lowest assigned OOM score adjustment
    123 // (oom_score_adj) used by the OomPriority Manager.
    124 extern const int kLowestRendererOomScore;
    125 extern const int kHighestRendererOomScore;
    126 #endif
    127 
    128 #if defined(OS_WIN)
    129 // Used by Metro Chrome to initiate navigation and search requests.
    130 extern const wchar_t kMetroNavigationAndSearchMessage[];
    131 // Used by Metro Chrome to get information about the current tab.
    132 extern const wchar_t kMetroGetCurrentTabInfoMessage[];
    133 // Used by Metro Chrome to store activation state.
    134 extern const wchar_t kMetroRegistryPath[];
    135 extern const wchar_t kLaunchModeValue[];
    136 // Used by the browser as a container in which to track unreported crash dump
    137 // attempts. The actual values (each representing one crash dump attempt) are
    138 // stored in a subkey named with the version number of the build. Each value
    139 // under the subkey represents an additional attempt.
    140 extern const wchar_t kBrowserCrashDumpAttemptsRegistryPath[];
    141 // Used by chrome.exe to signal that chrome.dll was started via a key sequence
    142 // that requires it to start in safe mode. For example, in software rendering.
    143 extern const char kSafeModeEnvVar[];
    144 #endif
    145 
    146 #if defined(OS_CHROMEOS)
    147 // Chrome OS profile directories have custom prefix.
    148 // Profile path format: [user_data_dir]/u-[$hash]
    149 // Ex.: /home/chronos/u-0123456789
    150 extern const char kProfileDirPrefix[];
    151 
    152 // Legacy profile dir that was used when only one cryptohome has been mounted.
    153 extern const char kLegacyProfileDir[];
    154 
    155 // This must be kept in sync with TestingProfile::kTestUserProfileDir.
    156 extern const char kTestUserProfileDir[];
    157 #endif
    158 
    159 // Used to identify the application to the system AV function in Windows.
    160 extern const char kApplicationClientIDStringForAVScanning[];
    161 
    162 #if defined(OS_ANDROID)
    163 // The largest reasonable length we'd assume for a meta tag attribute.
    164 extern const size_t kMaxMetaTagAttributeLength;
    165 #endif
    166 
    167 }  // namespace chrome
    168 
    169 #endif  // CHROME_COMMON_CHROME_CONSTANTS_H_
    170