haikuwebkit/Source/WebCore/page/UserMessageHandlersNamespac...

35 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

/*
* Copyright (C) 2014 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.
*/
[WebIDL] Make Exposed mandatory for IDL interfaces https://bugs.webkit.org/show_bug.cgi?id=217101 Reviewed by Darin Adler. Add [Exposed] to all IDL interfaces that were missing it and enforce its requirement. * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/preprocess-idls.pl: Remove default "Window" exposed behavior and require it on all interfaces and callback interfaces with constants that don't specify LegacyNoInterfaceObject. * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl: * Modules/applepay/ApplePayError.idl: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/ApplePaySetup.idl: * Modules/applepay/ApplePaySetupFeature.idl: * Modules/encryptedmedia/MediaKeyEncryptionScheme.idl: * Modules/encryptedmedia/MediaKeyMessageEvent.idl: * Modules/encryptedmedia/MediaKeySession.idl: * Modules/encryptedmedia/MediaKeySessionType.idl: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/MediaKeySystemAccess.idl: * Modules/encryptedmedia/MediaKeys.idl: * Modules/encryptedmedia/MediaKeysRequirement.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeys.idl: * Modules/entriesapi/DOMFileSystem.idl: * Modules/entriesapi/FileSystemDirectoryEntry.idl: * Modules/entriesapi/FileSystemDirectoryReader.idl: * Modules/entriesapi/FileSystemEntry.idl: * Modules/entriesapi/FileSystemFileEntry.idl: * Modules/gamepad/Gamepad.idl: * Modules/gamepad/GamepadButton.idl: * Modules/gamepad/GamepadEvent.idl: * Modules/geolocation/Geolocation.idl: * Modules/geolocation/GeolocationCoordinates.idl: * Modules/geolocation/GeolocationPosition.idl: * Modules/geolocation/GeolocationPositionError.idl: * Modules/geolocation/PositionOptions.idl: * Modules/highlight/HighlightMap.idl: * Modules/highlight/HighlightRangeGroup.idl: * Modules/mediacapabilities/AudioConfiguration.idl: * Modules/mediacapabilities/MediaCapabilities.idl: * Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesInfo.idl: * Modules/mediacapabilities/MediaDecodingConfiguration.idl: * Modules/mediacapabilities/MediaEncodingConfiguration.idl: * Modules/mediacapabilities/VideoConfiguration.idl: * Modules/mediasource/MediaSource.idl: * Modules/mediasource/SourceBuffer.idl: * Modules/mediasource/SourceBufferList.idl: * Modules/mediastream/CanvasCaptureMediaStreamTrack.idl: * Modules/mediastream/MediaDeviceInfo.idl: * Modules/mediastream/MediaDevices.idl: * Modules/mediastream/MediaStream.idl: * Modules/mediastream/MediaStreamTrack.idl: * Modules/mediastream/MediaStreamTrackEvent.idl: * Modules/mediastream/OverconstrainedError.idl: * Modules/mediastream/OverconstrainedErrorEvent.idl: * Modules/mediastream/RTCCertificate.idl: * Modules/mediastream/RTCConfiguration.idl: * Modules/mediastream/RTCDTMFSender.idl: * Modules/mediastream/RTCDTMFToneChangeEvent.idl: * Modules/mediastream/RTCDataChannel.idl: * Modules/mediastream/RTCDataChannelEvent.idl: * Modules/mediastream/RTCIceCandidate.idl: * Modules/mediastream/RTCIceTransport.idl: * Modules/mediastream/RTCPeerConnection.idl: * Modules/mediastream/RTCPeerConnectionIceEvent.idl: * Modules/mediastream/RTCRtpReceiver.idl: * Modules/mediastream/RTCRtpSender.idl: * Modules/mediastream/RTCRtpTransceiver.idl: * Modules/mediastream/RTCSessionDescription.idl: * Modules/mediastream/RTCStatsReport.idl: * Modules/mediastream/RTCTrackEvent.idl: * Modules/notifications/Notification.idl: * Modules/paymentrequest/PaymentRequest.idl: * Modules/remoteplayback/RemotePlayback.idl: * Modules/speech/SpeechSynthesis.idl: * Modules/speech/SpeechSynthesisEvent.idl: * Modules/speech/SpeechSynthesisUtterance.idl: * Modules/speech/SpeechSynthesisVoice.idl: * Modules/webaudio/AnalyserNode.idl: * Modules/webaudio/AudioBuffer.idl: * Modules/webaudio/AudioBufferSourceNode.idl: * Modules/webaudio/AudioContext.idl: * Modules/webaudio/AudioDestinationNode.idl: * Modules/webaudio/AudioListener.idl: * Modules/webaudio/AudioNode.idl: * Modules/webaudio/AudioParam.idl: * Modules/webaudio/AudioParamMap.idl: * Modules/webaudio/AudioProcessingEvent.idl: * Modules/webaudio/AudioScheduledSourceNode.idl: * Modules/webaudio/BaseAudioContext.idl: * Modules/webaudio/BiquadFilterNode.idl: * Modules/webaudio/ChannelMergerNode.idl: * Modules/webaudio/ChannelSplitterNode.idl: * Modules/webaudio/ConstantSourceNode.idl: * Modules/webaudio/ConvolverNode.idl: * Modules/webaudio/DelayNode.idl: * Modules/webaudio/DynamicsCompressorNode.idl: * Modules/webaudio/GainNode.idl: * Modules/webaudio/IIRFilterNode.idl: * Modules/webaudio/MediaElementAudioSourceNode.idl: * Modules/webaudio/MediaStreamAudioDestinationNode.idl: * Modules/webaudio/MediaStreamAudioSourceNode.idl: * Modules/webaudio/OfflineAudioCompletionEvent.idl: * Modules/webaudio/OfflineAudioContext.idl: * Modules/webaudio/OscillatorNode.idl: * Modules/webaudio/PannerNode.idl: * Modules/webaudio/PeriodicWave.idl: * Modules/webaudio/ScriptProcessorNode.idl: * Modules/webaudio/StereoPannerNode.idl: * Modules/webaudio/WaveShaperNode.idl: * Modules/webaudio/WebKitAudioContext.idl: * Modules/webaudio/WebKitAudioPannerNode.idl: * Modules/webaudio/WebKitOfflineAudioContext.idl: * Modules/webdatabase/Database.idl: * Modules/webdatabase/SQLError.idl: * Modules/webdatabase/SQLResultSet.idl: * Modules/webdatabase/SQLResultSetRowList.idl: * Modules/webdatabase/SQLTransaction.idl: * Modules/webgpu/GPUBufferUsage.idl: * Modules/webgpu/GPUCanvasContext.idl: * Modules/webgpu/GPUColorWrite.idl: * Modules/webgpu/GPUOutOfMemoryError.idl: * Modules/webgpu/GPUShaderStage.idl: * Modules/webgpu/GPUTextureUsage.idl: * Modules/webgpu/GPUValidationError.idl: * Modules/webgpu/Navigator+GPU.idl: * Modules/webgpu/WebGPU.idl: * Modules/webgpu/WebGPUAdapter.idl: * Modules/webgpu/WebGPUBindGroup.idl: * Modules/webgpu/WebGPUBindGroupLayout.idl: * Modules/webgpu/WebGPUBuffer.idl: * Modules/webgpu/WebGPUCommandBuffer.idl: * Modules/webgpu/WebGPUCommandEncoder.idl: * Modules/webgpu/WebGPUComputePassEncoder.idl: * Modules/webgpu/WebGPUComputePipeline.idl: * Modules/webgpu/WebGPUDevice.idl: * Modules/webgpu/WebGPUPipelineLayout.idl: * Modules/webgpu/WebGPUProgrammablePassEncoder.idl: * Modules/webgpu/WebGPUQueue.idl: * Modules/webgpu/WebGPURenderPassEncoder.idl: * Modules/webgpu/WebGPURenderPipeline.idl: * Modules/webgpu/WebGPUSampler.idl: * Modules/webgpu/WebGPUShaderModule.idl: * Modules/webgpu/WebGPUSwapChain.idl: * Modules/webgpu/WebGPUTexture.idl: * Modules/webgpu/WebGPUTextureView.idl: * Modules/webxr/XRInputSourceEvent.idl: * Modules/webxr/XRInputSourcesChangeEvent.idl: * Modules/webxr/XRReferenceSpaceEvent.idl: * Modules/webxr/XRSessionEvent.idl: * WebCore.xcodeproj/project.pbxproj: * animation/AnimationPlaybackEvent.idl: * animation/AnimationTimeline.idl: * animation/DocumentTimeline.idl: * animation/WebAnimation.idl: * css/CSSConditionRule.idl: * css/CSSFontFaceRule.idl: * css/CSSGroupingRule.idl: * css/CSSImportRule.idl: * css/CSSKeyframeRule.idl: * css/CSSKeyframesRule.idl: * css/CSSMediaRule.idl: * css/CSSNamespaceRule.idl: * css/CSSPageRule.idl: * css/CSSRuleList.idl: * css/CSSStyleDeclaration.idl: * css/CSSStyleRule.idl: * css/CSSStyleSheet.idl: * css/CSSSupportsRule.idl: * css/DOMCSSNamespace.idl: * css/DeprecatedCSSOMCounter.idl: * css/DeprecatedCSSOMPrimitiveValue.idl: * css/DeprecatedCSSOMRGBColor.idl: * css/DeprecatedCSSOMRect.idl: * css/DeprecatedCSSOMValue.idl: * css/DeprecatedCSSOMValueList.idl: * css/FontFace.idl: * css/FontFaceSet.idl: * css/MediaQueryListEvent.idl: * css/typedom/StylePropertyMap.idl: * dom/AbortAlgorithm.idl: * dom/AnimationEvent.idl: * dom/Attr.idl: * dom/BeforeLoadEvent.idl: * dom/BeforeUnloadEvent.idl: * dom/CDATASection.idl: * dom/CharacterData.idl: * dom/ClipboardEvent.idl: * dom/Comment.idl: * dom/CompositionEvent.idl: * dom/CustomElementRegistry.idl: * dom/DOMImplementation.idl: * dom/DOMRectList.idl: * dom/DOMStringList.idl: * dom/DOMStringMap.idl: * dom/DataTransfer.idl: * dom/DataTransferItem.idl: * dom/DataTransferItemList.idl: * dom/DeviceMotionEvent.idl: * dom/DeviceOrientationEvent.idl: * dom/Document.idl: * dom/DocumentFragment.idl: * dom/DocumentType.idl: * dom/DragEvent.idl: * dom/Element.idl: * dom/FocusEvent.idl: * dom/HashChangeEvent.idl: * dom/IdleDeadline.idl: * dom/InputEvent.idl: * dom/KeyboardEvent.idl: * dom/MouseEvent.idl: * dom/MutationEvent.idl: * dom/MutationObserver.idl: * dom/MutationRecord.idl: * dom/NamedNodeMap.idl: * dom/Node.idl: * dom/NodeFilter.idl: * dom/NodeIterator.idl: * dom/NodeList.idl: * dom/OverflowEvent.idl: * dom/PageTransitionEvent.idl: * dom/PopStateEvent.idl: * dom/ProcessingInstruction.idl: * dom/Range.idl: * dom/SecurityPolicyViolationEvent.idl: * dom/ShadowRoot.idl: * dom/StaticRange.idl: * dom/Text.idl: * dom/TextEvent.idl: * dom/Touch.idl: * dom/TouchEvent.idl: * dom/TouchList.idl: * dom/TransitionEvent.idl: * dom/TreeWalker.idl: * dom/UIEvent.idl: * dom/WebKitAnimationEvent.idl: * dom/WebKitTransitionEvent.idl: * dom/WheelEvent.idl: * dom/XMLDocument.idl: * html/DOMTokenList.idl: * html/HTMLAllCollection.idl: * html/HTMLAnchorElement.idl: * html/HTMLAppletElement.idl: * html/HTMLAreaElement.idl: * html/HTMLAttachmentElement.idl: * html/HTMLAudioElement.idl: * html/HTMLBRElement.idl: * html/HTMLBaseElement.idl: * html/HTMLBodyElement.idl: * html/HTMLButtonElement.idl: * html/HTMLCanvasElement.idl: * html/HTMLCollection.idl: * html/HTMLDListElement.idl: * html/HTMLDataElement.idl: * html/HTMLDataListElement.idl: * html/HTMLDetailsElement.idl: * html/HTMLDirectoryElement.idl: * html/HTMLDivElement.idl: * html/HTMLDocument.idl: * html/HTMLElement.idl: * html/HTMLEmbedElement.idl: * html/HTMLFieldSetElement.idl: * html/HTMLFontElement.idl: * html/HTMLFormControlsCollection.idl: * html/HTMLFormElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameSetElement.idl: * html/HTMLHRElement.idl: * html/HTMLHeadElement.idl: * html/HTMLHeadingElement.idl: * html/HTMLHtmlElement.idl: * html/HTMLIFrameElement.idl: * html/HTMLImageElement.idl: * html/HTMLInputElement.idl: * html/HTMLKeygenElement.idl: * html/HTMLLIElement.idl: * html/HTMLLabelElement.idl: * html/HTMLLegendElement.idl: * html/HTMLLinkElement.idl: * html/HTMLMapElement.idl: * html/HTMLMarqueeElement.idl: * html/HTMLMediaElement.idl: * html/HTMLMenuElement.idl: * html/HTMLMenuItemElement.idl: * html/HTMLMetaElement.idl: * html/HTMLMeterElement.idl: * html/HTMLModElement.idl: * html/HTMLOListElement.idl: * html/HTMLObjectElement.idl: * html/HTMLOptGroupElement.idl: * html/HTMLOptionElement.idl: * html/HTMLOptionsCollection.idl: * html/HTMLOutputElement.idl: * html/HTMLParagraphElement.idl: * html/HTMLParamElement.idl: * html/HTMLPictureElement.idl: * html/HTMLPreElement.idl: * html/HTMLProgressElement.idl: * html/HTMLQuoteElement.idl: * html/HTMLScriptElement.idl: * html/HTMLSelectElement.idl: * html/HTMLSlotElement.idl: * html/HTMLSourceElement.idl: * html/HTMLSpanElement.idl: * html/HTMLStyleElement.idl: * html/HTMLTableCaptionElement.idl: * html/HTMLTableCellElement.idl: * html/HTMLTableColElement.idl: * html/HTMLTableElement.idl: * html/HTMLTableRowElement.idl: * html/HTMLTableSectionElement.idl: * html/HTMLTemplateElement.idl: * html/HTMLTextAreaElement.idl: * html/HTMLTimeElement.idl: * html/HTMLTitleElement.idl: * html/HTMLTrackElement.idl: * html/HTMLUListElement.idl: * html/HTMLUnknownElement.idl: * html/HTMLVideoElement.idl: * html/MediaController.idl: * html/MediaEncryptedEvent.idl: * html/MediaError.idl: * html/RadioNodeList.idl: * html/TimeRanges.idl: * html/ValidityState.idl: * html/WebKitMediaKeyError.idl: * html/canvas/CanvasCompositing.idl: * html/canvas/CanvasDrawImage.idl: * html/canvas/CanvasDrawPath.idl: * html/canvas/CanvasFillStrokeStyles.idl: * html/canvas/CanvasFilters.idl: * html/canvas/CanvasImageData.idl: * html/canvas/CanvasImageSmoothing.idl: * html/canvas/CanvasPath.idl: * html/canvas/CanvasPathDrawingStyles.idl: * html/canvas/CanvasRect.idl: * html/canvas/CanvasRenderingContext2D.idl: * html/canvas/CanvasShadowStyles.idl: * html/canvas/CanvasState.idl: * html/canvas/CanvasText.idl: * html/canvas/CanvasTextDrawingStyles.idl: * html/canvas/CanvasTransform.idl: * html/canvas/CanvasUserInterface.idl: * html/canvas/PaintRenderingContext2D.idl: * html/canvas/WebGLActiveInfo.idl: * html/canvas/WebGLBuffer.idl: * html/canvas/WebGLContextEvent.idl: * html/canvas/WebGLFramebuffer.idl: * html/canvas/WebGLProgram.idl: * html/canvas/WebGLQuery.idl: * html/canvas/WebGLRenderbuffer.idl: * html/canvas/WebGLSampler.idl: * html/canvas/WebGLShader.idl: * html/canvas/WebGLShaderPrecisionFormat.idl: * html/canvas/WebGLSync.idl: * html/canvas/WebGLTexture.idl: * html/canvas/WebGLTransformFeedback.idl: * html/canvas/WebGLUniformLocation.idl: * html/canvas/WebGLVertexArrayObject.idl: * html/track/AudioTrack.idl: * html/track/AudioTrackList.idl: * html/track/DataCue.idl: * html/track/TextTrack.idl: * html/track/TextTrackCue.idl: * html/track/TextTrackCueGeneric.idl: * html/track/TextTrackCueList.idl: * html/track/TextTrackList.idl: * html/track/TrackEvent.idl: * html/track/VTTCue.idl: * html/track/VTTRegion.idl: * html/track/VTTRegionList.idl: * html/track/VideoTrack.idl: * html/track/VideoTrackList.idl: * loader/appcache/DOMApplicationCache.idl: * mathml/MathMLElement.idl: * mathml/MathMLMathElement.idl: * page/BarProp.idl: * page/Crypto.idl: * page/DOMSelection.idl: * page/DOMWindow.idl: * page/GlobalCrypto.idl: * page/GlobalPerformance.idl: * page/History.idl: * page/IntersectionObserver.idl: * page/IntersectionObserverEntry.idl: * page/Location.idl: * page/Navigator+IsLoggedIn.idl: * page/Navigator.idl: * page/PerformanceNavigation.idl: * page/PerformancePaintTiming.idl: * page/PerformanceTiming.idl: * page/RemoteDOMWindow.idl: * page/ResizeObserver.idl: * page/ResizeObserverEntry.idl: * page/Screen.idl: * page/UndoItem.idl: * page/UndoManager.idl: * page/UserMessageHandler.idl: * page/UserMessageHandlersNamespace.idl: * page/VisualViewport.idl: * page/WebKitNamespace.idl: * page/WebKitPoint.idl: * plugins/DOMMimeType.idl: * plugins/DOMMimeTypeArray.idl: * plugins/DOMPlugin.idl: * plugins/DOMPluginArray.idl: * storage/Storage.idl: * storage/StorageEvent.idl: * svg/SVGAElement.idl: * svg/SVGAltGlyphDefElement.idl: * svg/SVGAltGlyphElement.idl: * svg/SVGAltGlyphItemElement.idl: * svg/SVGAngle.idl: * svg/SVGAnimateColorElement.idl: * svg/SVGAnimateElement.idl: * svg/SVGAnimateMotionElement.idl: * svg/SVGAnimateTransformElement.idl: * svg/SVGAnimatedAngle.idl: * svg/SVGAnimatedBoolean.idl: * svg/SVGAnimatedEnumeration.idl: * svg/SVGAnimatedInteger.idl: * svg/SVGAnimatedLength.idl: * svg/SVGAnimatedLengthList.idl: * svg/SVGAnimatedNumber.idl: * svg/SVGAnimatedNumberList.idl: * svg/SVGAnimatedPreserveAspectRatio.idl: * svg/SVGAnimatedRect.idl: * svg/SVGAnimatedString.idl: * svg/SVGAnimatedTransformList.idl: * svg/SVGAnimationElement.idl: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.idl: * svg/SVGComponentTransferFunctionElement.idl: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.idl: * svg/SVGDescElement.idl: * svg/SVGElement.idl: * svg/SVGEllipseElement.idl: * svg/SVGFEBlendElement.idl: * svg/SVGFEColorMatrixElement.idl: * svg/SVGFEComponentTransferElement.idl: * svg/SVGFECompositeElement.idl: * svg/SVGFEConvolveMatrixElement.idl: * svg/SVGFEDiffuseLightingElement.idl: * svg/SVGFEDisplacementMapElement.idl: * svg/SVGFEDistantLightElement.idl: * svg/SVGFEDropShadowElement.idl: * svg/SVGFEFloodElement.idl: * svg/SVGFEFuncAElement.idl: * svg/SVGFEFuncBElement.idl: * svg/SVGFEFuncGElement.idl: * svg/SVGFEFuncRElement.idl: * svg/SVGFEGaussianBlurElement.idl: * svg/SVGFEImageElement.idl: * svg/SVGFEMergeElement.idl: * svg/SVGFEMergeNodeElement.idl: * svg/SVGFEMorphologyElement.idl: * svg/SVGFEOffsetElement.idl: * svg/SVGFEPointLightElement.idl: * svg/SVGFESpecularLightingElement.idl: * svg/SVGFESpotLightElement.idl: * svg/SVGFETileElement.idl: * svg/SVGFETurbulenceElement.idl: * svg/SVGFilterElement.idl: * svg/SVGFontElement.idl: * svg/SVGFontFaceElement.idl: * svg/SVGFontFaceFormatElement.idl: * svg/SVGFontFaceNameElement.idl: * svg/SVGFontFaceSrcElement.idl: * svg/SVGFontFaceUriElement.idl: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.idl: * svg/SVGGeometryElement.idl: * svg/SVGGlyphElement.idl: * svg/SVGGlyphRefElement.idl: * svg/SVGGradientElement.idl: * svg/SVGGraphicsElement.idl: * svg/SVGHKernElement.idl: * svg/SVGImageElement.idl: * svg/SVGLength.idl: * svg/SVGLengthList.idl: * svg/SVGLineElement.idl: * svg/SVGLinearGradientElement.idl: * svg/SVGMPathElement.idl: * svg/SVGMarkerElement.idl: * svg/SVGMaskElement.idl: * svg/SVGMatrix.idl: * svg/SVGMetadataElement.idl: * svg/SVGMissingGlyphElement.idl: * svg/SVGNumber.idl: * svg/SVGNumberList.idl: * svg/SVGPathElement.idl: * svg/SVGPathSeg.idl: * svg/SVGPathSegArcAbs.idl: * svg/SVGPathSegArcRel.idl: * svg/SVGPathSegClosePath.idl: * svg/SVGPathSegCurvetoCubicAbs.idl: * svg/SVGPathSegCurvetoCubicRel.idl: * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: * svg/SVGPathSegCurvetoCubicSmoothRel.idl: * svg/SVGPathSegCurvetoQuadraticAbs.idl: * svg/SVGPathSegCurvetoQuadraticRel.idl: * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: * svg/SVGPathSegLinetoAbs.idl: * svg/SVGPathSegLinetoHorizontalAbs.idl: * svg/SVGPathSegLinetoHorizontalRel.idl: * svg/SVGPathSegLinetoRel.idl: * svg/SVGPathSegLinetoVerticalAbs.idl: * svg/SVGPathSegLinetoVerticalRel.idl: * svg/SVGPathSegList.idl: * svg/SVGPathSegMovetoAbs.idl: * svg/SVGPathSegMovetoRel.idl: * svg/SVGPatternElement.idl: * svg/SVGPoint.idl: * svg/SVGPointList.idl: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGPreserveAspectRatio.idl: * svg/SVGRadialGradientElement.idl: * svg/SVGRect.idl: * svg/SVGRectElement.idl: * svg/SVGRenderingIntent.idl: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.idl: * svg/SVGSetElement.idl: * svg/SVGStopElement.idl: * svg/SVGStringList.idl: * svg/SVGStyleElement.idl: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.idl: * svg/SVGTRefElement.idl: * svg/SVGTSpanElement.idl: * svg/SVGTextContentElement.idl: * svg/SVGTextElement.idl: * svg/SVGTextPathElement.idl: * svg/SVGTextPositioningElement.idl: * svg/SVGTitleElement.idl: * svg/SVGTransform.idl: * svg/SVGTransformList.idl: * svg/SVGUnitTypes.idl: * svg/SVGUseElement.idl: * svg/SVGVKernElement.idl: * svg/SVGViewElement.idl: * svg/SVGViewSpec.idl: * svg/SVGZoomEvent.idl: * workers/Worker.idl: * workers/service/ExtendableEvent.idl: * workers/service/ExtendableEventInit.idl: * workers/service/FetchEvent.idl: * worklets/Worklet.idl: * xml/DOMParser.idl: * xml/XMLHttpRequestProgressEvent.idl: * xml/XMLSerializer.idl: * xml/XPathEvaluator.idl: * xml/XPathExpression.idl: * xml/XPathResult.idl: * xml/XSLTProcessor.idl: Canonical link: https://commits.webkit.org/229932@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-01 00:15:51 +00:00
// FIXME: Given this is just for non-normal web content, does it make sense to exposed this
// interface in the Window at all? We should at least limit it worlds that return true for
// DOMWindow::shouldHaveWebKitNamespaceForWorld as we do for window.webkit?
[WebKit2] Implement ScriptMessageHandlers https://bugs.webkit.org/show_bug.cgi?id=133053 Reviewed by Anders Carlsson. * DerivedSources.make: ../WebCore: * WebCore.exp.in: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::finishCreation): * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp: Added. (WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate): * page/DOMWindow.cpp: (WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld): (WebCore::DOMWindow::webkitNamespace): * page/DOMWindow.h: * page/UserContentController.cpp: (WebCore::UserContentController::addUserMessageHandlerDescriptor): (WebCore::UserContentController::removeUserMessageHandlerDescriptor): * page/UserContentController.h: (WebCore::UserContentController::userMessageHandlerDescriptors): * page/UserMessageHandler.cpp: Added. (WebCore::UserMessageHandler::UserMessageHandler): (WebCore::UserMessageHandler::~UserMessageHandler): (WebCore::UserMessageHandler::postMessage): (WebCore::UserMessageHandler::name): (WebCore::UserMessageHandler::world): * page/UserMessageHandler.h: Added. (WebCore::UserMessageHandler::create): * page/UserMessageHandler.idl: Added. * page/UserMessageHandlerDescriptor.cpp: Added. (WebCore::UserMessageHandlerDescriptor::UserMessageHandlerDescriptor): (WebCore::UserMessageHandlerDescriptor::~UserMessageHandlerDescriptor): (WebCore::UserMessageHandlerDescriptor::name): (WebCore::UserMessageHandlerDescriptor::world): * page/UserMessageHandlerDescriptor.h: Added. (WebCore::UserMessageHandlerDescriptor::Client::~Client): (WebCore::UserMessageHandlerDescriptor::create): (WebCore::UserMessageHandlerDescriptor::client): * page/UserMessageHandlerDescriptorTypes.h: Added. * page/UserMessageHandlersNamespace.cpp: Added. (WebCore::UserMessageHandlersNamespace::UserMessageHandlersNamespace): (WebCore::UserMessageHandlersNamespace::~UserMessageHandlersNamespace): (WebCore::UserMessageHandlersNamespace::handler): * page/UserMessageHandlersNamespace.h: Added. (WebCore::UserMessageHandlersNamespace::create): * page/UserMessageHandlersNamespace.idl: Added. * page/WebKitNamespace.cpp: Added. (WebCore::WebKitNamespace::WebKitNamespace): (WebCore::WebKitNamespace::~WebKitNamespace): (WebCore::WebKitNamespace::messageHandlers): * page/WebKitNamespace.h: Added. (WebCore::WebKitNamespace::create): * page/WebKitNamespace.idl: Added. ../WebKit2: * Scripts/webkit2/messages.py: (struct_or_class): (argument_coder_headers_for_type): (headers_for_type): * UIProcess/API/Cocoa/WKScriptMessage.mm: (-[WKScriptMessage _initWithBody:webView:name:]): (-[WKScriptMessage body]): (-[WKScriptMessage webView]): (-[WKScriptMessage name]): (-[WKScriptMessage _scriptWorld]): Deleted. * UIProcess/API/Cocoa/WKScriptMessageInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKScriptMessagePrivate.h. * UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Removed. * UIProcess/API/Cocoa/WKUserContentController.mm: (-[WKUserContentController addScriptMessageHandler:name:]): (-[WKUserContentController removeScriptMessageHandlerForName:]): (-[WKUserContentController _addScriptMessageHandler:name:world:]): Deleted. (-[WKUserContentController _removeScriptMessageHandlerForName:world:]): Deleted. * UIProcess/API/Cocoa/WKUserContentControllerInternal.h: * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Removed. * UIProcess/API/Cocoa/WKWebView.mm: (pageToViewMap): (fromWebPageProxy): (-[WKWebView initWithFrame:configuration:]): (-[WKWebView dealloc]): * UIProcess/API/Cocoa/WKWebViewInternal.h: * UIProcess/UserContent/WebScriptMessageHandler.cpp: Added. (WebKit::WebScriptMessageHandlerHandle::encode): (WebKit::WebScriptMessageHandlerHandle::decode): (WebKit::generateIdentifier): (WebKit::WebScriptMessageHandler::create): (WebKit::WebScriptMessageHandler::WebScriptMessageHandler): (WebKit::WebScriptMessageHandler::~WebScriptMessageHandler): * UIProcess/UserContent/WebScriptMessageHandler.h: Added. (WebKit::WebScriptMessageHandler::Client::~Client): (WebKit::WebScriptMessageHandler::handle): (WebKit::WebScriptMessageHandler::identifier): (WebKit::WebScriptMessageHandler::name): (WebKit::WebScriptMessageHandler::client): * UIProcess/UserContent/WebUserContentControllerProxy.cpp: (WebKit::WebUserContentControllerProxy::addProcess): (WebKit::WebUserContentControllerProxy::removeProcess): (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler): (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName): (WebKit::WebUserContentControllerProxy::didPostMessage): * UIProcess/UserContent/WebUserContentControllerProxy.h: * UIProcess/UserContent/WebUserContentControllerProxy.messages.in: Added. * WebKit2.xcodeproj/project.pbxproj: * WebProcess/UserContent/WebUserContentController.cpp: (WebKit::WebUserMessageHandlerDescriptorProxy::create): (WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy): (WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage): (WebKit::WebUserMessageHandlerDescriptorProxy::descriptor): (WebKit::WebUserMessageHandlerDescriptorProxy::identifier): (WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy): (WebKit::WebUserContentController::addUserScriptMessageHandlers): (WebKit::WebUserContentController::removeUserScriptMessageHandler): * WebProcess/UserContent/WebUserContentController.h: * WebProcess/UserContent/WebUserContentController.messages.in: Canonical link: https://commits.webkit.org/151082@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-05-18 23:12:37 +00:00
[
Can't use Object.defineProperty() to add an item to a DOMStringMap or Storage https://bugs.webkit.org/show_bug.cgi?id=172687 Reviewed by Darin Adler. Source/WebCore: - Adds support for generating the defineOwnProperty ClassInfo method table hook to add support for Object.defineProperty(). The implementation follows WebIDL section 3.9.3 [[DefineOwnProperty]]. (https://heycam.github.io/webidl/#legacy-platform-object-defineownproperty) - Adds support for generating named setters in addition to the already supported indexed setters as much of the required work was needed to make defineOwnProperty work for those properties. This patch does not aim to follow WebIDL faithfully, but rather to generate as close to the custom code as possible. A follow up change will attempt to match WebIDL more closely (which will also require changes to [[GetOwnPropertySlot]]). - Removes the need for custom bindings in DOMStringMap, HTMLOptionsCollection and HTMLSelectElement. Gets us one function away from supporting Storage. - Tidies up generated headers a bit by grouping all the ClassInfo method table hooks together. - Removes support for CustomIndexedSetter, which is no longer used. Test: js/dom/legacy-platform-object-defineOwnProperty.html * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSBindingsAllInOne.cpp: Removed now unneeded custom bindings. * bindings/js/JSDOMStringMapCustom.cpp: Removed. * bindings/js/JSHTMLOptionsCollectionCustom.cpp: Removed. * bindings/js/JSHTMLSelectElementCustom.cpp: Removed. * bindings/js/JSHTMLSelectElementCustom.h: Removed. * bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::putDelegate): Deleted. Remove more code that is now generated. * bindings/scripts/CodeGeneratorJS.pm: (GenerateIndexedGetter): - Add missing check for indexed setter operation when determining if the property should be ReadOnly. - Add support for custom implementation name, matching GenerateNamedGetter. - Convert to taking an outputArray and indent to allow more flexibility going forward. (GenerateNamedGetter): - Add missing check for named setter operation when determining if the property should be ReadOnly. - Convert to taking an outputArray and indent to allow more flexibility going forward. (GenerateGetOwnPropertySlotBody): - Convert to taking an outputArray and indent to allow more flexibility going forward. - Take over responsibility for checking and bailing if CustomGetOwnPropertySlot is set. (GenerateGetOwnPropertySlotBodyByIndex): - Convert to taking an outputArray and indent to allow more flexibility going forward. - Take over responsibility for checking and bailing if CustomGetOwnPropertySlotByIndex is set. (GenerateGetOwnPropertyNames): - Convert to taking an outputArray and indent to allow more flexibility going forward. - Take over responsibility for checking and bailing if CustomEnumerateProperty is set. (GenerateInvokeIndexedPropertySetter): Added. Implements the 'invoke an indexed property setter' algorithm (https://heycam.github.io/webidl/#invoke-indexed-setter) (GenerateInvokeNamedPropertySetter): Added. Implements the 'invoke a named property setter' algorithm (https://heycam.github.io/webidl/#invoke-named-setter) (GeneratePut): (GeneratePutByIndex): - Convert to taking an outputArray and indent to allow more flexibility going forward. - Take over responsibility for checking and bailing if CustomPut is set. - Adds support for CEReactions. - Adopts GenerateInvokeIndexedPropertySetter and GenerateInvokeNamedPropertySetter to simplify code. - Removes support for CustomIndexedSetter, which is no longer used. - Replaces use direct checking of OverrideBuiltins with check if any interface it inherits has it, which is how it is specified to work. (GenerateIsUnforgeablePropertyName): Added. Helper subroutine to generate a function that compares a property name agains all the property names defined as Unforgeable on the interface. Used by GenerateDefineOwnProperty. (GenerateDefineOwnProperty): Added. Implements section 3.9.3 [[DefineOwnProperty]] (https://heycam.github.io/webidl/#legacy-platform-object-defineownproperty) Adds support for CEReactions. (GenerateDeletePropertyCommon): Switch from getting OverrideBuiltins directly off the interface to using InheritsExtendedAttribute. (GenerateNamedDeleterDefinition): Switch signature to match peer generators. (InstanceOverridesGetOwnPropertySlot): Update for rename of JSCustomGetOwnPropertySlotAndDescriptor to CustomGetOwnPropertySlotAndDescriptor. (InstanceOverridesGetOwnPropertySlotByIndex): Added. Like InstanceOverridesGetOwnPropertySlot, but checks for the new CustomGetOwnPropertySlotByIndex rather than CustomGetOwnPropertySlot. (InstanceOverridesGetOwnPropertyNames): Added. Moves complex predicate out of line. (InstanceOverridesPut): Removes now unused CustomIndexedSetter, and adds CustomPutFunction, which used to be checked separately. (InstanceOverridesDefineOwnProperty): Added. (GenerateHeader): - Moves more structure flags together. - Simplifies predicates and moves the ClassInfo method table hooks together. (GenerateImplementation): - Moves the ClassInfo method table hooks together - Adds call to GenerateDefineOwnProperty. (GenerateLegacyCallerDefinitions): Simplify bail condition to match other generators. (GeneratePrototypeDeclaration): Update for new extended attribute names. (InstanceOverridesCall): Renamed from IsCallable for consistency. (HasComplexGetOwnProperty): Deleted. Unused. (InstanceOverridesPutImplementation): Deleted. Unused. (InstanceOverridesPutDeclaration): Deleted. Unused. (IsCallable): Renamed, for consistency, to InstanceOverridesCall . * bindings/scripts/IDLAttributes.json: Renames a few of the extended attributes to remove the JS prefix. This time around I only did the ones in the area I was working, but we should probably remove most of the rest. * css/CSSStyleDeclaration.idl: Update for JSCustomGetOwnPropertySlotAndDescriptor -> CustomGetOwnPropertySlotAndDescriptor rename. * dom/DOMStringMap.idl: Remove CustomNamedSetter and add uncomment out the setter. * dom/DatasetDOMStringMap.cpp: (WebCore::DatasetDOMStringMap::setNamedItem): (WebCore::DatasetDOMStringMap::setItem): Deleted. * dom/DatasetDOMStringMap.h: Rename setItem to setNamedItem, which is what the generator expects. * dom/Node.idl: Update for JSCustomPushEventHandlerScope -> CustomPushEventHandlerScope rename. * html/HTMLAppletElement.idl: * html/HTMLEmbedElement.idl: * html/HTMLObjectElement.idl: Update for JSCustomGetOwnPropertySlotAndDescriptor -> CustomGetOwnPropertySlotAndDescriptor rename. * html/HTMLCollection.cpp: (WebCore::HTMLCollection::isSupportedPropertyName): * html/HTMLCollection.h: Add isSupportedPropertyName function which is used by the bindings and is now needed. * html/HTMLElement.idl: Update for JSCustomPushEventHandlerScope -> CustomPushEventHandlerScope rename. * html/HTMLOptionsCollection.h: (WebCore::HTMLOptionsCollection::setItem): Add setItem() implementation which just forwards to the select element. Also, add a type alias to make the implementations of item and namedItem less verbose. * html/HTMLOptionsCollection.idl: Remove CustomIndexedSetter and uncomment the setter. * html/HTMLSelectElement.idl: Remove CustomIndexedSetter and uncomment the setter. Also, reformat to match the WHATWG spec. * page/DOMWindow.idl: Update for JSCustomDefineOwnProperty -> CustomDefineOwnProperty rename. Add CustomGetOwnPropertySlotByIndex which is now needed to remove some unsound assumptions the generator was making. * page/Location.idl: Update for removal of JS prefix from a bunch of extended attributes. * page/UserMessageHandlersNamespace.idl: Update for JSCustomGetOwnPropertySlotAndDescriptor -> CustomGetOwnPropertySlotAndDescriptor rename. * storage/Storage.idl: Remove CustomNamedSetter and uncomment the setter. * bindings/scripts/test/JS/JSInterfaceName.h: * bindings/scripts/test/JS/JSTestEventTarget.h: * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: Added. * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: Added. * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: Added. * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: Added. * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: Added. * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: Added. * bindings/scripts/test/JS/JSTestInterface.cpp: * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: Added. * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: Added. * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: Added. * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: Added. * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: Added. * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: Added. * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: Added. * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: Added. * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: Added. * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: Added. * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: Added. * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: Added. * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: Added. * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: Added. * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: Added. * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: Added. * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: Added. * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: Added. * bindings/scripts/test/JS/JSTestObj.cpp: * bindings/scripts/test/JS/JSTestObj.h: * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: * bindings/scripts/test/TestIndexedSetterNoIdentifier.idl: Added. * bindings/scripts/test/TestIndexedSetterThrowingException.idl: Added. * bindings/scripts/test/TestIndexedSetterWithIdentifier.idl: Added. * bindings/scripts/test/TestNamedAndIndexedSetterNoIdentifier.idl: Added. * bindings/scripts/test/TestNamedAndIndexedSetterThrowingException.idl: Added. * bindings/scripts/test/TestNamedAndIndexedSetterWithIdentifier.idl: Added. * bindings/scripts/test/TestNamedDeleterWithIdentifier.idl: * bindings/scripts/test/TestNamedSetterNoIdentifier.idl: Added. * bindings/scripts/test/TestNamedSetterThrowingException.idl: Added. * bindings/scripts/test/TestNamedSetterWithIdentifier.idl: Added. * bindings/scripts/test/TestNamedSetterWithOverrideBuiltins.idl: Added. * bindings/scripts/test/TestNamedSetterWithUnforgableProperties.idl: Added. * bindings/scripts/test/TestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.idl: Added. Added new tests and updated some results. LayoutTests: * js/dom/legacy-platform-object-defineOwnProperty-expected.txt: Added. * js/dom/legacy-platform-object-defineOwnProperty.html: Added. New tests for Object.defineProperty on Storage and DOMStringMap. * js/dom/named-property-deleter.html: Fix test which was deleting the wrong property. This doesn't change the result, but is now actually testing the thing it meant to. * storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt: * storage/domstorage/localstorage/delete-defineproperty-removal.html: Convert to testharness.js and show that the results are now correct. Canonical link: https://commits.webkit.org/189801@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-06-04 18:00:01 +00:00
Conditional=USER_MESSAGE_HANDLERS,
[WebIDL] Make Exposed mandatory for IDL interfaces https://bugs.webkit.org/show_bug.cgi?id=217101 Reviewed by Darin Adler. Add [Exposed] to all IDL interfaces that were missing it and enforce its requirement. * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/preprocess-idls.pl: Remove default "Window" exposed behavior and require it on all interfaces and callback interfaces with constants that don't specify LegacyNoInterfaceObject. * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl: * Modules/applepay/ApplePayError.idl: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/ApplePaySetup.idl: * Modules/applepay/ApplePaySetupFeature.idl: * Modules/encryptedmedia/MediaKeyEncryptionScheme.idl: * Modules/encryptedmedia/MediaKeyMessageEvent.idl: * Modules/encryptedmedia/MediaKeySession.idl: * Modules/encryptedmedia/MediaKeySessionType.idl: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/MediaKeySystemAccess.idl: * Modules/encryptedmedia/MediaKeys.idl: * Modules/encryptedmedia/MediaKeysRequirement.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl: * Modules/encryptedmedia/legacy/WebKitMediaKeys.idl: * Modules/entriesapi/DOMFileSystem.idl: * Modules/entriesapi/FileSystemDirectoryEntry.idl: * Modules/entriesapi/FileSystemDirectoryReader.idl: * Modules/entriesapi/FileSystemEntry.idl: * Modules/entriesapi/FileSystemFileEntry.idl: * Modules/gamepad/Gamepad.idl: * Modules/gamepad/GamepadButton.idl: * Modules/gamepad/GamepadEvent.idl: * Modules/geolocation/Geolocation.idl: * Modules/geolocation/GeolocationCoordinates.idl: * Modules/geolocation/GeolocationPosition.idl: * Modules/geolocation/GeolocationPositionError.idl: * Modules/geolocation/PositionOptions.idl: * Modules/highlight/HighlightMap.idl: * Modules/highlight/HighlightRangeGroup.idl: * Modules/mediacapabilities/AudioConfiguration.idl: * Modules/mediacapabilities/MediaCapabilities.idl: * Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesInfo.idl: * Modules/mediacapabilities/MediaDecodingConfiguration.idl: * Modules/mediacapabilities/MediaEncodingConfiguration.idl: * Modules/mediacapabilities/VideoConfiguration.idl: * Modules/mediasource/MediaSource.idl: * Modules/mediasource/SourceBuffer.idl: * Modules/mediasource/SourceBufferList.idl: * Modules/mediastream/CanvasCaptureMediaStreamTrack.idl: * Modules/mediastream/MediaDeviceInfo.idl: * Modules/mediastream/MediaDevices.idl: * Modules/mediastream/MediaStream.idl: * Modules/mediastream/MediaStreamTrack.idl: * Modules/mediastream/MediaStreamTrackEvent.idl: * Modules/mediastream/OverconstrainedError.idl: * Modules/mediastream/OverconstrainedErrorEvent.idl: * Modules/mediastream/RTCCertificate.idl: * Modules/mediastream/RTCConfiguration.idl: * Modules/mediastream/RTCDTMFSender.idl: * Modules/mediastream/RTCDTMFToneChangeEvent.idl: * Modules/mediastream/RTCDataChannel.idl: * Modules/mediastream/RTCDataChannelEvent.idl: * Modules/mediastream/RTCIceCandidate.idl: * Modules/mediastream/RTCIceTransport.idl: * Modules/mediastream/RTCPeerConnection.idl: * Modules/mediastream/RTCPeerConnectionIceEvent.idl: * Modules/mediastream/RTCRtpReceiver.idl: * Modules/mediastream/RTCRtpSender.idl: * Modules/mediastream/RTCRtpTransceiver.idl: * Modules/mediastream/RTCSessionDescription.idl: * Modules/mediastream/RTCStatsReport.idl: * Modules/mediastream/RTCTrackEvent.idl: * Modules/notifications/Notification.idl: * Modules/paymentrequest/PaymentRequest.idl: * Modules/remoteplayback/RemotePlayback.idl: * Modules/speech/SpeechSynthesis.idl: * Modules/speech/SpeechSynthesisEvent.idl: * Modules/speech/SpeechSynthesisUtterance.idl: * Modules/speech/SpeechSynthesisVoice.idl: * Modules/webaudio/AnalyserNode.idl: * Modules/webaudio/AudioBuffer.idl: * Modules/webaudio/AudioBufferSourceNode.idl: * Modules/webaudio/AudioContext.idl: * Modules/webaudio/AudioDestinationNode.idl: * Modules/webaudio/AudioListener.idl: * Modules/webaudio/AudioNode.idl: * Modules/webaudio/AudioParam.idl: * Modules/webaudio/AudioParamMap.idl: * Modules/webaudio/AudioProcessingEvent.idl: * Modules/webaudio/AudioScheduledSourceNode.idl: * Modules/webaudio/BaseAudioContext.idl: * Modules/webaudio/BiquadFilterNode.idl: * Modules/webaudio/ChannelMergerNode.idl: * Modules/webaudio/ChannelSplitterNode.idl: * Modules/webaudio/ConstantSourceNode.idl: * Modules/webaudio/ConvolverNode.idl: * Modules/webaudio/DelayNode.idl: * Modules/webaudio/DynamicsCompressorNode.idl: * Modules/webaudio/GainNode.idl: * Modules/webaudio/IIRFilterNode.idl: * Modules/webaudio/MediaElementAudioSourceNode.idl: * Modules/webaudio/MediaStreamAudioDestinationNode.idl: * Modules/webaudio/MediaStreamAudioSourceNode.idl: * Modules/webaudio/OfflineAudioCompletionEvent.idl: * Modules/webaudio/OfflineAudioContext.idl: * Modules/webaudio/OscillatorNode.idl: * Modules/webaudio/PannerNode.idl: * Modules/webaudio/PeriodicWave.idl: * Modules/webaudio/ScriptProcessorNode.idl: * Modules/webaudio/StereoPannerNode.idl: * Modules/webaudio/WaveShaperNode.idl: * Modules/webaudio/WebKitAudioContext.idl: * Modules/webaudio/WebKitAudioPannerNode.idl: * Modules/webaudio/WebKitOfflineAudioContext.idl: * Modules/webdatabase/Database.idl: * Modules/webdatabase/SQLError.idl: * Modules/webdatabase/SQLResultSet.idl: * Modules/webdatabase/SQLResultSetRowList.idl: * Modules/webdatabase/SQLTransaction.idl: * Modules/webgpu/GPUBufferUsage.idl: * Modules/webgpu/GPUCanvasContext.idl: * Modules/webgpu/GPUColorWrite.idl: * Modules/webgpu/GPUOutOfMemoryError.idl: * Modules/webgpu/GPUShaderStage.idl: * Modules/webgpu/GPUTextureUsage.idl: * Modules/webgpu/GPUValidationError.idl: * Modules/webgpu/Navigator+GPU.idl: * Modules/webgpu/WebGPU.idl: * Modules/webgpu/WebGPUAdapter.idl: * Modules/webgpu/WebGPUBindGroup.idl: * Modules/webgpu/WebGPUBindGroupLayout.idl: * Modules/webgpu/WebGPUBuffer.idl: * Modules/webgpu/WebGPUCommandBuffer.idl: * Modules/webgpu/WebGPUCommandEncoder.idl: * Modules/webgpu/WebGPUComputePassEncoder.idl: * Modules/webgpu/WebGPUComputePipeline.idl: * Modules/webgpu/WebGPUDevice.idl: * Modules/webgpu/WebGPUPipelineLayout.idl: * Modules/webgpu/WebGPUProgrammablePassEncoder.idl: * Modules/webgpu/WebGPUQueue.idl: * Modules/webgpu/WebGPURenderPassEncoder.idl: * Modules/webgpu/WebGPURenderPipeline.idl: * Modules/webgpu/WebGPUSampler.idl: * Modules/webgpu/WebGPUShaderModule.idl: * Modules/webgpu/WebGPUSwapChain.idl: * Modules/webgpu/WebGPUTexture.idl: * Modules/webgpu/WebGPUTextureView.idl: * Modules/webxr/XRInputSourceEvent.idl: * Modules/webxr/XRInputSourcesChangeEvent.idl: * Modules/webxr/XRReferenceSpaceEvent.idl: * Modules/webxr/XRSessionEvent.idl: * WebCore.xcodeproj/project.pbxproj: * animation/AnimationPlaybackEvent.idl: * animation/AnimationTimeline.idl: * animation/DocumentTimeline.idl: * animation/WebAnimation.idl: * css/CSSConditionRule.idl: * css/CSSFontFaceRule.idl: * css/CSSGroupingRule.idl: * css/CSSImportRule.idl: * css/CSSKeyframeRule.idl: * css/CSSKeyframesRule.idl: * css/CSSMediaRule.idl: * css/CSSNamespaceRule.idl: * css/CSSPageRule.idl: * css/CSSRuleList.idl: * css/CSSStyleDeclaration.idl: * css/CSSStyleRule.idl: * css/CSSStyleSheet.idl: * css/CSSSupportsRule.idl: * css/DOMCSSNamespace.idl: * css/DeprecatedCSSOMCounter.idl: * css/DeprecatedCSSOMPrimitiveValue.idl: * css/DeprecatedCSSOMRGBColor.idl: * css/DeprecatedCSSOMRect.idl: * css/DeprecatedCSSOMValue.idl: * css/DeprecatedCSSOMValueList.idl: * css/FontFace.idl: * css/FontFaceSet.idl: * css/MediaQueryListEvent.idl: * css/typedom/StylePropertyMap.idl: * dom/AbortAlgorithm.idl: * dom/AnimationEvent.idl: * dom/Attr.idl: * dom/BeforeLoadEvent.idl: * dom/BeforeUnloadEvent.idl: * dom/CDATASection.idl: * dom/CharacterData.idl: * dom/ClipboardEvent.idl: * dom/Comment.idl: * dom/CompositionEvent.idl: * dom/CustomElementRegistry.idl: * dom/DOMImplementation.idl: * dom/DOMRectList.idl: * dom/DOMStringList.idl: * dom/DOMStringMap.idl: * dom/DataTransfer.idl: * dom/DataTransferItem.idl: * dom/DataTransferItemList.idl: * dom/DeviceMotionEvent.idl: * dom/DeviceOrientationEvent.idl: * dom/Document.idl: * dom/DocumentFragment.idl: * dom/DocumentType.idl: * dom/DragEvent.idl: * dom/Element.idl: * dom/FocusEvent.idl: * dom/HashChangeEvent.idl: * dom/IdleDeadline.idl: * dom/InputEvent.idl: * dom/KeyboardEvent.idl: * dom/MouseEvent.idl: * dom/MutationEvent.idl: * dom/MutationObserver.idl: * dom/MutationRecord.idl: * dom/NamedNodeMap.idl: * dom/Node.idl: * dom/NodeFilter.idl: * dom/NodeIterator.idl: * dom/NodeList.idl: * dom/OverflowEvent.idl: * dom/PageTransitionEvent.idl: * dom/PopStateEvent.idl: * dom/ProcessingInstruction.idl: * dom/Range.idl: * dom/SecurityPolicyViolationEvent.idl: * dom/ShadowRoot.idl: * dom/StaticRange.idl: * dom/Text.idl: * dom/TextEvent.idl: * dom/Touch.idl: * dom/TouchEvent.idl: * dom/TouchList.idl: * dom/TransitionEvent.idl: * dom/TreeWalker.idl: * dom/UIEvent.idl: * dom/WebKitAnimationEvent.idl: * dom/WebKitTransitionEvent.idl: * dom/WheelEvent.idl: * dom/XMLDocument.idl: * html/DOMTokenList.idl: * html/HTMLAllCollection.idl: * html/HTMLAnchorElement.idl: * html/HTMLAppletElement.idl: * html/HTMLAreaElement.idl: * html/HTMLAttachmentElement.idl: * html/HTMLAudioElement.idl: * html/HTMLBRElement.idl: * html/HTMLBaseElement.idl: * html/HTMLBodyElement.idl: * html/HTMLButtonElement.idl: * html/HTMLCanvasElement.idl: * html/HTMLCollection.idl: * html/HTMLDListElement.idl: * html/HTMLDataElement.idl: * html/HTMLDataListElement.idl: * html/HTMLDetailsElement.idl: * html/HTMLDirectoryElement.idl: * html/HTMLDivElement.idl: * html/HTMLDocument.idl: * html/HTMLElement.idl: * html/HTMLEmbedElement.idl: * html/HTMLFieldSetElement.idl: * html/HTMLFontElement.idl: * html/HTMLFormControlsCollection.idl: * html/HTMLFormElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameSetElement.idl: * html/HTMLHRElement.idl: * html/HTMLHeadElement.idl: * html/HTMLHeadingElement.idl: * html/HTMLHtmlElement.idl: * html/HTMLIFrameElement.idl: * html/HTMLImageElement.idl: * html/HTMLInputElement.idl: * html/HTMLKeygenElement.idl: * html/HTMLLIElement.idl: * html/HTMLLabelElement.idl: * html/HTMLLegendElement.idl: * html/HTMLLinkElement.idl: * html/HTMLMapElement.idl: * html/HTMLMarqueeElement.idl: * html/HTMLMediaElement.idl: * html/HTMLMenuElement.idl: * html/HTMLMenuItemElement.idl: * html/HTMLMetaElement.idl: * html/HTMLMeterElement.idl: * html/HTMLModElement.idl: * html/HTMLOListElement.idl: * html/HTMLObjectElement.idl: * html/HTMLOptGroupElement.idl: * html/HTMLOptionElement.idl: * html/HTMLOptionsCollection.idl: * html/HTMLOutputElement.idl: * html/HTMLParagraphElement.idl: * html/HTMLParamElement.idl: * html/HTMLPictureElement.idl: * html/HTMLPreElement.idl: * html/HTMLProgressElement.idl: * html/HTMLQuoteElement.idl: * html/HTMLScriptElement.idl: * html/HTMLSelectElement.idl: * html/HTMLSlotElement.idl: * html/HTMLSourceElement.idl: * html/HTMLSpanElement.idl: * html/HTMLStyleElement.idl: * html/HTMLTableCaptionElement.idl: * html/HTMLTableCellElement.idl: * html/HTMLTableColElement.idl: * html/HTMLTableElement.idl: * html/HTMLTableRowElement.idl: * html/HTMLTableSectionElement.idl: * html/HTMLTemplateElement.idl: * html/HTMLTextAreaElement.idl: * html/HTMLTimeElement.idl: * html/HTMLTitleElement.idl: * html/HTMLTrackElement.idl: * html/HTMLUListElement.idl: * html/HTMLUnknownElement.idl: * html/HTMLVideoElement.idl: * html/MediaController.idl: * html/MediaEncryptedEvent.idl: * html/MediaError.idl: * html/RadioNodeList.idl: * html/TimeRanges.idl: * html/ValidityState.idl: * html/WebKitMediaKeyError.idl: * html/canvas/CanvasCompositing.idl: * html/canvas/CanvasDrawImage.idl: * html/canvas/CanvasDrawPath.idl: * html/canvas/CanvasFillStrokeStyles.idl: * html/canvas/CanvasFilters.idl: * html/canvas/CanvasImageData.idl: * html/canvas/CanvasImageSmoothing.idl: * html/canvas/CanvasPath.idl: * html/canvas/CanvasPathDrawingStyles.idl: * html/canvas/CanvasRect.idl: * html/canvas/CanvasRenderingContext2D.idl: * html/canvas/CanvasShadowStyles.idl: * html/canvas/CanvasState.idl: * html/canvas/CanvasText.idl: * html/canvas/CanvasTextDrawingStyles.idl: * html/canvas/CanvasTransform.idl: * html/canvas/CanvasUserInterface.idl: * html/canvas/PaintRenderingContext2D.idl: * html/canvas/WebGLActiveInfo.idl: * html/canvas/WebGLBuffer.idl: * html/canvas/WebGLContextEvent.idl: * html/canvas/WebGLFramebuffer.idl: * html/canvas/WebGLProgram.idl: * html/canvas/WebGLQuery.idl: * html/canvas/WebGLRenderbuffer.idl: * html/canvas/WebGLSampler.idl: * html/canvas/WebGLShader.idl: * html/canvas/WebGLShaderPrecisionFormat.idl: * html/canvas/WebGLSync.idl: * html/canvas/WebGLTexture.idl: * html/canvas/WebGLTransformFeedback.idl: * html/canvas/WebGLUniformLocation.idl: * html/canvas/WebGLVertexArrayObject.idl: * html/track/AudioTrack.idl: * html/track/AudioTrackList.idl: * html/track/DataCue.idl: * html/track/TextTrack.idl: * html/track/TextTrackCue.idl: * html/track/TextTrackCueGeneric.idl: * html/track/TextTrackCueList.idl: * html/track/TextTrackList.idl: * html/track/TrackEvent.idl: * html/track/VTTCue.idl: * html/track/VTTRegion.idl: * html/track/VTTRegionList.idl: * html/track/VideoTrack.idl: * html/track/VideoTrackList.idl: * loader/appcache/DOMApplicationCache.idl: * mathml/MathMLElement.idl: * mathml/MathMLMathElement.idl: * page/BarProp.idl: * page/Crypto.idl: * page/DOMSelection.idl: * page/DOMWindow.idl: * page/GlobalCrypto.idl: * page/GlobalPerformance.idl: * page/History.idl: * page/IntersectionObserver.idl: * page/IntersectionObserverEntry.idl: * page/Location.idl: * page/Navigator+IsLoggedIn.idl: * page/Navigator.idl: * page/PerformanceNavigation.idl: * page/PerformancePaintTiming.idl: * page/PerformanceTiming.idl: * page/RemoteDOMWindow.idl: * page/ResizeObserver.idl: * page/ResizeObserverEntry.idl: * page/Screen.idl: * page/UndoItem.idl: * page/UndoManager.idl: * page/UserMessageHandler.idl: * page/UserMessageHandlersNamespace.idl: * page/VisualViewport.idl: * page/WebKitNamespace.idl: * page/WebKitPoint.idl: * plugins/DOMMimeType.idl: * plugins/DOMMimeTypeArray.idl: * plugins/DOMPlugin.idl: * plugins/DOMPluginArray.idl: * storage/Storage.idl: * storage/StorageEvent.idl: * svg/SVGAElement.idl: * svg/SVGAltGlyphDefElement.idl: * svg/SVGAltGlyphElement.idl: * svg/SVGAltGlyphItemElement.idl: * svg/SVGAngle.idl: * svg/SVGAnimateColorElement.idl: * svg/SVGAnimateElement.idl: * svg/SVGAnimateMotionElement.idl: * svg/SVGAnimateTransformElement.idl: * svg/SVGAnimatedAngle.idl: * svg/SVGAnimatedBoolean.idl: * svg/SVGAnimatedEnumeration.idl: * svg/SVGAnimatedInteger.idl: * svg/SVGAnimatedLength.idl: * svg/SVGAnimatedLengthList.idl: * svg/SVGAnimatedNumber.idl: * svg/SVGAnimatedNumberList.idl: * svg/SVGAnimatedPreserveAspectRatio.idl: * svg/SVGAnimatedRect.idl: * svg/SVGAnimatedString.idl: * svg/SVGAnimatedTransformList.idl: * svg/SVGAnimationElement.idl: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.idl: * svg/SVGComponentTransferFunctionElement.idl: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.idl: * svg/SVGDescElement.idl: * svg/SVGElement.idl: * svg/SVGEllipseElement.idl: * svg/SVGFEBlendElement.idl: * svg/SVGFEColorMatrixElement.idl: * svg/SVGFEComponentTransferElement.idl: * svg/SVGFECompositeElement.idl: * svg/SVGFEConvolveMatrixElement.idl: * svg/SVGFEDiffuseLightingElement.idl: * svg/SVGFEDisplacementMapElement.idl: * svg/SVGFEDistantLightElement.idl: * svg/SVGFEDropShadowElement.idl: * svg/SVGFEFloodElement.idl: * svg/SVGFEFuncAElement.idl: * svg/SVGFEFuncBElement.idl: * svg/SVGFEFuncGElement.idl: * svg/SVGFEFuncRElement.idl: * svg/SVGFEGaussianBlurElement.idl: * svg/SVGFEImageElement.idl: * svg/SVGFEMergeElement.idl: * svg/SVGFEMergeNodeElement.idl: * svg/SVGFEMorphologyElement.idl: * svg/SVGFEOffsetElement.idl: * svg/SVGFEPointLightElement.idl: * svg/SVGFESpecularLightingElement.idl: * svg/SVGFESpotLightElement.idl: * svg/SVGFETileElement.idl: * svg/SVGFETurbulenceElement.idl: * svg/SVGFilterElement.idl: * svg/SVGFontElement.idl: * svg/SVGFontFaceElement.idl: * svg/SVGFontFaceFormatElement.idl: * svg/SVGFontFaceNameElement.idl: * svg/SVGFontFaceSrcElement.idl: * svg/SVGFontFaceUriElement.idl: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.idl: * svg/SVGGeometryElement.idl: * svg/SVGGlyphElement.idl: * svg/SVGGlyphRefElement.idl: * svg/SVGGradientElement.idl: * svg/SVGGraphicsElement.idl: * svg/SVGHKernElement.idl: * svg/SVGImageElement.idl: * svg/SVGLength.idl: * svg/SVGLengthList.idl: * svg/SVGLineElement.idl: * svg/SVGLinearGradientElement.idl: * svg/SVGMPathElement.idl: * svg/SVGMarkerElement.idl: * svg/SVGMaskElement.idl: * svg/SVGMatrix.idl: * svg/SVGMetadataElement.idl: * svg/SVGMissingGlyphElement.idl: * svg/SVGNumber.idl: * svg/SVGNumberList.idl: * svg/SVGPathElement.idl: * svg/SVGPathSeg.idl: * svg/SVGPathSegArcAbs.idl: * svg/SVGPathSegArcRel.idl: * svg/SVGPathSegClosePath.idl: * svg/SVGPathSegCurvetoCubicAbs.idl: * svg/SVGPathSegCurvetoCubicRel.idl: * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: * svg/SVGPathSegCurvetoCubicSmoothRel.idl: * svg/SVGPathSegCurvetoQuadraticAbs.idl: * svg/SVGPathSegCurvetoQuadraticRel.idl: * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: * svg/SVGPathSegLinetoAbs.idl: * svg/SVGPathSegLinetoHorizontalAbs.idl: * svg/SVGPathSegLinetoHorizontalRel.idl: * svg/SVGPathSegLinetoRel.idl: * svg/SVGPathSegLinetoVerticalAbs.idl: * svg/SVGPathSegLinetoVerticalRel.idl: * svg/SVGPathSegList.idl: * svg/SVGPathSegMovetoAbs.idl: * svg/SVGPathSegMovetoRel.idl: * svg/SVGPatternElement.idl: * svg/SVGPoint.idl: * svg/SVGPointList.idl: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGPreserveAspectRatio.idl: * svg/SVGRadialGradientElement.idl: * svg/SVGRect.idl: * svg/SVGRectElement.idl: * svg/SVGRenderingIntent.idl: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.idl: * svg/SVGSetElement.idl: * svg/SVGStopElement.idl: * svg/SVGStringList.idl: * svg/SVGStyleElement.idl: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.idl: * svg/SVGTRefElement.idl: * svg/SVGTSpanElement.idl: * svg/SVGTextContentElement.idl: * svg/SVGTextElement.idl: * svg/SVGTextPathElement.idl: * svg/SVGTextPositioningElement.idl: * svg/SVGTitleElement.idl: * svg/SVGTransform.idl: * svg/SVGTransformList.idl: * svg/SVGUnitTypes.idl: * svg/SVGUseElement.idl: * svg/SVGVKernElement.idl: * svg/SVGViewElement.idl: * svg/SVGViewSpec.idl: * svg/SVGZoomEvent.idl: * workers/Worker.idl: * workers/service/ExtendableEvent.idl: * workers/service/ExtendableEventInit.idl: * workers/service/FetchEvent.idl: * worklets/Worklet.idl: * xml/DOMParser.idl: * xml/XMLHttpRequestProgressEvent.idl: * xml/XMLSerializer.idl: * xml/XPathEvaluator.idl: * xml/XPathExpression.idl: * xml/XPathResult.idl: * xml/XSLTProcessor.idl: Canonical link: https://commits.webkit.org/229932@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-01 00:15:51 +00:00
Exposed=Window
[WebKit2] Implement ScriptMessageHandlers https://bugs.webkit.org/show_bug.cgi?id=133053 Reviewed by Anders Carlsson. * DerivedSources.make: ../WebCore: * WebCore.exp.in: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::finishCreation): * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp: Added. (WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate): * page/DOMWindow.cpp: (WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld): (WebCore::DOMWindow::webkitNamespace): * page/DOMWindow.h: * page/UserContentController.cpp: (WebCore::UserContentController::addUserMessageHandlerDescriptor): (WebCore::UserContentController::removeUserMessageHandlerDescriptor): * page/UserContentController.h: (WebCore::UserContentController::userMessageHandlerDescriptors): * page/UserMessageHandler.cpp: Added. (WebCore::UserMessageHandler::UserMessageHandler): (WebCore::UserMessageHandler::~UserMessageHandler): (WebCore::UserMessageHandler::postMessage): (WebCore::UserMessageHandler::name): (WebCore::UserMessageHandler::world): * page/UserMessageHandler.h: Added. (WebCore::UserMessageHandler::create): * page/UserMessageHandler.idl: Added. * page/UserMessageHandlerDescriptor.cpp: Added. (WebCore::UserMessageHandlerDescriptor::UserMessageHandlerDescriptor): (WebCore::UserMessageHandlerDescriptor::~UserMessageHandlerDescriptor): (WebCore::UserMessageHandlerDescriptor::name): (WebCore::UserMessageHandlerDescriptor::world): * page/UserMessageHandlerDescriptor.h: Added. (WebCore::UserMessageHandlerDescriptor::Client::~Client): (WebCore::UserMessageHandlerDescriptor::create): (WebCore::UserMessageHandlerDescriptor::client): * page/UserMessageHandlerDescriptorTypes.h: Added. * page/UserMessageHandlersNamespace.cpp: Added. (WebCore::UserMessageHandlersNamespace::UserMessageHandlersNamespace): (WebCore::UserMessageHandlersNamespace::~UserMessageHandlersNamespace): (WebCore::UserMessageHandlersNamespace::handler): * page/UserMessageHandlersNamespace.h: Added. (WebCore::UserMessageHandlersNamespace::create): * page/UserMessageHandlersNamespace.idl: Added. * page/WebKitNamespace.cpp: Added. (WebCore::WebKitNamespace::WebKitNamespace): (WebCore::WebKitNamespace::~WebKitNamespace): (WebCore::WebKitNamespace::messageHandlers): * page/WebKitNamespace.h: Added. (WebCore::WebKitNamespace::create): * page/WebKitNamespace.idl: Added. ../WebKit2: * Scripts/webkit2/messages.py: (struct_or_class): (argument_coder_headers_for_type): (headers_for_type): * UIProcess/API/Cocoa/WKScriptMessage.mm: (-[WKScriptMessage _initWithBody:webView:name:]): (-[WKScriptMessage body]): (-[WKScriptMessage webView]): (-[WKScriptMessage name]): (-[WKScriptMessage _scriptWorld]): Deleted. * UIProcess/API/Cocoa/WKScriptMessageInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKScriptMessagePrivate.h. * UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Removed. * UIProcess/API/Cocoa/WKUserContentController.mm: (-[WKUserContentController addScriptMessageHandler:name:]): (-[WKUserContentController removeScriptMessageHandlerForName:]): (-[WKUserContentController _addScriptMessageHandler:name:world:]): Deleted. (-[WKUserContentController _removeScriptMessageHandlerForName:world:]): Deleted. * UIProcess/API/Cocoa/WKUserContentControllerInternal.h: * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Removed. * UIProcess/API/Cocoa/WKWebView.mm: (pageToViewMap): (fromWebPageProxy): (-[WKWebView initWithFrame:configuration:]): (-[WKWebView dealloc]): * UIProcess/API/Cocoa/WKWebViewInternal.h: * UIProcess/UserContent/WebScriptMessageHandler.cpp: Added. (WebKit::WebScriptMessageHandlerHandle::encode): (WebKit::WebScriptMessageHandlerHandle::decode): (WebKit::generateIdentifier): (WebKit::WebScriptMessageHandler::create): (WebKit::WebScriptMessageHandler::WebScriptMessageHandler): (WebKit::WebScriptMessageHandler::~WebScriptMessageHandler): * UIProcess/UserContent/WebScriptMessageHandler.h: Added. (WebKit::WebScriptMessageHandler::Client::~Client): (WebKit::WebScriptMessageHandler::handle): (WebKit::WebScriptMessageHandler::identifier): (WebKit::WebScriptMessageHandler::name): (WebKit::WebScriptMessageHandler::client): * UIProcess/UserContent/WebUserContentControllerProxy.cpp: (WebKit::WebUserContentControllerProxy::addProcess): (WebKit::WebUserContentControllerProxy::removeProcess): (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler): (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName): (WebKit::WebUserContentControllerProxy::didPostMessage): * UIProcess/UserContent/WebUserContentControllerProxy.h: * UIProcess/UserContent/WebUserContentControllerProxy.messages.in: Added. * WebKit2.xcodeproj/project.pbxproj: * WebProcess/UserContent/WebUserContentController.cpp: (WebKit::WebUserMessageHandlerDescriptorProxy::create): (WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy): (WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage): (WebKit::WebUserMessageHandlerDescriptorProxy::descriptor): (WebKit::WebUserMessageHandlerDescriptorProxy::identifier): (WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy): (WebKit::WebUserContentController::addUserScriptMessageHandlers): (WebKit::WebUserContentController::removeUserScriptMessageHandler): * WebProcess/UserContent/WebUserContentController.h: * WebProcess/UserContent/WebUserContentController.messages.in: Canonical link: https://commits.webkit.org/151082@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-05-18 23:12:37 +00:00
] interface UserMessageHandlersNamespace {
[WebIDL] Remove custom binding for UserMessageHandlersNamespace https://bugs.webkit.org/show_bug.cgi?id=173956 Patch by Sam Weinig <sam@webkit.org> on 2017-06-29 Reviewed by Darin Adler. Source/WebCore: * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp: Removed. Remove JSUserMessageHandlersNamespaceCustom.cpp * bindings/scripts/CodeGeneratorJS.pm: (GenerateNamedGetterLambda): Add support for calling named getters with additional arguments from [CallWith]. (GenerateAttributeGetterBodyDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateParametersCheck): Update arguments to GenerateCallWith(Using...) to no longer pass an operation, which was only needed for the no longer used ScriptArguments, pass a thisObject reference, and optionally pass an indentation. * bindings/scripts/IDLAttributes.json: Remove no longer used ScriptArguments and CallStack, add World. * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttributeGetter): Deleted. (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute): Deleted. (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttributeSetter): Deleted. (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute): Deleted. (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStackBody): Deleted. (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack): Deleted. * bindings/scripts/test/TestObj.idl: Remove tests of ScriptArguments and CallStack. * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: Added. * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: Added. * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: Added. * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: Added. * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: Added. * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: Added. * bindings/scripts/test/TestNamedGetterCallWith.idl: Added. * bindings/scripts/test/TestNamedGetterNoIdentifier.idl: Added. * bindings/scripts/test/TestNamedGetterWithIdentifier.idl: Added. Add basic named getter tests and a specific test of named getters using CallWith. * page/UserMessageHandlersNamespace.cpp: (WebCore::UserMessageHandlersNamespace::supportedPropertyNames): (WebCore::UserMessageHandlersNamespace::namedItem): (WebCore::UserMessageHandlersNamespace::handler): Deleted. * page/UserMessageHandlersNamespace.h: Rename handler to namedItem, matching convention and the expectations of the bindings generator and swap the order of the arguments for the same reason. * page/UserMessageHandlersNamespace.idl: Remove CustomGetOwnPropertySlotAndDescriptor, and add the anonymous named getter. Source/WebKit2: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp: (webkit_dom_dom_window_webkit_message_handlers_post_message): Update for name change. Canonical link: https://commits.webkit.org/190828@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-06-29 23:13:26 +00:00
[CallWith=World] getter UserMessageHandler (DOMString name);
[WebKit2] Implement ScriptMessageHandlers https://bugs.webkit.org/show_bug.cgi?id=133053 Reviewed by Anders Carlsson. * DerivedSources.make: ../WebCore: * WebCore.exp.in: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::finishCreation): * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp: Added. (WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate): * page/DOMWindow.cpp: (WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld): (WebCore::DOMWindow::webkitNamespace): * page/DOMWindow.h: * page/UserContentController.cpp: (WebCore::UserContentController::addUserMessageHandlerDescriptor): (WebCore::UserContentController::removeUserMessageHandlerDescriptor): * page/UserContentController.h: (WebCore::UserContentController::userMessageHandlerDescriptors): * page/UserMessageHandler.cpp: Added. (WebCore::UserMessageHandler::UserMessageHandler): (WebCore::UserMessageHandler::~UserMessageHandler): (WebCore::UserMessageHandler::postMessage): (WebCore::UserMessageHandler::name): (WebCore::UserMessageHandler::world): * page/UserMessageHandler.h: Added. (WebCore::UserMessageHandler::create): * page/UserMessageHandler.idl: Added. * page/UserMessageHandlerDescriptor.cpp: Added. (WebCore::UserMessageHandlerDescriptor::UserMessageHandlerDescriptor): (WebCore::UserMessageHandlerDescriptor::~UserMessageHandlerDescriptor): (WebCore::UserMessageHandlerDescriptor::name): (WebCore::UserMessageHandlerDescriptor::world): * page/UserMessageHandlerDescriptor.h: Added. (WebCore::UserMessageHandlerDescriptor::Client::~Client): (WebCore::UserMessageHandlerDescriptor::create): (WebCore::UserMessageHandlerDescriptor::client): * page/UserMessageHandlerDescriptorTypes.h: Added. * page/UserMessageHandlersNamespace.cpp: Added. (WebCore::UserMessageHandlersNamespace::UserMessageHandlersNamespace): (WebCore::UserMessageHandlersNamespace::~UserMessageHandlersNamespace): (WebCore::UserMessageHandlersNamespace::handler): * page/UserMessageHandlersNamespace.h: Added. (WebCore::UserMessageHandlersNamespace::create): * page/UserMessageHandlersNamespace.idl: Added. * page/WebKitNamespace.cpp: Added. (WebCore::WebKitNamespace::WebKitNamespace): (WebCore::WebKitNamespace::~WebKitNamespace): (WebCore::WebKitNamespace::messageHandlers): * page/WebKitNamespace.h: Added. (WebCore::WebKitNamespace::create): * page/WebKitNamespace.idl: Added. ../WebKit2: * Scripts/webkit2/messages.py: (struct_or_class): (argument_coder_headers_for_type): (headers_for_type): * UIProcess/API/Cocoa/WKScriptMessage.mm: (-[WKScriptMessage _initWithBody:webView:name:]): (-[WKScriptMessage body]): (-[WKScriptMessage webView]): (-[WKScriptMessage name]): (-[WKScriptMessage _scriptWorld]): Deleted. * UIProcess/API/Cocoa/WKScriptMessageInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKScriptMessagePrivate.h. * UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Removed. * UIProcess/API/Cocoa/WKUserContentController.mm: (-[WKUserContentController addScriptMessageHandler:name:]): (-[WKUserContentController removeScriptMessageHandlerForName:]): (-[WKUserContentController _addScriptMessageHandler:name:world:]): Deleted. (-[WKUserContentController _removeScriptMessageHandlerForName:world:]): Deleted. * UIProcess/API/Cocoa/WKUserContentControllerInternal.h: * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Removed. * UIProcess/API/Cocoa/WKWebView.mm: (pageToViewMap): (fromWebPageProxy): (-[WKWebView initWithFrame:configuration:]): (-[WKWebView dealloc]): * UIProcess/API/Cocoa/WKWebViewInternal.h: * UIProcess/UserContent/WebScriptMessageHandler.cpp: Added. (WebKit::WebScriptMessageHandlerHandle::encode): (WebKit::WebScriptMessageHandlerHandle::decode): (WebKit::generateIdentifier): (WebKit::WebScriptMessageHandler::create): (WebKit::WebScriptMessageHandler::WebScriptMessageHandler): (WebKit::WebScriptMessageHandler::~WebScriptMessageHandler): * UIProcess/UserContent/WebScriptMessageHandler.h: Added. (WebKit::WebScriptMessageHandler::Client::~Client): (WebKit::WebScriptMessageHandler::handle): (WebKit::WebScriptMessageHandler::identifier): (WebKit::WebScriptMessageHandler::name): (WebKit::WebScriptMessageHandler::client): * UIProcess/UserContent/WebUserContentControllerProxy.cpp: (WebKit::WebUserContentControllerProxy::addProcess): (WebKit::WebUserContentControllerProxy::removeProcess): (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler): (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName): (WebKit::WebUserContentControllerProxy::didPostMessage): * UIProcess/UserContent/WebUserContentControllerProxy.h: * UIProcess/UserContent/WebUserContentControllerProxy.messages.in: Added. * WebKit2.xcodeproj/project.pbxproj: * WebProcess/UserContent/WebUserContentController.cpp: (WebKit::WebUserMessageHandlerDescriptorProxy::create): (WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy): (WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage): (WebKit::WebUserMessageHandlerDescriptorProxy::descriptor): (WebKit::WebUserMessageHandlerDescriptorProxy::identifier): (WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy): (WebKit::WebUserContentController::addUserScriptMessageHandlers): (WebKit::WebUserContentController::removeUserScriptMessageHandler): * WebProcess/UserContent/WebUserContentController.h: * WebProcess/UserContent/WebUserContentController.messages.in: Canonical link: https://commits.webkit.org/151082@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-05-18 23:12:37 +00:00
};