Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce build times by refactoring WebPage.h #13545

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

darinadler
Copy link
Member

@darinadler darinadler commented May 7, 2023

2aea878

Reduce build times by refactoring WebPage.h
https://bugs.webkit.org/show_bug.cgi?id=256424
rdar://108997618

Reviewed by NOBODY (OOPS!).

* Source/JavaScriptCore/inspector/InspectorFrontendChannel.h:
Moved FrontendChannel::ConnectionType out to the namespace level
so it can be forward declared.

* Source/WTF/wtf/RunLoop.cpp:
(WTF::runLoopHolder): Made this a non-member function so we don't have to include
ThreadSpecific.h in the header.

* Source/WebCore/dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument): Use AllPlugins and
OnlyApplicationPlugins.

* Source/WebCore/page/MediaControlsContextMenuItem.h: Moved
MediaControlsContextMenuItem::ID out to the namespace level so
it can be fowrad declared.

* Source/WebCore/page/PageOverlay.cpp:
(WebCore::generatePageOverlayID): Use PageOverlayID.

* Source/WebCore/page/PageOverlay.h: Move PageOverlay::PageOverlayID
out to the namespace level so it can be forward declared.

* Source/WebCore/page/WebCoreKeyboardUIMode.h: Add an underlying type
to KeyboardUIMode so it can be forward declared.

* Source/WebCore/plugins/PluginData.cpp:
(WebCore::supportsMimeTypeForPlugins): Use AllowedPluginTypes and AllPlugins.

* Source/WebCore/plugins/PluginData.h: Moved PluginData::AllowedPluginTypes
out to the namespace level so it can be forward declared.

* Source/WebKit/Shared/ContentWorldShared.h: Use a struct for the argument
to ObjectIdentifier so ContentWorldIdentifier can be forward declared.

* Source/WebKit/Shared/WebHitTestResultData.h: Use WebCore::PageOverlayID.

* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: Updated includes.
* Source/WebKit/UIProcess/WebPageProxy.cpp: Ditto.

* Source/WebKit/WebKit.xcodeproj/project.pbxproj: Added WebPageInternals.h
and DrawingAreaInlines.h.

* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIEventCocoa.mm: Updated includes.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationEventCocoa.mm: Ditto.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIEvent.h: Ditto. Ditto.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWebNavigationEvent.h: Ditto.
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp: Ditto.
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: Ditto.
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Ditto.
* Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: Ditto.
* Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h: Ditto.
* Source/WebKit/WebProcess/Model/ARKitInlinePreviewModelPlayer.h: Ditto.

* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::webResourceLoaderForIdentifier const): Moved here from header.
(WebKit::WebLoaderStrategy::ongoingLoads const): Ditto.
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.h: Updated for the above.

* Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::processingUserGesture): Pass nullopt for the
ResourceLoaderIdentifier for addConsoleMessage.

* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: Updated includes.
* Source/WebKit/WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.h: Ditto.
* Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto.

* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Updated includes.
(WebKit::WebFrameLoaderClient::objectContentType): Use AllPlugins and OnlyApplicationPlugins.

* Source/WebKit/WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Updated includes.

* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Updated includes.
(WebKit::OverridePasteboardForSelectionReplacement::OverridePasteboardForSelectionReplacement):
Use Span instead of IPC::DataReference.
(WebKit::WebPage::replaceImageForRemoveBackground): Ditto.
(WebKit::WebPage::replaceSelectionWithPasteboardData): Ditto.
(WebKit::WebPage::sanitizeLookalikeCharacters): Moved non-Apple-internal version to WebPage.cpp.
(WebKit::WebPage::allowedLookalikeCharacters): Ditto.

* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
Updated includes.

* Source/WebKit/WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::displayColorSpace const): Moved here from header.
(WebKit::DrawingArea::activityStateDidChange): Ditto.
(WebKit::DrawingArea::setColorSpace): Ditto.
(WebKit::DrawingArea::acceleratedAnimationDidStart): Ditto.
(WebKit::DrawingArea::acceleratedAnimationDidEnd): Ditto.
(WebKit::DrawingArea::adjustTransientZoom): Ditto.
(WebKit::DrawingArea::commitTransientZoom): Ditto.
(WebKit::DrawingArea::addRootFrame): Ditto.
(WebKit::DrawingArea::mainFrameContentSizeChanged): Ditto.
(WebKit::DrawingArea::attachViewOverlayGraphicsLayer): Ditto.

* Source/WebKit/WebProcess/WebPage/DrawingArea.h: Reduced includes,
added forward declarations, moved functions out of the header that
can't compile without the includes. These were virtual functions and
not inlined in practice anyway except for send, which is moved into
DrawingAreaInlines.h.

* Source/WebKit/WebProcess/WebPage/DrawingAreaInlines.h: Added.

* Source/WebKit/WebProcess/WebPage/EventDispatcher.h: Moved
EventDispatcher::WheelEventOrigin out to the namespace level so it can
be forward declared.

* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.h:
Updated includes.
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: Ditto.
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: Ditto.
* Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp: Ditto.

* Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.h: Moved
WebBackForwardListProxy::OverwriteExistingItem out to the namespace
level so it cna be forward declared.

* Source/WebKit/WebProcess/WebPage/WebContextMenu.cpp: Updated includes.

