chrome_paths.h revision 7d4cd473f85ac64c3747c96c277f9e506a0d2246
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#ifndef CHROME_COMMON_CHROME_PATHS_H__ 6#define CHROME_COMMON_CHROME_PATHS_H__ 7 8#include "build/build_config.h" 9 10// This file declares path keys for the chrome module. These can be used with 11// the PathService to access various special directories and files. 12 13namespace chrome { 14 15enum { 16 PATH_START = 1000, 17 18 DIR_APP = PATH_START, // Directory where dlls and data reside. 19 DIR_LOGS, // Directory where logs should be written. 20 DIR_USER_DATA, // Directory where user data can be written. 21 DIR_RESOURCES, // Directory containing separate file resources 22 // used by Chrome at runtime. 23 DIR_INSPECTOR, // Directory where web inspector is located. 24 DIR_APP_DICTIONARIES, // Directory where the global dictionaries are. 25 DIR_USER_DOCUMENTS, // Directory for a user's "My Documents". 26 DIR_USER_MUSIC, // Directory for a user's music. 27 DIR_USER_PICTURES, // Directory for a user's pictures. 28 DIR_USER_VIDEOS, // Directory for a user's videos. 29 DIR_DEFAULT_DOWNLOADS_SAFE, // Directory for a user's 30 // "My Documents/Downloads", (Windows) or 31 // "Downloads". (Linux) 32 DIR_DEFAULT_DOWNLOADS, // Directory for a user's downloads. 33 DIR_INTERNAL_PLUGINS, // Directory where internal plugins reside. 34#if defined(OS_POSIX) && !defined(OS_MACOSX) 35 DIR_POLICY_FILES, // Directory for system-wide read-only 36 // policy files that allow sys-admins 37 // to set policies for chrome. This directory 38 // contains subdirectories. 39#endif 40#if defined(OS_MACOSX) && !defined(OS_IOS) 41 DIR_MANAGED_PREFS, // Directory that stores the managed prefs plist 42 // files for the current user. 43#endif 44#if defined(OS_CHROMEOS) || (defined(OS_MACOSX) && !defined(OS_IOS)) 45 DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions 46 // on Chrome Mac. On Chrome OS, this path is 47 // used for OEM customization. 48 // Getting this path does not create it. 49#endif 50 51#if defined(OS_LINUX) 52 DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension' 53 // definition manifest files that 54 // describe extensions which are to be 55 // installed when chrome is run. 56#endif 57 DIR_EXTERNAL_EXTENSIONS, // Directory where installer places .crx files. 58 59 DIR_DEFAULT_APPS, // Directory where installer places .crx files 60 // to be installed when chrome is first run. 61 DIR_PEPPER_FLASH_PLUGIN, // Directory to the bundled Pepper Flash plugin, 62 // containing the plugin and the manifest. 63 DIR_COMPONENT_UPDATED_PEPPER_FLASH_PLUGIN, // Base directory of the Pepper 64 // Flash plugins downloaded by the 65 // component updater. 66 FILE_RESOURCE_MODULE, // Full path and filename of the module that 67 // contains embedded resources (version, 68 // strings, images, etc.). 69 FILE_LOCAL_STATE, // Path and filename to the file in which 70 // machine/installation-specific state is saved. 71 FILE_RECORDED_SCRIPT, // Full path to the script.log file that 72 // contains recorded browser events for 73 // playback. 74 FILE_FLASH_PLUGIN, // Full path to the internal NPAPI Flash plugin 75 // file. Querying this path will succeed no 76 // matter the file exists or not. 77 FILE_PEPPER_FLASH_PLUGIN, // Full path to the bundled Pepper Flash plugin 78 // file. 79 FILE_PDF_PLUGIN, // Full path to the internal PDF plugin file. 80 81#if defined(OS_POSIX) && !defined(OS_MACOSX) 82 FILE_NACL_HELPER, // Full path to Linux nacl_helper executable. 83 FILE_NACL_HELPER_BOOTSTRAP, // ... and nacl_helper_bootstrap executable. 84#endif 85 FILE_NACL_PLUGIN, // Full path to the internal NaCl plugin file. 86 DIR_PNACL_BASE, // Full path to the base dir for PNaCl. 87 DIR_PNACL_COMPONENT, // Full path to the latest PNaCl version 88 // (subdir of DIR_PNACL_BASE). 89 FILE_O3D_PLUGIN, // Full path to the O3D Pepper plugin file. 90 FILE_O1D_PLUGIN, // Full path to the O1D Pepper plugin file. 91 FILE_GTALK_PLUGIN, // Full path to the GTalk Pepper plugin file. 92 DIR_COMPONENT_WIDEVINE_CDM, // Directory that contains component-updated 93 // Widevine CDM files. 94 FILE_WIDEVINE_CDM_ADAPTER, // Full path to the Widevine CDM adapter file. 95 FILE_RESOURCES_PACK, // Full path to the .pak file containing 96 // binary data (e.g., html files and images 97 // used by internal pages). 98 DIR_RESOURCES_EXTENSION, // Full path to extension resources. 99#if defined(OS_CHROMEOS) 100 DIR_CHROMEOS_WALLPAPERS, // Directory where downloaded chromeos 101 // wallpapers reside. 102 DIR_CHROMEOS_WALLPAPER_THUMBNAILS, // Directory where downloaded chromeos 103 // wallpaper thumbnails reside. 104 DIR_CHROMEOS_CUSTOM_WALLPAPERS, // Directory where custom wallpapers 105 // reside. 106#endif 107#if defined(ENABLE_MANAGED_USERS) 108 DIR_MANAGED_USERS_DEFAULT_APPS, // Directory where installer places .crx 109 // files to be installed when managed user 110 // session starts. 111#endif 112 113 // Valid only in development environment; TODO(darin): move these 114 DIR_GEN_TEST_DATA, // Directory where generated test data resides. 115 DIR_TEST_DATA, // Directory where unit test data resides. 116 DIR_TEST_TOOLS, // Directory where unit test tools reside. 117 118 PATH_END 119}; 120 121// Call once to register the provider for the path keys defined above. 122void RegisterPathProvider(); 123 124} // namespace chrome 125 126#endif // CHROME_COMMON_CHROME_PATHS_H__ 127