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