Index: ppapi/native_client/src/trusted/plugin/pnacl_resources.cc |
diff --git a/ppapi/native_client/src/trusted/plugin/pnacl_resources.cc b/ppapi/native_client/src/trusted/plugin/pnacl_resources.cc |
index 6ed851302487d2f959c15d1e982d2624793ec78f..d2b35086d23ba208b0bcfdbafdc8751b952e8a29 100644 |
--- a/ppapi/native_client/src/trusted/plugin/pnacl_resources.cc |
+++ b/ppapi/native_client/src/trusted/plugin/pnacl_resources.cc |
@@ -17,6 +17,14 @@ |
#include "third_party/jsoncpp/source/include/json/value.h" |
namespace plugin { |
+namespace { |
+const PPB_NaCl_Private* GetNaClInterface() { |
+ pp::Module *module = pp::Module::Get(); |
+ CHECK(module); |
+ return static_cast<const PPB_NaCl_Private*>( |
+ module->GetBrowserInterface(PPB_NACL_PRIVATE_INTERFACE)); |
+} |
+} // namespace |
static const char kPnaclBaseUrl[] = "chrome://pnacl-translator/"; |
const char PnaclUrls::kResourceInfoUrl[] = "pnacl.json"; |
@@ -25,10 +33,6 @@ nacl::string PnaclUrls::GetBaseUrl() { |
return nacl::string(kPnaclBaseUrl); |
} |
-nacl::string PnaclUrls::PrependPlatformPrefix(const nacl::string& url) { |
- return nacl::string(GetSandboxISA()) + "/" + url; |
-} |
- |
// Determine if a URL is for a pnacl-component file, or if it is some other |
// type of URL (e.g., http://, https://, chrome-extension://). |
// The URL could be one of the other variants for shared libraries |
@@ -188,12 +192,14 @@ bool PnaclResources::ParseResourceInfo(const nacl::string& buf, |
return true; |
} |
-nacl::string PnaclResources::GetFullUrl(const nacl::string& partial_url) const { |
+nacl::string PnaclResources::GetFullUrl( |
+ const nacl::string& partial_url, const nacl::string& sandbox_arch) const { |
nacl::string full_url; |
ErrorInfo error_info; |
const nacl::string& url_with_platform_prefix = |
- PnaclUrls::PrependPlatformPrefix(partial_url); |
- if (!manifest_->ResolveURL(url_with_platform_prefix, &full_url, |
+ sandbox_arch + "/" + partial_url; |
+ if (!manifest_->ResolveURL(url_with_platform_prefix, |
+ &full_url, |
&error_info)) { |
PLUGIN_PRINTF(("PnaclResources::GetFullUrl failed: %s.\n", |
error_info.message().c_str())); |
@@ -214,7 +220,8 @@ void PnaclResources::StartLoad( |
// Do a blocking load of each of the resources. |
int32_t result = PP_OK; |
for (size_t i = 0; i < resource_urls.size(); ++i) { |
- nacl::string full_url = GetFullUrl(resource_urls[i]); |
+ nacl::string full_url = GetFullUrl( |
+ resource_urls[i], plugin_->nacl_interface()->GetSandboxArch()); |
if (full_url == "") { |
coordinator_->ReportNonPpapiError( |
PP_NACL_ERROR_PNACL_RESOURCE_FETCH, |