summaryrefslogtreecommitdiffstats
path: root/webkit/plugins
diff options
context:
space:
mode:
authorbbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-02 02:58:20 +0000
committerbbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-02 02:58:20 +0000
commit2e62b5bbd93fde7858733262d349ff8ea4e2cf8c (patch)
tree1e393ab5aaeca67c9620b6a24d2677866f383966 /webkit/plugins
parent80f1ce6b816549f8efdc61573cb61176146c5b10 (diff)
downloadchromium_src-2e62b5bbd93fde7858733262d349ff8ea4e2cf8c.zip
chromium_src-2e62b5bbd93fde7858733262d349ff8ea4e2cf8c.tar.gz
chromium_src-2e62b5bbd93fde7858733262d349ff8ea4e2cf8c.tar.bz2
Don't assert if PluginInstance can't get PPP_Combined. Some tests exercise this path.
BUG=116317 TEST=nacl_integration Review URL: https://chromiumcodereview.appspot.com/11367043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165608 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins')
-rw-r--r--webkit/plugins/ppapi/plugin_module.cc4
-rw-r--r--webkit/plugins/ppapi/plugin_module.h4
-rw-r--r--webkit/plugins/ppapi/ppapi_plugin_instance.cc2
3 files changed, 5 insertions, 5 deletions
diff --git a/webkit/plugins/ppapi/plugin_module.cc b/webkit/plugins/ppapi/plugin_module.cc
index d4f7437..7bd5036 100644
--- a/webkit/plugins/ppapi/plugin_module.cc
+++ b/webkit/plugins/ppapi/plugin_module.cc
@@ -512,7 +512,7 @@ scoped_refptr<PluginModule> PluginModule::CreateModuleForNaClInstance() {
return nacl_module;
}
-void PluginModule::InitAsProxiedNaCl(PluginInstance* plugin_instance) {
+bool PluginModule::InitAsProxiedNaCl(PluginInstance* plugin_instance) {
DCHECK(out_of_process_proxy_.get());
// InitAsProxied (for the trusted/out-of-process case) initializes only the
// module, and one or more instances are added later. In this case, the
@@ -522,7 +522,7 @@ void PluginModule::InitAsProxiedNaCl(PluginInstance* plugin_instance) {
// In NaCl, we need to tell the instance to reset itself as proxied. This will
// clear cached interface pointers and send DidCreate (etc) to the plugin
// side of the proxy.
- plugin_instance->ResetAsProxied(this);
+ return plugin_instance->ResetAsProxied(this);
}
// static
diff --git a/webkit/plugins/ppapi/plugin_module.h b/webkit/plugins/ppapi/plugin_module.h
index 4f7967d1..0761e2d 100644
--- a/webkit/plugins/ppapi/plugin_module.h
+++ b/webkit/plugins/ppapi/plugin_module.h
@@ -111,8 +111,8 @@ class WEBKIT_PLUGINS_EXPORT PluginModule :
scoped_refptr<PluginModule> CreateModuleForNaClInstance();
// Initializes the NaCl module for the out of process proxy. InitAsProxied
- // must be called before calling InitAsProxiedNaCl.
- void InitAsProxiedNaCl(PluginInstance* instance);
+ // must be called before calling InitAsProxiedNaCl. Returns true on success.
+ bool InitAsProxiedNaCl(PluginInstance* instance);
static const PPB_Core* GetCore();
diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
index af4e370..9c20d1b 100644
--- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc
+++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
@@ -3134,7 +3134,7 @@ bool PluginInstance::ResetAsProxied(scoped_refptr<PluginModule> module) {
PPP_Instance_Combined::Create(get_plugin_interface_func);
if (!ppp_instance_combined) {
// The proxy must support at least one usable PPP_Instance interface.
- NOTREACHED();
+ // Don't assert; some tests exercise this path.
return false;
}
instance_interface_.reset(ppp_instance_combined);