* Source/WebKit/WebProcess/WebPage/WebPage.cpp: Updated includes.
(WebKit::WebPage::Internals::Internals): Added.
(WebKit::overriddenMediaType): Updated to use internals().
(WebKit::WebPage::WebPage): Ditto.
(WebKit::m_appHighlightsVisible): Ditto.
(WebKit::WebPage::reinitializeWebPage): Ditto.
(WebKit::WebPage::updateThrottleState): Ditto.
(WebKit::WebPage::isThrottleable const): Ditto.
(WebKit::WebPage::initializeInjectedBundleFullScreenClient): Ditto.
(WebKit::WebPage::editorState const): Ditto.
(WebKit::WebPage::close): Ditto.
(WebKit::WebPage::loadDataInFrame): Ditto.
(WebKit::WebPage::loadRequest): Ditto.
(WebKit::WebPage::loadDataImpl): Ditto.
(WebKit::WebPage::loadAlternateHTML): Ditto.
(WebKit::WebPage::loadSimulatedRequestAndResponse): Ditto.
(WebKit::WebPage::goToBackForwardItem): Ditto.
(WebKit::WebPage::setSize): Ditto.
(WebKit::WebPage::sendViewportAttributesChanged): Ditto.
(WebKit::WebPage::scalePage): Ditto.
(WebKit::WebPage::setFixedLayoutSize): Ditto.
(WebKit::WebPage::setDefaultUnobscuredSize): Ditto.
(WebKit::WebPage::updateSizeForCSSDefaultViewportUnits): Ditto.
(WebKit::WebPage::setMinimumUnobscuredSize): Ditto.
(WebKit::WebPage::updateSizeForCSSSmallViewportUnits): Ditto.
(WebKit::WebPage::setMaximumUnobscuredSize): Ditto.
(WebKit::WebPage::updateSizeForCSSLargeViewportUnits): Ditto.
(WebKit::WebPage::disabledAdaptationsDidChange): Ditto.
(WebKit::WebPage::viewportPropertiesDidChange): Ditto.
(WebKit::WebPage::pageDidScroll): Ditto.
(WebKit::WebPage::freezeLayerTree): Ditto.
(WebKit::WebPage::unfreezeLayerTree): Ditto.
(WebKit::WebPage::isLayerTreeFrozen): Ditto.
(WebKit::WebPage::updateDrawingAreaLayerTreeFreezeState): Ditto.
(WebKit::WebPage::markLayersVolatile): Ditto.
(WebKit::WebPage::tryMarkLayersVolatileCompletionHandler): Ditto.
(WebKit::WebPage::cancelMarkLayersVolatile): Ditto.
(WebKit::WebPage::contextMenuForKeyEvent): Ditto.
(WebKit::WebPage::mouseEvent): Ditto.
(WebKit::WebPage::handleWheelEvent): Ditto.
(WebKit::WebPage::wheelEvent): Ditto.
(WebKit::WebPage::keyEvent): Ditto.
(WebKit::WebPage::restoreSessionInternal): Ditto.
(WebKit::WebPage::restoreSession): Ditto.
(WebKit::WebPage::updateBackForwardListForReattach): Ditto.
(WebKit::WebPage::setCurrentHistoryItemForReattach): Ditto.
(WebKit::WebPage::cancelCurrentInteractionInformationRequest): Ditto.
(WebKit::WebPage::dispatchTouchEvent): Ditto.
(WebKit::WebPage::setBackgroundColor): Ditto.
(WebKit::WebPage::updateIsInWindow): Ditto.
(WebKit::WebPage::visibilityDidChange): Ditto.
(WebKit::WebPage::setActivityState): Ditto.
(WebKit::WebPage::runJavaScript): Ditto.
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld): Ditto.
(WebKit::WebPage::willCommitLayerTree): Ditto.
(WebKit::WebPage::didFlushLayerTreeAtTime): Ditto.
(WebKit::WebPage::performDragControllerAction): Ditto.
(WebKit::WebPage::webUndoStep): Ditto.
(WebKit::WebPage::addWebUndoStep): Ditto.
(WebKit::WebPage::removeWebEditCommand): Ditto.
(WebKit::WebPage::didChooseFilesForOpenPanelWithDisplayStringAndIcon): Ditto.
(WebKit::WebPage::updateMainFrameScrollOffsetPinning): Ditto.
(WebKit::WebPage::mainFrameDidLayout): Ditto.
(WebKit::WebPage::windowAndViewFramesChanged): Ditto.
(WebKit::WebPage::addResourceRequest): Ditto.
(WebKit::WebPage::removeResourceRequest): Ditto.
(WebKit::WebPage::setMayStartMediaWhenInWindow): Ditto.
(WebKit::WebPage::elementDidFocus): Ditto.
(WebKit::WebPage::setMinimumSizeForAutoLayout): Ditto.
(WebKit::WebPage::setSizeToContentAutoSizeMaximumSize): Ditto.
(WebKit::WebPage::setAutoSizingShouldExpandToViewHeight): Ditto.
(WebKit::WebPage::setViewportSizeForCSSViewportUnits): Ditto.
(WebKit::WebPage::canShowMIMEType const): Ditto.
(WebKit::WebPage::addTextCheckingRequest): Ditto.
(WebKit::WebPage::didFinishCheckingText): Ditto.
(WebKit::WebPage::didCancelCheckingText): Ditto.
(WebKit::WebPage::willReplaceMultipartContent): Ditto.
(WebKit::WebPage::didReplaceMultipartContent): Ditto.
(WebKit::WebPage::didCommitLoad): Ditto.
(WebKit::WebPage::updateWebsitePolicies): Ditto.
(WebKit::WebPage::createDocumentLoader): Ditto.
(WebKit::WebPage::updateIntrinsicContentSizeIfNeeded): Ditto.
(WebKit::WebPage::flushPendingIntrinsicContentSizeUpdate): Ditto.
(WebKit::WebPage::scheduleIntrinsicContentSizeUpdate): Ditto.
(WebKit::WebPage::registerURLSchemeHandler): Ditto.
(WebKit::WebPage::urlSchemeTaskWillPerformRedirection): Ditto.
(WebKit::WebPage::urlSchemeTaskDidPerformRedirection): Ditto.
(WebKit::WebPage::urlSchemeTaskDidReceiveResponse): Ditto.
(WebKit::WebPage::urlSchemeTaskDidReceiveData): Ditto.
(WebKit::WebPage::urlSchemeTaskDidComplete): Ditto.
(WebKit::WebPage::hasStorageAccess): Ditto.
(WebKit::WebPage::requestStorageAccess): Ditto.
(WebKit::WebPage::addDomainWithPageLevelStorageAccess): Ditto.
(WebKit::WebPage::hasPageLevelStorageAccess const): Ditto.
(WebKit::WebPage::clearPageLevelStorageAccess): Ditto.
(WebKit::WebPage::didLoadFromRegistrableDomain): Ditto.
(WebKit::WebPage::getLoadedSubresourceDomains): Ditto.
(WebKit::WebPage::clearLoadedSubresourceDomains): Ditto.
(WebKit::WebPage::elementForContext const): Ditto.
(WebKit::WebPage::contextForElement const): Ditto.
(WebKit::WebPage::startTextManipulations): Ditto.
(WebKit::WebPage::startTextManipulationForFrame): Ditto.
(WebKit::WebPage::textAutosizingUsesIdempotentModeChanged): Ditto.
(WebKit::WebPage::synchronizeCORSDisablingPatternsWithNetworkProcess): Ditto.
(WebKit::WebPage::createAppHighlightInSelectedRange): Ditto.
(WebKit::WebPage::shouldAllowRemoveBackground const): Ditto.
(WebKit::WebPage::setIsWindowResizingEnabled): Ditto.
(WebKit::WebPage::setLookalikeCharacterStrings): Ditto.
(WebKit::WebPage::setAllowedLookalikeCharacterStrings): Ditto.
(WebKit::WebPage::injectedBundleFullScreenClient): Added.
(WebKit::WebPage::beginPrintingDuringDOMPrintOperation): Added.
(WebKit::WebPage::drawPagesToPDFDuringDOMPrintOperation): Added.
(WebKit::WebPage::drawRectToImageDuringDOMPrintOperation): Added.
(WebKit::WebPage::computePagesForPrintingDuringDOMPrintOperation): Added.
(WebKit::WebPage::drawPagesForPrintingDuringDOMPrintOperation): Added.
(WebKit::WebPage::identifier const): Added.
(WebKit::WebPage::activityState const): Added.
(WebKit::WebPage::underlayColor const): Added.
(WebKit::WebPage::setUnderlayColor): Added.
(WebKit::WebPage::backgroundColor const): Added.
(WebKit::WebPage::highlightIsNewGroup const): Added.
(WebKit::WebPage::accessibilityPosition const): Added.
(WebKit::WebPage::webPageProxyIdentifier const): Added.
(WebKit::WebPage::allowedDragSourceActions const): Added.
(WebKit::WebPage::loadedSubresourceDomains const): Added.
(WebKit::WebPage::minimumSizeForAutoLayout const): Added.
(WebKit::WebPage::highlightRequestOriginatedInApp const): Added.
(WebKit::WebPage::viewportSizeForCSSViewportUnits const): Added.
(WebKit::WebPage::sizeToContentAutoSizeMaximumSize const): Added.
(WebKit::WebPage::windowFrameInUnflippedScreenCoordinates const): Added.
(WebKit::WebPage::size const): Added.
(WebKit::WebPage::sessionStorageNamespaceIdentifier const): Added.
(WebKit::WebPage::isVisible const): Added.
(WebKit::WebPage::isVisibleOrOccluded const): Added.
(WebKit::WebPage::viewportConfiguration const): Added.
(WebKit::WebPage::hostFileDescriptor const): Added.
(WebKit::WebPage::sanitizeLookalikeCharacters): Added.
(WebKit::WebPage::allowedLookalikeCharacters): Added.

