OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 COMPONENTS_NACL_RENDERER_JSON_MANIFEST_H | 5 #ifndef COMPONENTS_NACL_RENDERER_JSON_MANIFEST_H |
6 #define COMPONENTS_NACL_RENDERER_JSON_MANIFEST_H | 6 #define COMPONENTS_NACL_RENDERER_JSON_MANIFEST_H |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
11 | 11 |
| 12 #include "base/strings/string_split.h" |
12 #include "components/nacl/renderer/ppb_nacl_private.h" | 13 #include "components/nacl/renderer/ppb_nacl_private.h" |
13 #include "ppapi/c/pp_array_output.h" | 14 #include "ppapi/c/pp_array_output.h" |
14 #include "third_party/jsoncpp/source/include/json/value.h" | 15 #include "third_party/jsoncpp/source/include/json/value.h" |
15 | 16 |
16 namespace nacl { | 17 namespace nacl { |
17 class JsonManifest; | 18 class JsonManifest; |
18 class NexeLoadManager; | 19 class NexeLoadManager; |
19 | 20 |
20 class JsonManifest { | 21 class JsonManifest { |
21 public: | 22 public: |
(...skipping 13 matching lines...) Expand all Loading... |
35 | 36 |
36 // Gets the full program URL for the current sandbox ISA from the | 37 // Gets the full program URL for the current sandbox ISA from the |
37 // manifest file. | 38 // manifest file. |
38 bool GetProgramURL(std::string* full_url, | 39 bool GetProgramURL(std::string* full_url, |
39 PP_PNaClOptions* pnacl_options, | 40 PP_PNaClOptions* pnacl_options, |
40 bool* uses_nonsfi_mode, | 41 bool* uses_nonsfi_mode, |
41 ErrorInfo* error_info) const; | 42 ErrorInfo* error_info) const; |
42 | 43 |
43 // Gets all the keys and their URLs in the "files" section that are | 44 // Gets all the keys and their URLs in the "files" section that are |
44 // prefetchable. | 45 // prefetchable. |
45 void GetPrefetchableFiles( | 46 void GetPrefetchableFiles(base::StringPairs* out_files) const; |
46 std::vector<std::pair<std::string, std::string> >* out_files) const; | |
47 | 47 |
48 // Resolves a key from the "files" section to a fully resolved URL, | 48 // Resolves a key from the "files" section to a fully resolved URL, |
49 // i.e., relative URL values are fully expanded relative to the | 49 // i.e., relative URL values are fully expanded relative to the |
50 // manifest's URL (via ResolveURL). | 50 // manifest's URL (via ResolveURL). |
51 // If there was an error, details are reported via error_info. | 51 // If there was an error, details are reported via error_info. |
52 bool ResolveKey(const std::string& key, | 52 bool ResolveKey(const std::string& key, |
53 std::string* full_url, | 53 std::string* full_url, |
54 PP_PNaClOptions* pnacl_options) const; | 54 PP_PNaClOptions* pnacl_options) const; |
55 | 55 |
56 private: | 56 private: |
(...skipping 14 matching lines...) Expand all Loading... |
71 bool nonsfi_enabled_; | 71 bool nonsfi_enabled_; |
72 bool pnacl_debug_; | 72 bool pnacl_debug_; |
73 | 73 |
74 // The dictionary of manifest information parsed in Init(). | 74 // The dictionary of manifest information parsed in Init(). |
75 Json::Value dictionary_; | 75 Json::Value dictionary_; |
76 }; | 76 }; |
77 | 77 |
78 } // namespace nacl | 78 } // namespace nacl |
79 | 79 |
80 #endif // COMPONENTS_NACL_RENDERER_JSON_MANIFEST_H | 80 #endif // COMPONENTS_NACL_RENDERER_JSON_MANIFEST_H |
OLD | NEW |