Reduce amount of rebuilding when touching networking headers
authorap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 2 Mar 2013 06:36:29 +0000 (06:36 +0000)
committerap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 2 Mar 2013 06:36:29 +0000 (06:36 +0000)
commit43715a7fd1e966e575a6aa88a1968726d29e52bc
tree7c823776ebeb3a94e6222a372b659c11a0602a6c
parente650d8c8a9555092950181a82220ad3a0c6f96d2
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144530 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