Skip to content
  • andersca@apple.com's avatar
    2009-02-06 Anders Carlsson <andersca@apple.com> · f1fd1c90
    andersca@apple.com authored
            Reviewed by Sam Weinig.
    
            <rdar://problem/6562220> 
            CrashTracer: [USER] 21 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostProxy::port
            
            Make the handling of crashes in the plug-in host more robust.
            
            * Plugins/Hosted/NetscapePluginHostProxy.h:
            Add m_portSet.
            
            * Plugins/Hosted/NetscapePluginHostProxy.mm:
            (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
            Initialize m_portSet.
            
            (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
            Free m_portSet.
            
            (WebKit::NetscapePluginHostProxy::processRequests):
            Listen for messages on the port set. If we get a message to the port death notification port,
            then call pluginHostDied. Otherwise, process the message.
            
            * Plugins/Hosted/NetscapePluginInstanceProxy.h:
            * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
            (WebKit::NetscapePluginInstanceProxy::cleanup):
            Factor code that should be shared between destroy() and pluginHostDied() into cleanup.
            
            (WebKit::NetscapePluginInstanceProxy::destroy):
            Call cleanup().
            
            (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
            Call cleanup().
            
            (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
            Call NetscapePluginHostProxy::processRequests.
            
            * Plugins/Hosted/ProxyInstance.mm:
            (WebKit::ProxyInstance::invalidate):
            Add a null check for the host proxy.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f1fd1c90