OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_ | 5 #ifndef WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_ |
6 #define WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_ | 6 #define WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| 11 #include "webkit/plugins/webkit_plugins_export.h" |
11 | 12 |
12 namespace webkit { | 13 namespace webkit { |
13 namespace ppapi { | 14 namespace ppapi { |
14 | 15 |
15 class PluginModule; | 16 class PluginModule; |
16 | 17 |
17 // TODO(vtl): Once we put |::FilePath| into the |base| namespace, get rid of the | 18 // TODO(vtl): Once we put |::FilePath| into the |base| namespace, get rid of the |
18 // |Pepper| (or |PEPPER_|) prefixes. Right now, it's just too | 19 // |Pepper| (or |PEPPER_|) prefixes. Right now, it's just too |
19 // confusing/dangerous! | 20 // confusing/dangerous! |
20 | 21 |
21 class PepperFilePath { | 22 class PepperFilePath { |
22 public: | 23 public: |
23 enum Domain { | 24 enum Domain { |
24 DOMAIN_INVALID = 0, | 25 DOMAIN_INVALID = 0, |
25 DOMAIN_ABSOLUTE, | 26 DOMAIN_ABSOLUTE, |
26 DOMAIN_MODULE_LOCAL, | 27 DOMAIN_MODULE_LOCAL, |
27 | 28 |
28 // Used for validity-checking. | 29 // Used for validity-checking. |
29 DOMAIN_MAX_VALID = DOMAIN_MODULE_LOCAL | 30 DOMAIN_MAX_VALID = DOMAIN_MODULE_LOCAL |
30 }; | 31 }; |
31 | 32 |
32 PepperFilePath(); | 33 WEBKIT_PLUGINS_EXPORT PepperFilePath(); |
33 PepperFilePath(Domain d, const FilePath& p); | 34 WEBKIT_PLUGINS_EXPORT PepperFilePath(Domain d, const FilePath& p); |
34 | 35 |
35 static PepperFilePath MakeAbsolute(const FilePath& path); | 36 static PepperFilePath MakeAbsolute(const FilePath& path); |
36 static PepperFilePath MakeModuleLocal(PluginModule* module, | 37 static PepperFilePath MakeModuleLocal(PluginModule* module, |
37 const char* utf8_path); | 38 const char* utf8_path); |
38 | 39 |
39 Domain domain() const { return domain_; } | 40 Domain domain() const { return domain_; } |
40 const FilePath& path() const { return path_; } | 41 const FilePath& path() const { return path_; } |
41 | 42 |
42 private: | 43 private: |
43 Domain domain_; | 44 Domain domain_; |
44 FilePath path_; | 45 FilePath path_; |
45 }; | 46 }; |
46 | 47 |
47 } // namespace ppapi | 48 } // namespace ppapi |
48 } // namespace webkit | 49 } // namespace webkit |
49 | 50 |
50 #endif // WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_ | 51 #endif // WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_ |
OLD | NEW |