Reduce amount of rebuilding when touching networking headers
authorap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Mar 2013 07:26:10 +0000 (07:26 +0000)
committerap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Mar 2013 07:26:10 +0000 (07:26 +0000)
https://bugs.webkit.org/show_bug.cgi?id=111035

Reviewed by Eric Seidel.

Source/WebCore:

This uses a number of common unsurprising techniques. One interesting observation
is that including CachedResource related headers is very expensive. We can usually
get away with their Client counterparts, and with CachedResourceHandle.

* page/Frame.cpp:
* page/Frame.h:
Don't include FrameLoader, greatly reducing include graph for most non-loader files.
This required making Frame::init() non-inline - I'm not sure why it ever was.

* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
Even though FrameLoader is logically on loading side of WebCore, it's included in
too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
largest wins. As a future improvement, we should probably convert other members
to OwnPtrs.

* css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
definition of a class it holds, but default construction does not.

* loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.

* loader/cache/CachedFont.h:
* loader/cache/CachedFontClient.h: Added.
* loader/cache/CachedRawResource.h:
* loader/cache/CachedRawResourceClient.h: Added.
* loader/cache/CachedSVGDocument.h:
* loader/cache/CachedSVGDocumentClient.h: Added.
These types were defining client types in the same headers, making it impossible
to avoid including networking headers through CachedResource. Moved clients into
separate files.

* plugins/PluginStream.h:
* plugins/PluginStreamClient.h: Added.
Similar situation here.

* loader/cache/CachedResourceHandle.cpp:
* loader/cache/CachedResourceHandle.h:
Moved functions that need to know about CachedResource to .cpp file. This is another
huge win. Added a destructor, so that CachedResource woudn't be needed in all files
that include CachedResourceHandle.

* loader/cache/CachedSVGDocumentReference.cpp: Added.
* loader/cache/CachedSVGDocumentReference.h:
Moved constructor and virtual function implementations to a .cpp file - they need
not inlining, and this lets us avoid including CachedSVGDocument.h in the header.

* platform/graphics/filters/FilterOperation.cpp:
* platform/graphics/filters/FilterOperation.h:
Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
rendering code that it seems best to cut any ties with resources and loading.
Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
classes are generally harmful (due to code bloat).

* plugins/PluginRequest.h: Added.
* plugins/PluginView.h:
Moved PluginRequest into a separate file, it was out of place in a view hierarchy
class file.

* rendering/RenderImageResource.cpp:
* rendering/RenderImageResource.h:
Moved definitions of virtual functions to a .cpp file. Thre is no win from having
them inline, and now we don't need CachedImage.h in the header.

* rendering/style/StyleCustomFilterProgram.cpp: Added.
* rendering/style/StyleCustomFilterProgram.h:
Ditto.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/RTCPeerConnection.cpp:
* Modules/notifications/Notification.cpp:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/ScriptControllerBase.cpp:
* bindings/js/JSNodeCustom.cpp:
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptSourceCode.h:
* bindings/objc/DOM.mm:
* bindings/v8/ScriptController.cpp:
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
* css/WebKitCSSSVGDocumentValue.cpp:
* css/WebKitCSSSVGDocumentValue.h:
* dom/Clipboard.cpp:
* dom/ContainerNode.cpp:
* dom/DOMImplementation.cpp:
* dom/PendingScript.h:
* dom/ScriptElement.cpp:
* dom/ScriptElement.h:
* history/CachedFrame.cpp:
* html/DOMURL.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAppletElement.cpp:
* html/HTMLElement.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFrameSetElement.cpp:
* html/HTMLHtmlElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLObjectElement.cpp:
* html/HTMLPlugInElement.cpp:
* html/ImageDocument.cpp:
* html/ImageInputType.cpp:
* html/MediaDocument.cpp:
* html/PluginDocument.cpp:
* html/canvas/WebGLRenderingContext.cpp:
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLParserOptions.cpp:
* html/parser/HTMLScriptRunner.h:
* html/parser/XSSAuditor.cpp:
* html/parser/XSSAuditorDelegate.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorFileSystemAgent.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
* inspector/NetworkResourcesData.cpp:
* inspector/NetworkResourcesData.h:
* loader/CookieJar.cpp:
* loader/CrossOriginAccessControl.cpp:
* loader/CrossOriginPreflightResultCache.h:
* loader/DocumentThreadableLoader.h:
* loader/ImageLoader.cpp:
* loader/ImageLoader.h:
* loader/LinkLoader.h:
* loader/MainResourceLoader.cpp:
* loader/MainResourceLoader.h:
* loader/MixedContentChecker.cpp:
* loader/PingLoader.cpp:
* loader/PolicyChecker.h:
* loader/ProgressTracker.cpp:
* loader/SubframeLoader.cpp:
* loader/SubresourceLoader.cpp:
* loader/TextTrackLoader.cpp:
* loader/TextTrackLoader.h:
* loader/ThreadableLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.cpp:
* loader/archive/cf/LegacyWebArchive.cpp:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedImage.cpp:
* loader/cache/CachedRawResource.cpp:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedStyleSheetClient.h:
* loader/cache/MemoryCache.cpp:
* loader/cache/MemoryCache.h:
* loader/chromium/CachedRawResourceChromium.cpp:
* loader/icon/IconController.cpp:
* loader/icon/IconLoader.h:
* loader/mac/ResourceLoaderMac.mm:
* page/DOMWindowExtension.cpp:
* page/DragController.cpp:
* page/PerformanceNavigation.cpp:
* page/PerformanceTiming.cpp:
* page/PointerLockController.cpp:
* page/Settings.cpp:
* page/animation/CSSPropertyAnimation.cpp:
* platform/chromium/PasteboardChromium.cpp:
* platform/efl/ErrorsEfl.cpp:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/gtk/ErrorsGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
* platform/gtk/PasteboardHelper.h:
* platform/mac/ClipboardMac.h:
* platform/mac/ClipboardMac.mm:
* platform/mac/HTMLConverter.mm:
* platform/mac/PasteboardMac.mm:
* platform/network/AuthenticationChallengeBase.cpp:
* platform/network/cf/CookieJarCFNet.cpp:
* platform/network/cf/ResourceRequestCFNet.cpp:
* platform/network/mac/CookieStorageMac.mm:
* platform/qt/PasteboardQt.cpp:
* plugins/DOMMimeType.cpp:
* plugins/PluginView.cpp:
* rendering/HitTestResult.cpp:
* rendering/InlineFlowBox.cpp:
* rendering/RenderBox.cpp:
* rendering/RenderEmbeddedObject.cpp:
* rendering/RenderImage.cpp:
* rendering/RenderImageResourceStyleImage.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderLayerBacking.cpp:
* rendering/RenderLayerFilterInfo.h:
* rendering/RenderListItem.cpp:
* rendering/RenderListMarker.cpp:
* rendering/RenderSnapshottedPlugIn.cpp:
* rendering/RenderTableCol.cpp:
* rendering/RenderTableRow.cpp:
* rendering/RenderTableSection.cpp:
* rendering/style/StyleCachedShader.h:
* svg/SVGFEImageElement.h:
* svg/SVGFontFaceUriElement.h:
* svg/SVGImageLoader.cpp:
* svg/SVGUseElement.cpp:
* svg/SVGUseElement.h:
* svg/graphics/SVGImageCache.cpp:
* testing/MockPagePopupDriver.cpp:
* xml/XSLStyleSheet.h:
* xml/XSLTProcessorLibxslt.cpp:
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParser.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
Many self-evident changes - removing unnecessary header includes, adding smaller
more local ones that are now necessary.

Source/WebKit/chromium:

Adding includes that are now necessary because WebCore headers don't have them
any more.

* src/ApplicationCacheHost.cpp:
* src/AssociatedURLLoader.cpp:
* src/EditorClientImpl.cpp:
* src/SharedWorkerRepository.cpp:
* src/WebDataSourceImpl.cpp:
* src/WebFrameImpl.h:
* src/WebNode.cpp:
* src/WebSharedWorkerImpl.cpp:
* tests/FrameLoaderClientImplTest.cpp:

Source/WebKit/efl:

Adding includes that are now necessary because WebCore headers don't have them
any more.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* ewk/ewk_frame.cpp:

Source/WebKit/gtk:

Adding includes that are now necessary because WebCore headers don't have them
any more.

* webkit/webkitwebpolicydecision.cpp:

Source/WebKit/mac:

Adding includes that are now necessary because WebCore headers don't have them
any more.

* DOM/WebDOMOperations.mm:
* Misc/WebNSPasteboardExtras.mm:
* WebCoreSupport/WebFrameNetworkingContext.mm:
* WebView/WebRenderLayer.mm:
* WebView/WebRenderNode.mm:

Source/WebKit/qt:

Adding includes that are now necessary because WebCore headers don't have them
any more.

* WebCoreSupport/NotificationPresenterClientQt.cpp:
* WebCoreSupport/QWebPageAdapter.cpp:

Source/WebKit2:

Adding includes that are now necessary because WebCore headers don't have them
any more.

* NetworkProcess/HostRecord.h:
* NetworkProcess/NetworkResourceLoadScheduler.h:
* NetworkProcess/NetworkResourceLoader.h:
* Shared/WebRenderLayer.cpp:
* Shared/WebRenderObject.cpp:
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/WebProcess.cpp:
* WebProcess/soup/WebProcessSoup.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

215 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
Source/WebCore/Modules/notifications/Notification.cpp
Source/WebCore/Target.pri
Source/WebCore/WebCore.exp.in
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.vcproj/WebCore.vcproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/bindings/ScriptControllerBase.cpp
Source/WebCore/bindings/js/JSNodeCustom.cpp
Source/WebCore/bindings/js/ScriptController.cpp
Source/WebCore/bindings/js/ScriptSourceCode.h
Source/WebCore/bindings/objc/DOM.mm
Source/WebCore/bindings/v8/ScriptController.cpp
Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
Source/WebCore/css/CSSCrossfadeValue.h
Source/WebCore/css/CSSFontFaceSource.h
Source/WebCore/css/CSSFontSelector.cpp
Source/WebCore/css/WebKitCSSSVGDocumentValue.cpp
Source/WebCore/css/WebKitCSSSVGDocumentValue.h
Source/WebCore/dom/Clipboard.cpp
Source/WebCore/dom/ContainerNode.cpp
Source/WebCore/dom/DOMImplementation.cpp
Source/WebCore/dom/PendingScript.h
Source/WebCore/dom/ScriptElement.cpp
Source/WebCore/dom/ScriptElement.h
Source/WebCore/history/CachedFrame.cpp
Source/WebCore/html/DOMURL.cpp
Source/WebCore/html/HTMLAnchorElement.cpp
Source/WebCore/html/HTMLAppletElement.cpp
Source/WebCore/html/HTMLElement.cpp
Source/WebCore/html/HTMLEmbedElement.cpp
Source/WebCore/html/HTMLFrameSetElement.cpp
Source/WebCore/html/HTMLHtmlElement.cpp
Source/WebCore/html/HTMLImageElement.cpp
Source/WebCore/html/HTMLObjectElement.cpp
Source/WebCore/html/HTMLPlugInElement.cpp
Source/WebCore/html/ImageDocument.cpp
Source/WebCore/html/ImageInputType.cpp
Source/WebCore/html/MediaDocument.cpp
Source/WebCore/html/PluginDocument.cpp
Source/WebCore/html/canvas/WebGLRenderingContext.cpp
Source/WebCore/html/parser/HTMLConstructionSite.cpp
Source/WebCore/html/parser/HTMLParserOptions.cpp
Source/WebCore/html/parser/HTMLScriptRunner.h
Source/WebCore/html/parser/XSSAuditor.cpp
Source/WebCore/html/parser/XSSAuditorDelegate.cpp
Source/WebCore/inspector/InspectorDebuggerAgent.cpp
Source/WebCore/inspector/InspectorFileSystemAgent.cpp
Source/WebCore/inspector/InspectorFrontendHost.cpp
Source/WebCore/inspector/InspectorInstrumentation.h
Source/WebCore/inspector/InspectorPageAgent.cpp
Source/WebCore/inspector/NetworkResourcesData.cpp
Source/WebCore/inspector/NetworkResourcesData.h
Source/WebCore/loader/CookieJar.cpp
Source/WebCore/loader/CrossOriginAccessControl.cpp
Source/WebCore/loader/CrossOriginAccessControl.h
Source/WebCore/loader/CrossOriginPreflightResultCache.h
Source/WebCore/loader/DocumentThreadableLoader.h
Source/WebCore/loader/FrameLoader.cpp
Source/WebCore/loader/FrameLoader.h
Source/WebCore/loader/ImageLoader.cpp
Source/WebCore/loader/ImageLoader.h
Source/WebCore/loader/LinkLoader.h
Source/WebCore/loader/MainResourceLoader.cpp
Source/WebCore/loader/MainResourceLoader.h
Source/WebCore/loader/MixedContentChecker.cpp
Source/WebCore/loader/PingLoader.cpp
Source/WebCore/loader/PolicyChecker.h
Source/WebCore/loader/ProgressTracker.cpp
Source/WebCore/loader/SubframeLoader.cpp
Source/WebCore/loader/SubresourceLoader.cpp
Source/WebCore/loader/TextTrackLoader.cpp
Source/WebCore/loader/TextTrackLoader.h
Source/WebCore/loader/ThreadableLoader.h
Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp
Source/WebCore/loader/appcache/ApplicationCacheGroup.h
Source/WebCore/loader/appcache/ApplicationCacheHost.cpp
Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp
Source/WebCore/loader/cache/CachedFont.cpp
Source/WebCore/loader/cache/CachedFont.h
Source/WebCore/loader/cache/CachedFontClient.h [new file with mode: 0644]
Source/WebCore/loader/cache/CachedImage.cpp
Source/WebCore/loader/cache/CachedRawResource.cpp
Source/WebCore/loader/cache/CachedRawResource.h
Source/WebCore/loader/cache/CachedRawResourceClient.h [new file with mode: 0644]
Source/WebCore/loader/cache/CachedResource.cpp
Source/WebCore/loader/cache/CachedResourceHandle.cpp
Source/WebCore/loader/cache/CachedResourceHandle.h
Source/WebCore/loader/cache/CachedSVGDocument.h
Source/WebCore/loader/cache/CachedSVGDocumentClient.h [new file with mode: 0644]
Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp [new file with mode: 0644]
Source/WebCore/loader/cache/CachedSVGDocumentReference.h
Source/WebCore/loader/cache/CachedStyleSheetClient.h
Source/WebCore/loader/cache/MemoryCache.cpp
Source/WebCore/loader/cache/MemoryCache.h
Source/WebCore/loader/chromium/CachedRawResourceChromium.cpp
Source/WebCore/loader/icon/IconController.cpp
Source/WebCore/loader/icon/IconLoader.h
Source/WebCore/loader/mac/ResourceLoaderMac.mm
Source/WebCore/page/DOMWindowExtension.cpp
Source/WebCore/page/DragController.cpp
Source/WebCore/page/Frame.cpp
Source/WebCore/page/Frame.h
Source/WebCore/page/PerformanceNavigation.cpp
Source/WebCore/page/PerformanceTiming.cpp
Source/WebCore/page/PointerLockController.cpp
Source/WebCore/page/Settings.cpp
Source/WebCore/page/animation/CSSPropertyAnimation.cpp
Source/WebCore/platform/chromium/PasteboardChromium.cpp
Source/WebCore/platform/efl/ErrorsEfl.cpp
Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h
Source/WebCore/platform/graphics/filters/FilterOperation.cpp
Source/WebCore/platform/graphics/filters/FilterOperation.h
Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
Source/WebCore/platform/gtk/ErrorsGtk.cpp
Source/WebCore/platform/gtk/PasteboardGtk.cpp
Source/WebCore/platform/gtk/PasteboardHelper.h
Source/WebCore/platform/mac/ClipboardMac.h
Source/WebCore/platform/mac/ClipboardMac.mm
Source/WebCore/platform/mac/HTMLConverter.mm
Source/WebCore/platform/mac/PasteboardMac.mm
Source/WebCore/platform/network/AuthenticationChallengeBase.cpp
Source/WebCore/platform/network/cf/CookieJarCFNet.cpp
Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp
Source/WebCore/platform/network/mac/CookieStorageMac.mm
Source/WebCore/platform/qt/PasteboardQt.cpp
Source/WebCore/plugins/DOMMimeType.cpp
Source/WebCore/plugins/PluginRequest.h [new file with mode: 0644]
Source/WebCore/plugins/PluginStream.h
Source/WebCore/plugins/PluginStreamClient.h [new file with mode: 0644]
Source/WebCore/plugins/PluginView.cpp
Source/WebCore/plugins/PluginView.h
Source/WebCore/rendering/HitTestResult.cpp
Source/WebCore/rendering/InlineFlowBox.cpp
Source/WebCore/rendering/RenderBox.cpp
Source/WebCore/rendering/RenderEmbeddedObject.cpp
Source/WebCore/rendering/RenderImage.cpp
Source/WebCore/rendering/RenderImageResource.cpp
Source/WebCore/rendering/RenderImageResource.h
Source/WebCore/rendering/RenderImageResourceStyleImage.cpp
Source/WebCore/rendering/RenderLayer.cpp
Source/WebCore/rendering/RenderLayerBacking.cpp
Source/WebCore/rendering/RenderLayerFilterInfo.h
Source/WebCore/rendering/RenderListItem.cpp
Source/WebCore/rendering/RenderListMarker.cpp
Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp
Source/WebCore/rendering/RenderTableCol.cpp
Source/WebCore/rendering/RenderTableRow.cpp
Source/WebCore/rendering/RenderTableSection.cpp
Source/WebCore/rendering/style/StyleCachedShader.h
Source/WebCore/rendering/style/StyleCustomFilterProgram.cpp [new file with mode: 0644]
Source/WebCore/rendering/style/StyleCustomFilterProgram.h
Source/WebCore/svg/SVGFEImageElement.h
Source/WebCore/svg/SVGFontFaceUriElement.h
Source/WebCore/svg/SVGImageLoader.cpp
Source/WebCore/svg/SVGUseElement.cpp
Source/WebCore/svg/SVGUseElement.h
Source/WebCore/svg/graphics/SVGImageCache.cpp
Source/WebCore/testing/MockPagePopupDriver.cpp
Source/WebCore/xml/XSLStyleSheet.h
Source/WebCore/xml/XSLTProcessorLibxslt.cpp
Source/WebCore/xml/parser/XMLDocumentParser.cpp
Source/WebCore/xml/parser/XMLDocumentParser.h
Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/ApplicationCacheHost.cpp
Source/WebKit/chromium/src/AssociatedURLLoader.cpp
Source/WebKit/chromium/src/EditorClientImpl.cpp
Source/WebKit/chromium/src/SharedWorkerRepository.cpp
Source/WebKit/chromium/src/WebDataSourceImpl.cpp
Source/WebKit/chromium/src/WebFrameImpl.h
Source/WebKit/chromium/src/WebNode.cpp
Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp
Source/WebKit/chromium/tests/FrameLoaderClientImplTest.cpp
Source/WebKit/efl/ChangeLog
Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
Source/WebKit/efl/ewk/ewk_frame.cpp
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/webkit/webkitwebpolicydecision.cpp
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/DOM/WebDOMOperations.mm
Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm
Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm
Source/WebKit/mac/WebView/WebRenderLayer.mm
Source/WebKit/mac/WebView/WebRenderNode.mm
Source/WebKit/qt/ChangeLog
Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
Source/WebKit2/ChangeLog
Source/WebKit2/NetworkProcess/HostRecord.h
Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.h
Source/WebKit2/NetworkProcess/NetworkResourceLoader.h
Source/WebKit2/Shared/WebRenderLayer.cpp
Source/WebKit2/Shared/WebRenderObject.cpp
Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp
Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
Source/WebKit2/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp
Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp
Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm
Source/WebKit2/WebProcess/Plugins/PluginView.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
Source/WebKit2/WebProcess/WebProcess.cpp
Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp

index f670cf0..f2c0ff2 100644 (file)
@@ -1733,6 +1733,7 @@ set(WebCore_SOURCES
     loader/cache/CachedScript.cpp
     loader/cache/CachedShader.cpp
     loader/cache/CachedSVGDocument.cpp
+    loader/cache/CachedSVGDocumentReference.cpp
     loader/cache/CachedTextTrack.cpp
     loader/cache/CachedXSLStyleSheet.cpp
     loader/cache/MemoryCache.cpp
@@ -2255,6 +2256,7 @@ set(WebCore_SOURCES
     rendering/style/StyleBoxData.cpp
     rendering/style/StyleCachedImage.cpp
     rendering/style/StyleCachedImageSet.cpp
+    rendering/style/StyleCustomFilterProgram.cpp
     rendering/style/StyleDeprecatedFlexibleBoxData.cpp
     rendering/style/StyleFilterData.cpp
     rendering/style/StyleFlexibleBoxData.cpp
index 558b4f1..6437dd9 100644 (file)
@@ -1,3 +1,226 @@
+2013-02-28  Alexey Proskuryakov  <ap@apple.com>
+
+        Reduce amount of rebuilding when touching networking headers
+        https://bugs.webkit.org/show_bug.cgi?id=111035
+
+        Reviewed by Eric Seidel.
+
+        This uses a number of common unsurprising techniques. One interesting observation
+        is that including CachedResource related headers is very expensive. We can usually
+        get away with their Client counterparts, and with CachedResourceHandle.
+
+        * page/Frame.cpp:
+        * page/Frame.h:
+        Don't include FrameLoader, greatly reducing include graph for most non-loader files.
+        This required making Frame::init() non-inline - I'm not sure why it ever was.
+
+        * loader/FrameLoader.cpp:
+        * loader/FrameLoader.h:
+        Even though FrameLoader is logically on loading side of WebCore, it's included in
+        too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
+        largest wins. As a future improvement, we should probably convert other members
+        to OwnPtrs.
+
+        * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
+        definition of a class it holds, but default construction does not.
+
+        * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
+        not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
+
+        * loader/cache/CachedFont.h:
+        * loader/cache/CachedFontClient.h: Added.
+        * loader/cache/CachedRawResource.h:
+        * loader/cache/CachedRawResourceClient.h: Added.
+        * loader/cache/CachedSVGDocument.h:
+        * loader/cache/CachedSVGDocumentClient.h: Added.
+        These types were defining client types in the same headers, making it impossible
+        to avoid including networking headers through CachedResource. Moved clients into
+        separate files.
+
+        * plugins/PluginStream.h:
+        * plugins/PluginStreamClient.h: Added.
+        Similar situation here.
+
+        * loader/cache/CachedResourceHandle.cpp:
+        * loader/cache/CachedResourceHandle.h:
+        Moved functions that need to know about CachedResource to .cpp file. This is another
+        huge win. Added a destructor, so that CachedResource woudn't be needed in all files
+        that include CachedResourceHandle.
+
+        * loader/cache/CachedSVGDocumentReference.cpp: Added.
+        * loader/cache/CachedSVGDocumentReference.h:
+        Moved constructor and virtual function implementations to a .cpp file - they need
+        not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
+
+        * platform/graphics/filters/FilterOperation.cpp:
+        * platform/graphics/filters/FilterOperation.h:
+        Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
+        CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
+        rendering code that it seems best to cut any ties with resources and loading.
+        Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
+        classes are generally harmful (due to code bloat).
+
+        * plugins/PluginRequest.h: Added.
+        * plugins/PluginView.h:
+        Moved PluginRequest into a separate file, it was out of place in a view hierarchy
+        class file.
+
+        * rendering/RenderImageResource.cpp:
+        * rendering/RenderImageResource.h:
+        Moved definitions of virtual functions to a .cpp file. Thre is no win from having
+        them inline, and now we don't need CachedImage.h in the header.
+
+        * rendering/style/StyleCustomFilterProgram.cpp: Added.
+        * rendering/style/StyleCustomFilterProgram.h:
+        Ditto.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Modules/mediastream/RTCPeerConnection.cpp:
+        * Modules/notifications/Notification.cpp:
+        * Target.pri:
+        * WebCore.exp.in:
+        * WebCore.gypi:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/ScriptControllerBase.cpp:
+        * bindings/js/JSNodeCustom.cpp:
+        * bindings/js/ScriptController.cpp:
+        * bindings/js/ScriptSourceCode.h:
+        * bindings/objc/DOM.mm:
+        * bindings/v8/ScriptController.cpp:
+        * bindings/v8/V8DOMWindowShell.cpp:
+        * bindings/v8/custom/V8DOMWindowCustom.cpp:
+        * css/CSSFontFaceSource.h:
+        * css/CSSFontSelector.cpp:
+        * css/WebKitCSSSVGDocumentValue.cpp:
+        * css/WebKitCSSSVGDocumentValue.h:
+        * dom/Clipboard.cpp:
+        * dom/ContainerNode.cpp:
+        * dom/DOMImplementation.cpp:
+        * dom/PendingScript.h:
+        * dom/ScriptElement.cpp:
+        * dom/ScriptElement.h:
+        * history/CachedFrame.cpp:
+        * html/DOMURL.cpp:
+        * html/HTMLAnchorElement.cpp:
+        * html/HTMLAppletElement.cpp:
+        * html/HTMLElement.cpp:
+        * html/HTMLEmbedElement.cpp:
+        * html/HTMLFrameSetElement.cpp:
+        * html/HTMLHtmlElement.cpp:
+        * html/HTMLImageElement.cpp:
+        * html/HTMLObjectElement.cpp:
+        * html/HTMLPlugInElement.cpp:
+        * html/ImageDocument.cpp:
+        * html/ImageInputType.cpp:
+        * html/MediaDocument.cpp:
+        * html/PluginDocument.cpp:
+        * html/canvas/WebGLRenderingContext.cpp:
+        * html/parser/HTMLConstructionSite.cpp:
+        * html/parser/HTMLParserOptions.cpp:
+        * html/parser/HTMLScriptRunner.h:
+        * html/parser/XSSAuditor.cpp:
+        * html/parser/XSSAuditorDelegate.cpp:
+        * inspector/InspectorDebuggerAgent.cpp:
+        * inspector/InspectorFileSystemAgent.cpp:
+        * inspector/InspectorFrontendHost.cpp:
+        * inspector/InspectorInstrumentation.h:
+        * inspector/InspectorPageAgent.cpp:
+        * inspector/NetworkResourcesData.cpp:
+        * inspector/NetworkResourcesData.h:
+        * loader/CookieJar.cpp:
+        * loader/CrossOriginAccessControl.cpp:
+        * loader/CrossOriginPreflightResultCache.h:
+        * loader/DocumentThreadableLoader.h:
+        * loader/ImageLoader.cpp:
+        * loader/ImageLoader.h:
+        * loader/LinkLoader.h:
+        * loader/MainResourceLoader.cpp:
+        * loader/MainResourceLoader.h:
+        * loader/MixedContentChecker.cpp:
+        * loader/PingLoader.cpp:
+        * loader/PolicyChecker.h:
+        * loader/ProgressTracker.cpp:
+        * loader/SubframeLoader.cpp:
+        * loader/SubresourceLoader.cpp:
+        * loader/TextTrackLoader.cpp:
+        * loader/TextTrackLoader.h:
+        * loader/ThreadableLoader.h:
+        * loader/appcache/ApplicationCacheGroup.cpp:
+        * loader/appcache/ApplicationCacheGroup.h:
+        * loader/appcache/ApplicationCacheHost.cpp:
+        * loader/archive/cf/LegacyWebArchive.cpp:
+        * loader/cache/CachedFont.cpp:
+        * loader/cache/CachedImage.cpp:
+        * loader/cache/CachedRawResource.cpp:
+        * loader/cache/CachedResource.cpp:
+        * loader/cache/CachedStyleSheetClient.h:
+        * loader/cache/MemoryCache.cpp:
+        * loader/cache/MemoryCache.h:
+        * loader/chromium/CachedRawResourceChromium.cpp:
+        * loader/icon/IconController.cpp:
+        * loader/icon/IconLoader.h:
+        * loader/mac/ResourceLoaderMac.mm:
+        * page/DOMWindowExtension.cpp:
+        * page/DragController.cpp:
+        * page/PerformanceNavigation.cpp:
+        * page/PerformanceTiming.cpp:
+        * page/PointerLockController.cpp:
+        * page/Settings.cpp:
+        * page/animation/CSSPropertyAnimation.cpp:
+        * platform/chromium/PasteboardChromium.cpp:
+        * platform/efl/ErrorsEfl.cpp:
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
+        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+        * platform/gtk/ErrorsGtk.cpp:
+        * platform/gtk/PasteboardGtk.cpp:
+        * platform/gtk/PasteboardHelper.h:
+        * platform/mac/ClipboardMac.h:
+        * platform/mac/ClipboardMac.mm:
+        * platform/mac/HTMLConverter.mm:
+        * platform/mac/PasteboardMac.mm:
+        * platform/network/AuthenticationChallengeBase.cpp:
+        * platform/network/cf/CookieJarCFNet.cpp:
+        * platform/network/cf/ResourceRequestCFNet.cpp:
+        * platform/network/mac/CookieStorageMac.mm:
+        * platform/qt/PasteboardQt.cpp:
+        * plugins/DOMMimeType.cpp:
+        * plugins/PluginView.cpp:
+        * rendering/HitTestResult.cpp:
+        * rendering/InlineFlowBox.cpp:
+        * rendering/RenderBox.cpp:
+        * rendering/RenderEmbeddedObject.cpp:
+        * rendering/RenderImage.cpp:
+        * rendering/RenderImageResourceStyleImage.cpp:
+        * rendering/RenderLayer.cpp:
+        * rendering/RenderLayerBacking.cpp:
+        * rendering/RenderLayerFilterInfo.h:
+        * rendering/RenderListItem.cpp:
+        * rendering/RenderListMarker.cpp:
+        * rendering/RenderSnapshottedPlugIn.cpp:
+        * rendering/RenderTableCol.cpp:
+        * rendering/RenderTableRow.cpp:
+        * rendering/RenderTableSection.cpp:
+        * rendering/style/StyleCachedShader.h:
+        * svg/SVGFEImageElement.h:
+        * svg/SVGFontFaceUriElement.h:
+        * svg/SVGImageLoader.cpp:
+        * svg/SVGUseElement.cpp:
+        * svg/SVGUseElement.h:
+        * svg/graphics/SVGImageCache.cpp:
+        * testing/MockPagePopupDriver.cpp:
+        * xml/XSLStyleSheet.h:
+        * xml/XSLTProcessorLibxslt.cpp:
+        * xml/parser/XMLDocumentParser.cpp:
+        * xml/parser/XMLDocumentParser.h:
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+        Many self-evident changes - removing unnecessary header includes, adding smaller
+        more local ones that are now necessary.
+
 2013-02-28  Koji Hara  <kojih@chromium.org>
 
         [V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
index 365c4ae..2d6edb0 100644 (file)
@@ -3952,6 +3952,7 @@ webcore_sources += \
        Source/WebCore/loader/cache/CachedCSSStyleSheet.h \
        Source/WebCore/loader/cache/CachedFont.cpp \
        Source/WebCore/loader/cache/CachedFont.h \
+       Source/WebCore/loader/cache/CachedFontClient.h \
        Source/WebCore/loader/cache/CachedImage.cpp \
        Source/WebCore/loader/cache/CachedImage.h \
        Source/WebCore/loader/cache/CachedImageClient.h \
@@ -3959,6 +3960,7 @@ webcore_sources += \
        Source/WebCore/loader/cache/CachedResourceClientWalker.h \
        Source/WebCore/loader/cache/CachedRawResource.cpp \
        Source/WebCore/loader/cache/CachedRawResource.h \
+       Source/WebCore/loader/cache/CachedRawResourceClient.h \
        Source/WebCore/loader/cache/CachedResource.cpp \
        Source/WebCore/loader/cache/CachedResource.h \
        Source/WebCore/loader/cache/CachedResourceHandle.cpp \
@@ -4321,9 +4323,11 @@ webcore_sources += \
        Source/WebCore/plugins/PluginPackage.cpp \
        Source/WebCore/plugins/PluginPackage.h \
        Source/WebCore/plugins/PluginQuirkSet.h \
+       Source/WebCore/plugins/PluginRequest.h \
        Source/WebCore/plugins/PluginStrategy.h \
        Source/WebCore/plugins/PluginStream.cpp \
        Source/WebCore/plugins/PluginStream.h \
+       Source/WebCore/plugins/PluginStreamClient.h \
        Source/WebCore/plugins/PluginViewBase.h \
        Source/WebCore/plugins/PluginView.cpp \
        Source/WebCore/plugins/PluginView.h \
@@ -4624,6 +4628,7 @@ webcore_sources += \
        Source/WebCore/rendering/style/StyleCachedImageSet.h \
        Source/WebCore/rendering/style/StyleCachedShader.cpp \
        Source/WebCore/rendering/style/StyleCachedShader.h \
+       Source/WebCore/rendering/style/StyleCustomFilterProgram.cpp \
        Source/WebCore/rendering/style/StyleCustomFilterProgram.h \
        Source/WebCore/rendering/style/StyleDashboardRegion.h \
        Source/WebCore/rendering/style/StyleDeprecatedFlexibleBoxData.cpp \
@@ -4808,6 +4813,8 @@ webcore_svg_sources += \
        Source/WebCore/css/WebKitCSSSVGDocumentValue.h \
        Source/WebCore/loader/cache/CachedSVGDocument.cpp \
        Source/WebCore/loader/cache/CachedSVGDocument.h \
+       Source/WebCore/loader/cache/CachedSVGDocumentClient.h \
+       Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp \
        Source/WebCore/loader/cache/CachedSVGDocumentReference.h \
        Source/WebCore/platform/graphics/SVGGlyph.cpp \
        Source/WebCore/platform/graphics/SVGGlyph.h \
index 1a59098..c3cad57 100644 (file)
@@ -39,6 +39,7 @@
 #include "Event.h"
 #include "ExceptionCode.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "MediaConstraintsImpl.h"
 #include "MediaStreamEvent.h"
index 52ec618..b6d70e4 100644 (file)
 #include "NotificationClient.h"
 #include "NotificationController.h"
 #include "NotificationPermissionCallback.h"
-#include "ResourceRequest.h"
-#include "ResourceResponse.h"
-#include "ThreadableLoader.h"
 #include "WindowFocusAllowedIndicator.h"
-#include "WorkerContext.h"
 
 namespace WebCore {
 
index da02700..fcd8a43 100644 (file)
@@ -851,7 +851,7 @@ SOURCES += \
     loader/cache/CachedScript.cpp \
     loader/cache/CachedShader.cpp \
     loader/cache/CachedSVGDocument.cpp \
-    loader/cache/CachedSVGDocument.h \
+    loader/cache/CachedSVGDocumentReference.cpp \
     loader/cache/CachedXSLStyleSheet.cpp \
     loader/CookieJar.cpp \
     loader/CrossOriginAccessControl.cpp \
@@ -1276,6 +1276,7 @@ SOURCES += \
     rendering/style/StyleCachedImage.cpp \
     rendering/style/StyleCachedImageSet.cpp \
     rendering/style/StyleCachedShader.cpp \
+    rendering/style/StyleCustomFilterProgram.cpp \
     rendering/style/StyleDeprecatedFlexibleBoxData.cpp \
     rendering/style/StyleFilterData.cpp \
     rendering/style/StyleFlexibleBoxData.cpp \
@@ -2038,13 +2039,17 @@ HEADERS += \
     loader/archive/ArchiveResource.h \
     loader/cache/CachedCSSStyleSheet.h \
     loader/cache/CachedFont.h \
+    loader/cache/CachedFontClient.h \
     loader/cache/CachedImage.h \
+    loader/cache/CachedRawResource.h \
+    loader/cache/CachedRawResourceClient.h \
     loader/cache/CachedResourceClientWalker.h \
     loader/cache/CachedResource.h \
     loader/cache/CachedResourceHandle.h \
     loader/cache/CachedScript.h \
     loader/cache/CachedShader.h \
     loader/cache/CachedSVGDocument.h \
+    loader/cache/CachedSVGDocumentClient.h \
     loader/cache/CachedXSLStyleSheet.h \
     loader/cache/MemoryCache.h \
     loader/CookieJar.h \
@@ -2434,7 +2439,9 @@ HEADERS += \
     plugins/PlugInOriginHash.h \
     plugins/PluginMainThreadScheduler.h \
     plugins/PluginPackage.h \
+    plugins/PluginRequest.h \
     plugins/PluginStream.h \
+    plugins/PluginStreamClient.h \
     plugins/PluginView.h \
     plugins/win/PluginMessageThrottlerWin.h \
     rendering/AutoTableLayout.h \
index f6f2304..3ff424f 100644 (file)
@@ -842,6 +842,7 @@ __ZN7WebCore5Frame23visiblePositionForPointERKNS_8IntPointE
 __ZN7WebCore5Frame24searchForLabelsAboveCellEPNS_17RegularExpressionEPNS_20HTMLTableCellElementEPm
 __ZN7WebCore5Frame25setPageAndTextZoomFactorsEff
 __ZN7WebCore5Frame27resizePageRectsKeepingRatioERKNS_9FloatSizeES3_
+__ZN7WebCore5Frame4initEv
 __ZN7WebCore5Frame6createEPNS_4PageEPNS_21HTMLFrameOwnerElementEPNS_17FrameLoaderClientE
 __ZN7WebCore5Frame7setViewEN3WTF10PassRefPtrINS_9FrameViewEEE
 __ZN7WebCore5FrameD1Ev
index e80503b..1113070 100644 (file)
             'loader/cache/CachedCSSStyleSheet.h',
             'loader/cache/CachedFont.cpp',
             'loader/cache/CachedFont.h',
+            'loader/cache/CachedFontClient.h',
             'loader/cache/CachedImage.cpp',
             'loader/cache/CachedRawResource.cpp',
+            'loader/cache/CachedRawResource.h',
+            'loader/cache/CachedRawResourceClient.h',
             'loader/cache/CachedResource.cpp',
             'loader/cache/CachedResourceClientWalker.h',
             'loader/cache/CachedResourceHandle.cpp',
             'loader/cache/CachedShader.h',
             'loader/cache/CachedSVGDocument.cpp',
             'loader/cache/CachedSVGDocument.h',
+            'loader/cache/CachedSVGDocumentClient.h',
+            'loader/cache/CachedSVGDocumentReference.cpp',
             'loader/cache/CachedSVGDocumentReference.h',
             'loader/cache/CachedTextTrack.cpp',
             'loader/cache/CachedTextTrack.h',
             'plugins/PluginPackage.h',
             'plugins/PluginPackageNone.cpp',
             'plugins/PluginQuirkSet.h',
+            'plugins/PluginRequest.h',
             'plugins/PluginStream.cpp',
             'plugins/PluginStream.h',
+            'plugins/PluginStreamClient.h',
             'plugins/PluginView.cpp',
             'plugins/PluginView.h',
             'plugins/PluginViewNone.cpp',
             'rendering/style/StyleCachedShader.h',
             'rendering/style/StyleCachedShader.cpp',
             'rendering/style/StyleCustomFilterProgram.h',
+            'rendering/style/StyleCustomFilterProgram.cpp',
             'rendering/style/StyleDeprecatedFlexibleBoxData.cpp',
             'rendering/style/StyleFilterData.cpp',
             'rendering/style/StyleFlexibleBoxData.cpp',
index ec42643..89232e1 100755 (executable)
                                        >
                                </File>
                                <File
+                                       RelativePath="..\loader\cache\CachedFontClient.h"
+                                       >
+                               </File>
+                               <File
                                        RelativePath="..\loader\cache\CachedImage.cpp"
                                        >
                                </File>
                                        >
                                </File>
                                <File
+                                       RelativePath="..\loader\cache\CachedRawResourceClient.h"
+                                       >
+                               </File>
+                               <File
                                        RelativePath="..\loader\cache\CachedResource.cpp"
                                        >
                                </File>
                                        >
                                </File>
                                <File
+                                       RelativePath="..\loader\cache\CachedSVGDocumentClient.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\loader\cache\CachedSVGDocumentReference.cpp"
+                                       >
+                               </File>
+                               <File
                                        RelativePath="..\loader\cache\CachedSVGDocumentReference.h"
                                        >
                                </File>
                                        >
                                </File>
                                <File
+                                       RelativePath="..\rendering\style\StyleCustomFilterProgram.cpp"
+                                       >
+                               </File>
+                               <File
                                        RelativePath="..\rendering\style\StyleCustomFilterProgram.h"
                                        >
                                </File>
                                >
                        </File>
                        <File
+                               RelativePath="..\plugins\PluginRequest.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\plugins\PluginStrategy.h"
                                >
                        </File>
                                >
                        </File>
                        <File
+                               RelativePath="..\plugins\PluginStreamClient.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\plugins\PluginView.cpp"
                                >
                        </File>
index 0745e72..2d163b7 100644 (file)
     <ClCompile Include="..\loader\cache\CachedScript.cpp" />
     <ClCompile Include="..\loader\cache\CachedShader.cpp" />
     <ClCompile Include="..\loader\cache\CachedSVGDocument.cpp" />
+    <ClCompile Include="..\loader\cache\CachedSVGDocumentReference.cpp" />
     <ClCompile Include="..\loader\cache\CachedTextTrack.cpp" />
     <ClCompile Include="..\loader\cache\CachedXSLStyleSheet.cpp" />
     <ClCompile Include="..\loader\cache\MemoryCache.cpp" />
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\rendering\style\StyleCachedShader.cpp" />
+    <ClCompile Include="..\rendering\style\StyleCustomFilterProgram.cpp" />
     <ClCompile Include="..\rendering\style\StyleDeprecatedFlexibleBoxData.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
     <ClInclude Include="..\loader\archive\mhtml\MHTMLParser.h" />
     <ClInclude Include="..\loader\cache\CachedCSSStyleSheet.h" />
     <ClInclude Include="..\loader\cache\CachedFont.h" />
+    <ClInclude Include="..\loader\cache\CachedFontClient.h" />
     <ClInclude Include="..\loader\cache\CachedImage.h" />
     <ClInclude Include="..\loader\cache\CachedRawResource.h" />
+    <ClInclude Include="..\loader\cache\CachedRawResourceClient.h" />
     <ClInclude Include="..\loader\cache\CachedResource.h" />
     <ClInclude Include="..\loader\cache\CachedResourceClient.h" />
     <ClInclude Include="..\loader\cache\CachedResourceClientWalker.h" />
     <ClInclude Include="..\loader\cache\CachedShader.h" />
     <ClInclude Include="..\loader\cache\CachedStyleSheetClient.h" />
     <ClInclude Include="..\loader\cache\CachedSVGDocument.h" />
+    <ClInclude Include="..\loader\cache\CachedSVGDocumentClient.h" />
     <ClInclude Include="..\loader\cache\CachedSVGDocumentReference.h" />
     <ClInclude Include="..\loader\cache\CachedTextTrack.h" />
     <ClInclude Include="..\loader\cache\CachedXSLStyleSheet.h" />
     <ClInclude Include="..\plugins\PlugInOriginHash.h" />
     <ClInclude Include="..\plugins\PluginPackage.h" />
     <ClInclude Include="..\plugins\PluginQuirkSet.h" />
+    <ClInclude Include="..\plugins\PluginRequest.h" />
     <ClInclude Include="..\plugins\PluginStrategy.h" />
     <ClInclude Include="..\plugins\PluginStream.h" />
+    <ClInclude Include="..\plugins\PluginStreamClient.h" />
     <ClInclude Include="..\plugins\PluginView.h" />
     <ClInclude Include="..\plugins\win\PluginMessageThrottlerWin.h" />
     <ClInclude Include="..\svg\ColorDistance.h" />
index bfab91e..7b75b73 100644 (file)
     <ClCompile Include="..\loader\cache\CachedSVGDocument.cpp">
       <Filter>loader\cache</Filter>
     </ClCompile>
+    <ClCompile Include="..\loader\cache\CachedSVGDocumentReference.cpp">
+      <Filter>loader\cache</Filter>
+    </ClCompile>
     <ClCompile Include="..\loader\cache\CachedTextTrack.cpp">
       <Filter>loader\cache</Filter>
     </ClCompile>
     <ClCompile Include="..\rendering\style\StyleCachedShader.cpp">
       <Filter>rendering\style</Filter>
     </ClCompile>
+    <ClCompile Include="..\rendering\style\StyleCustomFilterProgram.cpp">
+      <Filter>rendering\style</Filter>
+    </ClCompile>
     <ClCompile Include="..\rendering\style\StyleDeprecatedFlexibleBoxData.cpp">
       <Filter>rendering\style</Filter>
     </ClCompile>
     <ClInclude Include="..\loader\cache\CachedFont.h">
       <Filter>loader\cache</Filter>
     </ClInclude>
+    <ClInclude Include="..\loader\cache\CachedFontClient.h">
+      <Filter>loader\cache</Filter>
+    </ClInclude>
     <ClInclude Include="..\loader\cache\CachedImage.h">
       <Filter>loader\cache</Filter>
     </ClInclude>
     <ClInclude Include="..\loader\cache\CachedRawResource.h">
       <Filter>loader\cache</Filter>
     </ClInclude>
+    <ClInclude Include="..\loader\cache\CachedRawResourceClient.h">
+      <Filter>loader\cache</Filter>
+    </ClInclude>
     <ClInclude Include="..\loader\cache\CachedResource.h">
       <Filter>loader\cache</Filter>
     </ClInclude>
     <ClInclude Include="..\loader\cache\CachedSVGDocument.h">
       <Filter>loader\cache</Filter>
     </ClInclude>
+    <ClInclude Include="..\loader\cache\CachedSVGDocumentClient.h">
+      <Filter>loader\cache</Filter>
+    </ClInclude>
     <ClInclude Include="..\loader\cache\CachedSVGDocumentReference.h">
       <Filter>loader\cache</Filter>
     </ClInclude>
     <ClInclude Include="..\plugins\PluginQuirkSet.h">
       <Filter>plugins</Filter>
     </ClInclude>
+    <ClInclude Include="..\plugins\PluginRequest.h">
+      <Filter>plugins</Filter>
+    </ClInclude>
     <ClInclude Include="..\plugins\PluginStrategy.h">
       <Filter>plugins</Filter>
     </ClInclude>
     <ClInclude Include="..\plugins\PluginStream.h">
       <Filter>plugins</Filter>
     </ClInclude>
+    <ClInclude Include="..\plugins\PluginStreamClient.h">
+      <Filter>plugins</Filter>
+    </ClInclude>
     <ClInclude Include="..\plugins\PluginView.h">
       <Filter>plugins</Filter>
     </ClInclude>
index d67d569..c52e7ed 100644 (file)
                E1ED8AC30CC49BE000BFC557 /* CSSPrimitiveValueMappings.h in Headers */ = {isa = PBXBuildFile; fileRef = E1ED8AC20CC49BE000BFC557 /* CSSPrimitiveValueMappings.h */; };
                E1F1E82F0C3C2BB9006DB391 /* XSLTExtensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1F1E82D0C3C2BB9006DB391 /* XSLTExtensions.cpp */; };
                E1F1E8300C3C2BB9006DB391 /* XSLTExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = E1F1E82E0C3C2BB9006DB391 /* XSLTExtensions.h */; };
+               E1FC456E16DCB9010010F7B2 /* CachedSVGDocumentClient.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FC456D16DCB9000010F7B2 /* CachedSVGDocumentClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               E1FC457016DCB9770010F7B2 /* CachedSVGDocumentReference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1FC456F16DCB9770010F7B2 /* CachedSVGDocumentReference.cpp */; };
+               E1FC457216DDF7250010F7B2 /* CachedRawResourceClient.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FC457116DDF7220010F7B2 /* CachedRawResourceClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               E1FC457416DDF7E60010F7B2 /* CachedFontClient.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FC457316DDF7E30010F7B2 /* CachedFontClient.h */; };
+               E1FC457616DE00100010F7B2 /* StyleCustomFilterProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1FC457516DE000F0010F7B2 /* StyleCustomFilterProgram.cpp */; };
+               E1FC457816DF0A750010F7B2 /* PluginView.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FC457716DF0A750010F7B2 /* PluginView.h */; };
+               E1FC457A16DF0ADA0010F7B2 /* PluginStream.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FC457916DF0AD90010F7B2 /* PluginStream.h */; };
+               E1FC457C16DF0AF10010F7B2 /* PluginStreamClient.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FC457B16DF0AF10010F7B2 /* PluginStreamClient.h */; };
+               E1FC457E16DF0B880010F7B2 /* PluginRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FC457D16DF0B880010F7B2 /* PluginRequest.h */; };
                E1FF57A30F01255B00891EBB /* ThreadGlobalData.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FF57A20F01255B00891EBB /* ThreadGlobalData.h */; settings = {ATTRIBUTES = (Private, ); }; };
                E1FF57A60F01256B00891EBB /* ThreadGlobalData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1FF57A50F01256B00891EBB /* ThreadGlobalData.cpp */; };
                E415F1690D9A165D0033CE97 /* DOMElementTimeControl.h in Headers */ = {isa = PBXBuildFile; fileRef = E415F1680D9A165D0033CE97 /* DOMElementTimeControl.h */; };
                E1ED8AC20CC49BE000BFC557 /* CSSPrimitiveValueMappings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSPrimitiveValueMappings.h; sourceTree = "<group>"; };
                E1F1E82D0C3C2BB9006DB391 /* XSLTExtensions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XSLTExtensions.cpp; sourceTree = "<group>"; };
                E1F1E82E0C3C2BB9006DB391 /* XSLTExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XSLTExtensions.h; sourceTree = "<group>"; };
+               E1FC456D16DCB9000010F7B2 /* CachedSVGDocumentClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedSVGDocumentClient.h; sourceTree = "<group>"; };
+               E1FC456F16DCB9770010F7B2 /* CachedSVGDocumentReference.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CachedSVGDocumentReference.cpp; sourceTree = "<group>"; };
+               E1FC457116DDF7220010F7B2 /* CachedRawResourceClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedRawResourceClient.h; sourceTree = "<group>"; };
+               E1FC457316DDF7E30010F7B2 /* CachedFontClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedFontClient.h; sourceTree = "<group>"; };
+               E1FC457516DE000F0010F7B2 /* StyleCustomFilterProgram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StyleCustomFilterProgram.cpp; path = style/StyleCustomFilterProgram.cpp; sourceTree = "<group>"; };
+               E1FC457716DF0A750010F7B2 /* PluginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginView.h; sourceTree = "<group>"; };
+               E1FC457916DF0AD90010F7B2 /* PluginStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginStream.h; sourceTree = "<group>"; };
+               E1FC457B16DF0AF10010F7B2 /* PluginStreamClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginStreamClient.h; sourceTree = "<group>"; };
+               E1FC457D16DF0B880010F7B2 /* PluginRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginRequest.h; sourceTree = "<group>"; };
                E1FF57A20F01255B00891EBB /* ThreadGlobalData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadGlobalData.h; sourceTree = "<group>"; };
                E1FF57A50F01256B00891EBB /* ThreadGlobalData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadGlobalData.cpp; sourceTree = "<group>"; };
                E406F3FB1198307D009D59D6 /* ColorData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ColorData.cpp; sourceTree = "<group>"; };
                                1ADA140F0E1AE5D900023EE5 /* PluginMainThreadScheduler.h */,
                                31D591B9166C2E6C00E6BF02 /* PlugInOriginHash.cpp */,
                                31D591BA166C2E6C00E6BF02 /* PlugInOriginHash.h */,
