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