* Source/WebKit/WebProcess/WebPage/WebPage.h: Removed most includes.
Added forward declarations. Moved things that required the includes
into WebPageInternals.h, WebPageInlines.h, and WebPage.cpp.

* Source/WebKit/WebProcess/WebPage/WebPageInlines.h: Moved
userContentControllerIdentifier and sendSyncWithDelayedReply here.
Moved sessionStorageNamespaceIdentifier, isVisible, and
isVisibleOrOccluded into WebPage.cpp.

* Source/WebKit/WebProcess/WebPage/WebPageInternals.h: Added.

* Source/WebKit/WebProcess/WebPage/glib/WebPageGLib.cpp:
(WebKit::inputMethodState): Renamed.
(WebKit::WebPage::setInputMethodState): Use internals().
(WebKit::WebPage::sendMessageToWebProcessExtensionWithReply): Ditto.

* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::screenSize const): Use internals().
(WebKit::WebPage::availableScreenSize const): Ditto.
(WebKit::WebPage::overrideScreenSize const): Ditto.
(WebKit::WebPage::savePageState): Ditto.
(WebKit::WebPage::restorePageState): Ditto.
(WebKit::WebPage::minimumPageScaleFactor const): Ditto.
(WebKit::WebPage::maximumPageScaleFactor const): Ditto.
(WebKit::WebPage::maximumPageScaleFactorIgnoringAlwaysScalable const): Ditto.
(WebKit::WebPage::allowsUserScaling const): Ditto.
(WebKit::WebPage::handleEditingKeyboardEvent): Ditto.
(WebKit::WebPage::registerUIProcessAccessibilityTokens): Ditto.
(WebKit::WebPage::rectForElementAtInteractionLocation const): Ditto.
(WebKit::WebPage::handleSyntheticClick): Ditto.
(WebKit::WebPage::didFinishContentChangeObserving): Ditto.
(WebKit::WebPage::completeSyntheticClick): Ditto.
(WebKit::WebPage::attemptSyntheticClick): Ditto.
(WebKit::WebPage::requestDragStart): Ditto.
(WebKit::WebPage::requestAdditionalItemsForDragSession): Ditto.
(WebKit::WebPage::didConcludeDrop): Ditto.
(WebKit::WebPage::didConcludeEditDrag): Ditto.
(WebKit::WebPage::didFinishLoadingImageForElement): Ditto.
(WebKit::WebPage::computeAndSendEditDragSnapshot): Ditto.
(WebKit::WebPage::handleTwoFingerTapAtPoint): Ditto.
(WebKit::WebPage::potentialTapAtPosition): Ditto.
(WebKit::WebPage::commitPotentialTap): Ditto.
(WebKit::WebPage::commitPotentialTapFailed): Ditto.
(WebKit::WebPage::cancelPotentialTapInFrame): Ditto.
(WebKit::WebPage::setForceAlwaysUserScalable): Ditto.
(WebKit::WebPage::selectWithGesture): Ditto.
(WebKit::WebPage::clearSelection): Ditto.
(WebKit::WebPage::getRectsForGranularityWithSelectionOffset): Ditto.
(WebKit::WebPage::storeSelectionForAccessibility): Ditto.
(WebKit::WebPage::getRectsAtSelectionOffsetWithText): Ditto.
(WebKit::WebPage::setSelectionRange): Ditto.
(WebKit::WebPage::updateSelectionWithExtentPointAndBoundary): Ditto.
(WebKit::WebPage::focusedElementInformation): Ditto.
(WebKit::WebPage::setViewportConfigurationViewLayoutSize): Ditto.
(WebKit::WebPage::dynamicViewportSizeUpdate): Ditto.
(WebKit::WebPage::resetViewportDefaultConfiguration): Ditto.
(WebKit::WebPage::resetIdempotentTextAutosizingIfNeeded): Ditto.
(WebKit::WebPage::shrinkToFitContent): Ditto.
(WebKit::WebPage::viewportConfigurationChanged): Ditto.
(WebKit::WebPage::applicationDidFinishSnapshottingAfterEnteringBackground): Ditto.
(WebKit::WebPage::scaleFromUIProcess const): Ditto.
(WebKit::WebPage::updateVisibleContentRects): Ditto.
(WebKit::WebPage::textInputContextsInRect): Ditto.
(WebKit::WebPage::platformDidScalePage): Ditto.

