Skip to content
  • andersca's avatar
    WebCore: · c79dba31
    andersca authored
    2006-06-11  Anders Carlsson  <acarlsson@apple.com>
    
            Reviewed by Geoff.
    
            http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
            Move full-frame plugins to WebCore
            
            * WebCore.vcproj/WebCore/WebCore.vcproj:
            * WebCore.xcodeproj/project.pbxproj:
            Add PluginDocument
            
            * bridge/mac/FrameMac.h:
            * bridge/mac/FrameMac.mm:
            (WebCore::FrameMac::redirectDataToPlugin):
            Call the bridge.
            
            * bridge/mac/WebCoreFrameBridge.h:
            * bridge/mac/WebCoreFrameBridge.mm:
            Add redirectDataToPlugin which is used to redirect incoming data
            to a plugin.
            
            * bridge/mac/WebCoreViewFactory.h:
            Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
            
            * dom/DOMImplementation.cpp:
            * dom/DOMImplementation.h:
            Get rid of createTextDocument and just create a text document explicitly when needed.
            
            * dom/Document.h:
            (WebCore::Document::isPluginDocument):
            * loader/PluginDocument.cpp: Added.
            (WebCore::PluginTokenizer::PluginTokenizer):
            (WebCore::PluginTokenizer::wantsRawData):
            (WebCore::PluginTokenizer::write):
            (WebCore::PluginTokenizer::createDocumentStructure):
            (WebCore::PluginTokenizer::writeRawData):
            (WebCore::PluginTokenizer::stopParsing):
            (WebCore::PluginTokenizer::finish):
            (WebCore::PluginTokenizer::isWaitingForScripts):
            (WebCore::PluginDocument::PluginDocument):
            (WebCore::PluginDocument::createTokenizer):
            * loader/PluginDocument.h: Added.
            (WebCore::PluginDocument::isPluginDocument):
            Add PluginDocument.
            
            * page/Frame.cpp:
            (WebCore::Frame::begin):
            Possibly create a plugin document.
            
            * page/Frame.h:
            (WebCore::Frame::redirectDataToPlugin):
            Add declaration.
            
            * platform/PlugInInfoStore.h:
            * platform/mac/PlugInInfoStoreMac.mm:
            (WebCore::PlugInInfoStore::supportsMIMEType):
            Ask WebCoreViewFactory if the MIME type is supported.
    
    WebKit:
    
    2006-06-11  Anders Carlsson  <acarlsson@apple.com>
    
            Reviewed by Tim.
    
            http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
            Move full-frame plugins to WebCore
    
            * Plugins/WebBaseNetscapePluginStream.h:
            * Plugins/WebBaseNetscapePluginStream.m:
            (-[WebBaseNetscapePluginStream instance]):
            Add instance method which returns the plugin instance.
            
            * Plugins/WebBasePluginPackage.h:
            Add WebPluginManualLoader protocol
            
            * Plugins/WebNetscapePluginDocumentView.h: Removed.
            * Plugins/WebNetscapePluginDocumentView.m: Removed.
    
            * Plugins/WebNetscapePluginEmbeddedView.h:
            * Plugins/WebNetscapePluginEmbeddedView.m:
            (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:]):
            (-[WebNetscapePluginEmbeddedView dealloc]):
            (-[WebNetscapePluginEmbeddedView didStart]):
            (-[WebNetscapePluginEmbeddedView pluginView:receivedResponse:]):
            (-[WebNetscapePluginEmbeddedView pluginView:receivedData:]):
            (-[WebNetscapePluginEmbeddedView pluginView:receivedError:]):
            (-[WebNetscapePluginEmbeddedView pluginViewFinishedLoading:]):
            (-[WebNetscapePluginEmbeddedView redeliverStream]):
            Make WebNetscapePluginEmbeddedView support the WebPluginManualLoader protocol. It creates a plugin stream and feeds the
            data manually. Much of this code has been copied from WebNetscapePluginRepresentation.
    
            * Plugins/WebNetscapePluginRepresentation.h: Removed.
            * Plugins/WebNetscapePluginRepresentation.m: Removed.
    
            * Plugins/WebPluginController.h:
            * Plugins/WebPluginController.m:
            (-[WebPluginController pluginView:receivedResponse:]):
            (-[WebPluginController pluginView:receivedData:]):
            (-[WebPluginController pluginView:receivedError:]):
            (-[WebPluginController pluginViewFinishedLoading:]):
            Make WebPluginController support the WebPluginManualLoader protocol so it can feed data manually to WebKit plugins.
    
            * Plugins/WebPluginDatabase.m:        
            (-[WebPluginDatabase refresh]):
            Use WebHTMLView and WebHTMLRepresentation when registering/unregistering plug-in MIME types.
            
            * Plugins/WebPluginDocumentView.h: Removed.
            * Plugins/WebPluginDocumentView.m: Removed.
    
            * WebCoreSupport/WebFrameBridge.m:
            (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
            (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
            Add loadManually argument.
            
            (-[WebFrameBridge redirectDataToPlugin:]):
            Call down to the HTML representation.
            
            (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
            Pass NO to loadManually.
            
            (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
            Explicitly check if the MIME type is supported by a plug-in instead of checking the view class.
            
            * WebCoreSupport/WebViewFactory.m:
            (-[WebViewFactory pluginSupportsMIMEType:]):
            New function which returns whether any plugins support a given MIME type.
            
            * WebKit.xcodeproj/project.pbxproj:
            Update for removed files.
            
            * WebView/WebFrame.m:
            (-[WebFrame _reloadForPluginChanges]):
            Remove view type checks.
            
            (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
            (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
            Remove FIXME comments.
            
            * WebView/WebHTMLRepresentation.m:
            (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):        
            New function which redirects incoming data to a manual loader.
            
            (-[WebHTMLRepresentation receivedData:withDataSource:]):
            (-[WebHTMLRepresentation receivedError:withDataSource:]):
            (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
            Optionally redirect incoming data.
            
            * WebView/WebHTMLRepresentationPrivate.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    c79dba31