haikuwebkit/Source/WebCore/page/PerformanceObserverCallback...

32 lines
1.6 KiB
Plaintext
Raw Permalink Normal View History

Implement PerformanceObserver https://bugs.webkit.org/show_bug.cgi?id=167546 <rdar://problem/30247959> Reviewed by Ryosuke Niwa. Source/JavaScriptCore: * runtime/CommonIdentifiers.h: Source/WebCore: This implements PerformanceObserver from Performance Timeline Level 2: https://w3c.github.io/performance-timeline/ Tests: performance-api/performance-observer-api.html performance-api/performance-observer-basic.html performance-api/performance-observer-callback-mutate.html performance-api/performance-observer-callback-task.html performance-api/performance-observer-entry-sort.html performance-api/performance-observer-exception.html performance-api/performance-observer-nested.html performance-api/performance-observer-order.html performance-api/performance-observer-periodic.html performance-api/performance-timeline-api.html * CMakeLists.txt: * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: New files. * page/Performance.h: * page/Performance.cpp: (WebCore::Performance::mark): (WebCore::Performance::measure): (WebCore::Performance::registerPerformanceObserver): (WebCore::Performance::unregisterPerformanceObserver): (WebCore::Performance::queueEntry): Register PerformanceObservers with the Performance object. When new PerformanceEntries are created (Mark and Measure right now) check them against observers. * page/PerformanceEntry.cpp: (WebCore::PerformanceEntry::PerformanceEntry): (WebCore::PerformanceEntry::typeForEntryTypeString): * page/PerformanceEntry.h: (WebCore::PerformanceEntry::type): Give PerformanceEntry a convenience enum for easy comparison and to know if it is one of the built-in known types (which the PerformanceObserver API takes into account). * page/PerformanceObserver.cpp: Added. (WebCore::PerformanceObserver::PerformanceObserver): (WebCore::PerformanceObserver::observe): (WebCore::PerformanceObserver::disconnect): (WebCore::PerformanceObserver::queueEntry): (WebCore::PerformanceObserver::deliver): * page/PerformanceObserver.h: (WebCore::PerformanceObserver::create): (WebCore::PerformanceObserver::typeFilter): - TypeErrors on observe bad behavior - Completely replace types filter on observe - Handle register and unregister - Handle calling the callback * page/PerformanceObserverCallback.idl: Added. * page/PerformanceObserverEntryList.cpp: Added. (WebCore::PerformanceObserverEntryList::PerformanceObserverEntryList): (WebCore::PerformanceObserverEntryList::getEntries): (WebCore::PerformanceObserverEntryList::getEntriesByType): (WebCore::PerformanceObserverEntryList::getEntriesByName): * page/PerformanceObserverEntryList.h: (WebCore::PerformanceObserverEntryList::create): * page/PerformanceObserverEntryList.idl: Added. Implement sorting and filtering of entries. * page/PerformanceObserver.idl: Added. * page/PerformanceObserverCallback.h: (WebCore::PerformanceObserverCallback::~PerformanceObserverCallback): Mostly autogenerated. * page/PerformanceUserTiming.cpp: (WebCore::UserTiming::mark): (WebCore::UserTiming::measure): * page/PerformanceUserTiming.h: Update these to return the entry so it can be passed on to any interested PerformanceObservers. Source/WebInspectorUI: * UserInterface/Models/NativeFunctionParameters.js: Improve API view display of built-in performance methods. LayoutTests: * performance-api/performance-observer-api-expected.txt: Added. * performance-api/performance-observer-api.html: Added. * performance-api/performance-observer-basic-expected.txt: Added. * performance-api/performance-observer-basic.html: Added. * performance-api/performance-observer-callback-mutate-expected.txt: Added. * performance-api/performance-observer-callback-mutate.html: Added. * performance-api/performance-observer-callback-task-expected.txt: Added. * performance-api/performance-observer-callback-task.html: Added. * performance-api/performance-observer-entry-sort-expected.txt: Added. * performance-api/performance-observer-entry-sort.html: Added. * performance-api/performance-observer-exception-expected.txt: Added. * performance-api/performance-observer-exception.html: Added. * performance-api/performance-observer-nested-expected.txt: Added. * performance-api/performance-observer-nested.html: Added. * performance-api/performance-observer-order-expected.txt: Added. * performance-api/performance-observer-order.html: Added. * performance-api/performance-observer-periodic-expected.txt: Added. * performance-api/performance-observer-periodic.html: Added. PerformanceObserver tests. * performance-api/performance-timeline-api-expected.txt: Added. * performance-api/performance-timeline-api.html: Added. Performance timeline tests. * platform/efl/js/dom/global-constructors-attributes-expected.txt: * platform/gtk/js/dom/global-constructors-attributes-expected.txt: * platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt: * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt: * platform/mac/js/dom/global-constructors-attributes-expected.txt: * platform/win/js/dom/global-constructors-attributes-expected.txt: New global constructors. Canonical link: https://commits.webkit.org/184646@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@211406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-01-31 06:21:35 +00:00
/*
* Copyright (C) 2017 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// https://w3c.github.io/performance-timeline/
JSPerformanceObserverCallback creates a GC strongly-referenced Function that is never cleaned up https://bugs.webkit.org/show_bug.cgi?id=186873 <rdar://problem/41271574> Reviewed by Simon Fraser. Source/WebCore: Add [IsWeakCallback] to PerformanceObserverCallback interface so that the generated JSPerformanceObserverCallback uses a JSC::Weak instead of a JSC::Strong to store the js function. To keep the function alive, add [JSCustomMarkFunction] to PerformanceObserver interface and have its visitAdditionalChildren() visit the callback's js function. Finally, because we want the callback to still be called even if the JS does not keep the PerformanceObserver wrapper alive, add [CustomIsReachable] to PerformanceObserver interface and have its isReachableFromOpaqueRoots() return true if the observer is registered (i.e. it may need to call the callback in the future). I have confirmed locally, that the Performance / PerformanceObserver / Document objects properly get destroyed if I navigate away from a page that had a performance observer and trigger a memory pressure warning. Also, `notifyutil -p com.apple.WebKit.showAllDocuments` no longer shows the old document. Tests: performance-api/performance-observer-callback-after-gc.html performance-api/performance-observer-no-document-leak.html * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSPerformanceObserverCustom.cpp: Added. (WebCore::JSPerformanceObserver::visitAdditionalChildren): (WebCore::JSPerformanceObserverOwner::isReachableFromOpaqueRoots): * bindings/js/ScriptController.cpp: * page/PerformanceObserver.cpp: (WebCore::PerformanceObserver::disassociate): * page/PerformanceObserver.h: (WebCore::PerformanceObserver::isRegistered const): (WebCore::PerformanceObserver::callback): * page/PerformanceObserver.idl: * page/PerformanceObserverCallback.h: * page/PerformanceObserverCallback.idl: LayoutTests: * performance-api/performance-observer-callback-after-gc-expected.txt: Added. * performance-api/performance-observer-callback-after-gc.html: Added. Add layout test to make sure that a performance observer's callback still gets called, even if the JS does not keep the performance observer alive. * performance-api/performance-observer-no-document-leak-expected.txt: Added. * performance-api/performance-observer-no-document-leak.html: Added. * performance-api/resources/performance-observer-no-document-leak-frame.html: Added. Add layout test coverage to make sure the document does not leak if PerformanceObserver was used. Canonical link: https://commits.webkit.org/202150@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-21 19:04:02 +00:00
[
IsWeakCallback,
{Intersection,Resize,Performance}Observer callbacks get incorrect `this` value https://bugs.webkit.org/show_bug.cgi?id=215162 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/intersection-observer/observer-callback-arguments-expected.txt: * web-platform-tests/performance-timeline/po-observe.any-expected.txt: * web-platform-tests/performance-timeline/po-observe.any.worker-expected.txt: * web-platform-tests/resize-observer/eventloop-expected.txt: * web-platform-tests/resize-observer/observe-expected.txt: Source/WebCore: This change utilizes CallbackThisObject] IDL attribute to invoke a callback of IntersectionObserver [1], ResizeObserver [2], and PerformanceObserver [3] with correct `this` value of its observer, aligning WebKit with Blink and Gecko. Tests: imported/w3c/web-platform-tests/intersection-observer/observer-callback-arguments.html imported/w3c/web-platform-tests/resize-observer/observe.html imported/w3c/web-platform-tests/performance-timeline/po-observe.any.js [1] https://w3c.github.io/IntersectionObserver/#notify-intersection-observers-algo (step 3.4) [2] https://github.com/w3c/csswg-drafts/pull/5383 [3] https://w3c.github.io/performance-timeline/#queue-the-performanceobserver-task (step 3.3.5) * html/LazyLoadImageObserver.cpp: * page/IntersectionObserver.cpp: (WebCore::IntersectionObserver::notify): * page/IntersectionObserverCallback.h: * page/IntersectionObserverCallback.idl: * page/PerformanceObserver.cpp: (WebCore::PerformanceObserver::deliver): * page/PerformanceObserverCallback.h: * page/PerformanceObserverCallback.idl: * page/ResizeObserver.cpp: (WebCore::ResizeObserver::deliverObservations): * page/ResizeObserverCallback.h: * page/ResizeObserverCallback.idl: LayoutTests: * performance-api/performance-observer-basic-expected.txt: Canonical link: https://commits.webkit.org/228075@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-08-07 23:20:31 +00:00
CallbackThisObject=PerformanceObserver,
[WebIDL] 'void' type is changing to 'undefined' https://bugs.webkit.org/show_bug.cgi?id=215514 <rdar://problem/67566201> Reviewed by Darin Adler. Update IDLs and IDL parsing / code generation for the switch from 'void' to 'undefined'. Source/WebCore: Also updates the parser to better match current WebIDL grammar, removing the special 'ReturnType' construction and just using 'Type' instead. * Modules/applepay/ApplePaySession.idl: * Modules/async-clipboard/Clipboard.idl: * Modules/cache/DOMCache.idl: * Modules/credentialmanagement/CredentialsContainer.idl: * Modules/encryptedmedia/MediaKeySession.h: * Modules/encryptedmedia/MediaKeySession.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl: * Modules/entriesapi/ErrorCallback.idl: * Modules/entriesapi/FileCallback.idl: * Modules/entriesapi/FileSystemDirectoryEntry.idl: * Modules/entriesapi/FileSystemDirectoryReader.idl: * Modules/entriesapi/FileSystemEntriesCallback.idl: * Modules/entriesapi/FileSystemEntry.idl: * Modules/entriesapi/FileSystemEntryCallback.idl: * Modules/entriesapi/FileSystemFileEntry.idl: * Modules/fetch/FetchHeaders.idl: * Modules/geolocation/Geolocation.idl: * Modules/geolocation/PositionCallback.idl: * Modules/geolocation/PositionErrorCallback.idl: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBDatabase.idl: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.idl: * Modules/mediacontrols/MediaControlsHost.idl: * Modules/mediarecorder/MediaRecorder.idl: * Modules/mediasession/MediaSession.idl: * Modules/mediasource/MediaSource.idl: * Modules/mediasource/SourceBuffer.idl: * Modules/mediastream/CanvasCaptureMediaStreamTrack.idl: * Modules/mediastream/MediaStream.idl: * Modules/mediastream/MediaStreamTrack.idl: * Modules/mediastream/NavigatorMediaDevices.idl: * Modules/mediastream/RTCDTMFSender.idl: * Modules/mediastream/RTCDataChannel.idl: * Modules/mediastream/RTCPeerConnection.idl: * Modules/mediastream/RTCRtpSender.idl: * Modules/mediastream/RTCRtpTransceiver.idl: * Modules/notifications/Notification.idl: * Modules/notifications/NotificationPermissionCallback.idl: * Modules/paymentrequest/MerchantValidationEvent.idl: * Modules/paymentrequest/PaymentRequest.idl: * Modules/paymentrequest/PaymentRequestUpdateEvent.idl: * Modules/paymentrequest/PaymentResponse.idl: * Modules/pictureinpicture/DocumentPictureInPicture.idl: * Modules/plugins/QuickTimePluginReplacement.idl: * Modules/quota/StorageErrorCallback.idl: * Modules/quota/StorageInfo.idl: * Modules/quota/StorageQuota.idl: * Modules/quota/StorageQuotaCallback.idl: * Modules/quota/StorageUsageCallback.idl: * Modules/remoteplayback/RemotePlayback.idl: * Modules/speech/SpeechSynthesis.idl: * Modules/streams/ReadableByteStreamController.idl: * Modules/streams/ReadableStreamBYOBReader.idl: * Modules/streams/ReadableStreamBYOBRequest.idl: * Modules/streams/ReadableStreamDefaultController.idl: * Modules/streams/ReadableStreamDefaultReader.idl: * Modules/streams/ReadableStreamSink.idl: * Modules/streams/ReadableStreamSource.idl: * Modules/streams/TransformStreamDefaultController.idl: * Modules/streams/WritableStreamDefaultController.idl: * Modules/streams/WritableStreamDefaultWriter.idl: * Modules/webaudio/AnalyserNode.idl: * Modules/webaudio/AudioBuffer.idl: * Modules/webaudio/AudioBufferCallback.idl: * Modules/webaudio/AudioBufferSourceNode.idl: * Modules/webaudio/AudioContext.idl: * Modules/webaudio/AudioListener.idl: * Modules/webaudio/AudioNode.idl: * Modules/webaudio/AudioScheduledSourceNode.idl: * Modules/webaudio/BiquadFilterNode.idl: * Modules/webaudio/IIRFilterNode.idl: * Modules/webaudio/OfflineAudioContext.idl: * Modules/webaudio/OscillatorNode.idl: * Modules/webaudio/PannerNode.idl: * Modules/webaudio/WebKitAudioBufferSourceNode.idl: * Modules/webaudio/WebKitAudioContext.idl: * Modules/webaudio/WebKitAudioListener.idl: * Modules/webaudio/WebKitAudioPannerNode.idl: * Modules/webaudio/WebKitOscillatorNode.idl: * Modules/webdatabase/Database.idl: * Modules/webdatabase/DatabaseCallback.idl: * Modules/webdatabase/SQLStatementCallback.idl: * Modules/webdatabase/SQLTransaction.idl: * Modules/webdatabase/SQLTransactionCallback.idl: * Modules/webdatabase/SQLTransactionErrorCallback.idl: * Modules/webgpu/WebGPUBuffer.idl: * Modules/webgpu/WebGPUCommandEncoder.idl: * Modules/webgpu/WebGPUComputePassEncoder.idl: * Modules/webgpu/WebGPUDeviceErrorScopes.idl: * Modules/webgpu/WebGPUProgrammablePassEncoder.idl: * Modules/webgpu/WebGPUQueue.idl: * Modules/webgpu/WebGPURenderPassEncoder.idl: * Modules/webgpu/WebGPUTexture.idl: * Modules/websockets/WebSocket.idl: * Modules/webxr/WebXRSession.idl: * Modules/webxr/WebXRSystem.idl: * Modules/webxr/XRFrameRequestCallback.idl: * Scripts/SettingsTemplates/InternalSettingsGenerated.idl.erb: * animation/AnimationEffect.idl: * animation/KeyframeEffect.idl: * animation/WebAnimation.idl: * bindings/IDLTypes.h: * bindings/js/DOMPromiseProxy.h: * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: (NeedsExplicitPropagateExceptionCall): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GetBaseIDLType): * bindings/scripts/IDLParser.pm: (parseCallbackRest): (parseAttributeOrOperationForStringifierOrStatic): (parseOperation): (parseSpecialOperation): (parseMapLikeProperties): (parseSetLikeProperties): (parseSingleType): (parseUnionMemberType): (parseDistinguishableType): (parseConstType): (parsePrimitiveType): (parseNonAnyType): Deleted. (parseReturnType): Deleted. * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.h: * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.h: * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestIterable.cpp: * bindings/scripts/test/JS/JSTestNode.cpp: * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjPrototypeFunctionUndefinedMethodBody): (WebCore::jsTestObjPrototypeFunctionUndefinedMethod): (WebCore::jsTestObjPrototypeFunctionUndefinedMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionUndefinedMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): Deleted. (WebCore::jsTestObjPrototypeFunctionVoidMethod): Deleted. (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): Deleted. (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): Deleted. * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.h: * bindings/scripts/test/TestCEReactions.idl: * bindings/scripts/test/TestCallTracer.idl: * bindings/scripts/test/TestCallbackFunctionWithThisObject.idl: * bindings/scripts/test/TestCallbackFunctionWithTypedefs.idl: * bindings/scripts/test/TestCallbackInterface.idl: * bindings/scripts/test/TestDomainSecurity.idl: * bindings/scripts/test/TestEnabledBySetting.idl: * bindings/scripts/test/TestGlobalObject.idl: * bindings/scripts/test/TestImplements.idl: * bindings/scripts/test/TestIndexedSetterNoIdentifier.idl: * bindings/scripts/test/TestIndexedSetterThrowingException.idl: * bindings/scripts/test/TestIndexedSetterWithIdentifier.idl: * bindings/scripts/test/TestJSBuiltinConstructor.idl: * bindings/scripts/test/TestNamedAndIndexedSetterNoIdentifier.idl: * bindings/scripts/test/TestNamedAndIndexedSetterThrowingException.idl: * bindings/scripts/test/TestNamedAndIndexedSetterWithIdentifier.idl: * bindings/scripts/test/TestNamedDeleterNoIdentifier.idl: * bindings/scripts/test/TestNamedDeleterThrowingException.idl: * bindings/scripts/test/TestNamedDeleterWithIdentifier.idl: * bindings/scripts/test/TestNamedDeleterWithIndexedGetter.idl: * bindings/scripts/test/TestNamedSetterNoIdentifier.idl: * bindings/scripts/test/TestNamedSetterThrowingException.idl: * bindings/scripts/test/TestNamedSetterWithIdentifier.idl: * bindings/scripts/test/TestNamedSetterWithIndexedGetter.idl: * bindings/scripts/test/TestNamedSetterWithIndexedGetterAndSetter.idl: * bindings/scripts/test/TestNamedSetterWithOverrideBuiltins.idl: * bindings/scripts/test/TestNamedSetterWithUnforgableProperties.idl: * bindings/scripts/test/TestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.idl: * bindings/scripts/test/TestNode.idl: * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestOperationBase.idl: * bindings/scripts/test/TestSerializedScriptValueInterface.idl: * bindings/scripts/test/TestSupplemental.idl: * bindings/scripts/test/TestTypedefs.idl: * bindings/scripts/test/TestVoidCallbackFunction.idl: * css/CSSKeyframesRule.idl: * css/CSSMediaRule.idl: * css/CSSPaintCallback.idl: * css/CSSStyleDeclaration.idl: * css/CSSStyleSheet.idl: * css/CSSSupportsRule.idl: * css/DOMCSSRegisterCustomProperty.idl: * css/DeprecatedCSSOMPrimitiveValue.idl: * css/FontFaceSet.idl: * css/MediaList.idl: * css/MediaQueryList.idl: * css/WebKitCSSMatrix.idl: * dom/AbortAlgorithm.idl: * dom/AbortController.idl: * dom/AbortSignal.idl: * dom/CharacterData.idl: * dom/ChildNode.idl: * dom/CompositionEvent.idl: * dom/CustomElementRegistry.idl: * dom/CustomEvent.idl: * dom/DOMStringMap.idl: * dom/DataTransfer.idl: * dom/DataTransferItem.idl: * dom/DataTransferItemList.idl: * dom/DeviceMotionEvent.idl: * dom/DeviceOrientationEvent.idl: * dom/Document.idl: * dom/DocumentFullscreen.idl: * dom/DocumentStorageAccess.idl: * dom/Element.idl: * dom/Event.idl: * dom/EventListener.idl: * dom/EventTarget.idl: * dom/HashChangeEvent.idl: * dom/IdleRequestCallback.idl: * dom/KeyboardEvent.idl: * dom/MessageEvent.idl: * dom/MessagePort.idl: * dom/MouseEvent.idl: * dom/MutationCallback.idl: * dom/MutationEvent.idl: * dom/MutationObserver.idl: * dom/Node.idl: * dom/NodeIterator.idl: * dom/ParentNode.idl: * dom/Range.idl: * dom/RequestAnimationFrameCallback.idl: * dom/StringCallback.idl: * dom/TextEvent.idl: * dom/TouchEvent.idl: * dom/UIEvent.idl: * dom/WheelEvent.idl: * fileapi/BlobCallback.idl: * fileapi/FileReader.idl: * html/DOMFormData.idl: * html/DOMTokenList.idl: * html/DOMURL.idl: * html/HTMLButtonElement.idl: * html/HTMLCanvasElement.idl: * html/HTMLDialogElement.idl: * html/HTMLElement.idl: * html/HTMLFieldSetElement.idl: * html/HTMLFormElement.idl: * html/HTMLImageElement.idl: * html/HTMLInputElement.idl: * html/HTMLKeygenElement.idl: * html/HTMLMarqueeElement.idl: * html/HTMLMediaElement.idl: * html/HTMLObjectElement.idl: * html/HTMLOptionsCollection.idl: * html/HTMLOrForeignElement.idl: * html/HTMLOutputElement.idl: * html/HTMLSelectElement.idl: * html/HTMLTableElement.idl: * html/HTMLTableRowElement.idl: * html/HTMLTableSectionElement.idl: * html/HTMLTextAreaElement.idl: * html/HTMLVideoElement.idl: * html/ImageBitmap.idl: * html/MediaController.idl: * html/URLSearchParams.idl: * html/VoidCallback.idl: * html/canvas/ANGLEInstancedArrays.idl: * html/canvas/CanvasDrawImage.idl: * html/canvas/CanvasDrawPath.idl: * html/canvas/CanvasGradient.idl: * html/canvas/CanvasImageData.idl: * html/canvas/CanvasPath.idl: * html/canvas/CanvasPathDrawingStyles.idl: * html/canvas/CanvasPattern.idl: * html/canvas/CanvasRect.idl: * html/canvas/CanvasRenderingContext2D.idl: * html/canvas/CanvasState.idl: * html/canvas/CanvasText.idl: * html/canvas/CanvasTransform.idl: * html/canvas/CanvasUserInterface.idl: * html/canvas/ImageBitmapRenderingContext.idl: * html/canvas/OESVertexArrayObject.idl: * html/canvas/OffscreenCanvasRenderingContext2D.idl: * html/canvas/Path2D.idl: * html/canvas/WebGL2RenderingContext.idl: * html/canvas/WebGLDrawBuffers.idl: * html/canvas/WebGLLoseContext.idl: * html/canvas/WebGLRenderingContextBase.idl: * html/track/TextTrack.idl: * inspector/CommandLineAPIHost.idl: * inspector/InspectorFrontendHost.idl: * loader/appcache/DOMApplicationCache.idl: * page/DOMSelection.idl: * page/DOMWindow.idl: * page/EventSource.idl: * page/History.idl: * page/IntersectionObserver.idl: * page/IntersectionObserverCallback.idl: * page/Location.idl: * page/Navigator.idl: * page/NavigatorIsLoggedIn.idl: * page/NavigatorShare.idl: * page/Performance.idl: * page/PerformanceObserver.idl: * page/PerformanceObserverCallback.idl: * page/RemoteDOMWindow.idl: * page/ResizeObserver.idl: * page/ResizeObserverCallback.idl: * page/UndoManager.idl: * page/WindowOrWorkerGlobalScope.idl: * plugins/DOMPluginArray.idl: * storage/Storage.idl: * storage/StorageEvent.idl: * svg/SVGAngle.idl: * svg/SVGAnimationElement.idl: * svg/SVGFEDropShadowElement.idl: * svg/SVGFEGaussianBlurElement.idl: * svg/SVGFEMorphologyElement.idl: * svg/SVGLength.idl: * svg/SVGLengthList.idl: * svg/SVGMarkerElement.idl: * svg/SVGNumberList.idl: * svg/SVGPathSegList.idl: * svg/SVGPointList.idl: * svg/SVGSVGElement.idl: * svg/SVGStringList.idl: * svg/SVGTextContentElement.idl: * svg/SVGTransform.idl: * svg/SVGTransformList.idl: * testing/InternalSettings.idl: * testing/Internals.idl: * testing/MockCDMFactory.idl: * testing/MockPageOverlay.idl: * testing/MockPaymentCoordinator.idl: * testing/ServiceWorkerInternals.idl: * testing/TypeConversions.idl: * testing/WebFakeXRDevice.idl: * testing/WebFakeXRInputController.idl: * testing/WebXRTest.idl: * testing/XRSimulateUserActivationFunction.idl: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.idl: * workers/WorkerGlobalScope.idl: * workers/service/ExtendableEvent.idl: * workers/service/FetchEvent.idl: * workers/service/ServiceWorker.idl: * workers/service/ServiceWorkerClient.idl: * workers/service/ServiceWorkerClients.idl: * workers/service/ServiceWorkerContainer.idl: * workers/service/ServiceWorkerGlobalScope.idl: * workers/service/ServiceWorkerRegistration.idl: * worklets/PaintWorkletGlobalScope.idl: * worklets/Worklet.idl: * xml/XMLHttpRequest.idl: * xml/XSLTProcessor.idl: Tools: * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm: (_generateImplementationFile): (_returnExpression): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: (_generateImplementationFile): (_returnExpression): * WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: * WebKitTestRunner/InjectedBundle/Bindings/GCController.idl: * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl: Canonical link: https://commits.webkit.org/228750@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-08-28 23:04:52 +00:00
] callback PerformanceObserverCallback = undefined (PerformanceObserverEntryList entries, PerformanceObserver observer);