* Source/WebKit/WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp:
Updated includes.

* Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
Updated includes.

* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::executeKeypressCommandsInternal): Use internals().
(WebKit::WebPage::registerUIProcessAccessibilityTokens): Ditto.
(WebKit::WebPage::zoomPDFIn): Ditto.
(WebKit::WebPage::zoomPDFOut): Ditto.
(WebKit::WebPage::savePDF): Ditto.
(WebKit::WebPage::openPDFWithPreview): Ditto.
(WebKit::WebPage::createPDFHUD): Ditto.
(WebKit::WebPage::updatePDFHUDLocation): Ditto.
(WebKit::WebPage::removePDFHUD): Ditto.

* Source/WebKit/WebProcess/WebProcess.cpp: Updated includes.

* Source/WebKit/WebProcess/WebStorage/StorageNamespaceIdentifier.h:
Use struct for StorageNamespaceIdentifierType so it can be
forward declared.

* Source/WebKit/WebProcess/cocoa/TextTrackRepresentationCocoa.mm:
Updated includes.

* Source/WebKitLegacy/mac/WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]): Use WebCore::AllPlugins
and WebCore::OnlyApplicationPlugins.

2aea878

Misc iOS, tvOS & watchOS macOS Linux Windows
❌ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ❌ 🛠 wincairo
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ❌ 🧪 api-mac ✅ 🛠 gtk
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🧪 gtk-wk2
✅ 🛠 🧪 jsc ❌ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🧪 api-gtk
✅ 🛠 🧪 jsc-arm64 ✅ 🛠 tv ✅ 🧪 mac-AS-debug-wk2 ✅ 🛠 jsc-armv7
✅ 🛠 tv-sim ✅ 🧪 jsc-armv7-tests
✅ 🛠 watch ✅ 🛠 jsc-mips
✅ 🛠 watch-sim ✅ 🧪 jsc-mips-tests

@darinadler darinadler self-assigned this May 7, 2023
@darinadler darinadler added the WebKit Misc. For miscellaneous bugs in the WebKit framework (and not JavaScriptCore or WebCore). label May 7, 2023
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label May 7, 2023
@darinadler darinadler removed the merging-blocked Applied to prevent a change from being merged label May 7, 2023
@darinadler darinadler force-pushed the eng/Reduce-build-times-by-refactoring-WebPage-h branch from 89eecf3 to dd2a2f7 Compare May 7, 2023 16:17
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label May 7, 2023
@darinadler darinadler removed the merging-blocked Applied to prevent a change from being merged label May 7, 2023
@darinadler darinadler force-pushed the eng/Reduce-build-times-by-refactoring-WebPage-h branch from dd2a2f7 to d8b28c1 Compare May 7, 2023 22:40
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label May 7, 2023
@darinadler darinadler removed the merging-blocked Applied to prevent a change from being merged label May 19, 2023
@darinadler darinadler force-pushed the eng/Reduce-build-times-by-refactoring-WebPage-h branch from d8b28c1 to 1b0cf7d Compare May 19, 2023 19:53
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label May 19, 2023
@darinadler darinadler removed the merging-blocked Applied to prevent a change from being merged label May 19, 2023
@darinadler darinadler force-pushed the eng/Reduce-build-times-by-refactoring-WebPage-h branch from 1b0cf7d to e8126a6 Compare May 19, 2023 23:23
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label May 20, 2023
@darinadler darinadler removed the merging-blocked Applied to prevent a change from being merged label May 26, 2023
@darinadler darinadler force-pushed the eng/Reduce-build-times-by-refactoring-WebPage-h branch from e8126a6 to 72799d3 Compare May 26, 2023 20:02
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label May 26, 2023
@darinadler darinadler removed the merging-blocked Applied to prevent a change from being merged label May 26, 2023
@darinadler darinadler force-pushed the eng/Reduce-build-times-by-refactoring-WebPage-h branch from 72799d3 to 002d300 Compare May 26, 2023 21:02
https://bugs.webkit.org/show_bug.cgi?id=256424
rdar://108997618

