Changeset 196568 in webkit


Ignore:
Timestamp:
Feb 14, 2016 8:43:54 PM (8 years ago)
Author:
Chris Dumez
Message:

Drop the [EventTarget] WebKit-specific IDL extended attribute
https://bugs.webkit.org/show_bug.cgi?id=154171

Reviewed by Sam Weinig.

Drop the [EventTarget] WebKit-specific IDL extended attribute now that
all interfaces inherit EventTarget when they should.

No new tests, no Web-Exposed behavior change.

  • Modules/battery/BatteryManager.idl:
  • Modules/encryptedmedia/MediaKeySession.idl:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBOpenDBRequest.idl:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/mediasession/MediaRemoteControls.idl:
  • Modules/mediasource/MediaSource.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/mediasource/SourceBufferList.idl:
  • Modules/mediastream/MediaStream.idl:
  • Modules/mediastream/MediaStreamTrack.idl:
  • Modules/mediastream/RTCDTMFSender.idl:
  • Modules/mediastream/RTCDataChannel.idl:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/notifications/Notification.idl:
  • Modules/speech/SpeechSynthesisUtterance.idl:
  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/AudioNode.idl:
  • Modules/webaudio/OfflineAudioContext.idl:
  • Modules/websockets/WebSocket.idl:
  • bindings/scripts/CodeGeneratorGObject.pm:

(ImplementsInterface):
(SkipFunction): Deleted.
(GenerateCFile): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(InstanceNeedsVisitChildren):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/TestEventTarget.idl:
  • bindings/scripts/test/TestNode.idl:
  • css/FontLoader.idl:
  • dom/EventTarget.idl:
  • dom/MessagePort.idl:
  • dom/Node.idl:
  • dom/WebKitNamedFlow.idl:
  • fileapi/FileReader.idl:
  • html/MediaController.idl:
  • html/track/AudioTrackList.idl:
  • html/track/TextTrack.idl:
  • html/track/TextTrackCue.idl:
  • html/track/TextTrackList.idl:
  • html/track/VideoTrackList.idl:
  • loader/appcache/DOMApplicationCache.idl:
  • page/DOMWindow.idl:
  • page/EventSource.idl:
  • page/Performance.idl:
  • workers/WorkerGlobalScope.idl:
  • xml/XMLHttpRequest.idl:
  • xml/XMLHttpRequestUpload.idl:
