chrome_paths.h revision 3345a6884c488ff3a535c2c9acdd33d74b37e311
1// Copyright (c) 2006-2010 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
14namespace chrome {
15
16enum {
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 DOMUI 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  DIR_INTERNAL_PLUGINS,         // Directory where internal plugins reside.
39#if !defined(OS_MACOSX) && defined(OS_POSIX)
40  DIR_POLICY_FILES,             // Directory for system-wide read-only
41                                // policy files that allow sys-admins
42                                // to set policies for chrome. This directory
43                                // contains subdirectories.
44#endif
45  FILE_RESOURCE_MODULE,         // Full path and filename of the module that
46                                // contains embedded resources (version,
47                                // strings, images, etc.).
48  FILE_LOCAL_STATE,             // Path and filename to the file in which
49                                // machine/installation-specific state is saved.
50  FILE_RECORDED_SCRIPT,         // Full path to the script.log file that
51                                // contains recorded browser events for
52                                // playback.
53  FILE_GEARS_PLUGIN,            // Full path to the gears.dll plugin file.
54  FILE_FLASH_PLUGIN,            // Full path to the internal Flash plugin file.
55  FILE_PDF_PLUGIN,              // Full path to the internal PDF plugin file.
56  FILE_LIBAVCODEC,              // Full path to libavcodec media decoding
57                                // library.
58  FILE_LIBAVFORMAT,             // Full path to libavformat media parsing
59                                // library.
60  FILE_LIBAVUTIL,               // Full path to libavutil media utility library.
61  FILE_RESOURCES_PACK,          // Full path to the .pak file containing
62                                // binary data (e.g., html files and images
63                                // used by interal pages).
64#if defined(OS_CHROMEOS)
65  FILE_CHROMEOS_API,            // Full path to chrome os api shared object.
66#endif
67
68
69  // Valid only in development environment; TODO(darin): move these
70  DIR_TEST_DATA,                // Directory where unit test data resides.
71  DIR_TEST_TOOLS,               // Directory where unit test tools reside.
72
73  PATH_END
74};
75
76// Call once to register the provider for the path keys defined above.
77void RegisterPathProvider();
78
79}  // namespace chrome
80
81#endif  // CHROME_COMMON_CHROME_PATHS_H__
82