Reviewed by NOBODY (OOPS!).

* Source/JavaScriptCore/inspector/InspectorFrontendChannel.h:
Moved FrontendChannel::ConnectionType out to the namespace level
so it can be forward declared.

* Source/WTF/wtf/RunLoop.cpp:
(WTF::runLoopHolder): Made this a non-member function so we don't have to include
ThreadSpecific.h in the header.

* Source/WebCore/dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument): Use AllPlugins and
OnlyApplicationPlugins.

* Source/WebCore/page/MediaControlsContextMenuItem.h: Moved
MediaControlsContextMenuItem::ID out to the namespace level so
it can be fowrad declared.

* Source/WebCore/page/PageOverlay.cpp:
(WebCore::generatePageOverlayID): Use PageOverlayID.

* Source/WebCore/page/PageOverlay.h: Move PageOverlay::PageOverlayID
out to the namespace level so it can be forward declared.

* Source/WebCore/page/WebCoreKeyboardUIMode.h: Add an underlying type
to KeyboardUIMode so it can be forward declared.

* Source/WebCore/plugins/PluginData.cpp:
(WebCore::supportsMimeTypeForPlugins): Use AllowedPluginTypes and AllPlugins.

* Source/WebCore/plugins/PluginData.h: Moved PluginData::AllowedPluginTypes
out to the namespace level so it can be forward declared.

* Source/WebKit/Shared/ContentWorldShared.h: Use a struct for the argument
to ObjectIdentifier so ContentWorldIdentifier can be forward declared.

* Source/WebKit/Shared/WebHitTestResultData.h: Use WebCore::PageOverlayID.

* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: Updated includes.
* Source/WebKit/UIProcess/WebPageProxy.cpp: Ditto.

* Source/WebKit/WebKit.xcodeproj/project.pbxproj: Added WebPageInternals.h
and DrawingAreaInlines.h.

* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIEventCocoa.mm: Updated includes.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationEventCocoa.mm: Ditto.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIEvent.h: Ditto. Ditto.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWebNavigationEvent.h: Ditto.
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp: Ditto.
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: Ditto.
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Ditto.
* Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: Ditto.
* Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h: Ditto.
* Source/WebKit/WebProcess/Model/ARKitInlinePreviewModelPlayer.h: Ditto.

* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::webResourceLoaderForIdentifier const): Moved here from header.
(WebKit::WebLoaderStrategy::ongoingLoads const): Ditto.
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.h: Updated for the above.

* Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::processingUserGesture): Pass nullopt for the
ResourceLoaderIdentifier for addConsoleMessage.

* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: Updated includes.
* Source/WebKit/WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.h: Ditto.
* Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto.

* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Updated includes.
(WebKit::WebFrameLoaderClient::objectContentType): Use AllPlugins and OnlyApplicationPlugins.

* Source/WebKit/WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Updated includes.

* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Updated includes.
(WebKit::OverridePasteboardForSelectionReplacement::OverridePasteboardForSelectionReplacement):
Use Span instead of IPC::DataReference.
(WebKit::WebPage::replaceImageForRemoveBackground): Ditto.
(WebKit::WebPage::replaceSelectionWithPasteboardData): Ditto.
(WebKit::WebPage::sanitizeLookalikeCharacters): Moved non-Apple-internal version to WebPage.cpp.
(WebKit::WebPage::allowedLookalikeCharacters): Ditto.

* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
Updated includes.

* Source/WebKit/WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::displayColorSpace const): Moved here from header.
(WebKit::DrawingArea::activityStateDidChange): Ditto.
(WebKit::DrawingArea::setColorSpace): Ditto.
(WebKit::DrawingArea::acceleratedAnimationDidStart): Ditto.
(WebKit::DrawingArea::acceleratedAnimationDidEnd): Ditto.
(WebKit::DrawingArea::adjustTransientZoom): Ditto.
(WebKit::DrawingArea::commitTransientZoom): Ditto.
(WebKit::DrawingArea::addRootFrame): Ditto.
(WebKit::DrawingArea::mainFrameContentSizeChanged): Ditto.
(WebKit::DrawingArea::attachViewOverlayGraphicsLayer): Ditto.

* Source/WebKit/WebProcess/WebPage/DrawingArea.h: Reduced includes,
added forward declarations, moved functions out of the header that
can't compile without the includes. These were virtual functions and
not inlined in practice anyway except for send, which is moved into
DrawingAreaInlines.h.

* Source/WebKit/WebProcess/WebPage/DrawingAreaInlines.h: Added.

* Source/WebKit/WebProcess/WebPage/EventDispatcher.h: Moved
EventDispatcher::WheelEventOrigin out to the namespace level so it can
be forward declared.

* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.h:
Updated includes.
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: Ditto.
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: Ditto.
* Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp: Ditto.

* Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.h: Moved
WebBackForwardListProxy::OverwriteExistingItem out to the namespace
level so it cna be forward declared.

* Source/WebKit/WebProcess/WebPage/WebContextMenu.cpp: Updated includes.

