[webkit-changes] [WebKit/WebKit] b0d7de: Add context menu items to play and pause individua...

Tyler Wilcock noreply at github.com
Tue Jan 31 17:47:25 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b0d7dee512450be3c01ae6196ebbbbf4cb0600a8
      https://github.com/WebKit/WebKit/commit/b0d7dee512450be3c01ae6196ebbbbf4cb0600a8
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2023-01-31 (Tue, 31 Jan 2023)

  Changed paths:
    A LayoutTests/fast/images/mac/play-pause-individual-animation-context-menu-items-expected.txt
    A LayoutTests/fast/images/mac/play-pause-individual-animation-context-menu-items.html
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebCore/en.lproj/Localizable.strings
    M Source/WebCore/page/ContextMenuController.cpp
    M Source/WebCore/platform/ContextMenuItem.cpp
    M Source/WebCore/platform/ContextMenuItem.h
    M Source/WebCore/platform/LocalizedStrings.cpp
    M Source/WebCore/platform/LocalizedStrings.h
    M Source/WebCore/rendering/HitTestResult.cpp
    M Source/WebCore/rendering/HitTestResult.h
    M Source/WebKit/Shared/API/c/WKContextMenuItem.cpp
    M Source/WebKit/Shared/API/c/WKContextMenuItemTypes.h
    M Source/WebKit/Shared/API/c/WKSharedAPICast.h
    M Source/WebKit/Shared/ios/GestureTypes.h
    M Source/WebKit/Shared/ios/InteractionInformationAtPosition.h
    M Source/WebKit/Shared/ios/InteractionInformationAtPosition.serialization.in
    M Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKActivatedElementInfo.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKActivatedElementInfo.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm
    M Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm
    M Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
    M Source/WebKitLegacy/mac/WebView/WebUIDelegatePrivate.h

  Log Message:
  -----------
  Add context menu items to play and pause individual animations
https://bugs.webkit.org/show_bug.cgi?id=250475
rdar://problem/104137965

Reviewed by Chris Fleizach.

Expose context menu items to play all or pause all animations on the page.

See similar bug:

https://bugs.webkit.org/show_bug.cgi?id=247377 (Add context menu items to play all or pause all animations on the page)

* LayoutTests/fast/images/mac/play-pause-individual-animation-context-menu-items-expected.txt: Added.
* LayoutTests/fast/images/mac/play-pause-individual-animation-context-menu-items.html: Added.
* LayoutTests/platform/mac/TestExpectations:
Skip newly added test -- it is enabled in rdar://104134092.
* Source/WebCore/en.lproj/Localizable.strings:
* Source/WebCore/page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
* Source/WebCore/platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
* Source/WebCore/platform/ContextMenuItem.h:
* Source/WebCore/platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagPlayAnimation):
(WebCore::contextMenuItemTagPauseAnimation):
* Source/WebCore/platform/LocalizedStrings.h:
* Source/WebCore/rendering/HitTestResult.cpp:
(WebCore::HitTestResult::imageElement const):
(WebCore::HitTestResult::isAnimating const):
(WebCore::HitTestResult::playAnimation const):
(WebCore::HitTestResult::pauseAnimation const):
(WebCore::HitTestResult::setAllowsAnimation const):
* Source/WebCore/rendering/HitTestResult.h:
* Source/WebKit/Shared/API/c/WKContextMenuItem.cpp:
* Source/WebKit/Shared/API/c/WKContextMenuItemTypes.h:
* Source/WebKit/Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
* Source/WebKit/Shared/ios/GestureTypes.h:
* Source/WebKit/Shared/ios/InteractionInformationAtPosition.h:
* Source/WebKit/Shared/ios/InteractionInformationAtPosition.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
* Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
(-[_WKActivatedElementInfo _initWithInteractionInformationAtPosition:isUsingAlternateURLForImage:userInfo:]):
(-[_WKActivatedElementInfo isAnimating]):
(-[_WKActivatedElementInfo canShowAnimationControls]):
* Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
(+[_WKElementAction imageForElementActionType:]):
(elementActionTypeToUIActionIdentifier):
(uiActionIdentifierToElementActionType):
* Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
(-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]):
* Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::menuItemIdentifier):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::imagePositionInformation):
(WebKit::WebPage::performActionOnElement):
* Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(toTag):
* Source/WebKitLegacy/mac/WebView/WebUIDelegatePrivate.h:

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




More information about the webkit-changes mailing list