[webkit-changes] [WebKit/WebKit] ce9f6d: Cleanup some localMainFrame/localTopDocument usage

Brady Eidson noreply at github.com
Sun Dec 22 14:28:12 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ce9f6de6dbe34aef669f0af3535ef95e272ccd4d
      https://github.com/WebKit/WebKit/commit/ce9f6de6dbe34aef669f0af3535ef95e272ccd4d
  Author: Brady Eidson <beidson at apple.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/editing/ReplaceSelectionCommand.cpp
    M Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm
    M Source/WebCore/editing/markup.cpp
    M Source/WebCore/html/HTMLAnchorElement.cpp
    M Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
    M Source/WebCore/inspector/agents/InspectorPageAgent.cpp
    M Source/WebCore/loader/cache/CachedResourceLoader.cpp
    M Source/WebCore/page/Chrome.cpp
    M Source/WebCore/page/DebugPageOverlays.cpp
    M Source/WebCore/page/FocusController.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/page/PageDebuggable.cpp
    M Source/WebCore/page/PerformanceMonitor.cpp
    M Source/WebCore/page/SettingsBase.cpp
    M Source/WebCore/page/mac/PageMac.mm
    M Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
    M Source/WebCore/svg/graphics/SVGImage.cpp
    M Source/WebCore/testing/InternalSettings.cpp
    M Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp
    M Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp
    M Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp
    M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm

  Log Message:
  -----------
  Cleanup some localMainFrame/localTopDocument usage
rdar://141858346
https://bugs.webkit.org/show_bug.cgi?id=285056

Reviewed by Alex Christensen.

This patch does the following:
- Logs an error whenever `Document::topDocument()` returns the incorrect Document as a fallback
- Introduces some obviously missing null checks
- Uses a safer/easier `localTopDocument` accessor instead of `localMainFrame->document()`
- Avoids localTopDocument and localMainFrame altogether in some cases where Page already has the data
- Other assorted cleanup and refactoring

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::topDocument const):
* Source/WebCore/dom/Document.h:
* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
* Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::sanitizeMarkupWithArchive):
* Source/WebCore/editing/markup.cpp:
(WebCore::sanitizeMarkup):
* Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):
* Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
* Source/WebCore/inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::navigate):
(WebCore::InspectorPageAgent::setEmulatedMedia):
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* Source/WebCore/page/Chrome.cpp:
(WebCore::Chrome::runModal):
* Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::InteractionRegionOverlay::activeLayer const):
* Source/WebCore/page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::disabledAdaptations const):
(WebCore::Page::setOverrideViewportArguments):
(WebCore::Page::accessibilityTreeData const):
(WebCore::Page::showAllPlugins const):
(WebCore::Page::setPageScaleFactor):
(WebCore::Page::pageCount const):
(WebCore::Page::prioritizeVisibleResources):
(WebCore::Page::themeColor const):
(WebCore::Page::localTopDocument):
(WebCore::Page::localTopDocument const):
(WebCore::Page::proofreadingSessionSuggestionTextRectsInRootViewCoordinates const):
(WebCore::Page::updateTextVisibilityForActiveWritingToolsSession):
(WebCore::Page::textPreviewDataForActiveWritingToolsSession):
(WebCore::Page::decorateTextReplacementsForActiveWritingToolsSession):
(WebCore::Page::setSelectionForActiveWritingToolsSession):
* Source/WebCore/page/Page.h:
* Source/WebCore/page/PageDebuggable.cpp:
(WebCore::PageDebuggable::name const):
(WebCore::PageDebuggable::url const):
* Source/WebCore/page/PerformanceMonitor.cpp:
(WebCore::reportPageOverPostLoadResourceThreshold):
* Source/WebCore/page/SettingsBase.cpp:
(WebCore::SettingsBase::backgroundShouldExtendBeyondPageChanged):
(WebCore::SettingsBase::scrollingPerformanceTestingEnabledChanged):
* Source/WebCore/page/mac/PageMac.mm:
(WebCore::Page::platformInitialize):
* Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
* Source/WebCore/svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::reportApproximateMemoryCost const):
* Source/WebCore/testing/InternalSettings.cpp:
(WebCore::InternalSettings::setAllowUnclampedScrollPosition):
* Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
* Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::SharedWorkerThreadProxy::SharedWorkerThreadProxy):
* Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::broadcastConsoleMessage):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::invalidateContentsAndRootView):
(WebKit::WebChromeClient::invalidateContentsForSlowScroll):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::shouldDispatchSyntheticMouseEventsWhenModifyingSelection const):
(WebKit::WebPage::tryRestoreScrollPosition):
(WebKit::WebPage::drawRect):
(WebKit::WebPage::viewportPropertiesDidChange):
(WebKit::WebPage::dispatchWheelEventWithoutScrolling):
(WebKit::WebPage::setCurrentHistoryItemForReattach):
(WebKit::WebPage::updatePotentialTapSecurityOrigin):
(WebKit::WebPage::touchEvent):
(WebKit::WebPage::setNeedsDOMWindowResizeEvent):
(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::performDragControllerAction):
(WebKit::WebPage::didStartDrag):
(WebKit::WebPage::dragCancelled):
(WebKit::WebPage::setCustomTextEncodingName):
(WebKit::WebPage::drawToPDF):
(WebKit::WebPage::drawCompositedToPDF):
(WebKit::WebPage::localTopDocument const):
(WebKit::WebPage::characterIndexForPointAsync):
(WebKit::WebPage::updateWebsitePolicies):
(WebKit::WebPage::extendIncrementalRenderingSuppression):
(WebKit::WebPage::stopExtendingIncrementalRenderingSuppression):
(WebKit::WebPage::setScrollPinningBehavior):
(WebKit::WebPage::setScrollbarOverlayStyle):
(WebKit::WebPage::wasLoadedWithDataTransferFromPrevalentResource):
(WebKit::WebPage::simulateDeviceOrientationChange):
(WebKit::WebPage::attachmentElementWithIdentifier const):
(WebKit::WebPage::lastNavigationWasAppInitiated):
(WebKit::WebPage::generateTestReport):
(WebKit::WebPage::useRedirectionForCurrentNavigation):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformInitializeAccessibility):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list