* Source/WebKit/WebProcess/WebPage/WebPage.cpp: Updated includes.
(WebKit::WebPage::Internals::Internals): Added.
(WebKit::overriddenMediaType): Updated to use internals().
(WebKit::WebPage::WebPage): Ditto.
(WebKit::m_appHighlightsVisible): Ditto.
(WebKit::WebPage::reinitializeWebPage): Ditto.
(WebKit::WebPage::updateThrottleState): Ditto.
(WebKit::WebPage::isThrottleable const): Ditto.
(WebKit::WebPage::initializeInjectedBundleFullScreenClient): Ditto.
(WebKit::WebPage::editorState const): Ditto.
(WebKit::WebPage::close): Ditto.
(WebKit::WebPage::loadDataInFrame): Ditto.
(WebKit::WebPage::loadRequest): Ditto.
(WebKit::WebPage::loadDataImpl): Ditto.
(WebKit::WebPage::loadAlternateHTML): Ditto.
(WebKit::WebPage::loadSimulatedRequestAndResponse): Ditto.
(WebKit::WebPage::goToBackForwardItem): Ditto.
(WebKit::WebPage::setSize): Ditto.
(WebKit::WebPage::sendViewportAttributesChanged): Ditto.
(WebKit::WebPage::scalePage): Ditto.
(WebKit::WebPage::setFixedLayoutSize): Ditto.
(WebKit::WebPage::setDefaultUnobscuredSize): Ditto.
(WebKit::WebPage::updateSizeForCSSDefaultViewportUnits): Ditto.
(WebKit::WebPage::setMinimumUnobscuredSize): Ditto.
(WebKit::WebPage::updateSizeForCSSSmallViewportUnits): Ditto.
(WebKit::WebPage::setMaximumUnobscuredSize): Ditto.
(WebKit::WebPage::updateSizeForCSSLargeViewportUnits): Ditto.
(WebKit::WebPage::disabledAdaptationsDidChange): Ditto.
(WebKit::WebPage::viewportPropertiesDidChange): Ditto.
(WebKit::WebPage::pageDidScroll): Ditto.
(WebKit::WebPage::freezeLayerTree): Ditto.
(WebKit::WebPage::unfreezeLayerTree): Ditto.
(WebKit::WebPage::isLayerTreeFrozen): Ditto.
(WebKit::WebPage::updateDrawingAreaLayerTreeFreezeState): Ditto.
(WebKit::WebPage::markLayersVolatile): Ditto.
(WebKit::WebPage::tryMarkLayersVolatileCompletionHandler): Ditto.
(WebKit::WebPage::cancelMarkLayersVolatile): Ditto.
(WebKit::WebPage::contextMenuForKeyEvent): Ditto.
(WebKit::WebPage::mouseEvent): Ditto.
(WebKit::WebPage::handleWheelEvent): Ditto.
(WebKit::WebPage::wheelEvent): Ditto.
(WebKit::WebPage::keyEvent): Ditto.
(WebKit::WebPage::restoreSessionInternal): Ditto.
(WebKit::WebPage::restoreSession): Ditto.
(WebKit::WebPage::updateBackForwardListForReattach): Ditto.
(WebKit::WebPage::setCurrentHistoryItemForReattach): Ditto.
(WebKit::WebPage::cancelCurrentInteractionInformationRequest): Ditto.
(WebKit::WebPage::dispatchTouchEvent): Ditto.
(WebKit::WebPage::setBackgroundColor): Ditto.
(WebKit::WebPage::updateIsInWindow): Ditto.
(WebKit::WebPage::visibilityDidChange): Ditto.
(WebKit::WebPage::setActivityState): Ditto.
(WebKit::WebPage::runJavaScript): Ditto.
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld): Ditto.
(WebKit::WebPage::willCommitLayerTree): Ditto.
(WebKit::WebPage::didFlushLayerTreeAtTime): Ditto.
(WebKit::WebPage::performDragControllerAction): Ditto.
(WebKit::WebPage::webUndoStep): Ditto.
(WebKit::WebPage::addWebUndoStep): Ditto.
(WebKit::WebPage::removeWebEditCommand): Ditto.
(WebKit::WebPage::didChooseFilesForOpenPanelWithDisplayStringAndIcon): Ditto.
(WebKit::WebPage::updateMainFrameScrollOffsetPinning): Ditto.
(WebKit::WebPage::mainFrameDidLayout): Ditto.
(WebKit::WebPage::windowAndViewFramesChanged): Ditto.
(WebKit::WebPage::addResourceRequest): Ditto.
(WebKit::WebPage::removeResourceRequest): Ditto.
(WebKit::WebPage::setMayStartMediaWhenInWindow): Ditto.
(WebKit::WebPage::elementDidFocus): Ditto.
(WebKit::WebPage::setMinimumSizeForAutoLayout): Ditto.
(WebKit::WebPage::setSizeToContentAutoSizeMaximumSize): Ditto.
(WebKit::WebPage::setAutoSizingShouldExpandToViewHeight): Ditto.
(WebKit::WebPage::setViewportSizeForCSSViewportUnits): Ditto.
(WebKit::WebPage::canShowMIMEType const): Ditto.
(WebKit::WebPage::addTextCheckingRequest): Ditto.
(WebKit::WebPage::didFinishCheckingText): Ditto.
(WebKit::WebPage::didCancelCheckingText): Ditto.
(WebKit::WebPage::willReplaceMultipartContent): Ditto.
(WebKit::WebPage::didReplaceMultipartContent): Ditto.
(WebKit::WebPage::didCommitLoad): Ditto.
(WebKit::WebPage::updateWebsitePolicies): Ditto.
(WebKit::WebPage::createDocumentLoader): Ditto.
(WebKit::WebPage::updateIntrinsicContentSizeIfNeeded): Ditto.
(WebKit::WebPage::flushPendingIntrinsicContentSizeUpdate): Ditto.
(WebKit::WebPage::scheduleIntrinsicContentSizeUpdate): Ditto.
(WebKit::WebPage::registerURLSchemeHandler): Ditto.
(WebKit::WebPage::urlSchemeTaskWillPerformRedirection): Ditto.
(WebKit::WebPage::urlSchemeTaskDidPerformRedirection): Ditto.
(WebKit::WebPage::urlSchemeTaskDidReceiveResponse): Ditto.
(WebKit::WebPage::urlSchemeTaskDidReceiveData): Ditto.
(WebKit::WebPage::urlSchemeTaskDidComplete): Ditto.
(WebKit::WebPage::hasStorageAccess): Ditto.
(WebKit::WebPage::requestStorageAccess): Ditto.
(WebKit::WebPage::addDomainWithPageLevelStorageAccess): Ditto.
(WebKit::WebPage::hasPageLevelStorageAccess const): Ditto.
(WebKit::WebPage::clearPageLevelStorageAccess): Ditto.
(WebKit::WebPage::didLoadFromRegistrableDomain): Ditto.
(WebKit::WebPage::getLoadedSubresourceDomains): Ditto.
(WebKit::WebPage::clearLoadedSubresourceDomains): Ditto.
(WebKit::WebPage::elementForContext const): Ditto.
(WebKit::WebPage::contextForElement const): Ditto.
(WebKit::WebPage::startTextManipulations): Ditto.
(WebKit::WebPage::startTextManipulationForFrame): Ditto.
(WebKit::WebPage::textAutosizingUsesIdempotentModeChanged): Ditto.
(WebKit::WebPage::synchronizeCORSDisablingPatternsWithNetworkProcess): Ditto.
(WebKit::WebPage::createAppHighlightInSelectedRange): Ditto.
(WebKit::WebPage::shouldAllowRemoveBackground const): Ditto.
(WebKit::WebPage::setIsWindowResizingEnabled): Ditto.
(WebKit::WebPage::setLookalikeCharacterStrings): Ditto.
(WebKit::WebPage::setAllowedLookalikeCharacterStrings): Ditto.
(WebKit::WebPage::injectedBundleFullScreenClient): Added.
(WebKit::WebPage::beginPrintingDuringDOMPrintOperation): Added.
(WebKit::WebPage::drawPagesToPDFDuringDOMPrintOperation): Added.
(WebKit::WebPage::drawRectToImageDuringDOMPrintOperation): Added.
(WebKit::WebPage::computePagesForPrintingDuringDOMPrintOperation): Added.
(WebKit::WebPage::drawPagesForPrintingDuringDOMPrintOperation): Added.
(WebKit::WebPage::identifier const): Added.
(WebKit::WebPage::activityState const): Added.
(WebKit::WebPage::underlayColor const): Added.
(WebKit::WebPage::setUnderlayColor): Added.
(WebKit::WebPage::backgroundColor const): Added.
(WebKit::WebPage::highlightIsNewGroup const): Added.
(WebKit::WebPage::accessibilityPosition const): Added.
(WebKit::WebPage::webPageProxyIdentifier const): Added.
(WebKit::WebPage::allowedDragSourceActions const): Added.
(WebKit::WebPage::loadedSubresourceDomains const): Added.
(WebKit::WebPage::minimumSizeForAutoLayout const): Added.
(WebKit::WebPage::highlightRequestOriginatedInApp const): Added.
(WebKit::WebPage::viewportSizeForCSSViewportUnits const): Added.
(WebKit::WebPage::sizeToContentAutoSizeMaximumSize const): Added.
(WebKit::WebPage::windowFrameInUnflippedScreenCoordinates const): Added.
(WebKit::WebPage::size const): Added.
(WebKit::WebPage::sessionStorageNamespaceIdentifier const): Added.
(WebKit::WebPage::isVisible const): Added.
(WebKit::WebPage::isVisibleOrOccluded const): Added.
(WebKit::WebPage::viewportConfiguration const): Added.
(WebKit::WebPage::hostFileDescriptor const): Added.
(WebKit::WebPage::sanitizeLookalikeCharacters): Added.
(WebKit::WebPage::allowedLookalikeCharacters): Added.

