[webkit-changes] [WebKit/WebKit] d0b2d6: EventTarget should hold EventTargetData in WeakPtr...

Yusuke Suzuki noreply at github.com
Mon Sep 5 20:13:59 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d0b2d6ef6a62c77b5b799d332dc2511573931ab8
      https://github.com/WebKit/WebKit/commit/d0b2d6ef6a62c77b5b799d332dc2511573931ab8
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
    M Source/WTF/wtf/CompactRefPtrTuple.h
    M Source/WTF/wtf/Forward.h
    M Source/WTF/wtf/WeakHashCountedSet.h
    M Source/WTF/wtf/WeakHashMap.h
    M Source/WTF/wtf/WeakHashSet.h
    M Source/WTF/wtf/WeakPtr.h
    M Source/WTF/wtf/text/TextStream.h
    M Source/WebCore/Modules/WebGPU/GPUDevice.h
    M Source/WebCore/Modules/applepay/ApplePaySession.h
    M Source/WebCore/Modules/applepay/PaymentCoordinator.cpp
    M Source/WebCore/Modules/async-clipboard/Clipboard.h
    M Source/WebCore/Modules/async-clipboard/ClipboardItem.h
    M Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h
    M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp
    M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.h
    M Source/WebCore/Modules/credentialmanagement/NavigatorCredentials.cpp
    M Source/WebCore/Modules/credentialmanagement/NavigatorCredentials.h
    M Source/WebCore/Modules/encryptedmedia/MediaKeySession.h
    M Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.cpp
    M Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.h
    M Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeys.h
    M Source/WebCore/Modules/filesystemaccess/WorkerFileSystemStorageConnection.h
    M Source/WebCore/Modules/gamepad/GamepadManager.cpp
    M Source/WebCore/Modules/highlight/AppHighlightStorage.h
    M Source/WebCore/Modules/indexeddb/IDBCursor.h
    M Source/WebCore/Modules/indexeddb/IDBDatabase.cpp
    M Source/WebCore/Modules/indexeddb/IDBDatabase.h
    M Source/WebCore/Modules/indexeddb/IDBRequest.h
    M Source/WebCore/Modules/indexeddb/IDBTransaction.h
    M Source/WebCore/Modules/mediacontrols/MediaControlsHost.h
    M Source/WebCore/Modules/mediarecorder/MediaRecorder.h
    M Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h
    M Source/WebCore/Modules/mediasource/MediaSource.h
    M Source/WebCore/Modules/mediasource/SourceBuffer.h
    M Source/WebCore/Modules/mediasource/SourceBufferList.h
    M Source/WebCore/Modules/mediastream/MediaDevices.cpp
    M Source/WebCore/Modules/mediastream/MediaDevices.h
    M Source/WebCore/Modules/mediastream/MediaStream.h
    M Source/WebCore/Modules/mediastream/MediaStreamTrack.h
    M Source/WebCore/Modules/mediastream/RTCDTMFSender.h
    M Source/WebCore/Modules/mediastream/RTCDataChannel.h
    M Source/WebCore/Modules/mediastream/RTCDtlsTransport.h
    M Source/WebCore/Modules/mediastream/RTCIceTransport.h
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.h
    M Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp
    M Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.h
    M Source/WebCore/Modules/mediastream/RTCRtpScriptTransform.h
    M Source/WebCore/Modules/mediastream/RTCRtpSender.h
    M Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h
    M Source/WebCore/Modules/mediastream/RTCSctpTransport.h
    M Source/WebCore/Modules/model-element/HTMLModelElement.h
    M Source/WebCore/Modules/notifications/Notification.h
    M Source/WebCore/Modules/paymentrequest/PaymentRequest.h
    M Source/WebCore/Modules/paymentrequest/PaymentResponse.h
    M Source/WebCore/Modules/permissions/PermissionStatus.h
    M Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.h
    M Source/WebCore/Modules/plugins/YouTubePluginReplacement.h
    M Source/WebCore/Modules/remoteplayback/RemotePlayback.h
    M Source/WebCore/Modules/speech/SpeechRecognition.h
    M Source/WebCore/Modules/speech/SpeechSynthesis.h
    M Source/WebCore/Modules/speech/SpeechSynthesisUtterance.h
    M Source/WebCore/Modules/storage/WorkerStorageConnection.h
    M Source/WebCore/Modules/webaudio/AudioNode.cpp
    M Source/WebCore/Modules/webaudio/AudioNode.h
    M Source/WebCore/Modules/webaudio/AudioSummingJunction.h
    M Source/WebCore/Modules/webaudio/AudioWorklet.h
    M Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.h
    M Source/WebCore/Modules/webaudio/BaseAudioContext.h
    M Source/WebCore/Modules/websockets/WebSocket.h
    M Source/WebCore/Modules/websockets/WebSocketChannel.h
    M Source/WebCore/Modules/websockets/WebSocketChannelInspector.cpp
    M Source/WebCore/Modules/websockets/WebSocketChannelInspector.h
    M Source/WebCore/Modules/webxr/WebXRLayer.h
    M Source/WebCore/Modules/webxr/WebXRRenderState.h
    M Source/WebCore/Modules/webxr/WebXRSession.h
    M Source/WebCore/Modules/webxr/WebXRSpace.h
    M Source/WebCore/Modules/webxr/WebXRSystem.h
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    M Source/WebCore/accessibility/AccessibilityListBoxOption.h
    M Source/WebCore/accessibility/AccessibilityMenuListOption.h
    M Source/WebCore/accessibility/AccessibilityScrollView.h
    M Source/WebCore/animation/AnimationEffect.h
    M Source/WebCore/animation/AnimationTimeline.h
    M Source/WebCore/animation/DeclarativeAnimation.h
    M Source/WebCore/animation/DocumentTimeline.h
    M Source/WebCore/animation/WebAnimation.h
    M Source/WebCore/bindings/js/JSLazyEventListener.cpp
    M Source/WebCore/bindings/js/JSLazyEventListener.h
    M Source/WebCore/css/CSSCursorImageValue.h
    M Source/WebCore/css/CSSFontFaceSource.h
    M Source/WebCore/css/CSSFontFaceSrcValue.h
    M Source/WebCore/css/CSSStyleSheet.h
    M Source/WebCore/css/FontFaceSet.h
    M Source/WebCore/css/MediaQueryEvaluator.h
    M Source/WebCore/css/MediaQueryList.h
    M Source/WebCore/css/MediaQueryMatcher.h
    M Source/WebCore/css/StyleSheetList.h
    M Source/WebCore/css/typedom/CSSStyleImageValue.h
    M Source/WebCore/dom/AbortSignal.cpp
    M Source/WebCore/dom/AbortSignal.h
    M Source/WebCore/dom/Attr.h
    M Source/WebCore/dom/BroadcastChannel.cpp
    M Source/WebCore/dom/BroadcastChannel.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/DocumentParser.h
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/Element.h
    M Source/WebCore/dom/ElementInternals.h
    M Source/WebCore/dom/EventListenerMap.h
    M Source/WebCore/dom/EventSender.h
    M Source/WebCore/dom/EventTarget.cpp
    M Source/WebCore/dom/EventTarget.h
    M Source/WebCore/dom/EventTargetConcrete.h
    M Source/WebCore/dom/IdleCallbackController.h
    M Source/WebCore/dom/MessagePort.cpp
    M Source/WebCore/dom/MessagePort.h
    M Source/WebCore/dom/Node.cpp
    M Source/WebCore/dom/Node.h
    M Source/WebCore/dom/NodeRareData.cpp
    M Source/WebCore/dom/NodeRareData.h
    M Source/WebCore/dom/ProcessingInstruction.h
    M Source/WebCore/dom/PseudoElement.h
    M Source/WebCore/dom/RadioButtonGroups.cpp
    M Source/WebCore/dom/ScriptedAnimationController.h
    M Source/WebCore/dom/ShadowRoot.cpp
    M Source/WebCore/dom/ShadowRoot.h
    M Source/WebCore/dom/SlotAssignment.cpp
    M Source/WebCore/dom/SlotAssignment.h
    M Source/WebCore/dom/TemplateContentDocumentFragment.h
    M Source/WebCore/dom/UserGestureIndicator.h
    M Source/WebCore/editing/FrameSelection.cpp
    M Source/WebCore/editing/FrameSelection.h
    M Source/WebCore/editing/TextManipulationController.h
    M Source/WebCore/fileapi/FileReader.h
    M Source/WebCore/html/FormAssociatedElement.h
    M Source/WebCore/html/FormController.cpp
    M Source/WebCore/html/HTMLAnchorElement.cpp
    M Source/WebCore/html/HTMLDetailsElement.h
    M Source/WebCore/html/HTMLDialogElement.h
    M Source/WebCore/html/HTMLFieldSetElement.h
    M Source/WebCore/html/HTMLFormControlsCollection.cpp
    M Source/WebCore/html/HTMLFormElement.cpp
    M Source/WebCore/html/HTMLFormElement.h
    M Source/WebCore/html/HTMLImageElement.h
    M Source/WebCore/html/HTMLInputElement.cpp
    M Source/WebCore/html/HTMLLinkElement.h
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/html/HTMLMediaElement.h
    M Source/WebCore/html/HTMLSlotElement.cpp
    M Source/WebCore/html/HTMLSlotElement.h
    M Source/WebCore/html/HTMLStyleElement.h
    M Source/WebCore/html/ImageDocument.h
    M Source/WebCore/html/InputType.h
    M Source/WebCore/html/MediaController.h
    M Source/WebCore/html/MediaDocument.cpp
    M Source/WebCore/html/ModelDocument.cpp
    M Source/WebCore/html/OffscreenCanvas.cpp
    M Source/WebCore/html/OffscreenCanvas.h
    M Source/WebCore/html/PDFDocument.cpp
    M Source/WebCore/html/PluginDocument.cpp
    M Source/WebCore/html/ValidationMessage.h
    M Source/WebCore/html/parser/HTMLScriptRunner.h
    M Source/WebCore/html/shadow/MediaControlTextTrackContainerElement.h
    M Source/WebCore/html/track/TextTrack.h
    M Source/WebCore/html/track/TextTrackCue.h
    M Source/WebCore/html/track/TrackBase.h
    M Source/WebCore/html/track/TrackListBase.h
    M Source/WebCore/inspector/InspectorOverlay.cpp
    M Source/WebCore/inspector/InspectorOverlay.h
    M Source/WebCore/inspector/agents/InspectorCSSAgent.h
    M Source/WebCore/inspector/agents/InspectorDOMAgent.h
    M Source/WebCore/inspector/agents/InspectorLayerTreeAgent.h
    M Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp
    M Source/WebCore/loader/ImageLoader.h
    M Source/WebCore/loader/LinkLoader.cpp
    M Source/WebCore/loader/MediaResourceLoader.h
    M Source/WebCore/loader/appcache/ApplicationCacheHost.h
    M Source/WebCore/loader/appcache/DOMApplicationCache.h
    M Source/WebCore/loader/cache/CachedImage.h
    M Source/WebCore/loader/cache/CachedResourceLoader.h
    M Source/WebCore/page/AbstractDOMWindow.h
    M Source/WebCore/page/DOMWindow.cpp
    M Source/WebCore/page/DOMWindowExtension.h
    M Source/WebCore/page/DOMWindowProperty.h
    M Source/WebCore/page/EventSource.h
    M Source/WebCore/page/Frame.h
    M Source/WebCore/page/ImageAnalysisQueue.h
    M Source/WebCore/page/ImageOverlayController.h
    M Source/WebCore/page/IntersectionObserver.h
    M Source/WebCore/page/ModalContainerObserver.cpp
    M Source/WebCore/page/ModalContainerObserver.h
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/page/Performance.h
    M Source/WebCore/page/PointerLockController.h
    M Source/WebCore/page/Quirks.h
    M Source/WebCore/page/ResizeObservation.h
    M Source/WebCore/page/ResizeObserver.h
    M Source/WebCore/page/UndoItem.h
    M Source/WebCore/page/VisualViewport.h
    M Source/WebCore/page/ios/ContentChangeObserver.h
    M Source/WebCore/page/scrolling/ScrollAnchoringController.h
    M Source/WebCore/page/scrolling/ScrollLatchingController.h
    M Source/WebCore/platform/ScrollView.h
    M Source/WebCore/platform/ScrollableArea.cpp
    M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h
    M Source/WebCore/platform/mediastream/RealtimeOutgoingVideoSource.h
    M Source/WebCore/rendering/RenderObject.cpp
    M Source/WebCore/rendering/svg/RenderSVGResource.cpp
    M Source/WebCore/style/StyleScope.h
    M Source/WebCore/svg/SVGDocumentExtensions.cpp
    M Source/WebCore/svg/SVGDocumentExtensions.h
    M Source/WebCore/svg/SVGElement.cpp
    M Source/WebCore/svg/SVGElement.h
    M Source/WebCore/svg/SVGElementRareData.h
    M Source/WebCore/svg/SVGFontFaceElement.h
    M Source/WebCore/svg/SVGViewElement.h
    M Source/WebCore/svg/SVGViewSpec.h
    M Source/WebCore/svg/animation/SVGSMILElement.cpp
    M Source/WebCore/svg/animation/SVGSMILElement.h
    M Source/WebCore/testing/WebXRTest.h
    M Source/WebCore/workers/AbstractWorker.h
    M Source/WebCore/workers/WorkerGlobalScope.h
    M Source/WebCore/workers/WorkerOrWorkletGlobalScope.h
    M Source/WebCore/workers/WorkerRunLoop.h
    M Source/WebCore/workers/service/ServiceWorker.h
    M Source/WebCore/workers/service/ServiceWorkerContainer.cpp
    M Source/WebCore/workers/service/ServiceWorkerContainer.h
    M Source/WebCore/workers/service/ServiceWorkerRegistration.h
    M Source/WebCore/worklets/WorkletGlobalScope.h
    M Source/WebCore/xml/DOMParser.h
    M Source/WebCore/xml/XMLHttpRequestEventTarget.h
    M Source/WebCore/xml/XSLStyleSheet.h
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
    M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.h
    M Source/WebKit/GPUProcess/media/RemoteCDMInstanceProxy.h
    M Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp
    M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h
    M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h
    M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
    M Source/WebKit/UIProcess/Cocoa/SOAuthorization/NavigationSOAuthorizationSession.h
    M Source/WebKit/UIProcess/Cocoa/SOAuthorization/SubFrameSOAuthorizationSession.h
    M Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h
    M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.h
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/XR/PlatformXRSystem.h
    M Source/WebKit/WebProcess/Automation/WebAutomationDOMWindowObserver.h
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h
    M Source/WebKit/WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp
    M Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.h
    M Source/WebKit/WebProcess/Network/WebSocketChannel.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.h
    M Tools/TestWebKitAPI/Tests/WTF/WeakPtr.cpp

  Log Message:
  -----------
  EventTarget should hold EventTargetData in WeakPtrImpl
