Commit 974353f6 authored by hidehiko@chromium.org's avatar hidehiko@chromium.org

Remove redundant use_nonsfi_mode from SelLdrStartParams.

The params is used for ServiceRuntime::StartSelLdr(). ServiceRuntime
already knows if it is for nonsfi or not. So the use_nonsfi_mode in
SelLdrStartParams is just redundant. Remove it.

BUG=333950
TEST=Ran browser_tests --gtest_filter=*NonSfi*:*NonSFI* locally, and trybots.
CQ_EXTRA_TRYBOTS=tryserver.chromium:linux_rel_precise32

Review URL: https://codereview.chromium.org/332333003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277864 0039d316-1c4b-4281-b951-d872f2087c98
parent 1d26103f
......@@ -66,16 +66,17 @@ void Plugin::HistogramTimeSmall(const std::string& name,
kTimeSmallBuckets);
}
bool Plugin::LoadNaClModuleFromBackgroundThread(
PP_FileHandle file_handle,
NaClSubprocess* subprocess,
const SelLdrStartParams& params) {
bool Plugin::LoadHelperNaClModule(PP_FileHandle file_handle,
NaClSubprocess* subprocess,
const SelLdrStartParams& params) {
CHECK(!pp::Module::Get()->core()->IsMainThread());
ServiceRuntime* service_runtime =
new ServiceRuntime(this, false, uses_nonsfi_mode_,
new ServiceRuntime(this,
false, // No main_service_runtime.
false, // No non-SFI mode (i.e. in SFI-mode).
pp::BlockUntilComplete(), pp::BlockUntilComplete());
subprocess->set_service_runtime(service_runtime);
PLUGIN_PRINTF(("Plugin::LoadNaClModuleFromBackgroundThread "
PLUGIN_PRINTF(("Plugin::LoadHelperNaClModule "
"(service_runtime=%p)\n",
static_cast<void*>(service_runtime)));
......@@ -91,12 +92,11 @@ bool Plugin::LoadNaClModuleFromBackgroundThread(
sel_ldr_callback);
pp::Module::Get()->core()->CallOnMainThread(0, callback, 0);
if (!service_runtime->WaitForSelLdrStart()) {
PLUGIN_PRINTF(("Plugin::LoadNaClModuleFromBackgroundThread "
PLUGIN_PRINTF(("Plugin::LoadHelperNaClModule "
"WaitForSelLdrStart timed out!\n"));
return false;
}
PLUGIN_PRINTF(("Plugin::LoadNaClModuleFromBackgroundThread "
"(service_runtime_started=%d)\n",
PLUGIN_PRINTF(("Plugin::LoadHelperNaClModule (service_runtime_started=%d)\n",
service_runtime_started));
if (!service_runtime_started)
return false;
......@@ -170,14 +170,12 @@ void Plugin::LoadNaClModule(PP_NaClFileInfo file_info,
SelLdrStartParams params(manifest_base_url_str,
true /* uses_irt */,
true /* uses_ppapi */,
uses_nonsfi_mode,
enable_dyncode_syscalls,
enable_exception_handling,
enable_crash_throttling);
ErrorInfo error_info;
ServiceRuntime* service_runtime =
new ServiceRuntime(this, true, uses_nonsfi_mode,
init_done_cb, crash_cb);
ServiceRuntime* service_runtime = new ServiceRuntime(
this, true, uses_nonsfi_mode, init_done_cb, crash_cb);
main_subprocess_.set_service_runtime(service_runtime);
PLUGIN_PRINTF(("Plugin::LoadNaClModule (service_runtime=%p)\n",
static_cast<void*>(service_runtime)));
......@@ -251,15 +249,13 @@ NaClSubprocess* Plugin::LoadHelperNaClModule(const nacl::string& helper_url,
SelLdrStartParams params(helper_url,
false /* uses_irt */,
false /* uses_ppapi */,
false /* uses_nonsfi_mode */,
false /* enable_dyncode_syscalls */,
false /* enable_exception_handling */,
true /* enable_crash_throttling */);
// Helper NaCl modules always use the PNaCl manifest, as there is no
// corresponding NMF.
if (!LoadNaClModuleFromBackgroundThread(file_handle, nacl_subprocess.get(),
params)) {
if (!LoadHelperNaClModule(file_handle, nacl_subprocess.get(), params)) {
return NULL;
}
// We need not wait for the init_done callback. We can block
......
......@@ -141,11 +141,12 @@ class Plugin : public pp::Instance {
void HistogramTimeSmall(const std::string& name, int64_t ms);
// Load a nacl module from the file specified in file_handle.
// Only to be used from a background (non-main) thread.
// This will fully initialize the |subprocess| if the load was successful.
bool LoadNaClModuleFromBackgroundThread(PP_FileHandle file_handle,
NaClSubprocess* subprocess,
const SelLdrStartParams& params);
// Only to be used from a background (non-main) thread for the PNaCl
// translator. This will fully initialize the |subprocess| if the load was
// successful.
bool LoadHelperNaClModule(PP_FileHandle file_handle,
NaClSubprocess* subprocess,
const SelLdrStartParams& params);
// Start sel_ldr from the main thread, given the start params.
// |pp_error| is set by CallOnMainThread (should be PP_OK).
......
......@@ -702,7 +702,7 @@ void ServiceRuntime::StartSelLdr(const SelLdrStartParams& params,
params.url.c_str(),
params.uses_irt,
params.uses_ppapi,
params.uses_nonsfi_mode,
uses_nonsfi_mode_,
enable_dev_interfaces,
params.enable_dyncode_syscalls,
params.enable_exception_handling,
......
......@@ -45,14 +45,12 @@ struct SelLdrStartParams {
SelLdrStartParams(const nacl::string& url,
bool uses_irt,
bool uses_ppapi,
bool uses_nonsfi_mode,
bool enable_dyncode_syscalls,
bool enable_exception_handling,
bool enable_crash_throttling)
: url(url),
uses_irt(uses_irt),
uses_ppapi(uses_ppapi),
uses_nonsfi_mode(uses_nonsfi_mode),
enable_dyncode_syscalls(enable_dyncode_syscalls),
enable_exception_handling(enable_exception_handling),
enable_crash_throttling(enable_crash_throttling) {
......@@ -60,7 +58,6 @@ struct SelLdrStartParams {
nacl::string url;
bool uses_irt;
bool uses_ppapi;
bool uses_nonsfi_mode;
bool enable_dev_interfaces;
bool enable_dyncode_syscalls;
bool enable_exception_handling;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment