Changeset 73419 in webkit
- Timestamp:
- Dec 6, 2010 5:14:40 PM (13 years ago)
- Location:
- trunk/WebKit2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit2/ChangeLog
r73414 r73419 1 2010-12-06 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 The plug-in process crashes if it can't load the plug-in module 6 https://bugs.webkit.org/show_bug.cgi?id=50601 7 <rdar://problem/8692654> 8 9 * PluginProcess/PluginControllerProxy.cpp: 10 (WebKit::PluginControllerProxy::initialize): 11 Handle m_plugin being 0. 12 13 * PluginProcess/PluginProcess.cpp: 14 (WebKit::PluginProcess::netscapePluginModule): 15 Create the plug-in module if it doesn't exist. 16 17 (WebKit::PluginProcess::initialize): 18 Store the plug-in path. 19 20 * PluginProcess/PluginProcess.h: 21 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 22 (WebKit::NetscapePlugin::create): 23 Return null if the plug-in module doesn't exist. 24 25 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 26 * WebProcess/WebPage/WebPage.cpp: 27 (WebKit::WebPage::createPlugin): 28 Simplify code. 29 1 30 2010-12-06 Anders Carlsson <andersca@apple.com> 2 31 -
trunk/WebKit2/PluginProcess/PluginControllerProxy.cpp
r73090 r73419 71 71 72 72 m_plugin = NetscapePlugin::create(PluginProcess::shared().netscapePluginModule()); 73 if (!m_plugin) 74 return false; 75 73 76 if (!m_plugin->initialize(this, parameters)) { 74 77 m_plugin = 0; -
trunk/WebKit2/PluginProcess/PluginProcess.cpp
r71247 r73419 77 77 } 78 78 79 NetscapePluginModule* PluginProcess::netscapePluginModule() 80 { 81 if (!m_pluginModule) { 82 ASSERT(!m_pluginPath.isNull()); 83 m_pluginModule = NetscapePluginModule::getOrCreate(m_pluginPath); 84 } 85 86 return m_pluginModule.get(); 87 } 88 79 89 void PluginProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) 80 90 { … … 97 107 ASSERT(!m_pluginModule); 98 108 99 m_plugin Module = NetscapePluginModule::getOrCreate(parameters.pluginPath);109 m_pluginPath = parameters.pluginPath; 100 110 101 111 #if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC) -
trunk/WebKit2/PluginProcess/PluginProcess.h
r72972 r73419 32 32 #include "RunLoop.h" 33 33 #include <wtf/Forward.h> 34 #include <wtf/text/WTFString.h> 34 35 35 36 namespace WebKit { … … 46 47 void removeWebProcessConnection(WebProcessConnection* webProcessConnection); 47 48 48 NetscapePluginModule* netscapePluginModule() const { return m_pluginModule.get(); }49 NetscapePluginModule* netscapePluginModule(); 49 50 50 51 #if PLATFORM(MAC) … … 78 79 Vector<RefPtr<WebProcessConnection> > m_webProcessConnections; 79 80 81 // The plug-in path. 82 String m_pluginPath; 83 80 84 // The plug-in module. 81 85 RefPtr<NetscapePluginModule> m_pluginModule; -
trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
r73387 r73419 44 44 static NetscapePlugin* currentNPPNewPlugin; 45 45 46 PassRefPtr<NetscapePlugin> NetscapePlugin::create(PassRefPtr<NetscapePluginModule> pluginModule) 47 { 48 if (!pluginModule) 49 return 0; 50 51 return adoptRef(new NetscapePlugin(pluginModule)); 52 } 53 46 54 NetscapePlugin::NetscapePlugin(PassRefPtr<NetscapePluginModule> pluginModule) 47 55 : m_pluginController(0) -
trunk/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
r73391 r73419 46 46 class NetscapePlugin : public Plugin { 47 47 public: 48 static PassRefPtr<NetscapePlugin> create(PassRefPtr<NetscapePluginModule> pluginModule) 49 { 50 return adoptRef(new NetscapePlugin(pluginModule)); 51 } 48 static PassRefPtr<NetscapePlugin> create(PassRefPtr<NetscapePluginModule> pluginModule); 52 49 virtual ~NetscapePlugin(); 53 50 -
trunk/WebKit2/WebProcess/WebPage/WebPage.cpp
r73410 r73419 228 228 return PluginProxy::create(pluginProcessConnection); 229 229 #else 230 RefPtr<NetscapePluginModule> pluginModule = NetscapePluginModule::getOrCreate(pluginPath); 231 if (!pluginModule) 232 return 0; 233 234 return NetscapePlugin::create(pluginModule.release()); 230 return NetscapePlugin::create(NetscapePluginModule::getOrCreate(pluginPath)); 235 231 #endif 236 232 }
Note: See TracChangeset
for help on using the changeset viewer.