Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 22a99e8c1861ed7eae747c6157b9267f0650016b
https://github.com/WebKit/WebKit/commit/22a99e8c1861ed7eae747c6157b9267f0650016b
Author: Mike Wyrzykowski <[email protected]>
Date: 2026-05-11 (Mon, 11 May 2026)
Changed paths:
M Source/WebCore/Modules/model-element/HTMLModelElement.cpp
M Source/WebCore/Modules/model-element/HTMLModelElement.h
M Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.h
M Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.mm
M Source/WebCore/html/HTMLAnchorElement.cpp
M Source/WebCore/page/DragController.cpp
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebCore/rendering/RenderLayerBacking.h
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M Source/WebCore/rendering/RenderModel.cpp
M Source/WebCore/rendering/RenderModel.h
M Source/WebCore/rendering/RenderTheme.cpp
M Source/WebCore/rendering/RenderTheme.h
M Source/WebCore/rendering/ios/RenderThemeIOS.h
M Source/WebCore/rendering/ios/RenderThemeIOS.mm
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/WebProcess/WebPage/Cocoa/PositionInformationForWebPage.mm
Log Message:
-----------
iOS: <a rel=ar> around a <model> adds extra steps before getting into ARQL
and doesn't show AR badge.
https://bugs.webkit.org/show_bug.cgi?id=314285
rdar://176410897
Reviewed by Etienne Segonzac.
Add badging to <model> when requested on iOS.
Example usage:
<div class="ar-card">
<a rel="ar" href="toy_drummer.usdz">
<model class="hero-model" src="toy_drummer.usdz" stagemode="orbit"
width="1024" height="1024"></model>
</a>
</div>
Also update visionOS code paths to avoid enclosing <a> tags around a <model>
from
taking drag-and-drop precedence of the <model>
* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::defaultEventHandler):
(WebCore::HTMLModelElement::isPointInSystemPreviewBadge const):
* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.h:
* Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.mm:
(WebCore::ARKitBadgeSystemImage::createWithoutImage):
(WebCore::ARKitBadgeSystemImage::imageIdentifier const):
(WebCore::ARKitBadgeSystemImage::draw const):
* Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isSystemPreviewLink):
(WebCore::HTMLAnchorElement::attributionDestinationURLForPCM const): Deleted.
(WebCore::HTMLAnchorElement::mainDocumentRegistrableDomainForPCM const):
Deleted.
(WebCore::HTMLAnchorElement::attributionSourceNonceForPCM const): Deleted.
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurementForSKAdNetwork const):
Deleted.
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const): Deleted.
(WebCore::HTMLAnchorElement::handleClick): Deleted.
(WebCore::HTMLAnchorElement::effectiveTarget const): Deleted.
(WebCore::HTMLAnchorElement::eventType): Deleted.
(WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType const): Deleted.
(WebCore::isEnterKeyKeydownEvent): Deleted.
(WebCore::shouldProhibitLinks): Deleted.
(WebCore::HTMLAnchorElement::willRespondToMouseClickEventsWithEditability
const): Deleted.
(WebCore::rootEditableElementMap): Deleted.
(WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown const):
Deleted.
(WebCore::HTMLAnchorElement::clearRootEditableElementForSelectionOnMouseDown):
Deleted.
(WebCore::HTMLAnchorElement::setRootEditableElementForSelectionOnMouseDown):
Deleted.
(WebCore::HTMLAnchorElement::referrerPolicyForBindings const): Deleted.
(WebCore::HTMLAnchorElement::referrerPolicy const): Deleted.
(WebCore::HTMLAnchorElement::insertionSteps): Deleted.
(WebCore::HTMLAnchorElement::postConnectionSteps): Deleted.
(WebCore::HTMLAnchorElement::setFullURL): Deleted.
(WebCore::HTMLAnchorElement::setShouldBePrefetched): Deleted.
(WebCore::HTMLAnchorElement::prefetchEagernessForTesting const): Deleted.
(WebCore::HTMLAnchorElement::checkForSpeculationRules): Deleted.
* Source/WebCore/page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag): Deleted.
(WebCore::DragController::beginDrag): Deleted.
(WebCore::containingLinkElement): Deleted.
(WebCore::DragController::doSystemDrag): Deleted.
(WebCore::DragController::removeAllDroppedImagePlaceholders): Deleted.
(WebCore::DragController::tryToUpdateDroppedImagePlaceholders): Deleted.
(WebCore::DragController::insertDroppedImagePlaceholdersAtCaret): Deleted.
(WebCore::DragController::finalizeDroppedImagePlaceholder): Deleted.
(WebCore::DragController::placeDragCaret): Deleted.
(WebCore::DragController::shouldUseCachedImageForDragImage const): Deleted.
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::destroyGraphicsLayers):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateInternalHierarchy):
(WebCore::RenderLayerBacking::updateEventRegion):
(WebCore::RenderLayerBacking::clearInteractionRegions):
(WebCore::RenderLayerBacking::updateBackgroundLayer):
(WebCore::RenderLayerBacking::updateContentsContainmentLayer):
(WebCore::RenderLayerBacking::needsSystemPreviewBadgeLayer const):
(WebCore::RenderLayerBacking::updateSystemPreviewBadgeLayer):
(WebCore::RenderLayerBacking::updateSystemPreviewBadgeLayerGeometry):
(WebCore::RenderLayerBacking::paintSystemPreviewBadgeLayer):
(WebCore::RenderLayerBacking::childForSuperlayersExcludingViewTransitions
const):
(WebCore::RenderLayerBacking::paintContents):
* Source/WebCore/rendering/RenderLayerBacking.h:
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::needsContentsCompositingLayer const):
* Source/WebCore/rendering/RenderModel.cpp:
(WebCore::RenderModel::paintReplaced):
* Source/WebCore/rendering/RenderModel.h:
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSystemPreviewBadge):
* Source/WebCore/rendering/RenderTheme.h:
* Source/WebCore/rendering/ios/RenderThemeIOS.h:
* Source/WebCore/rendering/ios/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.cpp:
(WebKit::RemoteGraphicsContext::drawSystemImage):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/WebPage/Cocoa/PositionInformationForWebPage.mm:
(WebKit::positionInformationForWebPage):
Canonical link: https://commits.webkit.org/313047@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications