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