• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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