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

Unified Diff: ppapi/native_client/src/trusted/plugin/pnacl_resources.h

Issue 10689012: Add ability to load pnacl resources from DIR_PNACL_COMPONENT. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: lint Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/trusted/plugin/pnacl_resources.h
diff --git a/ppapi/native_client/src/trusted/plugin/pnacl_resources.h b/ppapi/native_client/src/trusted/plugin/pnacl_resources.h
index 5f1ca972e13e56bdda79e57cf016bc16901534a1..41bbccf55f30315bb87d952f43756d6929386e77 100644
--- a/ppapi/native_client/src/trusted/plugin/pnacl_resources.h
+++ b/ppapi/native_client/src/trusted/plugin/pnacl_resources.h
@@ -15,6 +15,8 @@
#include "native_client/src/trusted/plugin/delayed_callback.h"
#include "native_client/src/trusted/plugin/nexe_arch.h"
#include "native_client/src/trusted/plugin/plugin_error.h"
+
+#include "ppapi/c/private/pp_file_handle.h"
#include "ppapi/utility/completion_callback_factory.h"
namespace plugin {
@@ -23,21 +25,25 @@ class Manifest;
class Plugin;
class PnaclCoordinator;
+// Constants for loading LLC and LD.
class PnaclUrls {
public:
- static nacl::string GetExtensionUrl() {
- return nacl::string(kExtensionOrigin) + GetSandboxISA() + "/";
- }
+ static bool UsePnaclExtension(const Plugin* plugin);
+ static nacl::string GetBaseUrl(bool use_extension);
+ static bool IsPnaclComponent(const nacl::string& full_url);
+ static nacl::string StripPnaclComponentPrefix(const nacl::string& full_url);
static const nacl::string GetLlcUrl() { return nacl::string(kLlcUrl); }
static const nacl::string GetLdUrl() { return nacl::string(kLdUrl); }
private:
static const char kExtensionOrigin[];
+ static const char kPnaclComponentID[];
static const char kLlcUrl[];
static const char kLdUrl[];
};
-// Loads a list of remote resources, providing a way to get file descriptors for
-// thse resources. All URLs in relative to resource_base_url_.
+// Loads a list of resources, providing a way to get file descriptors for
+// these resources. URLs for resources are resolved by the manifest
+// and may either point to filesystem resources or chrome extension resources.
class PnaclResources {
public:
PnaclResources(Plugin* plugin,
@@ -52,16 +58,14 @@ class PnaclResources {
all_loaded_callback_(all_loaded_callback) {
callback_factory_.Initialize(this);
}
-
virtual ~PnaclResources();
- // Start fetching the URLs. After construction, this is the first step.
- void StartDownloads();
- // Get the wrapper for the downloaded resource.
- // Only valid after all_loaded_callback_ has been run.
- nacl::DescWrapper* WrapperForUrl(const nacl::string& url) {
- return resource_wrappers_[url];
- }
+ // Start loading the resources. After construction, this is the first step.
+ virtual void StartLoad();
+ // Get file descs by name. Only valid after all_loaded_callback_ has been run.
+ nacl::DescWrapper* WrapperForUrl(const nacl::string& url);
+
+ static int32_t GetPnaclFD(Plugin* plugin, const char* filename);
private:
NACL_DISALLOW_COPY_AND_ASSIGN(PnaclResources);
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc ('k') | ppapi/native_client/src/trusted/plugin/pnacl_resources.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698