Index: chrome/browser/plugin_service.cc |
diff --git a/chrome/browser/plugin_service.cc b/chrome/browser/plugin_service.cc |
index cc6408fb02b186fbfb0dc887160b4df7e0d98236..86bed6239f3368d16e7110fe7ec27977c67941b2 100644 |
--- a/chrome/browser/plugin_service.cc |
+++ b/chrome/browser/plugin_service.cc |
@@ -226,26 +226,28 @@ PluginProcessHost* PluginService::FindOrStartPluginProcess( |
const FilePath& plugin_path) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
- PluginProcessHost *plugin_host = FindPluginProcess(plugin_path); |
+ if (plugin_path.value().empty()) |
jam
2010/11/12 20:44:58
curious, any reason to change this logic? it seem
|
+ return NULL; |
+ |
+ PluginProcessHost* plugin_host = FindPluginProcess(plugin_path); |
if (plugin_host) |
return plugin_host; |
WebPluginInfo info; |
if (!NPAPI::PluginList::Singleton()->GetPluginInfoByPath( |
- plugin_path, &info)) { |
- DCHECK(false); |
+ plugin_path, &info)) { |
+ NOTREACHED(); |
return NULL; |
} |
// This plugin isn't loaded by any plugin process, so create a new process. |
- plugin_host = new PluginProcessHost(); |
- if (!plugin_host->Init(info, ui_locale_)) { |
- DCHECK(false); // Init is not expected to fail |
- delete plugin_host; |
+ scoped_ptr<PluginProcessHost> new_host(new PluginProcessHost()); |
+ if (!new_host->Init(info, ui_locale_)) { |
+ NOTREACHED(); // Init is not expected to fail |
return NULL; |
} |
- return plugin_host; |
+ return new_host.release(); |
} |
void PluginService::OpenChannelToPlugin( |