Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Side by Side Diff: components/nacl/renderer/ppb_nacl_private_impl.cc

Issue 1070233007: Stop adding the "files/" prefix when sending open_resource IPC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "components/nacl/renderer/ppb_nacl_private_impl.h" 5 #include "components/nacl/renderer/ppb_nacl_private_impl.h"
6 6
7 #include <numeric> 7 #include <numeric>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 1089 matching lines...) Expand 10 before | Expand all | Expand 10 after
1100 1100
1101 bool ManifestResolveKey(PP_Instance instance, 1101 bool ManifestResolveKey(PP_Instance instance,
1102 bool is_helper_process, 1102 bool is_helper_process,
1103 const std::string& key, 1103 const std::string& key,
1104 std::string* full_url, 1104 std::string* full_url,
1105 PP_PNaClOptions* pnacl_options) { 1105 PP_PNaClOptions* pnacl_options) {
1106 // For "helper" processes (llc and ld, for PNaCl translation), we resolve 1106 // For "helper" processes (llc and ld, for PNaCl translation), we resolve
1107 // keys manually as there is no existing .nmf file to parse. 1107 // keys manually as there is no existing .nmf file to parse.
1108 if (is_helper_process) { 1108 if (is_helper_process) {
1109 pnacl_options->translate = PP_FALSE; 1109 pnacl_options->translate = PP_FALSE;
1110 // We can only resolve keys in the files/ namespace.
1111 const std::string kFilesPrefix = "files/";
1112 if (key.find(kFilesPrefix) == std::string::npos) {
1113 nacl::NexeLoadManager* load_manager = GetNexeLoadManager(instance);
1114 if (load_manager)
1115 load_manager->ReportLoadError(PP_NACL_ERROR_MANIFEST_RESOLVE_URL,
1116 "key did not start with files/");
1117 return false;
1118 }
1119 std::string key_basename = key.substr(kFilesPrefix.length());
1120 *full_url = std::string(kPNaClTranslatorBaseUrl) + GetSandboxArch() + "/" + 1110 *full_url = std::string(kPNaClTranslatorBaseUrl) + GetSandboxArch() + "/" +
1121 key_basename; 1111 key;
1122 return true; 1112 return true;
1123 } 1113 }
1124 1114
1125 JsonManifest* manifest = GetJsonManifest(instance); 1115 JsonManifest* manifest = GetJsonManifest(instance);
1126 if (manifest == NULL) 1116 if (manifest == NULL)
1127 return false; 1117 return false;
1128 1118
1129 return manifest->ResolveKey(key, full_url, pnacl_options); 1119 return manifest->ResolveKey(key, full_url, pnacl_options);
1130 } 1120 }
1131 1121
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after
1737 &StreamPexe 1727 &StreamPexe
1738 }; 1728 };
1739 1729
1740 } // namespace 1730 } // namespace
1741 1731
1742 const PPB_NaCl_Private* GetNaClPrivateInterface() { 1732 const PPB_NaCl_Private* GetNaClPrivateInterface() {
1743 return &nacl_interface; 1733 return &nacl_interface;
1744 } 1734 }
1745 1735
1746 } // namespace nacl 1736 } // namespace nacl
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698