Location:
trunk/Source/WebCore
Files:
46 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r196567 r196568  
     12016-02-14  Chris Dumez  <cdumez@apple.com>
     2
     3        Drop the [EventTarget] WebKit-specific IDL extended attribute
     4        https://bugs.webkit.org/show_bug.cgi?id=154171
     5
     6        Reviewed by Sam Weinig.
     7
     8        Drop the [EventTarget] WebKit-specific IDL extended attribute now that
     9        all interfaces inherit EventTarget when they should.
     10
     11        No new tests, no Web-Exposed behavior change.
     12
     13        * Modules/battery/BatteryManager.idl:
     14        * Modules/encryptedmedia/MediaKeySession.idl:
     15        * Modules/indexeddb/IDBDatabase.idl:
     16        * Modules/indexeddb/IDBOpenDBRequest.idl:
     17        * Modules/indexeddb/IDBRequest.idl:
     18        * Modules/indexeddb/IDBTransaction.idl:
     19        * Modules/mediasession/MediaRemoteControls.idl:
     20        * Modules/mediasource/MediaSource.idl:
     21        * Modules/mediasource/SourceBuffer.idl:
     22        * Modules/mediasource/SourceBufferList.idl:
     23        * Modules/mediastream/MediaStream.idl:
     24        * Modules/mediastream/MediaStreamTrack.idl:
     25        * Modules/mediastream/RTCDTMFSender.idl:
     26        * Modules/mediastream/RTCDataChannel.idl:
     27        * Modules/mediastream/RTCPeerConnection.idl:
     28        * Modules/notifications/Notification.idl:
     29        * Modules/speech/SpeechSynthesisUtterance.idl:
     30        * Modules/webaudio/AudioContext.idl:
     31        * Modules/webaudio/AudioNode.idl:
     32        * Modules/webaudio/OfflineAudioContext.idl:
     33        * Modules/websockets/WebSocket.idl:
     34        * bindings/scripts/CodeGeneratorGObject.pm:
     35        (ImplementsInterface):
     36        (SkipFunction): Deleted.
     37        (GenerateCFile): Deleted.
     38        * bindings/scripts/CodeGeneratorJS.pm:
     39        (InstanceNeedsVisitChildren):
     40        (GenerateImplementation):
     41        * bindings/scripts/IDLAttributes.txt:
     42        * bindings/scripts/test/TestEventTarget.idl:
     43        * bindings/scripts/test/TestNode.idl:
     44        * css/FontLoader.idl:
     45        * dom/EventTarget.idl:
     46        * dom/MessagePort.idl:
     47        * dom/Node.idl:
     48        * dom/WebKitNamedFlow.idl:
     49        * fileapi/FileReader.idl:
     50        * html/MediaController.idl:
     51        * html/track/AudioTrackList.idl:
     52        * html/track/TextTrack.idl:
     53        * html/track/TextTrackCue.idl:
     54        * html/track/TextTrackList.idl:
     55        * html/track/VideoTrackList.idl:
     56        * loader/appcache/DOMApplicationCache.idl:
     57        * page/DOMWindow.idl:
     58        * page/EventSource.idl:
     59        * page/Performance.idl:
     60        * workers/WorkerGlobalScope.idl:
     61        * xml/XMLHttpRequest.idl:
     62        * xml/XMLHttpRequestUpload.idl:
     63
    1642016-02-14  Chris Dumez  <cdumez@apple.com>
    265
  • trunk/Source/WebCore/Modules/battery/BatteryManager.idl

    r196466 r196568  
    2323    Conditional=BATTERY_STATUS,
    2424    ActiveDOMObject,
    25     EventTarget,
    2625] interface BatteryManager : EventTarget {
    2726    readonly attribute boolean charging;
  • trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.idl

    r196466 r196568  
    2626[
    2727    Conditional=ENCRYPTED_MEDIA_V2,
    28     EventTarget,
    2928    InterfaceName=WebKitMediaKeySession,
    3029    ActiveDOMObject,
  • trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl

    r196466 r196568  
    2828    Conditional=INDEXED_DATABASE,
    2929    ActiveDOMObject,
    30     EventTarget,
    3130    EnabledAtRuntime=IndexedDB,
    3231    SkipVTableValidation,
  • trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.idl

    r189746 r196568  
    2626[
    2727    Conditional=INDEXED_DATABASE,
    28     EventTarget,
    2928    JSGenerateToJSObject,
    3029    JSGenerateToNativeObject,
  • trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl

    r196466 r196568  
    3232    EnabledAtRuntime=IndexedDB,
    3333    ActiveDOMObject,
    34     EventTarget,
    3534    SkipVTableValidation,
    3635    GenerateIsReachable=Impl,
  • trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl

    r196466 r196568  
    2828    Conditional=INDEXED_DATABASE,
    2929    ActiveDOMObject,
    30     EventTarget,
    3130    EnabledAtRuntime=IndexedDB,
    3231    SkipVTableValidation,
  • trunk/Source/WebCore/Modules/mediasession/MediaRemoteControls.idl

    r196466 r196568  
    2828    Constructor,
    2929    ConstructorCallWith=ScriptExecutionContext,
    30     EventTarget,
    3130] interface MediaRemoteControls : EventTarget {
    3231    attribute boolean previousTrackEnabled;
  • trunk/Source/WebCore/Modules/mediasource/MediaSource.idl

    r196466 r196568  
    3737    Conditional=MEDIA_SOURCE,
    3838    ActiveDOMObject,
    39     EventTarget,
    4039    EnabledBySetting=MediaSource,
    4140    Constructor,
  • trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl

    r196466 r196568  
    3838    NoInterfaceObject,
    3939    ActiveDOMObject,
    40     EventTarget,
    4140] interface SourceBuffer : EventTarget {
    4241
  • trunk/Source/WebCore/Modules/mediasource/SourceBufferList.idl

    r196466 r196568  
    3232    Conditional=MEDIA_SOURCE,
    3333    NoInterfaceObject,
    34     EventTarget,
    3534    GenerateIsReachable=Impl,
    3635    CallWith=ScriptExecutionContext,
  • trunk/Source/WebCore/Modules/mediastream/MediaStream.idl

    r196466 r196568  
    2525[
    2626    Conditional=MEDIA_STREAM,
    27     EventTarget,
    2827    Constructor,
    2928    Constructor(MediaStream stream),
  • trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl

    r196466 r196568  
    2828[
    2929    Conditional=MEDIA_STREAM,
    30     EventTarget,
    3130    ActiveDOMObject,
    3231    SkipVTableValidation,
  • trunk/Source/WebCore/Modules/mediastream/RTCDTMFSender.idl

    r196466 r196568  
    2828    Conditional=MEDIA_STREAM,
    2929    ActiveDOMObject,
    30     EventTarget,
    3130] interface RTCDTMFSender : EventTarget {
    3231    readonly attribute boolean canInsertDTMF;
  • trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.idl

    r196466 r196568  
    2626    NoInterfaceObject,
    2727    Conditional=MEDIA_STREAM,
    28     EventTarget,
    2928] interface RTCDataChannel : EventTarget {
    3029    readonly attribute DOMString label;
  • trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl

    r196466 r196568  
    3737    ConstructorCallWith=ScriptExecutionContext,
    3838    ConstructorRaisesException,
    39     EventTarget,
    4039    InterfaceName=webkitRTCPeerConnection,
    4140] interface RTCPeerConnection : EventTarget {
  • trunk/Source/WebCore/Modules/notifications/Notification.idl

    r196466 r196568  
    3333    Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS,
    3434    ActiveDOMObject,
    35     EventTarget,
    3635#if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
    3736    Constructor(DOMString title, [Default=Undefined] optional Dictionary options),
  • trunk/Source/WebCore/Modules/speech/SpeechSynthesisUtterance.idl

    r196476 r196568  
    2626[
    2727    Conditional=SPEECH_SYNTHESIS,
    28     EventTarget,
    2928    ConstructorCallWith=ScriptExecutionContext,
    3029    Constructor([Default=NullString] optional DOMString text)
  • trunk/Source/WebCore/Modules/webaudio/AudioContext.idl

    r196466 r196568  
    3636    ActiveDOMObject,
    3737    CustomConstructor,
    38     EventTarget,
    3938    InterfaceName=webkitAudioContext,
    4039] interface AudioContext : EventTarget {
  • trunk/Source/WebCore/Modules/webaudio/AudioNode.idl

    r196466 r196568  
    2626    Conditional=WEB_AUDIO,
    2727    GenerateIsReachable=Impl,
    28     EventTarget,
    2928] interface AudioNode : EventTarget {
    3029    readonly attribute AudioContext context;
  • trunk/Source/WebCore/Modules/webaudio/OfflineAudioContext.idl

    r168302 r196568  
    2525[
    2626    Conditional=WEB_AUDIO,
    27     EventTarget,
    2827    JSGenerateToJSObject,
    2928    Constructor(unsigned long numberOfChannels, unsigned long numberOfFrames, unrestricted float sampleRate),
  • trunk/Source/WebCore/Modules/websockets/WebSocket.idl

    r196466 r196568  
    3939    ConstructorRaisesException,
    4040    ConstructorCallWith=ScriptExecutionContext,
    41     EventTarget,
    4241] interface WebSocket : EventTarget {
    4342    readonly attribute DOMString URL; // Lowercased .url is the one in the spec, but leaving .URL for compatibility reasons.
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm

    r196520 r196568  
    333333    # This is for DataTransferItemList.idl add(File) method
    334334    if ($functionName eq "webkit_dom_data_transfer_item_list_add" && @{$function->parameters} == 1) {
    335         return 1;
    336     }
    337 
    338     # Skip dispatch_event methods.
    339     # FIXME: This can be removed once all classes implementing EventTarget inherit from it instead.
    340     if ($parentNode->extendedAttributes->{"EventTarget"} && $function->signature->name eq "dispatchEvent") {
    341335        return 1;
    342336    }
     
    15061500    my $implementInterface = shift;
    15071501
    1508     # FIXME: Check only the parent class once all classes implementing EventTarget inherit from it instead.
    1509     return 1 if $interface->parent and $interface->parent eq implementInterface and ShouldBeExposedAsInterface($interface->parent);
    1510     return 1 if $interface->extendedAttributes->{$implementInterface};
    1511     return 0;
     1502    return $codeGenerator->InheritsInterface($interface, $implementInterface);
    15121503}
    15131504
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r196563 r196568  
    812812    my $interface = shift;
    813813    return $interface->extendedAttributes->{"JSCustomMarkFunction"}
    814         || $interface->extendedAttributes->{"EventTarget"}
     814        || $codeGenerator->InheritsInterface($interface, "EventTarget")
    815815        || $interface->name eq "EventTarget"
    816816        || $interface->extendedAttributes->{"ReportExtraMemoryCost"}
     
    17621762    my $parentClassName = GetParentClassName($interface);
    17631763    my $visibleInterfaceName = $codeGenerator->GetVisibleInterfaceName($interface);
    1764     my $eventTarget = $interface->extendedAttributes->{"EventTarget"} || ($codeGenerator->InheritsInterface($interface, "EventTarget") && $interface->name ne "EventTarget");
     1764    my $eventTarget = $codeGenerator->InheritsInterface($interface, "EventTarget") && $interface->name ne "EventTarget";
    17651765    my $needsVisitChildren = InstanceNeedsVisitChildren($interface);
    17661766
     
    29972997        push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
    29982998        push(@implContent, "    Base::visitChildren(thisObject, visitor);\n");
    2999         if ($interface->extendedAttributes->{"EventTarget"} || $interface->name eq "EventTarget") {
     2999        if ($codeGenerator->InheritsInterface($interface, "EventTarget")) {
    30003000            push(@implContent, "    thisObject->wrapped().visitJSEventListeners(visitor);\n");
    30013001        }
     
    30473047            push(@implContent, "        return true;\n");
    30483048        }
    3049         if ($codeGenerator->InheritsExtendedAttribute($interface, "EventTarget")) {
     3049        if ($codeGenerator->InheritsInterface($interface, "EventTarget")) {
    30503050            if (!$emittedJSCast) {
    30513051                push(@implContent, "    auto* js${interfaceName} = jsCast<JS${interfaceName}*>(handle.slot()->asCell());\n");
  • trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt

    r196303 r196568  
    6262EnabledBySetting=*
    6363EnforceRange
    64 EventTarget
    6564ForwardDeclareInHeader
    6665GenerateIsReachable=|Impl|ImplWebGLRenderingContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot
  • trunk/Source/WebCore/bindings/scripts/test/TestEventTarget.idl

    r196466 r196568  
    2828
    2929[
    30     EventTarget,
    3130    MasqueradesAsUndefined
    3231] interface TestEventTarget : EventTarget {
  • trunk/Source/WebCore/bindings/scripts/test/TestNode.idl

    r190023 r196568  
    2020
    2121[
    22     EventTarget,
    2322    Constructor,
    2423] interface TestNode : Node {
  • trunk/Source/WebCore/css/FontLoader.idl

    r196466 r196568  
    3333    Conditional=FONT_LOAD_EVENTS,
    3434    ActiveDOMObject,
    35     EventTarget,
    3635    GenerateIsReachable=ImplDocument,
    3736] interface FontLoader : EventTarget {
  • trunk/Source/WebCore/dom/EventTarget.idl

    r196563 r196568  
    2525    CustomToJSObject,
    2626    JSCustomToNativeObject,
    27     EventTarget,
    2827    JSCustomHeader,
    2928] interface EventTarget {
  • trunk/Source/WebCore/dom/MessagePort.idl

    r196466 r196568  
    3030    GenerateIsReachable=Impl,
    3131    ActiveDOMObject,
    32     EventTarget,
    3332] interface MessagePort : EventTarget {
    3433// We need to have something as an ObjC binding, because MessagePort is used in MessageEvent, which already has one,
  • trunk/Source/WebCore/dom/Node.idl

    r196466 r196568  
    2525    CustomIsReachable,
    2626    CustomToJSObject,
    27     EventTarget,
    2827    ObjCPolymorphic,
    2928] interface Node
  • trunk/Source/WebCore/dom/WebKitNamedFlow.idl

    r196476 r196568  
    3030[
    3131    NoInterfaceObject,
    32     EventTarget,
    3332    GenerateIsReachable=ImplOwnerNodeRoot,
    3433] interface WebKitNamedFlow : EventTarget
  • trunk/Source/WebCore/fileapi/FileReader.idl

    r196466 r196568  
    3535    Constructor,
    3636    ConstructorCallWith=ScriptExecutionContext,
    37     EventTarget,
    3837] interface FileReader : EventTarget {
    3938    // ready states
  • trunk/Source/WebCore/html/MediaController.idl

    r196466 r196568  
    2828    Constructor,
    2929    ConstructorCallWith=ScriptExecutionContext,
    30     EventTarget,
    3130] interface MediaController : EventTarget {
    3231    readonly attribute TimeRanges buffered;
  • trunk/Source/WebCore/html/track/AudioTrackList.idl

    r196466 r196568  
    2828    Conditional=VIDEO_TRACK,
    2929    GenerateIsReachable=ImplElementRoot,
    30     EventTarget,
    3130    JSCustomMarkFunction,
    3231] interface AudioTrackList : EventTarget {
  • trunk/Source/WebCore/html/track/TextTrack.idl

    r196466 r196568  
    2929[
    3030    Conditional=VIDEO_TRACK,
    31     EventTarget,
    3231    GenerateIsReachable=ImplElementRoot,
    3332    JSCustomMarkFunction,
  • trunk/Source/WebCore/html/track/TextTrackCue.idl

    r196466 r196568  
    2828    Constructor(unrestricted double startTime, unrestricted double endTime, DOMString text),
    2929    ConstructorCallWith=ScriptExecutionContext,
    30     EventTarget,
    3130    JSCustomMarkFunction,
    3231    CustomIsReachable,
  • trunk/Source/WebCore/html/track/TextTrackList.idl

    r196466 r196568  
    2727    Conditional=VIDEO_TRACK,
    2828    GenerateIsReachable=ImplElementRoot,
    29     EventTarget,
    3029    JSCustomMarkFunction,
    3130] interface TextTrackList : EventTarget {
  • trunk/Source/WebCore/html/track/VideoTrackList.idl

    r196466 r196568  
    2828    Conditional=VIDEO_TRACK,
    2929    GenerateIsReachable=ImplElementRoot,
    30     EventTarget,
    3130    JSCustomMarkFunction,
    3231] interface VideoTrackList : EventTarget {
  • trunk/Source/WebCore/loader/appcache/DOMApplicationCache.idl

    r196466 r196568  
    2525 
    2626[
    27     EventTarget,
    2827    DoNotCheckConstants,
    2928    GenerateIsReachable=ImplFrame,
  • trunk/Source/WebCore/page/DOMWindow.idl

    r196563 r196568  
    3636    JSCustomToNativeObject,
    3737    CustomPutFunction,
    38     EventTarget,
    3938    JSLegacyParent=JSDOMWindowBase,
    4039    InterfaceName=Window,
  • trunk/Source/WebCore/page/EventSource.idl

    r196466 r196568  
    3636    ConstructorCallWith=ScriptExecutionContext,
    3737    ConstructorRaisesException,
    38     EventTarget,
    3938] interface EventSource : EventTarget {
    4039
  • trunk/Source/WebCore/page/Performance.idl

    r196466 r196568  
    3333[
    3434    Conditional=WEB_TIMING,
    35     EventTarget,
    3635] interface Performance : EventTarget {
    3736    readonly attribute PerformanceNavigation navigation;
  • trunk/Source/WebCore/workers/WorkerGlobalScope.idl

    r196563 r196568  
    3030    JSCustomMarkFunction,
    3131    JSCustomGetOwnPropertySlotAndDescriptor,
    32     EventTarget,
    3332    JSLegacyParent=JSWorkerGlobalScopeBase,
    3433] interface WorkerGlobalScope : EventTarget {
  • trunk/Source/WebCore/xml/XMLHttpRequest.idl

    r196466 r196568  
    4242    ConstructorCallWith=ScriptExecutionContext,
    4343    JSCustomMarkFunction,
    44     EventTarget,
    4544] interface XMLHttpRequest : EventTarget {
    4645    // From XMLHttpRequestEventTarget
  • trunk/Source/WebCore/xml/XMLHttpRequestUpload.idl

    r196466 r196568  
    2929[
    3030    GenerateIsReachable=Impl,
    31     EventTarget,
    3231] interface XMLHttpRequestUpload : EventTarget {
    3332    // From XMLHttpRequestEventTarget
Note: See TracChangeset for help on using the changeset viewer.