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

Unified Diff: ppapi/native_client/src/trusted/plugin/plugin.cc

Issue 260053008: Trusted plugin: Miscellaneous cleanup. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add main thread check Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/plugin.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/native_client/src/trusted/plugin/plugin.cc
diff --git a/ppapi/native_client/src/trusted/plugin/plugin.cc b/ppapi/native_client/src/trusted/plugin/plugin.cc
index eace43823b94c338274d2f29546141066f0bf6c1..c2fcbd87b07801c03ebfeb60554b8d3129bbd354 100644
--- a/ppapi/native_client/src/trusted/plugin/plugin.cc
+++ b/ppapi/native_client/src/trusted/plugin/plugin.cc
@@ -354,23 +354,12 @@ NaClSubprocess* Plugin::LoadHelperNaClModule(const nacl::string& helper_url,
return nacl_subprocess.release();
}
-Plugin* Plugin::New(PP_Instance pp_instance) {
- PLUGIN_PRINTF(("Plugin::New (pp_instance=%" NACL_PRId32 ")\n", pp_instance));
- Plugin* plugin = new Plugin(pp_instance);
- PLUGIN_PRINTF(("Plugin::New (plugin=%p)\n", static_cast<void*>(plugin)));
- return plugin;
-}
-
// All failures of this function will show up as "Missing Plugin-in", so
// there is no need to log to JS console that there was an initialization
// failure. Note that module loading functions will log their own errors.
bool Plugin::Init(uint32_t argc, const char* argn[], const char* argv[]) {
PLUGIN_PRINTF(("Plugin::Init (argc=%" NACL_PRIu32 ")\n", argc));
nacl_interface_->InitializePlugin(pp_instance(), argc, argn, argv);
- url_util_ = pp::URLUtil_Dev::Get();
- if (url_util_ == NULL)
- return false;
-
wrapper_factory_ = new nacl::DescWrapperFactory();
pp::Var manifest_url(pp::PASS_REF, nacl_interface_->GetManifestURLArgument(
pp_instance()));
@@ -654,15 +643,13 @@ void Plugin::NaClManifestFileDidOpen(int32_t pp_error) {
void Plugin::ProcessNaClManifest(const nacl::string& manifest_json) {
HistogramSizeKB("NaCl.Perf.Size.Manifest",
static_cast<int32_t>(manifest_json.length() / 1024));
- ErrorInfo error_info;
- if (!SetManifestObject(manifest_json, &error_info)) {
- ReportLoadError(error_info);
+ if (!SetManifestObject(manifest_json))
return;
- }
nacl::string program_url;
PP_PNaClOptions pnacl_options = {PP_FALSE, PP_FALSE, 2};
bool uses_nonsfi_mode;
+ ErrorInfo error_info;
if (manifest_->GetProgramURL(
&program_url, &pnacl_options, &uses_nonsfi_mode, &error_info)) {
// TODO(teravest): Make ProcessNaClManifest take responsibility for more of
@@ -742,12 +729,11 @@ void Plugin::RequestNaClManifest(const nacl::string& url) {
}
-bool Plugin::SetManifestObject(const nacl::string& manifest_json,
- ErrorInfo* error_info) {
+bool Plugin::SetManifestObject(const nacl::string& manifest_json) {
PLUGIN_PRINTF(("Plugin::SetManifestObject(): manifest_json='%s'.\n",
manifest_json.c_str()));
- if (error_info == NULL)
- return false;
+ ErrorInfo error_info;
+
// Determine whether lookups should use portable (i.e., pnacl versions)
// rather than platform-specific files.
bool is_pnacl = nacl_interface_->IsPNaCl(pp_instance());
@@ -760,12 +746,13 @@ bool Plugin::SetManifestObject(const nacl::string& manifest_json,
manifest_base_url_str.c_str());
const char* sandbox_isa = nacl_interface_->GetSandboxArch();
nacl::scoped_ptr<JsonManifest> json_manifest(
- new JsonManifest(url_util_,
+ new JsonManifest(pp::URLUtil_Dev::Get(),
manifest_base_url_str,
(is_pnacl ? kPortableArch : sandbox_isa),
nonsfi_mode_enabled,
pnacl_debug));
- if (!json_manifest->Init(manifest_json, error_info)) {
+ if (!json_manifest->Init(manifest_json, &error_info)) {
+ ReportLoadError(error_info);
return false;
}
manifest_.reset(json_manifest.release());
@@ -790,9 +777,8 @@ void Plugin::UrlDidOpenForStreamAsFile(
} else if (info->get_desc() > NACL_NO_FILE_DESC) {
std::map<nacl::string, NaClFileInfoAutoCloser*>::iterator it =
url_file_info_map_.find(url_downloader->url());
- if (it != url_file_info_map_.end()) {
+ if (it != url_file_info_map_.end())
delete it->second;
- }
url_file_info_map_[url_downloader->url()] = info;
callback.Run(PP_OK);
} else {
@@ -974,8 +960,9 @@ bool Plugin::OpenURLFast(const nacl::string& url,
}
bool Plugin::DocumentCanRequest(const std::string& url) {
- CHECK(url_util_ != NULL);
- return url_util_->DocumentCanRequest(this, pp::Var(url));
+ CHECK(pp::Module::Get()->core()->IsMainThread());
+ CHECK(pp::URLUtil_Dev::Get() != NULL);
+ return pp::URLUtil_Dev::Get()->DocumentCanRequest(this, pp::Var(url));
}
void Plugin::set_exit_status(int exit_status) {
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/plugin.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698