* Source/WebKit/WebProcess/WebPage/WebPage.h: Removed most includes.
Added forward declarations. Moved things that required the includes
into WebPageInternals.h, WebPageInlines.h, and WebPage.cpp.

* Source/WebKit/WebProcess/WebPage/WebPageInlines.h: Moved
userContentControllerIdentifier and sendSyncWithDelayedReply here.
Moved sessionStorageNamespaceIdentifier, isVisible, and
isVisibleOrOccluded into WebPage.cpp.

* Source/WebKit/WebProcess/WebPage/WebPageInternals.h: Added.

* Source/WebKit/WebProcess/WebPage/glib/WebPageGLib.cpp:
(WebKit::inputMethodState): Renamed.
(WebKit::WebPage::setInputMethodState): Use internals().
(WebKit::WebPage::sendMessageToWebProcessExtensionWithReply): Ditto.

* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::screenSize const): Use internals().
(WebKit::WebPage::availableScreenSize const): Ditto.
(WebKit::WebPage::overrideScreenSize const): Ditto.
(WebKit::WebPage::savePageState): Ditto.
(WebKit::WebPage::restorePageState): Ditto.
(WebKit::WebPage::minimumPageScaleFactor const): Ditto.
(WebKit::WebPage::maximumPageScaleFactor const): Ditto.
(WebKit::WebPage::maximumPageScaleFactorIgnoringAlwaysScalable const): Ditto.
(WebKit::WebPage::allowsUserScaling const): Ditto.
(WebKit::WebPage::handleEditingKeyboardEvent): Ditto.
(WebKit::WebPage::registerUIProcessAccessibilityTokens): Ditto.
(WebKit::WebPage::rectForElementAtInteractionLocation const): Ditto.
(WebKit::WebPage::handleSyntheticClick): Ditto.
(WebKit::WebPage::didFinishContentChangeObserving): Ditto.
(WebKit::WebPage::completeSyntheticClick): Ditto.
(WebKit::WebPage::attemptSyntheticClick): Ditto.
(WebKit::WebPage::requestDragStart): Ditto.
(WebKit::WebPage::requestAdditionalItemsForDragSession): Ditto.
(WebKit::WebPage::didConcludeDrop): Ditto.
(WebKit::WebPage::didConcludeEditDrag): Ditto.
(WebKit::WebPage::didFinishLoadingImageForElement): Ditto.
(WebKit::WebPage::computeAndSendEditDragSnapshot): Ditto.
(WebKit::WebPage::handleTwoFingerTapAtPoint): Ditto.
(WebKit::WebPage::potentialTapAtPosition): Ditto.
(WebKit::WebPage::commitPotentialTap): Ditto.
(WebKit::WebPage::commitPotentialTapFailed): Ditto.
(WebKit::WebPage::cancelPotentialTapInFrame): Ditto.
(WebKit::WebPage::setForceAlwaysUserScalable): Ditto.
(WebKit::WebPage::selectWithGesture): Ditto.
(WebKit::WebPage::clearSelection): Ditto.
(WebKit::WebPage::getRectsForGranularityWithSelectionOffset): Ditto.
(WebKit::WebPage::storeSelectionForAccessibility): Ditto.
(WebKit::WebPage::getRectsAtSelectionOffsetWithText): Ditto.
(WebKit::WebPage::setSelectionRange): Ditto.
(WebKit::WebPage::updateSelectionWithExtentPointAndBoundary): Ditto.
(WebKit::WebPage::focusedElementInformation): Ditto.
(WebKit::WebPage::setViewportConfigurationViewLayoutSize): Ditto.
(WebKit::WebPage::dynamicViewportSizeUpdate): Ditto.
(WebKit::WebPage::resetViewportDefaultConfiguration): Ditto.
(WebKit::WebPage::resetIdempotentTextAutosizingIfNeeded): Ditto.
(WebKit::WebPage::shrinkToFitContent): Ditto.
(WebKit::WebPage::viewportConfigurationChanged): Ditto.
(WebKit::WebPage::applicationDidFinishSnapshottingAfterEnteringBackground): Ditto.
(WebKit::WebPage::scaleFromUIProcess const): Ditto.
(WebKit::WebPage::updateVisibleContentRects): Ditto.
(WebKit::WebPage::textInputContextsInRect): Ditto.
(WebKit::WebPage::platformDidScalePage): Ditto.

