chrome_constants.cc revision c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/chrome_constants.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/files/file_path.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define FPL FILE_PATH_LITERAL
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROMIUM_PRODUCT_STRING "Chromium"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(GOOGLE_CHROME_BUILD)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PRODUCT_STRING "Google Chrome"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(CHROMIUM_BUILD)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PRODUCT_STRING "Chromium"
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#error Unknown branding
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(OS_MACOSX)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(GOOGLE_CHROME_BUILD)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PRODUCT_STRING_PATH L"Google\\Chrome"
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(CHROMIUM_BUILD)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PRODUCT_STRING_PATH L"Chromium"
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#error Unknown branding
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(OS_WIN)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome {
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kChromeVersionEnvVar[] = "CHROME_VERSION";
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The following should not be used for UI strings; they are meant
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// for system strings only. UI changes should be made in the GRD.
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// There are four constants used to locate the executable name and path:
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//     kBrowserProcessExecutableName
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//     kHelperProcessExecutableName
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//     kBrowserProcessExecutablePath
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//     kHelperProcessExecutablePath
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// In one condition, our tests will be built using the Chrome branding
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// though we want to actually execute a Chromium branded application.
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This happens for the reference build on Mac.  To support that case,
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// we also include a Chromium version of each of the four constants and
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// in the UITest class we support switching to that version when told to
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// do so.
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN)
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutableNameChromium[] =
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("chrome.exe");
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutableName[] =
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("chrome.exe");
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutableNameChromium[] =
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("chrome.exe");
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutableName[] =
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("chrome.exe");
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_MACOSX)
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutableNameChromium[] =
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL(CHROMIUM_PRODUCT_STRING);
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutableName[] =
662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL(PRODUCT_STRING);
672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutableNameChromium[] =
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL(CHROMIUM_PRODUCT_STRING " Helper");
692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutableName[] =
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL(PRODUCT_STRING " Helper");
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_ANDROID)
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// NOTE: Keep it synced with the process names defined in AndroidManifest.xml.
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutableName[] = FPL("chrome");
742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutableNameChromium[] =
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("");
762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutableName[] =
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("sandboxed_process");
782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutableNameChromium[] = FPL("");
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_POSIX)
802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutableNameChromium[] =
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("chrome");
822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutableName[] = FPL("chrome");
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Helper processes end up with a name of "exe" due to execing via
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// /proc/self/exe.  See bug 22703.
852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutableNameChromium[] =
862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("exe");
872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutableName[] = FPL("exe");
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // OS_*
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN)
912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutablePathChromium[] =
922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("chrome.exe");
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutablePath[] =
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("chrome.exe");
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutablePathChromium[] =
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("chrome.exe");
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutablePath[] =
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("chrome.exe");
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_MACOSX)
1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutablePathChromium[] =
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL(CHROMIUM_PRODUCT_STRING ".app/Contents/MacOS/" CHROMIUM_PRODUCT_STRING);
1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutablePath[] =
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL(PRODUCT_STRING ".app/Contents/MacOS/" PRODUCT_STRING);
1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutablePathChromium[] =
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL(CHROMIUM_PRODUCT_STRING " Helper.app/Contents/MacOS/"
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        CHROMIUM_PRODUCT_STRING " Helper");
1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutablePath[] =
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL(PRODUCT_STRING " Helper.app/Contents/MacOS/" PRODUCT_STRING " Helper");
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_ANDROID)
1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutablePath[] = FPL("chrome");
1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutablePath[] = FPL("chrome");
1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutablePathChromium[] =
1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("chrome");
1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutablePathChromium[] =
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("chrome");
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_POSIX)
1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutablePathChromium[] =
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("chrome");
1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBrowserProcessExecutablePath[] = FPL("chrome");
1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutablePathChromium[] =
1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("chrome");
1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHelperProcessExecutablePath[] = FPL("chrome");
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // OS_*
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX)
1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kFrameworkName[] =
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL(PRODUCT_STRING " Framework.framework");
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* const kHelperFlavorSuffixes[] = {
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  FPL("EH"),  // Executable heap
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  FPL("NP"),  // No PIE
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NULL
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // OS_MACOSX
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN)
1372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kMetroDriverDll[] = FPL("metro_driver.dll");
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kStatusTrayWindowClass[] = L"Chrome_StatusTrayWindow";
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(OS_WIN)
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kCrashReportLog[] = L"Reported Crashes.txt";
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kTestingInterfaceDLL[] = L"testing_interface.dll";
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char    kInitialProfile[] = "Default";
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char    kMultiProfileDirPrefix[] = "Profile ";
1457dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochconst base::FilePath::CharType kGuestProfileDir[] = FPL("Guest Profile");
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kBrowserResourcesDll[] = L"chrome.dll";
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// filenames
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID)
1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kAndroidCacheFilename[] = FPL("AndroidCache");
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kArchivedHistoryFilename[] =
1532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("Archived History");
1542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kBookmarksFileName[] = FPL("Bookmarks");
1552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kCacheDirname[] = FPL("Cache");
1562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kCookieFilename[] = FPL("Cookies");
1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kCRLSetFilename[] =
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("Certificate Revocation Lists");
159effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst base::FilePath::CharType kCLDDataFilename[] =
160effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    FPL("cld2_data.bin");
1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kCustomDictionaryFileName[] =
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("Custom Dictionary.txt");
1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kExtensionActivityLogFilename[] =
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("Extension Activity");
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kExtensionsCookieFilename[] =
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("Extension Cookies");
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kFaviconsFilename[] = FPL("Favicons");
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kFirstRunSentinel[] = FPL("First Run");
1695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)const base::FilePath::CharType kGCMStoreDirname[] = FPL("GCM Store");
1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kHistoryFilename[] = FPL("History");
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kJumpListIconDirname[] = FPL("JumpListIcons");
1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kLocalStateFilename[] = FPL("Local State");
1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kLocalStorePoolName[] = FPL("LocalStorePool");
1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kLoginDataFileName[] = FPL("Login Data");
17558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)const base::FilePath::CharType kManagedUserSettingsFilename[] =
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("Managed Mode Settings");
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kMediaCacheDirname[] = FPL("Media Cache");
1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kNewTabThumbnailsFilename[] =
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("Top Thumbnails");
1802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kOBCertFilename[] = FPL("Origin Bound Certs");
1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kPreferencesFilename[] = FPL("Preferences");
182c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochconst base::FilePath::CharType kProtectedPreferencesFilename[] =
183c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    FPL("Protected Preferences");
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kReadmeFilename[] = FPL("README");
1854e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)const base::FilePath::CharType kResetPromptMementoFilename[] =
1864e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)    FPL("Reset Prompt Memento");
1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kSafeBrowsingBaseFilename[] =
1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("Safe Browsing");
1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kServiceStateFileName[] = FPL("Service State");
1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kShortcutsDatabaseName[] = FPL("Shortcuts");
1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kSingletonCookieFilename[] =
1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("SingletonCookie");
1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kSingletonLockFilename[] = FPL("SingletonLock");
1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kSingletonSocketFilename[] =
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("SingletonSocket");
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kSyncCredentialsFilename[] =
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    FPL("Sync Credentials");
1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kThemePackFilename[] = FPL("Cached Theme.pak");
1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kThumbnailsFilename[] = FPL("Thumbnails");
2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kTopSitesFilename[] = FPL("Top Sites");
2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kWebAppDirname[] = FPL("Web Applications");
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// File name of the Pepper Flash plugin on different platforms.
2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const base::FilePath::CharType kPepperFlashPluginFilename[] =
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX)
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("PepperFlashPlayer.plugin");
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_WIN)
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("pepflashplayer.dll");
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else  // OS_LINUX, etc.
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    FPL("libpepflashplayer.so");
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// directory names
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kUserDataDirname[] = L"User Data";
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// We don't enable record mode in the released product because users could
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// potentially be tricked into running a product in record mode without
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// knowing it.  Enable in debug builds.  Playback mode is allowed always,
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// because it is useful for testing and not hazardous by itself.
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef NDEBUG
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// const bool kRecordModeEnabled = true;
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// const bool kRecordModeEnabled = false;
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const bool kRecordModeEnabled = true;
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
228a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)const int kJavaScriptMessageExpectedDelay = 1000;
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID)
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const bool kEnableTouchIcon = true;
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const bool kEnableTouchIcon = false;
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const float kMaxShareOfExtensionProcesses = 0.30f;
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
238d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// This is used by the PreRead experiment.
239d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)const char kPreReadEnvironmentVariable[] = "CHROME_PRE_READ_EXPERIMENT";
240d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_LINUX)
2422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const int kLowestRendererOomScore = 300;
2432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const int kHighestRendererOomScore = 1000;
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN)
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kMetroNavigationAndSearchMessage[] =
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    L"CHROME_METRO_NAV_SEARCH_REQUEST";
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kMetroGetCurrentTabInfoMessage[] =
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    L"CHROME_METRO_GET_CURRENT_TAB_INFO";
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kMetroRegistryPath[] =
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    L"Software\\" PRODUCT_STRING_PATH L"\\Metro";
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kLaunchModeValue[] = L"launch_mode";
2543551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// This is used by breakpad and the metrics reporting.
2553551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)const wchar_t kBrowserCrashDumpAttemptsRegistryPath[] =
2563551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)    L"Software\\" PRODUCT_STRING_PATH L"\\BrowserCrashDumpAttempts";
257f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const char kSafeModeEnvVar[] = "CHROME_SAFE_MODE";
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
26090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if defined(OS_CHROMEOS)
26190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const char kProfileDirPrefix[] = "u-";
262d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)const char kLegacyProfileDir[] = "user";
263d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)const char kTestUserProfileDir[] = "test-user";
26490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif
26590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
266ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// This GUID is associated with any 'don't ask me again' settings that the
267ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// user can select for different file types.
268ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// {2676A9A2-D919-4FEE-9187-152100393AB2}
269ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochconst char kApplicationClientIDStringForAVScanning[] =
270ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch    "2676A9A2-D919-4FEE-9187-152100393AB2";
271ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch
2725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(OS_ANDROID)
2735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)const size_t kMaxMetaTagAttributeLength = 2000;
2745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif
2755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace chrome
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef FPL
279