https://bugs.webkit.org/show_bug.cgi?id=244710

Reviewed by Ryosuke Niwa.

This patch integrates EventTargetData into WeakPtrImpl so that we remove HashMap based side data in Node.
Now, we make WeakPtr's WeakPtrImpl customizable. For EventTarget, we use WeakPtrImplWithEventTargetData, which embed EventTargetData.
The benefit of this design is that (1) we do not increase sizeof(Node), (2) unifying the location of EventTargetData for all
EventTarget derived classes so we remove virtual function calls for eventTargetData(), and (3) removing HashMap lookup for Node's EventTargetData,
it is not only slow but also memory consuming and involving costly locking. This new design deploys WTF::storeStoreFence
at the right timing so that we can drop this lock completely.

We also use CompactRefPtrTuple in WeakPtrFactory so we migrate some of flags from Node to WeakPtrFactory's bitfields.
This includes HasEventTargetData which can tell us that info quickly. We should have this flag separately from WeakPtrFactory's
WeakPtrImpl's pointer's null check because we have many fast path which skips event related thing if HasEventTargetData is false.
We would like to keep this fast path working even if we create WeakPtr for this EventTarget class.

A/B test ensured that this offers 0.37% Speedometer2.1 progression with 98% confidence on AppleSilicon.

* Source/WTF/wtf/WeakHashMap.h:
* Source/WTF/wtf/WeakHashSet.h:
(WTF::copyToVector):
* Source/WTF/wtf/WeakPtr.h:
(WTF::EmptyCounter::increment):
(WTF::EmptyCounter::decrement):
(WTF::WeakPtrImpl::~WeakPtrImpl):
(WTF::WeakPtrImpl::counter):
(WTF::WeakPtrImpl::counter const):
(WTF::WeakPtrImpl::WeakPtrImpl):
(WTF::WeakPtr::implForObject):
(WTF::WeakPtrFactory::~WeakPtrFactory):
(WTF::WeakPtrFactory::counter):
(WTF::WeakPtrFactory::counter const):
(WTF::WeakPtrFactory::initializeIfNeeded const):
(WTF::WeakPtrFactory::createWeakPtr const):
(WTF::WeakPtrFactory::revokeAll):
(WTF::WeakPtrFactory::weakPtrCount const):
(WTF::WeakPtrFactory::isInitialized const):
(WTF::WeakPtrFactory::bitfield const):
(WTF::WeakPtrFactory::setBitfield const):
* Source/WebCore/Modules/WebGPU/GPUDevice.h:
* Source/WebCore/Modules/applepay/ApplePaySession.h:
* Source/WebCore/Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::canMakePaymentsWithActiveCard):
* Source/WebCore/Modules/async-clipboard/Clipboard.h:
* Source/WebCore/Modules/async-clipboard/ClipboardItem.h:
* Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h:
* Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::CredentialsContainer):
* Source/WebCore/Modules/credentialmanagement/CredentialsContainer.h:
(WebCore::CredentialsContainer::create):
* Source/WebCore/Modules/credentialmanagement/NavigatorCredentials.cpp:
(WebCore::NavigatorCredentials::credentials):
* Source/WebCore/Modules/credentialmanagement/NavigatorCredentials.h:
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):
(WebCore::MediaKeySession::stop):
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.h:
* Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.cpp:
(WebCore::MediaKeySystemAccess::createMediaKeys):
* Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
* Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeys.h:
* Source/WebCore/Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
* Source/WebCore/Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):
* Source/WebCore/Modules/highlight/AppHighlightStorage.h:
* Source/WebCore/Modules/indexeddb/IDBCursor.h:
* Source/WebCore/Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::dispatchEvent):
* Source/WebCore/Modules/indexeddb/IDBDatabase.h:
* Source/WebCore/Modules/indexeddb/IDBRequest.h:
* Source/WebCore/Modules/indexeddb/IDBTransaction.h:
* Source/WebCore/Modules/mediacontrols/MediaControlsHost.h:
* Source/WebCore/Modules/mediarecorder/MediaRecorder.h:
* Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h:
* Source/WebCore/Modules/mediasource/MediaSource.h:
* Source/WebCore/Modules/mediasource/SourceBuffer.h:
* Source/WebCore/Modules/mediasource/SourceBufferList.h:
* Source/WebCore/Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::addEventListener):
* Source/WebCore/Modules/mediastream/MediaDevices.h:
* Source/WebCore/Modules/mediastream/MediaStream.h:
* Source/WebCore/Modules/mediastream/MediaStreamTrack.h:
* Source/WebCore/Modules/mediastream/RTCDTMFSender.h:
* Source/WebCore/Modules/mediastream/RTCDataChannel.h:
* Source/WebCore/Modules/mediastream/RTCDtlsTransport.h:
* Source/WebCore/Modules/mediastream/RTCIceTransport.h:
* Source/WebCore/Modules/mediastream/RTCPeerConnection.h:
* Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::processFrame):
(WebCore::transformFrame):
* Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.h:
* Source/WebCore/Modules/mediastream/RTCRtpScriptTransform.h:
* Source/WebCore/Modules/mediastream/RTCRtpSender.h:
* Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h:
* Source/WebCore/Modules/mediastream/RTCSctpTransport.h:
* Source/WebCore/Modules/notifications/Notification.h:
* Source/WebCore/Modules/paymentrequest/PaymentRequest.h:
* Source/WebCore/Modules/paymentrequest/PaymentResponse.h:
* Source/WebCore/Modules/permissions/PermissionStatus.h:
* Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.h:
* Source/WebCore/Modules/plugins/YouTubePluginReplacement.h:
* Source/WebCore/Modules/remoteplayback/RemotePlayback.h:
* Source/WebCore/Modules/speech/SpeechRecognition.h:
* Source/WebCore/Modules/speech/SpeechSynthesis.h:
* Source/WebCore/Modules/speech/SpeechSynthesisUtterance.h:
* Source/WebCore/Modules/storage/WorkerStorageConnection.h:
* Source/WebCore/Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::context):
(WebCore::AudioNode::context const):
* Source/WebCore/Modules/webaudio/AudioNode.h:
* Source/WebCore/Modules/webaudio/AudioSummingJunction.h:
* Source/WebCore/Modules/webaudio/AudioWorklet.h:
* Source/WebCore/Modules/webaudio/BaseAudioContext.h:
* Source/WebCore/Modules/websockets/WebSocket.h:
* Source/WebCore/Modules/websockets/WebSocketChannel.h:
* Source/WebCore/Modules/websockets/WebSocketChannelInspector.h:
* Source/WebCore/Modules/webxr/WebXRLayer.h:
* Source/WebCore/Modules/webxr/WebXRRenderState.h:
* Source/WebCore/Modules/webxr/WebXRSession.h:
* Source/WebCore/Modules/webxr/WebXRSpace.h:
* Source/WebCore/Modules/webxr/WebXRSystem.h:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::filterWeakHashSetForRemoval):
* Source/WebCore/accessibility/AXObjectCache.h:
* Source/WebCore/accessibility/AccessibilityListBoxOption.h:
* Source/WebCore/accessibility/AccessibilityMenuListOption.h:
* Source/WebCore/accessibility/AccessibilityScrollView.h:
* Source/WebCore/animation/AnimationEffect.h:
* Source/WebCore/animation/AnimationTimeline.h:
* Source/WebCore/animation/DeclarativeAnimation.h:
* Source/WebCore/animation/DocumentTimeline.h:
* Source/WebCore/animation/WebAnimation.h:
* Source/WebCore/bindings/js/JSLazyEventListener.cpp:
* Source/WebCore/bindings/js/JSLazyEventListener.h:
* Source/WebCore/css/CSSCursorImageValue.h:
* Source/WebCore/css/CSSFontFaceSource.h:
* Source/WebCore/css/CSSFontFaceSrcValue.h:
* Source/WebCore/css/CSSStyleSheet.h:
* Source/WebCore/css/FontFaceSet.h:
* Source/WebCore/css/MediaQueryEvaluator.h:
* Source/WebCore/css/MediaQueryList.h:
* Source/WebCore/css/MediaQueryMatcher.h:
* Source/WebCore/css/StyleSheetList.h:
* Source/WebCore/css/typedom/CSSStyleImageValue.h:
* Source/WebCore/dom/AbortSignal.cpp:
(WebCore::AbortSignal::signalFollow):
* Source/WebCore/dom/AbortSignal.h:
* Source/WebCore/dom/Attr.h:
* Source/WebCore/dom/BroadcastChannel.cpp:
* Source/WebCore/dom/BroadcastChannel.h:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::buildAccessKeyCache):
(WebCore::Document::determineActiveThemeColorMetaElement):
(WebCore::Document::didLogMessage):
(WebCore::Document::navigateFromServiceWorker):
(WebCore::Document::didRejectSyncXHRDuringPageDismissal):
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/DocumentParser.h:
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::setElementAttribute):
(WebCore::Element::setElementsArrayAttribute):
(WebCore::elementIdentifiersMap):
* Source/WebCore/dom/Element.h:
* Source/WebCore/dom/ElementInternals.h:
* Source/WebCore/dom/EventListenerMap.h:
(WebCore::EventListenerMap::clearEntriesForTearDown):
* Source/WebCore/dom/EventSender.h:
(WebCore::Counter>::EventSender):
(WebCore::Counter>::dispatchEventSoon):
(WebCore::Counter>::cancelEvent):
(WebCore::Counter>::dispatchPendingEvents):
(WebCore::EventSender<T>::EventSender): Deleted.
(WebCore::EventSender<T>::dispatchEventSoon): Deleted.
(WebCore::EventSender<T>::cancelEvent): Deleted.
(WebCore::EventSender<T>::dispatchPendingEvents): Deleted.
* Source/WebCore/dom/EventTarget.cpp:
* Source/WebCore/dom/EventTarget.h:
(WebCore::EventTargetData::clear):
(WebCore::EventTargetCounter::increment):
(WebCore::EventTargetCounter::decrement):
(WebCore::EventTarget::eventTargetData const):
(WebCore::EventTarget::eventTargetData):
(WebCore::EventTarget::eventTargetDataConcurrently):
(WebCore::EventTarget::hasEventTargetData const):
(WebCore::EventTarget::setHasEventTargetData const):
(WebCore::EventTarget::ensureEventTargetData):
(): Deleted.
* Source/WebCore/dom/EventTargetConcrete.h:
* Source/WebCore/dom/IdleCallbackController.h:
* Source/WebCore/dom/MessagePort.cpp:
(WebCore::MessagePort::addEventListener):
(WebCore::MessagePort::removeEventListener):
* Source/WebCore/dom/MessagePort.h:
* Source/WebCore/dom/Node.cpp:
(WebCore::liveNodeSet):
(WebCore::ignoreSet):
(WebCore::Node::clearEventTargetData):
(WebCore::eventTargetDataMap): Deleted.
(WebCore::Node::eventTargetData): Deleted.
(WebCore::Node::eventTargetDataConcurrently): Deleted.
(WebCore::Node::ensureEventTargetData): Deleted.
* Source/WebCore/dom/Node.h:
(WebCore::Node::hasEventTargetData const): Deleted.
(WebCore::Node::setHasEventTargetData): Deleted.
* Source/WebCore/dom/NodeRareData.cpp:
* Source/WebCore/dom/NodeRareData.h:
* Source/WebCore/dom/PseudoElement.h:
* Source/WebCore/dom/RadioButtonGroups.cpp:
* Source/WebCore/dom/ScriptedAnimationController.h:
* Source/WebCore/dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::slotManualAssignmentDidChange):
(WebCore::ShadowRoot::assignedNodesForSlot):
* Source/WebCore/dom/ShadowRoot.h:
* Source/WebCore/dom/SlotAssignment.cpp:
(WebCore::NamedSlotAssignment::slotManualAssignmentDidChange):
(WebCore::NamedSlotAssignment::assignedNodesForSlot):
(WebCore::effectiveAssignedNodes):
(WebCore::ManualSlotAssignment::assignedNodesForSlot):
(WebCore::ManualSlotAssignment::slotManualAssignmentDidChange):
* Source/WebCore/dom/SlotAssignment.h:
* Source/WebCore/dom/TemplateContentDocumentFragment.h:
* Source/WebCore/dom/UserGestureIndicator.h:
* Source/WebCore/editing/FrameSelection.cpp:
(WebCore::containsEndpoints):
* Source/WebCore/editing/FrameSelection.h:
* Source/WebCore/editing/TextManipulationController.h:
* Source/WebCore/fileapi/FileReader.h:
* Source/WebCore/html/FormAssociatedElement.h:
* Source/WebCore/html/FormController.cpp:
* Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::rootEditableElementMap):
* Source/WebCore/html/HTMLDetailsElement.h:
* Source/WebCore/html/HTMLDialogElement.h:
* Source/WebCore/html/HTMLFieldSetElement.h:
* Source/WebCore/html/HTMLFormControlsCollection.cpp:
(WebCore::findFormAssociatedElement):
* Source/WebCore/html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::unsafeAssociatedElements const):
* Source/WebCore/html/HTMLFormElement.h:
* Source/WebCore/html/HTMLImageElement.h:
* Source/WebCore/html/HTMLInputElement.cpp:
* Source/WebCore/html/HTMLLinkElement.h:
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::speakCueText):
(WebCore::HTMLMediaElement::progressEventTimerFired):
* Source/WebCore/html/HTMLSlotElement.cpp:
(WebCore::HTMLSlotElement::assignedNodes const):
(WebCore::HTMLSlotElement::assign):
* Source/WebCore/html/HTMLSlotElement.h:
* Source/WebCore/html/HTMLStyleElement.h:
* Source/WebCore/html/ImageDocument.h:
* Source/WebCore/html/InputType.h:
* Source/WebCore/html/MediaController.h:
* Source/WebCore/html/MediaDocument.cpp:
* Source/WebCore/html/ModelDocument.cpp:
* Source/WebCore/html/OffscreenCanvas.cpp:
(WebCore::DetachedOffscreenCanvas::takePlaceholderCanvas):
* Source/WebCore/html/OffscreenCanvas.h:
* Source/WebCore/html/PluginDocument.cpp:
* Source/WebCore/html/ValidationMessage.h:
* Source/WebCore/html/parser/HTMLScriptRunner.h:
* Source/WebCore/html/shadow/MediaControlTextTrackContainerElement.h:
* Source/WebCore/html/track/TextTrack.h:
* Source/WebCore/html/track/TextTrackCue.h:
* Source/WebCore/html/track/TrackBase.h:
* Source/WebCore/html/track/TrackListBase.h:
* Source/WebCore/inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::removeGridOverlayForNode):
(WebCore::InspectorOverlay::removeFlexOverlayForNode):
* Source/WebCore/inspector/InspectorOverlay.h:
* Source/WebCore/inspector/agents/InspectorCSSAgent.h:
* Source/WebCore/inspector/agents/InspectorDOMAgent.h:
* Source/WebCore/inspector/agents/InspectorLayerTreeAgent.h:
* Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::enable):
* Source/WebCore/loader/ImageLoader.h:
* Source/WebCore/loader/LinkLoader.cpp:
(WebCore::LinkLoader::preconnectIfNeeded):
* Source/WebCore/loader/MediaResourceLoader.h:
* Source/WebCore/loader/appcache/ApplicationCacheHost.h:
* Source/WebCore/loader/appcache/DOMApplicationCache.h:
* Source/WebCore/loader/cache/CachedImage.h:
* Source/WebCore/loader/cache/CachedResourceLoader.h:
* Source/WebCore/page/AbstractDOMWindow.h:
* Source/WebCore/page/DOMWindow.cpp:
(WebCore::windowsInterestedInStorageEvents):
* Source/WebCore/page/DOMWindowExtension.h:
* Source/WebCore/page/DOMWindowProperty.h:
* Source/WebCore/page/EventSource.h:
* Source/WebCore/page/Frame.h:
* Source/WebCore/page/ImageAnalysisQueue.h:
* Source/WebCore/page/ImageOverlayController.h:
* Source/WebCore/page/IntersectionObserver.h:
(WebCore::IntersectionObserver::observationTargets const):
* Source/WebCore/page/ModalContainerObserver.cpp:
(WebCore::ModalContainerObserver::collectClickableElementsTimerFired):
(WebCore::ModalContainerObserver::collectClickableElements):
* Source/WebCore/page/ModalContainerObserver.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::updateRendering):
(WebCore::Page::doAfterUpdateRendering):
* Source/WebCore/page/Page.h:
* Source/WebCore/page/Performance.h:
* Source/WebCore/page/PointerLockController.h:
* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/ResizeObservation.h:
* Source/WebCore/page/ResizeObserver.h:
* Source/WebCore/page/UndoItem.h:
* Source/WebCore/page/VisualViewport.h:
* Source/WebCore/page/ios/ContentChangeObserver.h:
* Source/WebCore/page/scrolling/ScrollAnchoringController.h:
* Source/WebCore/page/scrolling/ScrollLatchingController.h:
* Source/WebCore/rendering/svg/RenderSVGResource.cpp:
(WebCore::removeFromCacheAndInvalidateDependencies):
* Source/WebCore/style/StyleScope.h:
* Source/WebCore/svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::addPendingResource):
* Source/WebCore/svg/SVGDocumentExtensions.h:
(WebCore::SVGDocumentExtensions::svgFontFaceElements const):
(WebCore::SVGDocumentExtensions::removePendingResource):
* Source/WebCore/svg/SVGElement.cpp:
(WebCore::SVGElement::instances const):
* Source/WebCore/svg/SVGElement.h:
* Source/WebCore/svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::instances const):
(WebCore::SVGElementRareData::referencingElements const):
(WebCore::SVGElementRareData::takeReferencingElements):
(WebCore::SVGElementRareData::setReferenceTarget):
* Source/WebCore/svg/SVGFontFaceElement.h:
* Source/WebCore/svg/SVGViewElement.h:
* Source/WebCore/svg/SVGViewSpec.h:
* Source/WebCore/svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
* Source/WebCore/svg/animation/SVGSMILElement.h:
* Source/WebCore/testing/WebXRTest.h:
* Source/WebCore/workers/AbstractWorker.h:
* Source/WebCore/workers/WorkerOrWorkletGlobalScope.h:
* Source/WebCore/workers/WorkerRunLoop.h:
* Source/WebCore/workers/service/ServiceWorker.h:
* Source/WebCore/workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::addEventListener):
* Source/WebCore/workers/service/ServiceWorkerContainer.h:
* Source/WebCore/workers/service/ServiceWorkerRegistration.h:
* Source/WebCore/worklets/WorkletGlobalScope.h:
* Source/WebCore/xml/DOMParser.h:
* Source/WebCore/xml/XMLHttpRequestEventTarget.h:
* Source/WebCore/xml/XSLStyleSheet.h:
* Source/WebKit/WebProcess/Automation/WebAutomationDOMWindowObserver.h:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:
* Source/WebKit/WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp:
* Source/WebKit/WebProcess/Network/WebSocketChannel.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.h:

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




More information about the webkit-changes mailing list