* Source/WebKit/WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp:
Updated includes.

* Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
Updated includes.

* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::executeKeypressCommandsInternal): Use internals().
(WebKit::WebPage::registerUIProcessAccessibilityTokens): Ditto.
(WebKit::WebPage::zoomPDFIn): Ditto.
(WebKit::WebPage::zoomPDFOut): Ditto.
(WebKit::WebPage::savePDF): Ditto.
(WebKit::WebPage::openPDFWithPreview): Ditto.
(WebKit::WebPage::createPDFHUD): Ditto.
(WebKit::WebPage::updatePDFHUDLocation): Ditto.
(WebKit::WebPage::removePDFHUD): Ditto.

* Source/WebKit/WebProcess/WebProcess.cpp: Updated includes.

* Source/WebKit/WebProcess/WebStorage/StorageNamespaceIdentifier.h:
Use struct for StorageNamespaceIdentifierType so it can be
forward declared.

* Source/WebKit/WebProcess/cocoa/TextTrackRepresentationCocoa.mm:
Updated includes.

* Source/WebKitLegacy/mac/WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]): Use WebCore::AllPlugins
and WebCore::OnlyApplicationPlugins.
@darinadler darinadler force-pushed the eng/Reduce-build-times-by-refactoring-WebPage-h branch from 002d300 to 2aea878 Compare May 26, 2023 23:58
@darinadler darinadler marked this pull request as ready for review May 26, 2023 23:59
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label May 27, 2023
Copy link
Contributor

@brentfulgham brentfulgham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like we might still have a WinCairo build issue, but I think this change looks great.

I just had a question about replacing const Object& with span (if we are fully retaining const semantics).

Source/WebCore/page/PageOverlay.h Show resolved Hide resolved
@@ -31,7 +31,6 @@
#include "JSWebExtensionWrappable.h"
#include "WebExtensionAPIObject.h"
#include "WebExtensionEventListenerType.h"
#include "WebPage.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:-)


namespace WTF {
class MachSendRight;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a significant cleanup!

@brentfulgham
Copy link
Contributor

EWS run on current version of this PR (hash [2aea878]

The API test failure looks like it could be real:

Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:3230

Value of: [innerText isEqualToString:@"Print"]
Actual: false
Expected: true

Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:3239

Value of: [innerText isEqualToString:@"Print"]
Actual: false
Expected: true

@darinadler
Copy link
Member Author

The API test failure looks like it could be real:
Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:3230
Value of: [innerText isEqualToString:@"Print"] Actual: false Expected: true

Yes, I haven’t figured out what caused the failure and won’t land until I do. I wish the test wrote out the innerText value!

@darinadler darinadler marked this pull request as draft April 7, 2024 21:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merging-blocked Applied to prevent a change from being merged WebKit Misc. For miscellaneous bugs in the WebKit framework (and not JavaScriptCore or WebCore).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants