1 // Copyright (c) 2011 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 #pragma once 8 9 #include "build/build_config.h" 10 11 // This file declares path keys for the chrome module. These can be used with 12 // the PathService to access various special directories and files. 13 14 namespace chrome { 15 16 enum { 17 PATH_START = 1000, 18 19 DIR_APP = PATH_START, // Directory where dlls and data reside. 20 DIR_LOGS, // Directory where logs should be written. 21 DIR_USER_DATA, // Directory where user data can be written. 22 DIR_CRASH_DUMPS, // Directory where crash dumps are written. 23 DIR_USER_DESKTOP, // Directory that correspond to the desktop. 24 DIR_RESOURCES, // Directory containing separate file resources 25 // used by Chrome at runtime. 26 DIR_SHARED_RESOURCES, // Directory containing js and css files used 27 // by WebUI and component extensions. 28 DIR_INSPECTOR, // Directory where web inspector is located. 29 DIR_APP_DICTIONARIES, // Directory where the global dictionaries are. 30 DIR_USER_DOCUMENTS, // Directory for a user's "My Documents". 31 DIR_DEFAULT_DOWNLOADS_SAFE, // Directory for a user's 32 // "My Documents/Downloads". 33 DIR_DEFAULT_DOWNLOADS, // Directory for a user's downloads. 34 DIR_USER_DATA_TEMP, // A temp directory within DIR_USER_DATA. Use 35 // this when a temporary file or directory will 36 // be moved into the profile, to avoid issues 37 // moving across volumes. See crbug.com/13044 . 38 // Getting this path does not create it. Users 39 // should check that the path exists before 40 // using it. 41 DIR_INTERNAL_PLUGINS, // Directory where internal plugins reside. 42 DIR_MEDIA_LIBS, // Directory where the Media libraries reside. 43 #if !defined(OS_MACOSX) && defined(OS_POSIX) 44 DIR_POLICY_FILES, // Directory for system-wide read-only 45 // policy files that allow sys-admins 46 // to set policies for chrome. This directory 47 // contains subdirectories. 48 #endif 49 #if defined(OS_MACOSX) 50 DIR_MANAGED_PREFS, // Directory that stores the managed prefs plist 51 // files for the current user. 52 #endif 53 #if defined(OS_CHROMEOS) 54 DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions. 55 // Used for OEM customization on Chrome OS. 56 // Getting this path does not create it. 57 #endif 58 59 FILE_RESOURCE_MODULE, // Full path and filename of the module that 60 // contains embedded resources (version, 61 // strings, images, etc.). 62 FILE_LOCAL_STATE, // Path and filename to the file in which 63 // machine/installation-specific state is saved. 64 FILE_RECORDED_SCRIPT, // Full path to the script.log file that 65 // contains recorded browser events for 66 // playback. 67 FILE_FLASH_PLUGIN, // Full path to the internal Flash plugin file. 68 FILE_PDF_PLUGIN, // Full path to the internal PDF plugin file. 69 FILE_NACL_PLUGIN, // Full path to the internal NaCl plugin file. 70 FILE_LIBAVCODEC, // Full path to libavcodec media decoding 71 // library. 72 FILE_LIBAVFORMAT, // Full path to libavformat media parsing 73 // library. 74 FILE_LIBAVUTIL, // Full path to libavutil media utility library. 75 FILE_RESOURCES_PACK, // Full path to the .pak file containing 76 // binary data (e.g., html files and images 77 // used by interal pages). 78 #if defined(OS_CHROMEOS) 79 FILE_CHROMEOS_API, // Full path to chrome os api shared object. 80 #endif 81 82 83 // Valid only in development environment; TODO(darin): move these 84 DIR_TEST_DATA, // Directory where unit test data resides. 85 DIR_TEST_TOOLS, // Directory where unit test tools reside. 86 87 PATH_END 88 }; 89 90 // Call once to register the provider for the path keys defined above. 91 void RegisterPathProvider(); 92 93 } // namespace chrome 94 95 #endif // CHROME_COMMON_CHROME_PATHS_H__ 96