+                               E1FC457D16DF0B880010F7B2 /* PluginRequest.h */,
                                1AA8798F11CBE846003C664F /* PluginStrategy.h */,
+                               E1FC457916DF0AD90010F7B2 /* PluginStream.h */,
+                               E1FC457B16DF0AF10010F7B2 /* PluginStreamClient.h */,
+                               E1FC457716DF0A750010F7B2 /* PluginView.h */,
                                0AFDAC3C10F5448C00E1F3D2 /* PluginViewBase.h */,
                                76FF17E211235673001D61B5 /* PluginViewNone.cpp */,
                        );
                                BCB16C010979C3BD00467741 /* CachedCSSStyleSheet.h */,
                                BC64B4C90CB4295D005F2B62 /* CachedFont.cpp */,
                                BC64B4CA0CB4295D005F2B62 /* CachedFont.h */,
+                               E1FC457316DDF7E30010F7B2 /* CachedFontClient.h */,
                                BCB16C020979C3BD00467741 /* CachedImage.cpp */,
                                BCB16C030979C3BD00467741 /* CachedImage.h */,
                                319FBD5D15D2F444009640A6 /* CachedImageClient.h */,
                                D0EDA772143E303C0028E383 /* CachedRawResource.cpp */,
                                D0EDA773143E303C0028E383 /* CachedRawResource.h */,
+                               E1FC457116DDF7220010F7B2 /* CachedRawResourceClient.h */,
                                BCB16C060979C3BD00467741 /* CachedResource.cpp */,
                                BCB16C070979C3BD00467741 /* CachedResource.h */,
                                BCFB2E5D0979E46400BA703D /* CachedResourceClient.h */,
                                D0BC54481443AC4A00E105DA /* CachedStyleSheetClient.h */,
                                A104F24114C71F7A009E2C23 /* CachedSVGDocument.cpp */,
                                A104F24214C71F7A009E2C23 /* CachedSVGDocument.h */,
+                               E1FC456D16DCB9000010F7B2 /* CachedSVGDocumentClient.h */,
+                               E1FC456F16DCB9770010F7B2 /* CachedSVGDocumentReference.cpp */,
                                FB2C15C2165D64900039C9F8 /* CachedSVGDocumentReference.h */,
                                0753860014489E9800B78452 /* CachedTextTrack.cpp */,
                                0753860114489E9800B78452 /* CachedTextTrack.h */,
                                5038BE2D1472AD230095E0D1 /* StyleCachedShader.cpp */,
                                5038BE2E1472AD230095E0D1 /* StyleCachedShader.h */,
                                503D0CAD14B5B0BA00F32F57 /* StyleCustomFilterProgram.h */,
+                               E1FC457516DE000F0010F7B2 /* StyleCustomFilterProgram.cpp */,
                                BC5EB67E0E81D4A700B25965 /* StyleDashboardRegion.h */,
                                BC5EB8B60E8201BD00B25965 /* StyleDeprecatedFlexibleBoxData.cpp */,
                                BC5EB8B70E8201BD00B25965 /* StyleDeprecatedFlexibleBoxData.h */,
                                977E2E0F12F0FC9C00C13380 /* XSSAuditorDelegate.h in Headers */,
                                FD537353137B651800008DCE /* ZeroPole.h in Headers */,
                                41B8CD4616D04591000E8CC0 /* SelectorCheckerFastPath.h in Headers */,
+                               E1FC456E16DCB9010010F7B2 /* CachedSVGDocumentClient.h in Headers */,
+                               E1FC457216DDF7250010F7B2 /* CachedRawResourceClient.h in Headers */,
+                               E1FC457416DDF7E60010F7B2 /* CachedFontClient.h in Headers */,
+                               E1FC457816DF0A750010F7B2 /* PluginView.h in Headers */,
+                               E1FC457A16DF0ADA0010F7B2 /* PluginStream.h in Headers */,
+                               E1FC457C16DF0AF10010F7B2 /* PluginStreamClient.h in Headers */,
+                               E1FC457E16DF0B880010F7B2 /* PluginRequest.h in Headers */,
                                49140257168E02EC002D6C6A /* TimelineTraceEventProcessor.h in Headers */,
                                 A024575216CEAA27000E5671 /* EXTDrawBuffers.h in Headers */,
                        );
                                977E2E0E12F0FC9C00C13380 /* XSSAuditorDelegate.cpp in Sources */,
                                FD537352137B651800008DCE /* ZeroPole.cpp in Sources */,
                                41B8CD4516D04591000E8CC0 /* SelectorCheckerFastPath.cpp in Sources */,
+                               E1FC457016DCB9770010F7B2 /* CachedSVGDocumentReference.cpp in Sources */,
+                               E1FC457616DE00100010F7B2 /* StyleCustomFilterProgram.cpp in Sources */,
                                49140256168E02E8002D6C6A /* TimelineTraceEventProcessor.cpp in Sources */,
                                E14A94D716DFDF950068DE82 /* BlobRegistry.cpp in Sources */,
                                 A024575116CEAA27000E5671 /* EXTDrawBuffers.cpp in Sources */,
index c57b85f..efe4851 100644 (file)
@@ -25,6 +25,7 @@
 #include "Document.h"
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "Page.h"
 #include "ScriptSourceCode.h"
index 2a917f5..b61c96d 100644 (file)
@@ -27,8 +27,6 @@
 #include "JSNode.h"
 
 #include "Attr.h"
-#include "CachedImage.h"
-#include "CachedScript.h"
 #include "CDATASection.h"
 #include "Comment.h"
 #include "Document.h"
index a605e63..b4dafc1 100644 (file)
@@ -25,7 +25,7 @@
 #include "Event.h"
 #include "EventNames.h"
 #include "Frame.h"
-#include "FrameLoaderClient.h"
+#include "FrameLoader.h"
 #include "GCController.h"
 #include "HTMLPlugInElement.h"
 #include "InspectorInstrumentation.h"
index 0355ece..97984dd 100644 (file)
@@ -32,7 +32,6 @@
 #define ScriptSourceCode_h
 
 #include "CachedResourceHandle.h"
-#include "CachedScript.h"
 #include "CachedScriptSourceProvider.h"
 #include "KURL.h"
 #include <parser/SourceProvider.h>
@@ -41,6 +40,8 @@
 
 namespace WebCore {
 
+class CachedScript;
+
 class ScriptSourceCode {
 public:
     ScriptSourceCode(const String& source, const KURL& url = KURL(), const TextPosition& startPosition = TextPosition::minimumPosition())
index d37e985..f227868 100644 (file)
@@ -29,6 +29,7 @@
 #import "DOMInternal.h" // import first to make the private/public trick work
 #import "DOM.h"
 
+#import "CachedImage.h"
 #import "DOMElementInternal.h"
 #import "DOMHTMLCanvasElement.h"
 #import "DOMHTMLTableCellElementInternal.h"
index 9f5c7b4..5f3475d 100644 (file)
@@ -40,6 +40,7 @@
 #include "EventListener.h"
 #include "EventNames.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "HistogramSupport.h"
 #include "InspectorInstrumentation.h"
index 9546904..5d8762d 100644 (file)
@@ -35,6 +35,7 @@
 #include "DateExtension.h"
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "InspectorInstrumentation.h"
 #include "Page.h"
index 15d8bb1..753c4bd 100644 (file)
@@ -39,6 +39,7 @@
 #include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameLoadRequest.h"
+#include "FrameLoader.h"
 #include "FrameView.h"
 #include "HTMLCollection.h"
 #include "HTMLDocument.h"
index fc2e8c8..8cea24f 100644 (file)
@@ -26,7 +26,6 @@
 #ifndef CSSCrossfadeValue_h
 #define CSSCrossfadeValue_h
 
-#include "CachedImage.h"
 #include "CachedImageClient.h"
 #include "CachedResourceHandle.h"
 #include "CSSImageGeneratorValue.h"
@@ -75,15 +74,17 @@ private:
         : CSSImageGeneratorValue(CrossfadeClass)
         , m_fromValue(fromValue)
         , m_toValue(toValue)
-        , m_cachedFromImage(0)
-        , m_cachedToImage(0)
-        , m_crossfadeSubimageObserver(this) { }
+        , m_crossfadeSubimageObserver(this)
+    {
+    }
 
     class CrossfadeSubimageObserverProxy : public CachedImageClient {
     public:
         CrossfadeSubimageObserverProxy(CSSCrossfadeValue* ownerValue)
-        : m_ownerValue(ownerValue)
-        , m_ready(false) { }
+            : m_ownerValue(ownerValue)
+            , m_ready(false)
+        {
+        }
 
         virtual ~CrossfadeSubimageObserverProxy() { }
         virtual void imageChanged(CachedImage*, const IntRect* = 0) OVERRIDE;
index 0488d10..da81ba4 100644 (file)
@@ -26,7 +26,7 @@
 #ifndef CSSFontFaceSource_h
 #define CSSFontFaceSource_h
 
-#include "CachedFont.h"
+#include "CachedFontClient.h"
 #include "CachedResourceHandle.h"
 #include "Timer.h"
 #include <wtf/HashMap.h>
index cb0dc8d..44c62a7 100644 (file)
@@ -41,6 +41,7 @@
 #include "Document.h"
 #include "FontCache.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "RenderObject.h"
 #include "Settings.h"
 #include "SimpleFontData.h"
index 568d0f3..4442696 100644 (file)
@@ -31,6 +31,7 @@
 #include "CachedResourceLoader.h"
 #include "CachedResourceRequest.h"
 #include "CachedResourceRequestInitiators.h"
+#include "CachedSVGDocument.h"
 #include "Document.h"
 #include "WebCoreMemoryInstrumentation.h"
 
index 9a3ac68..04eef1a 100644 (file)
 
 #include "CSSValue.h"
 #include "CachedResourceHandle.h"
-#include "CachedSVGDocument.h"
 
 namespace WebCore {
 
 class CachedResourceLoader;
+class CachedSVGDocument;
 
 class WebKitCSSSVGDocumentValue : public CSSValue {
 public:
index 0279925..f3f89cd 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "Clipboard.h"
 
-#include "CachedImage.h"
 #include "FileList.h"
 #include "Frame.h"
 #include "FrameLoader.h"
@@ -40,7 +39,6 @@ Clipboard::Clipboard(ClipboardAccessPolicy policy, ClipboardType clipboardType)
     , m_effectAllowed("uninitialized")
     , m_dragStarted(false)
     , m_clipboardType(clipboardType)
-    , m_dragImage(0)
 {
 }
     
index 6e6e7bb..55eaa07 100644 (file)
@@ -39,7 +39,6 @@
 #include "InsertionPoint.h"
 #include "InspectorInstrumentation.h"
 #include "LoaderStrategy.h"
-#include "MemoryCache.h"
 #include "MutationEvent.h"
 #include "NodeRenderStyle.h"
 #include "NodeTraversal.h"
index 1ca2822..53798f1 100644 (file)
@@ -32,6 +32,7 @@
 #include "Element.h"
 #include "ExceptionCode.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "FTPDirectoryDocument.h"
 #include "HTMLDocument.h"
index 3996462..53d3a86 100644 (file)
@@ -30,6 +30,7 @@
 #include "CachedResourceHandle.h"
 #include <wtf/text/TextPosition.h>
 #include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
 
 namespace WebCore {
 
index 73d82d1..a6e250b 100644 (file)
@@ -31,6 +31,7 @@
 #include "CrossOriginAccessControl.h"
 #include "Document.h"
 #include "DocumentParser.h"
+#include "Event.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 #include "HTMLNames.h"
index 5f98d75..ff42b95 100644 (file)
@@ -24,6 +24,7 @@
 #include "CachedResourceClient.h"
 #include "CachedResourceHandle.h"
 #include <wtf/text/TextPosition.h>
+#include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
index 0e1168b..bac6372 100644 (file)
@@ -34,6 +34,7 @@
 #include "EventNames.h"
 #include "FocusController.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "FrameView.h"
 #include "HistoryItem.h"
index 2d0a7ce..47d823e 100644 (file)
@@ -36,6 +36,7 @@
 #include "KURL.h"
 #include "MemoryCache.h"
 #include "PublicURLManager.h"
+#include "ResourceRequest.h"
 #include "ScriptExecutionContext.h"
 #include "SecurityOrigin.h"
 #include "ThreadableBlobRegistry.h"
index 9d19dad..4051628 100644 (file)
@@ -28,6 +28,7 @@
 #include "DNS.h"
 #include "EventNames.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "FrameLoaderTypes.h"
 #include "HTMLImageElement.h"
@@ -37,6 +38,7 @@
 #include "MouseEvent.h"
 #include "PingLoader.h"
 #include "RenderImage.h"
+#include "ResourceRequest.h"
 #include "SecurityOrigin.h"
 #include "SecurityPolicy.h"
 #include "Settings.h"
index 7e0bba4..50893c6 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "Attribute.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "HTMLDocument.h"
 #include "HTMLNames.h"
 #include "HTMLParamElement.h"
index 02c9cac..6539116 100644 (file)
@@ -37,6 +37,7 @@
 #include "EventNames.h"
 #include "ExceptionCode.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "HTMLBRElement.h"
 #include "HTMLCollection.h"
 #include "HTMLDocument.h"
index 913496f..c33e2f8 100644 (file)
@@ -28,6 +28,7 @@
 #include "CSSPropertyNames.h"
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "HTMLDocument.h"
 #include "HTMLImageLoader.h"
 #include "HTMLNames.h"
index ff138e7..e2f9709 100644 (file)
@@ -30,6 +30,7 @@
 #include "Event.h"
 #include "EventNames.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "HTMLNames.h"
 #include "Length.h"
index 8f6ec74..fa6284d 100644 (file)
@@ -29,6 +29,7 @@
 #include "DocumentLoader.h"
 #include "DocumentParser.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "HTMLNames.h"
 
 namespace WebCore {
index 7fb7f8f..36d33f9 100644 (file)
@@ -26,6 +26,7 @@
 #include "Attribute.h"
 #include "CSSPropertyNames.h"
 #include "CSSValueKeywords.h"
+#include "CachedImage.h"
 #include "EventNames.h"
 #include "FrameView.h"
 #include "HTMLDocument.h"
index eb70544..f4d6758 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "Attribute.h"
 #include "CSSValueKeywords.h"
+#include "CachedImage.h"
 #include "Chrome.h"
 #include "ChromeClient.h"
 #include "EventNames.h"
index c617828..5fa8228 100644 (file)
@@ -28,6 +28,7 @@
 #include "ChromeClient.h"
 #include "CSSPropertyNames.h"
 #include "Document.h"
+#include "Event.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 #include "FrameTree.h"
index c6352fc..da24fa6 100644 (file)
@@ -31,6 +31,7 @@
 #include "EventNames.h"
 #include "ExceptionCodePlaceholder.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "FrameView.h"
 #include "HTMLHtmlElement.h"
index fcb3440..66325d4 100644 (file)
@@ -23,6 +23,7 @@
 #include "config.h"
 #include "ImageInputType.h"
 
+#include "CachedImage.h"
 #include "FormDataList.h"
 #include "HTMLFormElement.h"
 #include "HTMLImageLoader.h"
index f8a302c..2c82a2c 100644 (file)
@@ -32,6 +32,7 @@
 #include "EventNames.h"
 #include "ExceptionCodePlaceholder.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "HTMLEmbedElement.h"
 #include "HTMLHtmlElement.h"
index 9456b61..c99e350 100644 (file)
@@ -28,6 +28,7 @@
 #include "DocumentLoader.h"
 #include "ExceptionCodePlaceholder.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "FrameView.h"
 #include "HTMLEmbedElement.h"
index deb64b1..a14619e 100644 (file)
@@ -37,6 +37,7 @@
 #include "ExceptionCode.h"
 #include "Extensions3D.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "FrameView.h"
 #include "HTMLCanvasElement.h"
index 9422a8c..fe018b6 100644 (file)
@@ -33,6 +33,7 @@
 #include "DocumentType.h"
 #include "Element.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "HTMLDocument.h"
 #include "HTMLElementFactory.h"
index fbfbec1..8f6a6b0 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "Document.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "Settings.h"
 
 namespace WebCore {
index a7226dc..fe2e0ae 100644 (file)
@@ -28,8 +28,9 @@
 
 #include "PendingScript.h"
 #include <wtf/Deque.h>
-#include <wtf/text/TextPosition.h>
+#include <wtf/PassOwnPtr.h>
 #include <wtf/PassRefPtr.h>
+#include <wtf/text/TextPosition.h>
 
 namespace WebCore {
 
index 7848c26..6ed53eb 100644 (file)
@@ -36,7 +36,7 @@
 #include "FormData.h"
 #include "FormDataList.h"
 #include "Frame.h"
-#include "FrameLoaderClient.h"
+#include "FrameLoader.h"
 #include "HTMLDocumentParser.h"
 #include "HTMLNames.h"
 #include "HTMLTokenizer.h"
index b3c30ee..1ac1288 100644 (file)
@@ -31,6 +31,7 @@
 #include "Document.h"
 #include "FormData.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "HTMLParserIdioms.h"
 #include "InspectorValues.h"
index 84824e6..b844df2 100644 (file)
@@ -32,6 +32,7 @@
 #if ENABLE(JAVASCRIPT_DEBUGGER) && ENABLE(INSPECTOR)
 #include "InspectorDebuggerAgent.h"
 
+#include "CachedResource.h"
 #include "ContentSearchUtils.h"
 #include "InjectedScript.h"
 #include "InjectedScriptManager.h"
index 2b0d644..9b8077d 100644 (file)
@@ -43,6 +43,7 @@
 #include "EntryArray.h"
 #include "EntryCallback.h"
 #include "ErrorCallback.h"
+#include "Event.h"
 #include "File.h"
 #include "FileCallback.h"
 #include "FileEntry.h"
index 021eadd..a3857d1 100644 (file)
@@ -48,6 +48,9 @@
 #include "InspectorFrontendClient.h"
 #include "Page.h"
 #include "Pasteboard.h"
+#include "ResourceError.h"
+#include "ResourceRequest.h"
+#include "ResourceResponse.h"
 #include "ScriptFunctionCall.h"
 #include "UserGestureIndicator.h"
 
index 86b1582..1544be7 100644 (file)
@@ -36,6 +36,7 @@
 #include "ConsoleTypes.h"
 #include "Element.h"
 #include "EventContext.h"
+#include "FormData.h"
 #include "Frame.h"
 #include "HitTestResult.h"
 #include "Page.h"
@@ -55,18 +56,17 @@ class CharacterData;
 class DOMWindow;
 class DOMWrapperWorld;
 class Database;
+class DeviceOrientationData;
 class Document;
+class DocumentLoader;
 class Element;
 class EventContext;
-class DocumentLoader;
-class DeviceOrientationData;
 class GeolocationPosition;
 class GraphicsContext;
 class InspectorCSSAgent;
 class InspectorInstrumentation;
 class InspectorTimelineAgent;
 class InstrumentingAgents;
-class KURL;
 class Node;
 class RenderLayer;
 class RenderObject;
index 699cc98..f234bbe 100644 (file)
@@ -49,6 +49,7 @@
 #include "Document.h"
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameView.h"
 #include "GeolocationController.h"
 #include "GeolocationError.h"
index fe97ff0..53ac0ba 100644 (file)
@@ -32,7 +32,9 @@
 
 #include "NetworkResourcesData.h"
 
+#include "CachedResource.h"
 #include "DOMImplementation.h"
+#include "ResourceResponse.h"
 #include "SharedBuffer.h"
 #include "TextResourceDecoder.h"
 #include <wtf/MemoryInstrumentationHashMap.h>
index dd91b4d..dac5262 100644 (file)
@@ -29,9 +29,9 @@
 #ifndef NetworkResourcesData_h
 #define NetworkResourcesData_h
 
+#include "HTTPHeaderMap.h"
 #include "InspectorPageAgent.h"
 #include "TextResourceDecoder.h"
-
 #include <wtf/Deque.h>
 #include <wtf/HashMap.h>
 #include <wtf/RefCounted.h>
@@ -43,6 +43,7 @@
 namespace WebCore {
 
 class CachedResource;
+class FormData;
 class SharedBuffer;
 class TextResourceDecoder;
 
index e5b7587..0486940 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "Document.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "NetworkingContext.h"
 #include "PlatformCookieJar.h"
 
index 23c6e1c..7b50dab 100644 (file)
@@ -28,6 +28,7 @@
 #include "CrossOriginAccessControl.h"
 
 #include "HTTPParsers.h"
+#include "ResourceRequest.h"
 #include "ResourceResponse.h"
 #include "SecurityOrigin.h"
 #include <wtf/Threading.h>
index 5ee3dd1..0b2d272 100644 (file)
 #ifndef CrossOriginAccessControl_h
 #define CrossOriginAccessControl_h
 
-#include "ResourceHandle.h"
-#include "ResourceRequest.h"
+#include "ResourceHandleTypes.h"
 #include <wtf/Forward.h>
 #include <wtf/HashSet.h>
+#include <wtf/text/StringHash.h>
 
 namespace WebCore {
 
 typedef HashSet<String, CaseFoldingHash> HTTPHeaderSet;
 
 class HTTPHeaderMap;
+class ResourceRequest;
 class ResourceResponse;
 class SecurityOrigin;
 
index 2850492..0d64338 100644 (file)
@@ -28,7 +28,7 @@
 #define CrossOriginPreflightResultCache_h
 
 #include "KURLHash.h"
-#include "ResourceHandle.h"
+#include "ResourceHandleTypes.h"
 #include <wtf/HashMap.h>
 #include <wtf/HashSet.h>
 #include <wtf/PassOwnPtr.h>
index 12a38c0..db4860c 100644 (file)
@@ -31,7 +31,7 @@
 #ifndef DocumentThreadableLoader_h
 #define DocumentThreadableLoader_h
 
-#include "CachedRawResource.h"
+#include "CachedRawResourceClient.h"
 #include "CachedResourceHandle.h"
 #include "FrameLoaderTypes.h"
 #include "ThreadableLoader.h"
@@ -43,6 +43,7 @@
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
+    class CachedRawResource;
     class Document;
     class KURL;
     class ResourceRequest;
index 6d247ba..1e58294 100644 (file)
@@ -87,6 +87,7 @@
 #include "PluginData.h"
 #include "PluginDatabase.h"
 #include "PluginDocument.h"
+#include "PolicyChecker.h"
 #include "ProgressTracker.h"
 #include "ResourceHandle.h"
 #include "ResourceRequest.h"
@@ -210,7 +211,7 @@ private:
 FrameLoader::FrameLoader(Frame* frame, FrameLoaderClient* client)
     : m_frame(frame)
     , m_client(client)
-    , m_policyChecker(frame)
+    , m_policyChecker(adoptPtr(new PolicyChecker(frame)))
     , m_history(frame)
     , m_notifer(frame)
     , m_subframeLoader(frame)
index f329272..423f6c3 100644 (file)
@@ -40,8 +40,7 @@
 #include "IconURL.h"
 #include "LayoutMilestones.h"
 #include "MixedContentChecker.h"
-#include "PolicyChecker.h"
-#include "ResourceHandle.h"
+#include "ResourceHandleTypes.h"
 #include "ResourceLoadNotifier.h"
 #include "SecurityContext.h"
 #include "SubframeLoader.h"
@@ -65,6 +64,7 @@ class FrameLoaderClient;
 class FrameNetworkingContext;
 class NavigationAction;
 class NetworkingContext;
+class PolicyChecker;
 class Page;
 class ResourceError;
 class ResourceRequest;
@@ -89,7 +89,7 @@ public:
 
     Frame* frame() const { return m_frame; }
 
-    PolicyChecker* policyChecker() const { return &m_policyChecker; }
+    PolicyChecker* policyChecker() const { return m_policyChecker.get(); }
     HistoryController* history() const { return &m_history; }
     ResourceLoadNotifier* notifier() const { return &m_notifer; }
     SubframeLoader* subframeLoader() const { return &m_subframeLoader; }
@@ -380,7 +380,7 @@ private:
     // FIXME: These should be OwnPtr<T> to reduce build times and simplify
     // header dependencies unless performance testing proves otherwise.
     // Some of these could be lazily created for memory savings on devices.
-    mutable PolicyChecker m_policyChecker;
+    mutable OwnPtr<PolicyChecker> m_policyChecker;
     mutable HistoryController m_history;
     mutable ResourceLoadNotifier m_notifer;
     mutable SubframeLoader m_subframeLoader;
index 81a129d..70db42f 100644 (file)
@@ -31,6 +31,7 @@
 #include "Event.h"
 #include "EventSender.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "HTMLNames.h"
 #include "HTMLObjectElement.h"
 #include "HTMLParserIdioms.h"
index f59d4d5..925af82 100644 (file)
@@ -23,7 +23,6 @@
 #ifndef ImageLoader_h
 #define ImageLoader_h
 
-#include "CachedImage.h"
 #include "CachedImageClient.h"
 #include "CachedResourceHandle.h"
 #include <wtf/text/AtomicString.h>
index 4c853da..6226de8 100644 (file)
@@ -42,6 +42,8 @@
 
 namespace WebCore {
 
+class Document;
+class KURL;
 struct LinkRelAttribute;
 #if ENABLE(LINK_PRERENDER)
 class PrerenderHandle;
index e52d536..810572f 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "ApplicationCacheHost.h"
 #include "BackForwardController.h"
+#include "CachedRawResource.h"
 #include "CachedResourceLoader.h"
 #include "CachedResourceRequest.h"
 #include "Console.h"
 #include "InspectorInstrumentation.h"
 #include "MemoryCache.h"
 #include "Page.h"
+#include "PolicyChecker.h"
 #include "ProgressTracker.h"
 #include "ResourceBuffer.h"
 #include "ResourceError.h"
-#include "ResourceHandle.h"
 #include "SchemeRegistry.h"
 #include "SecurityOrigin.h"
 #include "Settings.h"
index cabf2e1..6519835 100644 (file)
@@ -29,7 +29,7 @@
 #ifndef MainResourceLoader_h
 #define MainResourceLoader_h
 
-#include "CachedRawResource.h"
+#include "CachedRawResourceClient.h"
 #include "CachedResourceHandle.h"
 #include "FrameLoaderTypes.h"
 #include "ResourceLoader.h"
@@ -44,6 +44,7 @@
 
 namespace WebCore {
 
+class CachedRawResource;
 class FormState;
 class ResourceRequest;
     
index b8c293d..5c52c49 100644 (file)
@@ -33,6 +33,7 @@
 #include "DOMWindow.h"
 #include "Document.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "SchemeRegistry.h"
 #include "SecurityOrigin.h"
index 5442027..1cc2208 100644 (file)
 #include "Document.h"
 #include "FormData.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "InspectorInstrumentation.h"
 #include "Page.h"
 #include "ProgressTracker.h"
 #include "ResourceHandle.h"
+#include "ResourceRequest.h"
+#include "ResourceResponse.h"
 #include "SecurityOrigin.h"
 #include "SecurityPolicy.h"
 #include <wtf/OwnPtr.h>
index 5a4d6b3..6885c8f 100644 (file)
@@ -32,7 +32,6 @@
 
 #include "FrameLoaderTypes.h"
 #include "PolicyCallback.h"
-#include "ResourceRequest.h"
 #include <wtf/PassRefPtr.h>
 #include <wtf/text/WTFString.h>
 
@@ -43,6 +42,7 @@ class FormState;
 class Frame;
 class NavigationAction;
 class ResourceError;
+class ResourceRequest;
 class ResourceResponse;
 
 class PolicyChecker {
index 92388ec..ee9c43a 100644 (file)
@@ -29,8 +29,8 @@
 #include "DocumentLoader.h"
 #include "Frame.h"
 #include "FrameLoader.h"
-#include "FrameLoaderStateMachine.h"
 #include "FrameLoaderClient.h"
+#include "FrameLoaderStateMachine.h"
 #include "InspectorInstrumentation.h"
 #include "Logging.h"
 #include "ResourceResponse.h"
index 1f68fb4..7a55088 100644 (file)
@@ -38,6 +38,7 @@
 #include "ContentSecurityPolicy.h"
 #include "DiagnosticLoggingKeys.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "HTMLAppletElement.h"
 #include "HTMLFrameElementBase.h"
index 27d6f3e..692bb97 100644 (file)
@@ -33,6 +33,7 @@
 #include "Document.h"
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "Logging.h"
 #include "MemoryCache.h"
 #include "ResourceBuffer.h"
index 0ba636b..335a68e 100644 (file)
@@ -36,7 +36,6 @@
 #include "Document.h"
 #include "Logging.h"
 #include "ResourceBuffer.h"
-#include "ResourceHandle.h"
 #include "ScriptCallStack.h"
 #include "SecurityOrigin.h"
 #include "WebVTTParser.h"
index e7703ac..dfdad67 100644 (file)
 
 #include "CachedResourceClient.h"
 #include "CachedResourceHandle.h"
-#include "CachedTextTrack.h"
 #include "Timer.h"
 #include "WebVTTParser.h"
 #include <wtf/OwnPtr.h>
 
 namespace WebCore {
 
+class CachedTextTrack;
 class Document;
 class TextTrackLoader;
 class ScriptExecutionContext;
index 78e38c1..bfb43c1 100644 (file)
@@ -31,7 +31,6 @@
 #ifndef ThreadableLoader_h
 #define ThreadableLoader_h
 
-#include "ResourceHandle.h"
 #include "ResourceLoaderOptions.h"
 #include "SecurityOrigin.h"
 #include <wtf/Noncopyable.h>
index b6cb2dd..184ef22 100644 (file)
@@ -44,6 +44,7 @@
 #include "ManifestParser.h"
 #include "Page.h"
 #include "ResourceBuffer.h"
+#include "ResourceHandle.h"
 #include "ScriptProfile.h"
 #include "SecurityOrigin.h"
 #include "Settings.h"
index 07651fe..1a4af86 100644 (file)
@@ -28,7 +28,6 @@
 
 #include "DOMApplicationCache.h"
 #include "KURL.h"
-#include "ResourceHandle.h"
 #include "ResourceHandleClient.h"
 #include "SharedBuffer.h"
 #include <wtf/Noncopyable.h>
@@ -43,6 +42,7 @@ class ApplicationCacheResource;
 class Document;
 class DocumentLoader;
 class Frame;
+class ResourceHandle;
 class SecurityOrigin;
 
 enum ApplicationCacheUpdateOption {
index 18fce65..ad0e0e9 100644 (file)
@@ -37,6 +37,7 @@
 #include "InspectorInstrumentation.h"
 #include "MainResourceLoader.h"
 #include "ProgressEvent.h"
+#include "ResourceHandle.h"
 #include "ResourceLoader.h"
 #include "ResourceRequest.h"
 #include "Settings.h"
index d622aca..0809729 100644 (file)
@@ -29,7 +29,7 @@
 #include "config.h"
 #include "LegacyWebArchive.h"
 
-#include "MemoryCache.h"
+#include "CachedResource.h"
 #include "Document.h"
 #include "DocumentLoader.h"
 #include "Frame.h"
 #include "Image.h"
 #include "KURLHash.h"
 #include "Logging.h"
-#include "markup.h"
-#include "Node.h"
+#include "MemoryCache.h"
 #include "Page.h"
 #include "Range.h"
 #include "ResourceBuffer.h"
 #include "Settings.h"
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
+#include "markup.h"
 #include <wtf/ListHashSet.h>
 #include <wtf/RetainPtr.h>
 
index 611bf4a..4eda279 100644 (file)
@@ -31,6 +31,7 @@
 #define STORE_FONT_CUSTOM_PLATFORM_DATA
 #endif
 
+#include "CachedFontClient.h"
 #include "CachedResourceClient.h"
 #include "CachedResourceClientWalker.h"
 #include "CachedResourceLoader.h"
index 5c28e2d..ef4253c 100644 (file)
@@ -76,14 +76,6 @@ private:
     friend class MemoryCache;
 };
 
-class CachedFontClient : public CachedResourceClient {
-public:
-    virtual ~CachedFontClient() { }
-    static CachedResourceClientType expectedType() { return FontType; }
-    virtual CachedResourceClientType resourceClientType() const { return expectedType(); }
-    virtual void fontLoaded(CachedFont*) { }
-};
-
 }
 
 #endif
diff --git a/Source/WebCore/loader/cache/CachedFontClient.h b/Source/WebCore/loader/cache/CachedFontClient.h
new file mode 100644 (file)
index 0000000..7cc2c42
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef CachedFontClient_h
+#define CachedFontClient_h
+
+#include "CachedResourceClient.h"
+
+namespace WebCore {
+
+class CachedFont;
+
+class CachedFontClient : public CachedResourceClient {
+public:
+    virtual ~CachedFontClient() { }
+    static CachedResourceClientType expectedType() { return FontType; }
+    virtual CachedResourceClientType resourceClientType() const { return expectedType(); }
+    virtual void fontLoaded(CachedFont*) { }
+};
+
+}
+
+#endif
index b7610be..2c25232 100644 (file)
@@ -29,8 +29,8 @@
 #include "CachedResourceClient.h"
 #include "CachedResourceClientWalker.h"
 #include "CachedResourceLoader.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
-#include "FrameLoaderTypes.h"
 #include "FrameView.h"
 #include "MemoryCache.h"
 #include "Page.h"
index de25cb9..0a07497 100644 (file)
@@ -26,7 +26,7 @@
 #include "config.h"
 #include "CachedRawResource.h"
 
-#include "CachedResourceClient.h"
+#include "CachedRawResourceClient.h"
 #include "CachedResourceClientWalker.h"
 #include "CachedResourceLoader.h"
 #include "ResourceBuffer.h"
index 518afc8..663d024 100644 (file)
 #define CachedRawResource_h
 
 #include "CachedResource.h"
-#include "CachedResourceClient.h"
 
 namespace WebCore {
-class CachedRawResourceCallback;
-class CachedRawResourceClient;
+
+class CachedResourceClient;
 class SubresourceLoader;
 
 class CachedRawResource : public CachedResource {
@@ -83,22 +82,6 @@ private:
     Vector<RedirectPair> m_redirectChain;
 };
 
-
-class CachedRawResourceClient : public CachedResourceClient {
-public:
-    virtual ~CachedRawResourceClient() { }
-    static CachedResourceClientType expectedType() { return RawResourceType; }
-    virtual CachedResourceClientType resourceClientType() const { return expectedType(); }
-
-    virtual void dataSent(CachedResource*, unsigned long long /* bytesSent */, unsigned long long /* totalBytesToBeSent */) { }
-    virtual void responseReceived(CachedResource*, const ResourceResponse&) { }
-    virtual void dataReceived(CachedResource*, const char* /* data */, int /* length */) { }
-    virtual void redirectReceived(CachedResource*, ResourceRequest&, const ResourceResponse&) { }
-#if PLATFORM(CHROMIUM)
-    virtual void dataDownloaded(CachedResource*, int) { }
-#endif
-};
-
 }
 
 #endif // CachedRawResource_h
diff --git a/Source/WebCore/loader/cache/CachedRawResourceClient.h b/Source/WebCore/loader/cache/CachedRawResourceClient.h
new file mode 100644 (file)
index 0000000..84f7933
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+    Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
+    Copyright (C) 2001 Dirk Mueller <mueller@kde.org>
+    Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
+    Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef CachedRawResourceClient_h
+#define CachedRawResourceClient_h
+
+#include "CachedResourceClient.h"
+
+namespace WebCore {
+
+class CachedResource;
+class ResourceRequest;
+class ResourceResponse;
+
+class CachedRawResourceClient : public CachedResourceClient {
+public:
+    virtual ~CachedRawResourceClient() { }
+    static CachedResourceClientType expectedType() { return RawResourceType; }
+    virtual CachedResourceClientType resourceClientType() const { return expectedType(); }
+
+    virtual void dataSent(CachedResource*, unsigned long long /* bytesSent */, unsigned long long /* totalBytesToBeSent */) { }
+    virtual void responseReceived(CachedResource*, const ResourceResponse&) { }
+    virtual void dataReceived(CachedResource*, const char* /* data */, int /* length */) { }
+    virtual void redirectReceived(CachedResource*, ResourceRequest&, const ResourceResponse&) { }
+#if PLATFORM(CHROMIUM)
+    virtual void dataDownloaded(CachedResource*, int) { }
+#endif
+};
+
+}
+
+#endif // CachedRawResourceClient_h
index f05ee4c..ca2e8e3 100644 (file)
@@ -33,6 +33,7 @@
 #include "CrossOriginAccessControl.h"
 #include "Document.h"
 #include "DocumentLoader.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "InspectorInstrumentation.h"
 #include "KURL.h"
index 0df7693..8d972e1 100644 (file)
 #include "config.h"
 #include "CachedResourceHandle.h"
 
+#include "CachedResource.h"
 #include "WebCoreMemoryInstrumentation.h"
 
 namespace WebCore {
 
+CachedResourceHandleBase::CachedResourceHandleBase(CachedResource* resource)
+{
+    m_resource = resource;
+    if (m_resource)
+        m_resource->registerHandle(this);
+}
+
+CachedResourceHandleBase::CachedResourceHandleBase(const CachedResourceHandleBase& o)
+    : m_resource(o.m_resource)
+{
+    if (m_resource)
+        m_resource->registerHandle(this);
+}
+
+CachedResourceHandleBase::~CachedResourceHandleBase()
+{
+    if (m_resource)
+        m_resource->unregisterHandle(this);
+}
+
 void CachedResourceHandleBase::setResource(CachedResource* resource) 
 {
     if (resource == m_resource)
index 4a13920..ab272e6 100644 (file)
 #ifndef CachedResourceHandle_h
 #define CachedResourceHandle_h
 
-#include "CachedResource.h"
+#include <wtf/Forward.h>
 
 namespace WebCore {
 
+    class CachedResource;
+
     class CachedResourceHandleBase {
     public:
-        ~CachedResourceHandleBase() { if (m_resource) m_resource->unregisterHandle(this); }
+        ~CachedResourceHandleBase();
         CachedResource* get() const { return m_resource; }
         
         bool operator!() const { return !m_resource; }
@@ -44,9 +46,9 @@ namespace WebCore {
         void reportMemoryUsage(MemoryObjectInfo*) const;
 
     protected:
-        CachedResourceHandleBase() : m_resource(0) {}
-        CachedResourceHandleBase(CachedResource* res) { m_resource = res; if (m_resource) m_resource->registerHandle(this); }
-        CachedResourceHandleBase(const CachedResourceHandleBase& o) : m_resource(o.m_resource) { if (m_resource) m_resource->registerHandle(this); }
+        CachedResourceHandleBase() : m_resource(0) { }
+        CachedResourceHandleBase(CachedResource*);
+        CachedResourceHandleBase(const CachedResourceHandleBase&);
 
         void setResource(CachedResource*);
         
index 83e59c4..08d3be8 100644 (file)
@@ -50,13 +50,6 @@ protected:
     RefPtr<TextResourceDecoder> m_decoder;
 };
 
-class CachedSVGDocumentClient : public CachedResourceClient {
-public:
-    virtual ~CachedSVGDocumentClient() { }
-    static CachedResourceClientType expectedType() { return SVGDocumentType; }
-    virtual CachedResourceClientType resourceClientType() const { return expectedType(); }
-};
-
 }
 
 #endif
diff --git a/Source/WebCore/loader/cache/CachedSVGDocumentClient.h b/Source/WebCore/loader/cache/CachedSVGDocumentClient.h
new file mode 100644 (file)
index 0000000..e936c26
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+    Copyright (C) 2010 Rob Buis <rwlbuis@gmail.com>
+    Copyright (C) 2011 Cosmin Truta <ctruta@gmail.com>
+    Copyright (C) 2012 University of Szeged
+    Copyright (C) 2012 Renata Hodovan <reni@webkit.org>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef CachedSVGDocumentClient_h
+#define CachedSVGDocumentClient_h
+
+#if ENABLE(SVG)
+
+#include "CachedResourceClient.h"
+
+namespace WebCore {
+
+class CachedSVGDocumentClient : public CachedResourceClient {
+public:
+    virtual ~CachedSVGDocumentClient() { }
+    static CachedResourceClientType expectedType() { return SVGDocumentType; }
+    virtual CachedResourceClientType resourceClientType() const { return expectedType(); }
+};
+
+}
+
+#endif
+
+#endif // CachedSVGDocumentClient_h
diff --git a/Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp b/Source/WebCore/loader/cache/CachedSVGDocumentReference.cpp
new file mode 100644 (file)
index 0000000..73c28cf
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "CachedSVGDocumentReference.h"
+
+#if ENABLE(SVG) && ENABLE(CSS_FILTERS)
+
+#include "CachedSVGDocument.h"
+
+namespace WebCore {
+
+CachedSVGDocumentReference::CachedSVGDocumentReference(CachedSVGDocument* document)
+    : m_document(document)
+{
+    m_document->addClient(this);
+}
+
+CachedSVGDocumentReference::~CachedSVGDocumentReference()
+{
+    m_document->removeClient(this);
+}
+
+}
+
+#endif
index 468030f..01df1e0 100644 (file)
 
 #if ENABLE(SVG) && ENABLE(CSS_FILTERS)
 #include "CachedResourceHandle.h"
-#include "CachedSVGDocument.h"
+#include "CachedSVGDocumentClient.h"
 
 namespace WebCore {
 
+class CachedSVGDocument;
+
 class CachedSVGDocumentReference : public CachedSVGDocumentClient {
 public:
-    CachedSVGDocumentReference(CachedSVGDocument* document) : m_document(document) { m_document->addClient(this); }
-    virtual ~CachedSVGDocumentReference() { m_document->removeClient(this); }
+    CachedSVGDocumentReference(CachedSVGDocument*);
+    virtual ~CachedSVGDocumentReference();
     CachedSVGDocument* document() { return m_document.get(); }
 private:
     CachedResourceHandle<CachedSVGDocument> m_document;
index 4c87530..0674b0d 100644 (file)
@@ -31,6 +31,7 @@
 
 namespace WebCore {
 class CachedCSSStyleSheet;
+class KURL;
 
 class CachedStyleSheetClient : public CachedResourceClient {
 public:
index 2373c6e..087ca8a 100644 (file)
 #include "config.h"
 #include "MemoryCache.h"
 
-#include "CachedCSSStyleSheet.h"
-#include "CachedFont.h"
-#include "CachedImage.h"
-#include "CachedScript.h"
-#include "CachedXSLStyleSheet.h"
-#include "CachedResourceLoader.h"
+#include "CachedResource.h"
 #include "CrossThreadTask.h"
 #include "Document.h"
 #include "FrameLoader.h"
@@ -37,7 +32,6 @@
 #include "Image.h"
 #include "Logging.h"
 #include "PublicSuffix.h"
-#include "ResourceHandle.h"
 #include "SecurityOrigin.h"
 #include "SecurityOriginHash.h"
 #include "WebCoreMemoryInstrumentation.h"
index f5f525f..9c2cc5e 100644 (file)
@@ -25,7 +25,6 @@
 #ifndef Cache_h
 #define Cache_h
 
-#include "CachedResource.h"
 #include "SecurityOriginHash.h"
 #include <wtf/HashMap.h>
 #include <wtf/HashSet.h>
@@ -40,8 +39,11 @@ class CachedCSSStyleSheet;
 class CachedResource;
 class CachedResourceLoader;
 class KURL;
+class ResourceRequest;
+class ResourceResponse;
 class ScriptExecutionContext;
 class SecurityOrigin;
+struct CrossThreadResourceRequestData;
 struct SecurityOriginHash;
 
 // This cache holds subresources used by Web pages: images, scripts, stylesheets, etc.
@@ -204,7 +206,7 @@ private:
     void evict(CachedResource*);
 
     static void removeRequestFromCacheImpl(ScriptExecutionContext*, const ResourceRequest&);
-    static void crossThreadRemoveRequestFromCache(ScriptExecutionContext*, PassOwnPtr<WebCore::CrossThreadResourceRequestData>);
+    static void crossThreadRemoveRequestFromCache(ScriptExecutionContext*, PassOwnPtr<CrossThreadResourceRequestData>);
 
     bool m_disabled;  // Whether or not the cache is enabled.
     bool m_pruneEnabled;
index eae6890..ae38515 100644 (file)
@@ -31,6 +31,7 @@
 #include "config.h"
 #include "CachedRawResource.h"
 
+#include "CachedRawResourceClient.h"
 #include "CachedResourceClient.h"
 #include "CachedResourceClientWalker.h"
 
index 74faa95..436a97c 100644 (file)
@@ -38,6 +38,7 @@
 #include "Document.h"
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "IconDatabase.h"
 #include "IconDatabaseBase.h"
index 65e8bd5..95fd5a4 100644 (file)
@@ -26,7 +26,7 @@
 #ifndef IconLoader_h
 #define IconLoader_h
 
-#include "CachedRawResource.h"
+#include "CachedRawResourceClient.h"
 #include "CachedResourceHandle.h"
 #include <wtf/Forward.h>
 #include <wtf/Noncopyable.h>
index c16b8f7..2c33b08 100644 (file)
@@ -31,7 +31,6 @@
 
 #include "FrameLoader.h"
 #include "FrameLoaderClient.h"
-#include "ResourceHandle.h"
 
 #if USE(NETWORK_CFDATA_ARRAY_CALLBACK)
 #include "InspectorInstrumentation.h"
index e475538..0b0779e 100644 (file)
@@ -29,6 +29,7 @@
 #include "DOMWindow.h"
 #include "DOMWrapperWorld.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 
 namespace WebCore {
index 2dd306e..b86286c 100644 (file)
@@ -27,6 +27,7 @@
 #include "DragController.h"
 
 #if ENABLE(DRAG_SUPPORT)
+#include "CachedImage.h"
 #include "Clipboard.h"
 #include "ClipboardAccessPolicy.h"
 #include "CachedResourceLoader.h"
index 5d06cac..6449c48 100644 (file)
@@ -41,6 +41,7 @@
 #include "CachedResourceLoader.h"
 #include "DocumentType.h"
 #include "EditorClient.h"
+#include "Event.h"
 #include "EventNames.h"
 #include "FloatQuad.h"
 #include "FocusController.h"
@@ -91,6 +92,7 @@
 #include "markup.h"
 #include "npruntime_impl.h"
 #include "visible_units.h"
+#include <wtf/PassOwnPtr.h>
 #include <wtf/RefCountedLeakCounter.h>
 #include <wtf/StdLibExtras.h>
 
@@ -150,7 +152,7 @@ static inline float parentTextZoomFactor(Frame* frame)
 inline Frame::Frame(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient* frameLoaderClient)
     : m_page(page)
     , m_treeNode(this, parentFromOwnerElement(ownerElement))
-    , m_loader(this, frameLoaderClient)
+    , m_loader(adoptPtr(new FrameLoader(this, frameLoaderClient)))
     , m_navigationScheduler(this)
     , m_ownerElement(ownerElement)
     , m_script(this)
@@ -206,6 +208,11 @@ PassRefPtr<Frame> Frame::create(Page* page, HTMLFrameOwnerElement* ownerElement,
     return frame.release();
 }
 
+void Frame::init()
+{
+    m_loader->init();
+}
+
 Frame::~Frame()
 {
     setView(0);
@@ -673,7 +680,7 @@ void Frame::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
     info.ignoreMember(m_view);
     info.addMember(m_ownerElement, "ownerElement");
     info.addMember(m_page, "page");
-    info.addMember(m_loader, "loader");
+    info.addMember(*m_loader, "loader");
     info.ignoreMember(m_destructionObservers);
 }
 
index 7053eb2..4dad1de 100644 (file)
@@ -33,7 +33,7 @@
 #include "DragImage.h"
 #include "Editor.h"
 #include "EventHandler.h"
-#include "FrameLoader.h"
+#include "FrameLoaderClient.h"
 #include "FrameSelection.h"
 #include "FrameTree.h"
 #include "NavigationScheduler.h"
@@ -64,6 +64,7 @@ namespace WebCore {
 
     class Document;
     class FrameDestructionObserver;
+    class FrameLoader;
     class FrameView;
     class HTMLTableCellElement;
     class RegularExpression;
@@ -215,7 +216,7 @@ namespace WebCore {
 
         Page* m_page;
         mutable FrameTree m_treeNode;
-        mutable FrameLoader m_loader;
+        mutable OwnPtr<FrameLoader> m_loader;
         mutable NavigationScheduler m_navigationScheduler;
 
         HTMLFrameOwnerElement* m_ownerElement;
@@ -260,14 +261,9 @@ namespace WebCore {
         int m_activeDOMObjectsAndAnimationsSuspendedCount;
     };
 
-    inline void Frame::init()
-    {
-        m_loader.init();
-    }
-
     inline FrameLoader* Frame::loader() const
     {
-        return &m_loader;
+        return m_loader.get();
     }
 
     inline NavigationScheduler* Frame::navigationScheduler() const
index d764b62..0b5a430 100644 (file)
@@ -35,7 +35,7 @@
 
 #include "DocumentLoader.h"
 #include "Frame.h"
-#include "FrameLoaderTypes.h"
+#include "FrameLoader.h"
 
 namespace WebCore {
 
index 4a0c0bd..4f992a8 100644 (file)
@@ -38,6 +38,7 @@
 #include "DocumentLoader.h"
 #include "DocumentTiming.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "ResourceLoadTiming.h"
 #include "ResourceResponse.h"
 #include <wtf/CurrentTime.h>
index d652e4f..2c1efb6 100644 (file)
@@ -28,6 +28,7 @@
 #include "Chrome.h"
 #include "ChromeClient.h"
 #include "Element.h"
+#include "Event.h"
 #include "Page.h"
 #include "PlatformMouseEvent.h"
 #include "VoidCallback.h"
index cd55b49..c0a0033 100644 (file)
@@ -40,7 +40,6 @@
 #include "InspectorInstrumentation.h"
 #include "Page.h"
 #include "PageCache.h"
-#include "ResourceHandle.h"
 #include "StorageMap.h"
 #include "TextAutosizer.h"
 #include <limits>
index 019f543..7ed880d 100644 (file)
@@ -36,6 +36,7 @@
 #include "CSSImageValue.h"
 #include "CSSPrimitiveValue.h"
 #include "CSSPropertyNames.h"
+#include "CachedImage.h"
 #include "ClipPathOperation.h"
 #include "FloatConversion.h"
 #include "IdentityTransformOperation.h"
index a7f3635..7609663 100644 (file)
@@ -31,6 +31,7 @@
 #include "config.h"
 #include "Pasteboard.h"
 
+#include "CachedImage.h"
 #include "ClipboardChromium.h"
 #include "ClipboardUtilitiesChromium.h"
 #include "Document.h"
index 106f877..e6bdef2 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "PrintContext.h"
 #include "ResourceError.h"
 #include "ResourceRequest.h"
index 656926e..0f367b0 100644 (file)
@@ -29,6 +29,7 @@
 #include "FilterOperation.h"
 
 #include "AnimationUtilities.h"
+#include "CachedSVGDocumentReference.h"
 
 namespace WebCore {
 
@@ -149,6 +150,24 @@ PassRefPtr<FilterOperation> DropShadowFilterOperation::blend(const FilterOperati
         WebCore::blend(fromColor, m_color, progress), m_type);
 }
 
+ReferenceFilterOperation::ReferenceFilterOperation(const String& url, const String& fragment, OperationType type)
+    : FilterOperation(type)
+    , m_url(url)
+    , m_fragment(fragment)
+{
+}
+
+ReferenceFilterOperation::~ReferenceFilterOperation()
+{
+}
+
+#if ENABLE(SVG)
+void ReferenceFilterOperation::setCachedSVGDocumentReference(PassOwnPtr<CachedSVGDocumentReference> cachedSVGDocumentReference)
+{
+    m_cachedSVGDocumentReference = cachedSVGDocumentReference;
+}
+#endif
+
 } // namespace WebCore
 
 #endif // ENABLE(CSS_FILTERS)
index fb9b676..9c1580e 100644 (file)
 #include <wtf/ThreadSafeRefCounted.h>
 #endif
 
-#if ENABLE(SVG)
-#include "CachedSVGDocumentReference.h"
-#endif
-
 // Annoyingly, wingdi.h #defines this.
 #ifdef PASSTHROUGH
 #undef PASSTHROUGH
@@ -52,6 +48,8 @@
 
 namespace WebCore {
 
+class CachedSVGDocumentReference;
+
 // CSS Filters
 
 #if PLATFORM(BLACKBERRY)
@@ -175,7 +173,7 @@ public:
 
 #if ENABLE(SVG)
     CachedSVGDocumentReference* cachedSVGDocumentReference() const { return m_cachedSVGDocumentReference.get(); }
-    void setCachedSVGDocumentReference(PassOwnPtr<CachedSVGDocumentReference> cachedSVGDocumentReference) { m_cachedSVGDocumentReference = cachedSVGDocumentReference; }
+    void setCachedSVGDocumentReference(PassOwnPtr<CachedSVGDocumentReference>);
 #endif
 
     FilterEffect* filterEffect() const { return m_filterEffect.get(); }
@@ -191,12 +189,9 @@ private:
         return m_url == other->m_url;
     }
 
-    ReferenceFilterOperation(const String& url, const String& fragment, OperationType type)
-        : FilterOperation(type)
-        , m_url(url)
-        , m_fragment(fragment)
-    {
-    }
+    ReferenceFilterOperation(const String& url, const String& fragment, OperationType);
+
+    virtual ~ReferenceFilterOperation();
 
     String m_url;
     String m_fragment;
index af9d6e2..fcebb3d 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "Document.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "GRefPtrGStreamer.h"
 #include "GStreamerVersioning.h"
 #include "MediaPlayer.h"
index 754d55e..3153d24 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "PrintContext.h"
 #include "ResourceError.h"
 #include "ResourceRequest.h"
index 7a7a3f9..d6d867e 100644 (file)
@@ -20,6 +20,7 @@
 #include "config.h"
 #include "Pasteboard.h"
 
+#include "CachedImage.h"
 #include "ClipboardGtk.h"
 #include "DataObjectGtk.h"
 #include "DocumentFragment.h"
index 4238f80..bb4e62f 100644 (file)
@@ -26,6 +26,7 @@
 #define PasteboardHelper_h
 
 #include "Frame.h"
+#include <glib-object.h>
 
 namespace WebCore {
 
index 305a92f..df35137 100644 (file)
@@ -26,7 +26,6 @@
 #ifndef ClipboardMac_h
 #define ClipboardMac_h
 
-#include "CachedImage.h"
 #include "CachedImageClient.h"
 #include "Clipboard.h"
 #include <wtf/RetainPtr.h>
index 0107732..a5b29d9 100644 (file)
@@ -26,6 +26,7 @@
 #import "config.h"
 #import "ClipboardMac.h"
 
+#import "CachedImage.h"
 #import "CachedImageClient.h"
 #import "DOMElementInternal.h"
 #import "DragClient.h"
index 7590f88..76481f5 100644 (file)
@@ -27,6 +27,7 @@
 #import "HTMLConverter.h"
 
 #import "ArchiveResource.h"
+#import "CachedImage.h"
 #import "ColorMac.h"
 #import "Document.h"
 #import "DocumentLoader.h"
@@ -38,6 +39,7 @@
 #import "Element.h"
 #import "Font.h"
 #import "Frame.h"
+#import "FrameLoader.h"
 #import "HTMLNames.h"
 #import "HTMLParserIdioms.h"
 #import "LoaderNSURLExtras.h"
index 5c934e3..799bc69 100644 (file)
@@ -26,7 +26,7 @@
 #import "config.h"
 #import "Pasteboard.h"
 
-#import "CachedResource.h"
+#import "CachedImage.h"
 #import "ClipboardMac.h"
 #import "DOMRangeInternal.h"
 #import "Document.h"
 #import "ExceptionCodePlaceholder.h"
 #import "Frame.h"
 #import "FrameView.h"
+#import "FrameLoader.h"
 #import "FrameLoaderClient.h"
 #import "HitTestResult.h"
 #import "HTMLAnchorElement.h"
 #import "HTMLConverter.h"
-#import "htmlediting.h"
 #import "HTMLNames.h"
+#import "htmlediting.h"
 #import "Image.h"
 #import "KURL.h"
 #import "LegacyWebArchive.h"
index df80441..77bfccd 100644 (file)
@@ -25,8 +25,6 @@
 #include "config.h"
 #include "AuthenticationChallenge.h"
 
-#include "ResourceHandle.h"
-
 namespace WebCore {
 
 AuthenticationChallengeBase::AuthenticationChallengeBase()
index 0db772c..9a1980a 100644 (file)
@@ -31,7 +31,6 @@
 #include "Cookie.h"
 #include "KURL.h"
 #include "NetworkStorageSession.h"
-#include "ResourceHandle.h"
 #include "SoftLinking.h"
 #include <CFNetwork/CFHTTPCookiesPriv.h>
 #include <CoreFoundation/CoreFoundation.h>
index ac081c7..3b55cce 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "ResourceRequestCFNet.h"
 
-#include "ResourceHandle.h"
 #include "ResourceRequest.h"
 
 #if USE(CFNETWORK)
index 6126271..bdead31 100644 (file)
@@ -26,8 +26,6 @@
 #include "config.h"
 #include "CookieStorage.h"
 
-#import "ResourceHandle.h"
-
 #import "WebCoreSystemInterface.h"
 #import <wtf/RetainPtr.h>
 #import <wtf/UnusedParam.h>
index b44aa82..547b69a 100644 (file)
@@ -28,6 +28,7 @@
 #include "config.h"
 #include "Pasteboard.h"
 
+#include "CachedImage.h"
 #include "ClipboardQt.h"
 #include "DocumentFragment.h"
 #include "Editor.h"
index f906c1b..2a49629 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "DOMPlugin.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "Page.h"
 #include "PluginData.h"
diff --git a/Source/WebCore/plugins/PluginRequest.h b/Source/WebCore/plugins/PluginRequest.h
new file mode 100644 (file)
index 0000000..9c1b30d
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef PluginRequest_h
+#define PluginRequest_h
+
+#include "FrameLoadRequest.h"
+
+namespace WebCore {
+
+class PluginRequest {
+    WTF_MAKE_NONCOPYABLE(PluginRequest); WTF_MAKE_FAST_ALLOCATED;
+public:
+    PluginRequest(const FrameLoadRequest& frameLoadRequest, bool sendNotification, void* notifyData, bool shouldAllowPopups)
+        : m_frameLoadRequest(frameLoadRequest)
+        , m_notifyData(notifyData)
+        , m_sendNotification(sendNotification)
+        , m_shouldAllowPopups(shouldAllowPopups)
+    {
+    }
+
+public:
+    const FrameLoadRequest& frameLoadRequest() const { return m_frameLoadRequest; }
+    void* notifyData() const { return m_notifyData; }
+    bool sendNotification() const { return m_sendNotification; }
+    bool shouldAllowPopups() const { return m_shouldAllowPopups; }
+
+private:
+    FrameLoadRequest m_frameLoadRequest;
+    void* m_notifyData;
+    bool m_sendNotification;
+    bool m_shouldAllowPopups;
+};
+
+} // namespace WebCore
+
+#endif
index 55d1702..17ddbb1 100644 (file)
@@ -31,6 +31,7 @@
 #include "KURL.h"
 #include "NetscapePlugInStreamLoader.h"
 #include "PluginQuirkSet.h"
+#include "PluginStreamClient.h"
 #include "ResourceRequest.h"
 #include "ResourceResponse.h"
 #include "Timer.h"
@@ -49,12 +50,6 @@ namespace WebCore {
 
     enum PluginStreamState { StreamBeforeStarted, StreamStarted, StreamStopped };
 
-    class PluginStreamClient {
-    public:
-        virtual ~PluginStreamClient() {}
-        virtual void streamDidFinishLoading(PluginStream*) {}
-    };
-
     class PluginStream : public RefCounted<PluginStream>, private NetscapePlugInStreamLoaderClient {
     public:
         static PassRefPtr<PluginStream> create(PluginStreamClient* client, Frame* frame, const ResourceRequest& request, bool sendNotification, void* notifyData, const NPPluginFuncs* functions, NPP instance, const PluginQuirkSet& quirks)
diff --git a/Source/WebCore/plugins/PluginStreamClient.h b/Source/WebCore/plugins/PluginStreamClient.h
new file mode 100644 (file)
index 0000000..a7e6102
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora, Ltd. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef PluginStreamClient_h
+#define PluginStreamClient_h
+
+namespace WebCore {
+
+class PluginStream;
+
+class PluginStreamClient {
+public:
+    virtual ~PluginStreamClient() { }
+    virtual void streamDidFinishLoading(PluginStream*) { }
+};
+
+} // namespace WebCore
+
+#endif
index af0576f..126bbbd 100644 (file)
@@ -38,6 +38,7 @@
 #include "Element.h"
 #include "FocusController.h"
 #include "Frame.h"
+#include "FrameLoadRequest.h"
 #include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "FrameTree.h"
@@ -56,6 +57,8 @@
 #include "PluginDebug.h"
 #include "PluginMainThreadScheduler.h"
 #include "PluginPackage.h"
+#include "PluginRequest.h"
+#include "PluginStream.h"
 #include "ProxyServer.h"
 #include "RenderBox.h"
 #include "RenderObject.h"
index b333480..5692ccd 100644 (file)
 #ifndef PluginView_h
 #define PluginView_h
 
-#include "FrameLoadRequest.h"
 #include "IntRect.h"
+#include "KURL.h"
 #include "MediaCanStartListener.h"
 #include "PluginViewBase.h"
-#include "ResourceRequest.h"
 #include "Timer.h"
 #include <wtf/HashMap.h>
 #include <wtf/HashSet.h>
@@ -43,7 +42,7 @@
 #include <wtf/text/CString.h>
 
 #if ENABLE(NETSCAPE_PLUGIN_API)
-#include "PluginStream.h"
+#include "PluginStreamClient.h"
 #include "npruntime_internal.h"
 #endif
 
@@ -84,12 +83,12 @@ namespace JSC {
 #endif
 
 namespace WebCore {
+
     class Frame;
     class Image;
     class HTMLPlugInElement;
     class KeyboardEvent;
     class MouseEvent;
-    class KURL;
 #if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
     class PluginMessageThrottlerWin;
 #endif
@@ -99,6 +98,7 @@ namespace WebCore {
     class ResourceError;
     class ResourceResponse;
     class WheelEvent;
+    struct FrameLoadRequest;
 
     enum PluginStatus {
         PluginStatusCanNotFindPlugin,
@@ -106,26 +106,6 @@ namespace WebCore {
         PluginStatusLoadedSuccessfully
     };
 
-    class PluginRequest {
-        WTF_MAKE_NONCOPYABLE(PluginRequest); WTF_MAKE_FAST_ALLOCATED;
-    public:
-        PluginRequest(const FrameLoadRequest& frameLoadRequest, bool sendNotification, void* notifyData, bool shouldAllowPopups)
-            : m_frameLoadRequest(frameLoadRequest)
-            , m_notifyData(notifyData)
-            , m_sendNotification(sendNotification)
-            , m_shouldAllowPopups(shouldAllowPopups) { }
-    public:
-        const FrameLoadRequest& frameLoadRequest() const { return m_frameLoadRequest; }
-        void* notifyData() const { return m_notifyData; }
-        bool sendNotification() const { return m_sendNotification; }
-        bool shouldAllowPopups() const { return m_shouldAllowPopups; }
-    private:
-        FrameLoadRequest m_frameLoadRequest;
-        void* m_notifyData;
-        bool m_sendNotification;
-        bool m_shouldAllowPopups;
-    };
-
     class PluginManualLoader {
     public:
         virtual ~PluginManualLoader() {}
index a5fe3a0..0e2f2ba 100644 (file)
@@ -22,6 +22,7 @@
 #include "config.h"
 #include "HitTestResult.h"
 
+#include "CachedImage.h"
 #include "DocumentMarkerController.h"
 #include "Frame.h"
 #include "FrameSelection.h"
index 305bc7b..d020dc6 100644 (file)
@@ -20,7 +20,6 @@
 #include "config.h"
 #include "InlineFlowBox.h"
 
-#include "CachedImage.h"
 #include "CSSPropertyNames.h"
 #include "Document.h"
 #include "EllipsisBox.h"
index e7c95cb..befef4d 100644 (file)
@@ -25,7 +25,6 @@
 #include "config.h"
 #include "RenderBox.h"
 
-#include "CachedImage.h"
 #include "Chrome.h"
 #include "ChromeClient.h"
 #include "Document.h"
index aabe76c..1409011 100644 (file)
@@ -31,7 +31,6 @@
 #include "Font.h"
 #include "FontSelector.h"
 #include "Frame.h"
-#include "FrameLoaderClient.h"
 #include "GraphicsContext.h"
 #include "HTMLEmbedElement.h"
 #include "HTMLIFrameElement.h"
index cab3e44..61cb591 100644 (file)
@@ -29,6 +29,7 @@
 #include "RenderImage.h"
 
 #include "BitmapImage.h"
+#include "CachedImage.h"
 #include "Font.h"
 #include "FontCache.h"
 #include "Frame.h"
index 0c3a79e..bacb1ed 100644 (file)
@@ -28,6 +28,7 @@
 #include "config.h"
 #include "RenderImageResource.h"
 
+#include "CachedImage.h"
 #include "Image.h"
 #include "RenderImageResourceStyleImage.h"
 #include "RenderObject.h"
@@ -36,7 +37,6 @@ namespace WebCore {
 
 RenderImageResource::RenderImageResource()
     : m_renderer(0)
-    , m_cachedImage(0)
 {
 }
 
@@ -89,6 +89,16 @@ void RenderImageResource::resetAnimation()
         m_renderer->repaint();
 }
 
+PassRefPtr<Image> RenderImageResource::image(int, int) const
+{
+    return m_cachedImage ? m_cachedImage->imageForRenderer(m_renderer) : nullImage();
+}
+
+bool RenderImageResource::errorOccurred() const
+{
+    return m_cachedImage && m_cachedImage->errorOccurred();
+}
+
 void RenderImageResource::setContainerSizeForRenderer(const IntSize& imageContainerSize)
 {
     ASSERT(m_renderer);
@@ -96,6 +106,26 @@ void RenderImageResource::setContainerSizeForRenderer(const IntSize& imageContai
         m_cachedImage->setContainerSizeForRenderer(m_renderer, imageContainerSize, m_renderer->style()->effectiveZoom());
 }
 
+bool RenderImageResource::usesImageContainerSize() const
+{
+    return m_cachedImage ? m_cachedImage->usesImageContainerSize() : false;
+}
+
+bool RenderImageResource::imageHasRelativeWidth() const
+{
+    return m_cachedImage ? m_cachedImage->imageHasRelativeWidth() : false;
+}
+
+bool RenderImageResource::imageHasRelativeHeight() const
+{
+    return m_cachedImage ? m_cachedImage->imageHasRelativeHeight() : false;
+}
+
+LayoutSize RenderImageResource::imageSize(float multiplier) const
+{
+    return m_cachedImage ? m_cachedImage->imageSizeForRenderer(m_renderer, multiplier) : LayoutSize();
+}
+
 Image* RenderImageResource::nullImage()
 {
     return Image::nullImage();
index 4bc6e97..28dbd31 100644 (file)
@@ -26,7 +26,6 @@
 #ifndef RenderImageResource_h
 #define RenderImageResource_h
 
-#include "CachedImage.h"
 #include "CachedResourceHandle.h"
 #include "Image.h"
 #include "LayoutSize.h"
@@ -55,15 +54,15 @@ public:
 
     void resetAnimation();
 
-    virtual PassRefPtr<Image> image(int /* width */ = 0, int /* height */ = 0) const { return m_cachedImage ? m_cachedImage->imageForRenderer(m_renderer) : nullImage(); }
-    virtual bool errorOccurred() const { return m_cachedImage && m_cachedImage->errorOccurred(); }
+    virtual PassRefPtr<Image> image(int width = 0, int height = 0) const;
+    virtual bool errorOccurred() const;
 
     virtual void setContainerSizeForRenderer(const IntSize&);
-    virtual bool usesImageContainerSize() const { return m_cachedImage ? m_cachedImage->usesImageContainerSize() : false; }
-    virtual bool imageHasRelativeWidth() const { return m_cachedImage ? m_cachedImage->imageHasRelativeWidth() : false; }
-    virtual bool imageHasRelativeHeight() const { return m_cachedImage ? m_cachedImage->imageHasRelativeHeight() : false; }
+    virtual bool usesImageContainerSize() const;
+    virtual bool imageHasRelativeWidth() const;
+    virtual bool imageHasRelativeHeight() const;
 
-    virtual LayoutSize imageSize(float multiplier) const { return m_cachedImage ? m_cachedImage->imageSizeForRenderer(m_renderer, multiplier) : LayoutSize(); }
+    virtual LayoutSize imageSize(float multiplier) const;
 
     virtual WrappedImagePtr imagePtr() const { return m_cachedImage.get(); }
 
index ddb1344..51cd809 100644 (file)
@@ -28,6 +28,7 @@
 #include "config.h"
 #include "RenderImageResourceStyleImage.h"
 
+#include "CachedImage.h"
 #include "RenderObject.h"
 #include "StyleCachedImage.h"
 
index 8a0e0c6..fcad75a 100644 (file)
@@ -60,6 +60,7 @@
 #include "FloatRect.h"
 #include "FocusController.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "FrameSelection.h"
 #include "FrameTree.h"
index 917eb1e..a8052f3 100644 (file)
@@ -32,6 +32,7 @@
 #include "AnimationController.h"
 #include "CanvasRenderingContext.h"
 #include "CSSPropertyNames.h"
+#include "CachedImage.h"
 #include "Chrome.h"
 #include "FontCache.h"
 #include "FrameView.h"
index e514a5a..80ac3fb 100644 (file)
 
 #if ENABLE(CSS_FILTERS)
 
-#if ENABLE(SVG)
-#include "CachedSVGDocument.h"
-#endif
-#include "FilterOperation.h"
+#include "CachedResourceHandle.h"
+#include "CachedSVGDocumentClient.h"
 #include "LayoutRect.h"
 #include <wtf/HashMap.h>
 #include <wtf/PassRefPtr.h>
@@ -47,6 +45,8 @@
 
 namespace WebCore {
 
+class CachedSVGDocument;
+class Element;
 class FilterEffectRenderer;
 class FilterOperations;
 class RenderLayer;
index bfc62b1..429f919 100644 (file)
@@ -24,7 +24,6 @@
 #include "config.h"
 #include "RenderListItem.h"
 
-#include "CachedImage.h"
 #include "HTMLNames.h"
 #include "HTMLOListElement.h"
 #include "RenderListMarker.h"
index cd21cea..56a2e4a 100644 (file)
@@ -25,7 +25,6 @@
 #include "config.h"
 #include "RenderListMarker.h"
 
-#include "CachedImage.h"
 #include "Document.h"
 #include "Font.h"
 #include "GraphicsContext.h"
index dadbb92..838f57a 100644 (file)
 #include "config.h"
 #include "RenderSnapshottedPlugIn.h"
 
+#include "CachedImage.h"
 #include "Chrome.h"
 #include "ChromeClient.h"
 #include "Cursor.h"
 #include "FEGaussianBlur.h"
 #include "Filter.h"
-#include "FrameLoaderClient.h"
 #include "FrameView.h"
 #include "Gradient.h"
 #include "HTMLPlugInImageElement.h"
index 4d70e42..700fe60 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "RenderTableCol.h"
 
-#include "CachedImage.h"
 #include "HTMLNames.h"
 #include "HTMLTableColElement.h"
 #include "RenderTable.h"
index 93c384c..1ed4350 100644 (file)
@@ -25,7 +25,6 @@
 #include "config.h"
 #include "RenderTableRow.h"
 
-#include "CachedImage.h"
 #include "Document.h"
 #include "HTMLNames.h"
 #include "HitTestResult.h"
index 46e7f57..5b08925 100644 (file)
@@ -25,7 +25,6 @@
 
 #include "config.h"
 #include "RenderTableSection.h"
-#include "CachedImage.h"
 #include "Document.h"
 #include "HitTestResult.h"
 #include "HTMLNames.h"
index c2e0077..1523429 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "CachedResourceHandle.h"
 #include "StyleShader.h"
+#include <wtf/PassRefPtr.h>
 
 namespace WebCore {
 
diff --git a/Source/WebCore/rendering/style/StyleCustomFilterProgram.cpp b/Source/WebCore/rendering/style/StyleCustomFilterProgram.cpp
new file mode 100644 (file)
index 0000000..c02e8dc
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved.
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above
+ *    copyright notice, this list of conditions and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above
+ *    copyright notice, this list of conditions and the following
+ *    disclaimer in the documentation and/or other materials
+ *    provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "StyleCustomFilterProgram.h"
+
+#if ENABLE(CSS_SHADERS)
+
+#include "CachedShader.h"
+
+namespace WebCore {
+
+String StyleCustomFilterProgram::vertexShaderString() const
+{
+    ASSERT(isLoaded());
+    return m_cachedVertexShader ? m_cachedVertexShader->shaderString() : String();
+}
+
+String StyleCustomFilterProgram::fragmentShaderString() const
+{
+    ASSERT(isLoaded());
+    return m_cachedFragmentShader ? m_cachedFragmentShader->shaderString() : String();
+}
+
+bool StyleCustomFilterProgram::isLoaded() const
+{
+    // Do not use the CachedResource:isLoaded method here, because it actually means !isLoading(),
+    // so missing and canceled resources will have isLoaded set to true, even if they are not loaded yet.
+    return (!m_cachedVertexShader || m_isVertexShaderLoaded)
+        && (!m_cachedFragmentShader || m_isFragmentShaderLoaded);
+}
+
+void StyleCustomFilterProgram::willHaveClients()
+{
+    if (m_vertexShader) {
+        m_cachedVertexShader = m_vertexShader->cachedShader();
+        m_cachedVertexShader->addClient(this);
+    }
+    if (m_fragmentShader) {
+        m_cachedFragmentShader = m_fragmentShader->cachedShader();
+        m_cachedFragmentShader->addClient(this);
+    }
+}
+
+void StyleCustomFilterProgram::didRemoveLastClient()
+{
+    if (m_cachedVertexShader) {
+        m_cachedVertexShader->removeClient(this);
+        m_cachedVertexShader = 0;
+        m_isVertexShaderLoaded = false;
+    }
+    if (m_cachedFragmentShader) {
+        m_cachedFragmentShader->removeClient(this);
+        m_cachedFragmentShader = 0;
+        m_isFragmentShaderLoaded = false;
+    }
+}
+
+void StyleCustomFilterProgram::notifyFinished(CachedResource* resource)
+{
+    if (resource->errorOccurred())
+        return;
+    // Note that m_cachedVertexShader might be equal to m_cachedFragmentShader and it would only get one event in that case.
+    if (resource == m_cachedVertexShader.get())
+        m_isVertexShaderLoaded = true;
+    if (resource == m_cachedFragmentShader.get())
+        m_isFragmentShaderLoaded = true;
+    if (isLoaded())
+        notifyClients();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS)
index ae68d95..dc97da1 100644 (file)
 #define StyleCustomFilterProgram_h
 
 #if ENABLE(CSS_SHADERS)
+
 #include "CachedResourceClient.h"
 #include "CachedResourceHandle.h"
-#include "CachedShader.h"
 #include "CustomFilterProgram.h"
 #include "StyleShader.h"
 #include <wtf/FastAllocBase.h>
 
 namespace WebCore {
 
-// CSS Shaders
+class CachedShader;
 
 class StyleCustomFilterProgram : public CustomFilterProgram, public CachedResourceClient {
     WTF_MAKE_FAST_ALLOCATED;
@@ -56,64 +56,12 @@ public:
     void setFragmentShader(PassRefPtr<StyleShader> shader) { m_fragmentShader = shader; }
     StyleShader* fragmentShader() const { return m_fragmentShader.get(); }
     
-    virtual String vertexShaderString() const
-    {
-        ASSERT(isLoaded());
-        return m_cachedVertexShader.get() ? m_cachedVertexShader->shaderString() : String();
-    }
-    
-    virtual String fragmentShaderString() const
-    {
-        ASSERT(isLoaded());
-        return m_cachedFragmentShader.get() ? m_cachedFragmentShader->shaderString() : String();
-    }
-
-    virtual bool isLoaded() const
-    {
-        // Do not use the CachedResource:isLoaded method here, because it actually means !isLoading(),
-        // so missing and canceled resources will have isLoaded set to true, even if they are not loaded yet.
-        return (!m_cachedVertexShader.get() || m_isVertexShaderLoaded)
-            && (!m_cachedFragmentShader.get() || m_isFragmentShaderLoaded);
-    }
-
-    virtual void willHaveClients()
-    {
-        if (m_vertexShader) {
-            m_cachedVertexShader = m_vertexShader->cachedShader();
-            m_cachedVertexShader->addClient(this);
-        }
-        if (m_fragmentShader) {
-            m_cachedFragmentShader = m_fragmentShader->cachedShader();
-            m_cachedFragmentShader->addClient(this);
-        }
-    }
-    
-    virtual void didRemoveLastClient()
-    {
-        if (m_cachedVertexShader.get()) {
-            m_cachedVertexShader->removeClient(this);
-            m_cachedVertexShader = 0;
-            m_isVertexShaderLoaded = false;
-        }
-        if (m_cachedFragmentShader.get()) {
-            m_cachedFragmentShader->removeClient(this);
-            m_cachedFragmentShader = 0;
-            m_isFragmentShaderLoaded = false;
-        }
-    }
-    
-    virtual void notifyFinished(CachedResource* resource)
-    {
-        if (resource->errorOccurred())
-            return;
-        // Note that m_cachedVertexShader might be equal to m_cachedFragmentShader and it would only get one event in that case.
-        if (resource == m_cachedVertexShader.get())
-            m_isVertexShaderLoaded = true;
-        if (resource == m_cachedFragmentShader.get())
-            m_isFragmentShaderLoaded = true;
-        if (isLoaded())
-            notifyClients();
-    }
+    virtual String vertexShaderString() const OVERRIDE;
+    virtual String fragmentShaderString() const OVERRIDE;
+    virtual bool isLoaded() const OVERRIDE;
+    virtual void willHaveClients() OVERRIDE;
+    virtual void didRemoveLastClient() OVERRIDE;
+    virtual void notifyFinished(CachedResource*) OVERRIDE;
     
     CachedShader* cachedVertexShader() const { return m_vertexShader ? m_vertexShader->cachedShader() : 0; }
     CachedShader* cachedFragmentShader() const { return m_fragmentShader ? m_fragmentShader->cachedShader() : 0; }
index edb4157..e236b67 100644 (file)
@@ -22,7 +22,6 @@
 #define SVGFEImageElement_h
 
 #if ENABLE(SVG) && ENABLE(FILTERS)
-#include "CachedImage.h"
 #include "CachedResourceHandle.h"
 #include "ImageBuffer.h"
 #include "SVGAnimatedBoolean.h"
index 2c7b512..4800d75 100644 (file)
@@ -21,7 +21,8 @@
 #define SVGFontFaceUriElement_h
 
 #if ENABLE(SVG_FONTS)
-#include "CachedFont.h"
+
+#include "CachedFontClient.h"
 #include "CachedResourceHandle.h"
 #include "SVGElement.h"
 
@@ -41,7 +42,7 @@ private:
     SVGFontFaceUriElement(const QualifiedName&, Document*);
     
     virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
-    virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
+    virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0) OVERRIDE;
     virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
 
     void loadFont();
index 4f33d56..e67f649 100644 (file)
@@ -23,6 +23,7 @@
 #if ENABLE(SVG)
 #include "SVGImageLoader.h"
 
+#include "CachedImage.h"
 #include "Event.h"
 #include "EventNames.h"
 #include "HTMLParserIdioms.h"
index 0f296b9..84cdefb 100644 (file)
@@ -30,6 +30,7 @@
 #include "Attribute.h"
 #include "CachedResourceLoader.h"
 #include "CachedResourceRequest.h"
+#include "CachedSVGDocument.h"
 #include "Document.h"
 #include "ElementShadow.h"
 #include "Event.h"
index a7a1eaf..4046ef6 100644 (file)
@@ -22,7 +22,8 @@
 #define SVGUseElement_h
 
 #if ENABLE(SVG)
-#include "CachedSVGDocument.h"
+#include "CachedResourceHandle.h"
+#include "CachedSVGDocumentClient.h"
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
index 63ee611..0a2f7b0 100644 (file)
@@ -22,7 +22,6 @@
 #include "SVGImageCache.h"
 
 #if ENABLE(SVG)
-#include "CachedImage.h"
 #include "FrameView.h"
 #include "GraphicsContext.h"
 #include "ImageBuffer.h"
index b331676..0f2046f 100644 (file)
@@ -32,6 +32,7 @@
 #include "DocumentLoader.h"
 #include "DocumentWriter.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "HTMLIFrameElement.h"
 #include "PagePopup.h"
 #include "PagePopupClient.h"
index b60213e..8d263a7 100644 (file)
@@ -37,6 +37,7 @@
 
 namespace WebCore {
 
+class CachedResourceLoader;
 class XSLImportRule;
     
 class XSLStyleSheet : public StyleSheet {
index 503802c..0b66796 100644 (file)
@@ -31,8 +31,8 @@
 #include "DOMWindow.h"
 #include "Document.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "ResourceError.h"
-#include "ResourceHandle.h"
 #include "ResourceRequest.h"
 #include "ResourceResponse.h"
 #include "SecurityOrigin.h"
index 4e1350e..db88c3f 100644 (file)
@@ -42,7 +42,6 @@
 #include "ImageLoader.h"
 #include "ProcessingInstruction.h"
 #include "ResourceError.h"
-#include "ResourceHandle.h"
 #include "ResourceRequest.h"
 #include "ResourceResponse.h"
 #include "ScriptElement.h"
index c5cf5f6..b4f0e1e 100644 (file)
@@ -33,6 +33,7 @@
 #include "XMLErrors.h"
 #include <wtf/HashMap.h>
 #include <wtf/OwnPtr.h>
+#include <wtf/text/AtomicStringHash.h>
 #include <wtf/text/CString.h>
 #include <wtf/text/StringHash.h>
 
index 50bb4ff..3e0cccf 100644 (file)
@@ -46,7 +46,6 @@
 #include "HTMLTemplateElement.h"
 #include "ProcessingInstruction.h"
 #include "ResourceError.h"
-#include "ResourceHandle.h"
 #include "ResourceRequest.h"
 #include "ResourceResponse.h"
 #include "ScriptElement.h"
index 91770ce..5ea574c 100644 (file)
@@ -1,3 +1,23 @@
+2013-02-28  Alexey Proskuryakov  <ap@apple.com>
+
+        Reduce amount of rebuilding when touching networking headers
+        https://bugs.webkit.org/show_bug.cgi?id=111035
+
+        Reviewed by Eric Seidel.
+
+        Adding includes that are now necessary because WebCore headers don't have them
+        any more.
+
+        * src/ApplicationCacheHost.cpp:
+        * src/AssociatedURLLoader.cpp:
+        * src/EditorClientImpl.cpp:
+        * src/SharedWorkerRepository.cpp:
+        * src/WebDataSourceImpl.cpp:
+        * src/WebFrameImpl.h:
+        * src/WebNode.cpp:
+        * src/WebSharedWorkerImpl.cpp:
+        * tests/FrameLoaderClientImplTest.cpp:
+
 2013-02-28  Ankur Taly  <ataly@google.com>
 
         WebKit API for enabling DOM logging for certain worlds
index a8f398e..dbfd450 100644 (file)
@@ -35,6 +35,7 @@
 #include "DOMApplicationCache.h"
 #include "DocumentLoader.h"
 #include "Frame.h"
+#include "FrameLoader.h"
 #include "InspectorApplicationCacheAgent.h"
 #include "InspectorInstrumentation.h"
 #include "Page.h"
index cebedfa..6be9763 100644 (file)
@@ -35,6 +35,7 @@
 #include "DocumentThreadableLoader.h"
 #include "DocumentThreadableLoaderClient.h"
 #include "HTTPValidation.h"
+#include "ResourceError.h"
 #include "SubresourceLoader.h"
 #include "Timer.h"
 #include "WebApplicationCacheHost.h"
index 0f32552..98303f4 100644 (file)
@@ -36,6 +36,7 @@
 #include "HTMLNames.h"
 #include "KeyboardCodes.h"
 #include "KeyboardEvent.h"
+#include "NotImplemented.h"
 #include "PlatformKeyboardEvent.h"
 #include "RenderObject.h"
 #include "Settings.h"
index 45ae12b..a7e27b7 100644 (file)
@@ -41,6 +41,7 @@
 #include "InspectorInstrumentation.h"
 #include "MessagePortChannel.h"
 #include "PlatformMessagePortChannelChromium.h"
+#include "ResourceResponse.h"
 #include "ScriptExecutionContext.h"
 #include "SharedWorker.h"
 #include "WebContentSecurityPolicy.h"
index 490f298..1a3f85a 100644 (file)
@@ -32,6 +32,7 @@
 #include "WebDataSourceImpl.h"
 
 #include "ApplicationCacheHostInternal.h"
+#include "FrameLoader.h"
 #include <public/WebURL.h>
 #include <public/WebURLError.h>
 #include <public/WebVector.h>
index 0ce98fb..72ba786 100644 (file)
@@ -42,6 +42,7 @@
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
+class FrameLoadRequest;
 class GraphicsContext;
 class HTMLInputElement;
 class HistoryItem;
index 8b4dc8a..9872df3 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "Document.h"
 #include "Element.h"
+#include "Event.h"
 #include "Frame.h"
 #include "FrameLoaderClientImpl.h"
 #include "Node.h"
index f60bed1..acd2ad1 100644 (file)
@@ -35,6 +35,7 @@
 #include "DatabaseTask.h"
 #include "Document.h"
 #include "FrameLoadRequest.h"
+#include "FrameLoader.h"
 #include "GroupSettings.h"
 #include "KURL.h"
 #include "MessageEvent.h"
index 12ca684..eebbdb0 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "FrameLoaderClientImpl.h"
 
+#include "FrameLoader.h"
 #include "KURL.h"
 #include "WebFrameClient.h"
 #include "WebFrameImpl.h"
index 5e32027..3a7034e 100644 (file)
@@ -1,3 +1,16 @@
+2013-02-28  Alexey Proskuryakov  <ap@apple.com>
+
+        Reduce amount of rebuilding when touching networking headers
+        https://bugs.webkit.org/show_bug.cgi?id=111035
+
+        Reviewed by Eric Seidel.
+
+        Adding includes that are now necessary because WebCore headers don't have them
+        any more.
+
+        * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+        * ewk/ewk_frame.cpp:
+
 2013-02-28  Seokju Kwon  <seokju.kwon@gmail.com>
 
         [EFL] Focus problem in inspector/extensions/extensions-panel.html
index b9d17e8..e03793d 100644 (file)
@@ -38,6 +38,7 @@
 #include <FindOptions.h>
 #include <FloatSize.h>
 #include <FocusController.h>
+#include <FrameLoader.h>
 #include <FrameView.h>
 #include <HTMLInputElement.h>
 #include <InspectorController.h>
index 1d94de6..4153694 100644 (file)
@@ -29,6 +29,7 @@
 #include "EventHandler.h"
 #include "FocusController.h"
 #include "FrameLoadRequest.h"
+#include "FrameLoader.h"
 #include "FrameLoaderClientEfl.h"
 #include "FrameView.h"
 #include "HTMLCollection.h"
index 0334acb..0b6e190 100644 (file)
@@ -1,3 +1,15 @@
+2013-02-28  Alexey Proskuryakov  <ap@apple.com>
+
+        Reduce amount of rebuilding when touching networking headers
+        https://bugs.webkit.org/show_bug.cgi?id=111035
+
+        Reviewed by Eric Seidel.
+
+        Adding includes that are now necessary because WebCore headers don't have them
+        any more.
+
+        * webkit/webkitwebpolicydecision.cpp:
+
 2013-02-26  Martin Robinson  <mrobinson@igalia.com>
 
         REGRESSION (r143619): Crashes in three layout tests
index 624ff9a..6ffefbd 100644 (file)
@@ -20,8 +20,8 @@
 #include "config.h"
 #include "webkitwebpolicydecision.h"
 
+#include "FrameLoader.h"
 #include "FrameLoaderClient.h"
-#include "FrameLoaderTypes.h"
 #include "webkitwebframeprivate.h"
 #include "webkitwebpolicydecisionprivate.h"
 
index 02764bf..9c9e54c 100644 (file)
@@ -1,3 +1,19 @@
+2013-02-28  Alexey Proskuryakov  <ap@apple.com>
+
+        Reduce amount of rebuilding when touching networking headers
+        https://bugs.webkit.org/show_bug.cgi?id=111035
+
+        Reviewed by Eric Seidel.
+
+        Adding includes that are now necessary because WebCore headers don't have them
+        any more.
+
+        * DOM/WebDOMOperations.mm:
+        * Misc/WebNSPasteboardExtras.mm:
+        * WebCoreSupport/WebFrameNetworkingContext.mm:
+        * WebView/WebRenderLayer.mm:
+        * WebView/WebRenderNode.mm:
+
 2013-02-27  John Bauman  <jbauman@chromium.org>
 
         Plugin in iframe may not display
index 8197fd2..88c1d86 100644 (file)
@@ -41,6 +41,7 @@
 #import <JavaScriptCore/APICast.h>
 #import <WebCore/Document.h>
 #import <WebCore/Frame.h>
+#import <WebCore/FrameLoader.h>
 #import <WebCore/HTMLInputElement.h>
 #import <WebCore/HTMLParserIdioms.h>
 #import <WebCore/JSElement.h>
index e4404f7..a4af935 100644 (file)
@@ -36,6 +36,7 @@
 #import "WebResourcePrivate.h"
 #import "WebURLsWithTitles.h"
 #import "WebViewPrivate.h"
+#import <WebCore/CachedImage.h>
 #import <WebCore/Element.h>
 #import <WebCore/Image.h>
 #import <WebCore/MIMETypeRegistry.h>
index 3055f9e..de0ed85 100644 (file)
@@ -20,6 +20,7 @@
 
 #import "WebFrameNetworkingContext.h"
 
+#import <WebCore/FrameLoader.h>
 #import <WebCore/FrameLoaderClient.h>
 #import <WebCore/NetworkStorageSession.h>
 #import <WebCore/Page.h>
index 646dc1d..ebf3877 100644 (file)
@@ -27,6 +27,7 @@
 
 #import "WebFrameInternal.h"
 #import <WebCore/Frame.h>
+#import <WebCore/FrameLoader.h>
 #import <WebCore/FrameLoaderClient.h>
 #import <WebCore/RenderLayer.h>
 #import <WebCore/RenderLayerBacking.h>
index 9bed4bd..2392b99 100644 (file)
@@ -30,6 +30,7 @@
 
 #import "WebFrameInternal.h"
 #import <WebCore/Frame.h>
+#import <WebCore/FrameLoader.h>
 #import <WebCore/FrameLoaderClient.h>
 #import <WebCore/RenderText.h>
 #import <WebCore/RenderWidget.h>
index 82235d5..c6e380a 100644 (file)
@@ -1,3 +1,16 @@
+2013-02-28  Alexey Proskuryakov  <ap@apple.com>
+
+        Reduce amount of rebuilding when touching networking headers
+        https://bugs.webkit.org/show_bug.cgi?id=111035
+
+        Reviewed by Eric Seidel.
+
+        Adding includes that are now necessary because WebCore headers don't have them
+        any more.
+
+        * WebCoreSupport/NotificationPresenterClientQt.cpp:
+        * WebCoreSupport/QWebPageAdapter.cpp:
+
 2013-02-24  Andreas Kling  <akling@apple.com>
 
         StyledElement: Don't expose a mutable direct interface to the inline style.
index 7b92e50..11b0f26 100644 (file)
@@ -33,6 +33,7 @@
 #include "NotificationPresenterClientQt.h"
 
 #include "Document.h"
+#include "Event.h"
 #include "EventNames.h"
 #include "KURL.h"
 #include "Page.h"
index a4b542c..5f0ca23 100644 (file)
@@ -41,6 +41,7 @@
 #include "DragSession.h"
 #include "EditorClientQt.h"
 #include "FocusController.h"
+#include "FrameLoadRequest.h"
 #include "FrameView.h"
 #if ENABLE(GEOLOCATION)
 #include "GeolocationClientMock.h"
index 63c3c30..5deb3db 100644 (file)
@@ -1,3 +1,33 @@
+2013-02-28  Alexey Proskuryakov  <ap@apple.com>
+
+        Reduce amount of rebuilding when touching networking headers
+        https://bugs.webkit.org/show_bug.cgi?id=111035
+
+        Reviewed by Eric Seidel.
+
+        Adding includes that are now necessary because WebCore headers don't have them
+        any more.
+
+        * NetworkProcess/HostRecord.h:
+        * NetworkProcess/NetworkResourceLoadScheduler.h:
+        * NetworkProcess/NetworkResourceLoader.h:
+        * Shared/WebRenderLayer.cpp:
+        * Shared/WebRenderObject.cpp:
+        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
+        * WebProcess/Plugins/PDF/PDFPlugin.mm:
+        * WebProcess/Plugins/PluginView.cpp:
+        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
+        * WebProcess/WebPage/mac/WebPageMac.mm:
+        * WebProcess/WebProcess.cpp:
+        * WebProcess/soup/WebProcessSoup.cpp:
+
 2013-02-28  Seokju Kwon  <seokju.kwon@gmail.com>
 
         [WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
index d7497d7..84611a1 100644 (file)
@@ -28,7 +28,7 @@
 
 #if ENABLE(NETWORK_PROCESS)
 
-#include <WebCore/ResourceRequest.h>
+#include <WebCore/ResourceLoadPriority.h>
 #include <wtf/Deque.h>
 #include <wtf/HashSet.h>
 #include <wtf/RefCounted.h>
index 78ce23f..0cadd04 100644 (file)
@@ -28,7 +28,6 @@
 
 #include "SchedulableLoader.h"
 #include <WebCore/ResourceLoaderOptions.h>
-#include <WebCore/ResourceRequest.h>
 #include <WebCore/Timer.h>
 #include <wtf/HashSet.h>
 
index dfacb6c..30fa94d 100644 (file)
 #include "SchedulableLoader.h"
 #include <WebCore/ResourceHandleClient.h>
 #include <WebCore/ResourceLoaderOptions.h>
-#include <WebCore/ResourceRequest.h>
 
 namespace WebCore {
 class ResourceBuffer;
 class ResourceHandle;
+class ResourceRequest;
 }
 
 namespace WebKit {
index 9b138fc..31f1bbd 100644 (file)
@@ -29,6 +29,7 @@
 #include "WebPage.h"
 #include "WebString.h"
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/FrameLoaderClient.h>
 #include <WebCore/RenderLayer.h>
 #include <WebCore/RenderLayerBacking.h>
index 3a25edf..b72ff04 100644 (file)
@@ -29,6 +29,7 @@
 #include "WebPage.h"
 #include "WebString.h"
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/FrameLoaderClient.h>
 #include <WebCore/RenderText.h>
 #include <WebCore/RenderView.h>
index 0d110c5..99b4743 100644 (file)
@@ -33,6 +33,7 @@
 #include "WebPage.h"
 #include "WebPageProxyMessages.h"
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/Geolocation.h>
 #include <WebCore/SecurityOrigin.h>
 
index 06ddc3b..b0177b5 100644 (file)
@@ -34,6 +34,7 @@
 #include "WebFrame.h"
 #include "WebSecurityOrigin.h"
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/FrameView.h>
 
 using namespace WebCore;
index 77e0309..1295359 100644 (file)
@@ -31,6 +31,7 @@
 #include <JavaScriptCore/APICast.h>
 #include <WebCore/Document.h>
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/HTMLFrameElement.h>
 #include <WebCore/HTMLIFrameElement.h>
 #include <WebCore/HTMLInputElement.h>
index 93939b5..dcd063d 100644 (file)
@@ -51,6 +51,7 @@
 #include <WebCore/ApplicationCache.h>
 #include <WebCore/ApplicationCacheStorage.h>
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/FrameView.h>
 #include <WebCore/GCController.h>
 #include <WebCore/GeolocationClient.h>
index d448e84..a2b4a0b 100644 (file)
@@ -31,6 +31,7 @@
 #include "WebFrameLoaderClient.h"
 #include <WebCore/DOMWindowExtension.h>
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <wtf/HashMap.h>
 
 using namespace WebCore;
index 2f59af9..460f4f6 100644 (file)
@@ -48,6 +48,7 @@
 #import <WebCore/FocusController.h>
 #import <WebCore/FormState.h>
 #import <WebCore/Frame.h>
+#import <WebCore/FrameLoader.h>
 #import <WebCore/FrameView.h>
 #import <WebCore/GraphicsContext.h>
 #import <WebCore/HTMLElement.h>
index d9c2005..e630378 100644 (file)
@@ -44,6 +44,7 @@
 #include <WebCore/FocusController.h>
 #include <WebCore/Frame.h>
 #include <WebCore/FrameLoadRequest.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/FrameLoaderClient.h>
 #include <WebCore/FrameView.h>
 #include <WebCore/GraphicsContext.h>
index 29c7e2e..e21280e 100644 (file)
@@ -33,7 +33,9 @@
 #include "WebContextMenuItemData.h"
 #include "WebPage.h"
 #include <WebCore/ContextMenu.h>
+#include <WebCore/Event.h>
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/NotImplemented.h>
 #include <WebCore/Page.h>
 #include <WebCore/UserGestureIndicator.h>
index f309aac..4d33f92 100644 (file)
@@ -37,6 +37,7 @@
 #include <WebCore/DocumentFragment.h>
 #include <WebCore/FocusController.h>
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/FrameView.h>
 #include <WebCore/HTMLInputElement.h>
 #include <WebCore/HTMLNames.h>
index 61149fd..a83de1d 100644 (file)
@@ -57,6 +57,7 @@
 #include <WebCore/FormState.h>
 #include <WebCore/Frame.h>
 #include <WebCore/FrameLoadRequest.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/FrameView.h>
 #include <WebCore/HTMLAppletElement.h>
 #include <WebCore/HTMLFormElement.h>
index 48ef937..2a04c17 100644 (file)
@@ -21,6 +21,7 @@
 #import "config.h"
 #import "WebFrameNetworkingContext.h"
 
+#import <WebCore/FrameLoader.h>
 #import <WebCore/FrameLoaderClient.h>
 #import <WebCore/Page.h>
 #import <WebCore/ResourceError.h>
index 602de9b..8be8d89 100644 (file)
@@ -45,6 +45,7 @@
 #import <WebCore/AXObjectCache.h>
 #import <WebCore/FocusController.h>
 #import <WebCore/Frame.h>
+#import <WebCore/FrameLoader.h>
 #import <WebCore/FrameView.h>
 #import <WebCore/HitTestResult.h>
 #import <WebCore/HTMLConverter.h>
index cb04367..1532e87 100644 (file)
@@ -63,6 +63,7 @@
 #include <WebCore/Font.h>
 #include <WebCore/FontCache.h>
 #include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
 #include <WebCore/GCController.h>
 #include <WebCore/GlyphPageTreeNode.h>
 #include <WebCore/IconDatabase.h>
index aaef965..1c9d332 100644 (file)
@@ -37,6 +37,7 @@
 #include <WebCore/PageCache.h>
 #include <WebCore/ResourceHandle.h>
 #include <libsoup/soup-cache.h>
+#include <libsoup/soup.h>
 #include <wtf/gobject/GOwnPtr.h>
 #include <wtf/gobject/GRefPtr.h>
 #include <wtf/text/CString.h>