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

Reply via email to