Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a4a0ae0d75768887423c88d42cb963ec2035960b
      
https://github.com/WebKit/WebKit/commit/a4a0ae0d75768887423c88d42cb963ec2035960b
  Author: Jer Noble <[email protected]>
  Date:   2023-01-23 (Mon, 23 Jan 2023)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/audiosession/DOMAudioSession.h
    M Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.h
    M Source/WebCore/Modules/screen-wake-lock/WakeLock.cpp
    M Source/WebCore/Modules/webxr/WebXRSession.cpp
    M Source/WebCore/Modules/webxr/WebXRWebGLLayer.h
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/bindings/js/ScriptController.cpp
    M Source/WebCore/bindings/js/ScriptController.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/DocumentInlines.h
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/FragmentScriptingPermission.h
    M Source/WebCore/dom/KeyboardEvent.cpp
    M Source/WebCore/dom/VisibilityState.h
    M Source/WebCore/html/CanvasBase.h
    A Source/WebCore/html/CanvasObserver.h
    M Source/WebCore/page/Chrome.h
    M Source/WebCore/page/ContextMenuController.cpp
    M Source/WebCore/page/DebugPageOverlays.cpp
    M Source/WebCore/page/DisabledAdaptations.h
    M Source/WebCore/page/DragController.cpp
    M Source/WebCore/page/EventHandler.cpp
    M Source/WebCore/page/ResourceUsageOverlay.cpp
    M Source/WebCore/page/ios/EventHandlerIOS.mm
    M Source/WebCore/page/mac/ImageOverlayControllerMac.mm
    M Source/WebCore/page/mac/ServicesOverlayController.mm
    M Source/WebCore/platform/EventTrackingRegions.h
    M Source/WebCore/platform/KeyboardScrollingAnimator.cpp
    M Source/WebCore/platform/PlatformEvent.h
    M Source/WebCore/platform/PlatformKeyboardEvent.h
    M Source/WebCore/platform/PlatformMouseEvent.h
    M Source/WebCore/platform/PlatformTouchEvent.h
    M Source/WebCore/platform/PlatformWheelEvent.cpp
    M Source/WebCore/platform/PlatformWheelEvent.h
    M Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp
    M Source/WebCore/platform/ios/KeyEventIOS.mm
    M Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm
    M Source/WebCore/platform/ios/ScrollAnimatorIOS.mm
    M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp
    M Source/WebCore/platform/libwpe/PlatformKeyboardEventLibWPE.cpp
    M Source/WebCore/platform/mac/KeyEventMac.mm
    M Source/WebCore/platform/mac/PlatformEventFactoryMac.mm
    M Source/WebCore/platform/win/KeyEventWin.cpp
    M Source/WebCore/platform/win/PlatformMouseEventWin.cpp
    M Source/WebCore/platform/win/WheelEventWin.cpp
    M Source/WebCore/rendering/style/StyleCanvasImage.h
    M Source/WebCore/rendering/style/StyleCrossfadeImage.h
    M Source/WebCore/xml/DOMParser.cpp
    M Source/WebKit/Shared/WebEventConversion.cpp
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollerPairMac.mm
    M 
Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp
    M Source/WebKit/WebProcess/Network/WebSocketChannel.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp
    M Source/WebKit/WebProcess/WebPage/FindController.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm
    M Source/WebKit/WebProcess/WebPage/win/WebPageWin.cpp
    M Source/WebKitLegacy/mac/DOM/DOMDocument.mm
    M Source/WebKitLegacy/mac/WebView/WebFrame.mm
    M Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
    M Source/WebKitLegacy/mac/WebView/WebPDFView.mm
    M Source/WebKitLegacy/win/WebDropSource.cpp
    M Source/WebKitLegacy/win/WebView.cpp

  Log Message:
  -----------
  Refactor Document.h to reduce build times
https://bugs.webkit.org/show_bug.cgi?id=250887
rdar://104465840

Reviewed by Darin Adler.

Replace explicit header includes with forward declarations wherever possible.

For some headers,
this requires enumerations to be moved outside an owning class and into 
namespace scope so those
enumerations can be forward declared.

For CanvasBase.h, pull CanvasObserver.h into its own file with minimal header 
dependencies.

For ScriptController, eliminate the requirement for SecurityOrigin to be 
included by modifying
executeJavaScriptURL() to take an r-value reference to a RefPtr<SecurityOrigin>.

With these changes, the compile-time cost of including Document.h has been 
reduced by 75%.

* Source/WebCore/Modules/audiosession/DOMAudioSession.h:
* Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.h:
* Source/WebCore/Modules/screen-wake-lock/WakeLock.cpp:
* Source/WebCore/Modules/webxr/WebXRSession.cpp:
* Source/WebCore/Modules/webxr/WebXRWebGLLayer.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeJavaScriptURL):
* Source/WebCore/bindings/js/ScriptController.h:
(WebCore::ScriptController::executeJavaScriptURL):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setFocusedElement):
(WebCore::Document::hasListenerTypeForEventType const):
(WebCore::m_reportingScope): Deleted.
* Source/WebCore/dom/Document.h:
(WebCore::Document::setFocusedElement): Deleted.
(WebCore::Document::wasLastFocusByClick const): Deleted.
(WebCore::Document::clientOrigin const): Deleted.
* Source/WebCore/dom/DocumentInlines.h:
(WebCore::Document::clientOrigin const):
(WebCore::Document::wasLastFocusByClick const):
* Source/WebCore/dom/Element.cpp:
(WebCore::isForceEvent):
(WebCore::Element::dispatchMouseForceWillBegin):
* Source/WebCore/dom/FragmentScriptingPermission.h:
* Source/WebCore/dom/KeyboardEvent.cpp:
(WebCore::eventTypeForKeyboardEventType):
* Source/WebCore/dom/VisibilityState.h:
* Source/WebCore/html/CanvasBase.h:
(WebCore::CanvasObserver::isStyleCanvasImage const): Deleted.
* Source/WebCore/html/CanvasObserver.h: Copied from 
Source/WebCore/page/DisabledAdaptations.h.
(WebCore::CanvasObserver::isStyleCanvasImage const):
* Source/WebCore/page/Chrome.h:
* Source/WebCore/page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenuAt):
* Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::InteractionRegionOverlay::mouseEvent):
* Source/WebCore/page/DisabledAdaptations.h:
* Source/WebCore/page/DragController.cpp:
(WebCore::createMouseEvent):
* Source/WebCore/page/EventHandler.cpp:
(WebCore::SyntheticTouchPoint::SyntheticTouchPoint):
(WebCore::SyntheticSingleTouchEvent::SyntheticSingleTouchEvent):
(WebCore::EventHandler::handleMouseForceEvent):
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
(WebCore::EventHandler::isKeyEventAllowedInFullScreen const):
(WebCore::EventHandler::internalKeyEvent):
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
* Source/WebCore/page/ResourceUsageOverlay.cpp:
(WebCore::ResourceUsageOverlay::mouseEvent):
* Source/WebCore/page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::dispatchSimulatedTouchEvent):
(WebCore::EventHandler::tryToBeginDragAtPoint):
* Source/WebCore/page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::platformHandleMouseEvent):
* Source/WebCore/page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::mouseEvent):
* Source/WebCore/platform/KeyboardScrollingAnimator.cpp:
(WebCore::keyboardScrollingKeyForKeyboardEvent):
* Source/WebCore/platform/PlatformEvent.h:
(WebCore::PlatformEvent::type const):
(WebCore::PlatformEvent::PlatformEvent):
(): Deleted.
* Source/WebCore/platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* Source/WebCore/platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* Source/WebCore/platform/PlatformWheelEvent.cpp:
(WebCore::PlatformWheelEvent::createFromGesture):
* Source/WebCore/platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* Source/WebCore/platform/ios/KeyEventIOS.mm:
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::mouseEventType):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
(WebCore::touchEventType):
(WebCore::touchPhaseFromPlatformEventType):
* Source/WebCore/platform/ios/ScrollAnimatorIOS.mm:
(WebCore::ScrollAnimatorIOS::handleTouchEvent):
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp:
* Source/WebCore/platform/mac/KeyEventMac.mm:
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* Source/WebCore/platform/mac/PlatformEventFactoryMac.mm:
(WebCore::mouseEventTypeForEvent):
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
* Source/WebCore/rendering/style/StyleCanvasImage.h:
* Source/WebCore/rendering/style/StyleCrossfadeImage.h:
* Source/WebCore/xml/DOMParser.cpp:
* Source/WebKit/Shared/WebEventConversion.cpp:
(WebKit::platform):
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollerPairMac.mm:
(WebKit::ScrollerPairMac::handleMouseEvent):
* Source/WebKit/WebProcess/Network/WebSocketChannel.cpp:
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::dispatchSyntheticMouseMove):
(WebKit::WebPage::generateSyntheticEditingCommand):
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::handleDoubleTapForDoubleClickAtPoint):
(WebKit::WebPage::requestAdditionalItemsForDragSession):
(WebKit::WebPage::inspectorNodeSearchMovedToPosition):
(WebKit::WebPage::dispatchSyntheticMouseEventsForSelectionGesture):
* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::executeKeypressCommandsInternal):
(WebKit::WebPage::handleEditingKeyboardEvent):
* Source/WebKitLegacy/mac/DOM/DOMDocument.mm:
* Source/WebKitLegacy/mac/WebView/WebFrame.mm:
(-[WebFrame _dragSourceEndedAt:operation:]):
* Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(currentKeyboardEvent):
(-[WebHTMLView _interpretKeyEvent:savingCommands:]):
* Source/WebKitLegacy/mac/WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

Canonical link: https://commits.webkit.org/259231@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to