Changeset 153925 in webkit


Ignore:
Timestamp:
Aug 11, 2013 1:11:19 PM (11 years ago)
Author:
weinig@apple.com
Message:

Cleanup MediaQueryListListener
https://bugs.webkit.org/show_bug.cgi?id=119664

Reviewed by Andreas Kling.

Make MediaQueryListListener a proper WebIDL callback.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Update project files.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(JSValueToNative):

  • bindings/scripts/IDLAttributes.txt:

Add support for CallbackNeedsOperatorEqual, which adds an operator==.

  • css/MediaAllInOne.cpp:

Remove MediaQueryListListener.cpp.

  • css/MediaQueryListListener.cpp:

Removed.

  • css/MediaQueryListListener.h:

(WebCore::MediaQueryListListener::~MediaQueryListListener):
(WebCore::MediaQueryListListener::MediaQueryListListener):

  • css/MediaQueryListListener.idl:

Convert to a proper WebIDL callback.

  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::Listener::evaluate):
(WebCore::MediaQueryMatcher::styleResolverChanged):

  • css/MediaQueryMatcher.h:

Remove all traces of the ScriptState.

Location:
trunk/Source/WebCore
Files:
1 deleted
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r153906 r153925  
    317317    css/MediaList.idl
    318318    css/MediaQueryList.idl
     319    css/MediaQueryListListener.idl
    319320    css/RGBColor.idl
    320321    css/Rect.idl
     
    10751076    css/MediaQueryExp.cpp
    10761077    css/MediaQueryList.cpp
    1077     css/MediaQueryListListener.cpp
    10781078    css/MediaQueryMatcher.cpp
    10791079    css/PageRuleCollector.cpp
  • trunk/Source/WebCore/ChangeLog

    r153922 r153925  
     12013-08-11  Sam Weinig  <sam@webkit.org>
     2
     3        Cleanup MediaQueryListListener
     4        https://bugs.webkit.org/show_bug.cgi?id=119664
     5
     6        Reviewed by Andreas Kling.
     7
     8        Make MediaQueryListListener a proper WebIDL callback.
     9
     10        * CMakeLists.txt:
     11        * DerivedSources.cpp:
     12        * DerivedSources.make:
     13        * DerivedSources.pri:
     14        * GNUmakefile.list.am:
     15        * Target.pri:
     16        * WebCore.vcxproj/WebCore.vcxproj:
     17        * WebCore.vcxproj/WebCore.vcxproj.filters:
     18        * WebCore.xcodeproj/project.pbxproj:
     19        Update project files.
     20
     21        * bindings/scripts/CodeGeneratorJS.pm:
     22        (GenerateCallbackHeader):
     23        (GenerateCallbackImplementation):
     24        (JSValueToNative):
     25        * bindings/scripts/IDLAttributes.txt:
     26        Add support for CallbackNeedsOperatorEqual, which adds an operator==.
     27
     28        * css/MediaAllInOne.cpp:
     29        Remove MediaQueryListListener.cpp.
     30
     31        * css/MediaQueryListListener.cpp:
     32        Removed.
     33
     34        * css/MediaQueryListListener.h:
     35        (WebCore::MediaQueryListListener::~MediaQueryListListener):
     36        (WebCore::MediaQueryListListener::MediaQueryListListener):
     37        * css/MediaQueryListListener.idl:
     38        Convert to a proper WebIDL callback.
     39
     40        * css/MediaQueryMatcher.cpp:
     41        (WebCore::MediaQueryMatcher::Listener::evaluate):
     42        (WebCore::MediaQueryMatcher::styleResolverChanged):
     43        * css/MediaQueryMatcher.h:
     44        Remove all traces of the ScriptState.
     45
    1462013-08-11  Carlos Garcia Campos  <cgarcia@igalia.com>
    247
  • trunk/Source/WebCore/DerivedSources.cpp

    r153772 r153925  
    275275#include "JSMediaList.cpp"
    276276#include "JSMediaQueryList.cpp"
     277#include "JSMediaQueryListListener.cpp"
    277278#if ENABLE(MEDIA_SOURCE)
    278279#include "JSMediaSource.cpp"
  • trunk/Source/WebCore/DerivedSources.make

    r153772 r153925  
    652652DOM_CLASSES=$(basename $(notdir $(BINDING_IDLS)))
    653653
    654 JS_DOM_HEADERS=$(filter-out JSMediaQueryListListener.h JSEventListener.h, $(DOM_CLASSES:%=JS%.h))
     654JS_DOM_HEADERS=$(filter-out JSEventListener.h, $(DOM_CLASSES:%=JS%.h))
    655655
    656656WEB_DOM_HEADERS :=
  • trunk/Source/WebCore/DerivedSources.pri

    r153772 r153925  
    210210    $$PWD/css/MediaList.idl \
    211211    $$PWD/css/MediaQueryList.idl \
     212    $$PWD/css/MediaQueryListListener.idl \
    212213    $$PWD/css/Rect.idl \
    213214    $$PWD/css/RGBColor.idl \
  • trunk/Source/WebCore/GNUmakefile.list.am

    r153922 r153925  
    528528        DerivedSources/WebCore/JSMediaQueryList.cpp \
    529529        DerivedSources/WebCore/JSMediaQueryList.h \
     530        DerivedSources/WebCore/JSMediaQueryListListener.cpp \
     531        DerivedSources/WebCore/JSMediaQueryListListener.h \
    530532        DerivedSources/WebCore/JSMessageChannel.cpp \
    531533        DerivedSources/WebCore/JSMessageChannel.h \
     
    13621364        $(WebCore)/css/MediaList.idl \
    13631365        $(WebCore)/css/MediaQueryList.idl \
     1366        $(WebCore)/css/MediaQueryListListener.idl \
    13641367        $(WebCore)/css/RGBColor.idl \
    13651368        $(WebCore)/css/Rect.idl \
     
    27182721        Source/WebCore/css/MediaQueryList.cpp \
    27192722        Source/WebCore/css/MediaQueryList.h \
    2720         Source/WebCore/css/MediaQueryListListener.cpp \
    27212723        Source/WebCore/css/MediaQueryListListener.h \
    27222724        Source/WebCore/css/MediaQueryMatcher.cpp \
  • trunk/Source/WebCore/Target.pri

    r153906 r153925  
    318318    css/MediaQueryExp.cpp \
    319319    css/MediaQueryList.cpp \
    320     css/MediaQueryListListener.cpp \
    321320    css/MediaQueryMatcher.cpp \
    322321    css/PageRuleCollector.cpp \
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj

    r153906 r153925  
    33653365      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
    33663366    </ClCompile>
     3367    <ClCompile Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryListListener.cpp">
     3368      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
     3369      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
     3370      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
     3371      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
     3372      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
     3373      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
     3374      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
     3375      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     3376      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
     3377      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
     3378      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
     3379      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
     3380    </ClCompile>
    33673381    <ClCompile Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMessageChannel.cpp">
    33683382      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
     
    92699283    </ClCompile>
    92709284    <ClCompile Include="..\css\MediaQueryList.cpp">
    9271       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
    9272       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
    9273       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
    9274       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
    9275       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
    9276       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
    9277     </ClCompile>
    9278     <ClCompile Include="..\css\MediaQueryListListener.cpp">
    92799285      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
    92809286      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     
    1839518401    <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaList.h" />
    1839618402    <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryList.h" />
     18403    <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryListListener.h" />
    1839718404    <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMessageChannel.h" />
    1839818405    <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMessageEvent.h" />
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters

    r153843 r153925  
    23292329      <Filter>css</Filter>
    23302330    </ClCompile>
    2331     <ClCompile Include="..\css\MediaQueryListListener.cpp">
    2332       <Filter>css</Filter>
    2333     </ClCompile>
    23342331    <ClCompile Include="..\css\MediaQueryMatcher.cpp">
    23352332      <Filter>css</Filter>
     
    60456042    </ClCompile>
    60466043    <ClCompile Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryList.cpp">
     6044      <Filter>DerivedSources</Filter>
     6045    </ClCompile>
     6046    <ClCompile Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryListListener.cpp">
    60476047      <Filter>DerivedSources</Filter>
    60486048    </ClCompile>
     
    1378113781    </ClInclude>
    1378213782    <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryList.h">
     13783      <Filter>DerivedSources</Filter>
     13784    </ClInclude>
     13785    <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryListListener.h">
    1378313786      <Filter>DerivedSources</Filter>
    1378413787    </ClInclude>
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r153906 r153925  
    19601960                7BE7427381FA906FBB4F0F2C /* JSSVGGraphicsElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 950C4C02BED8936F818E2F99 /* JSSVGGraphicsElement.h */; };
    19611961                7C522D4B15B477E8009B7C95 /* InspectorOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */; };
     1962                7C5343FC17B74B63004232F0 /* JSMediaQueryListListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C5343FA17B74B63004232F0 /* JSMediaQueryListListener.cpp */; };
     1963                7C5343FD17B74B63004232F0 /* JSMediaQueryListListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C5343FB17B74B63004232F0 /* JSMediaQueryListListener.h */; };
    19621964                7CC7E3D717208C0F003C5277 /* IDNScriptWhiteList.txt in Resources */ = {isa = PBXBuildFile; fileRef = 7CC7E3D617208C0F003C5277 /* IDNScriptWhiteList.txt */; };
    19631965                7CE30DA9171B63D200EC33E1 /* FrameSnapshottingMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7CE30DA7171B63D200EC33E1 /* FrameSnapshottingMac.mm */; };
     
    52785280                D302754912A5FE84004BD828 /* RenderDetailsMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D302754512A5FE84004BD828 /* RenderDetailsMarker.cpp */; };
    52795281                D302754A12A5FE84004BD828 /* RenderDetailsMarker.h in Headers */ = {isa = PBXBuildFile; fileRef = D302754612A5FE84004BD828 /* RenderDetailsMarker.h */; };
    5280                 D340629B1253BC8C009E4259 /* MediaQueryListListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D340629A1253BC8C009E4259 /* MediaQueryListListener.cpp */; };
    52815282                D359D789129CA2710006E5D2 /* HTMLDetailsElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D359D786129CA2710006E5D2 /* HTMLDetailsElement.cpp */; };
    52825283                D359D78A129CA2710006E5D2 /* HTMLDetailsElement.h in Headers */ = {isa = PBXBuildFile; fileRef = D359D787129CA2710006E5D2 /* HTMLDetailsElement.h */; };
     
    83918392                7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorOverlay.cpp; sourceTree = "<group>"; };
    83928393                7C522D4A15B478B2009B7C95 /* InspectorOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorOverlay.h; sourceTree = "<group>"; };
     8394                7C5343FA17B74B63004232F0 /* JSMediaQueryListListener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaQueryListListener.cpp; sourceTree = "<group>"; };
     8395                7C5343FB17B74B63004232F0 /* JSMediaQueryListListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = JSMediaQueryListListener.h; sourceTree = "<group>"; };
    83938396                7C60128060078BB70E367A95 /* DNSResolveQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNSResolveQueue.cpp; sourceTree = "<group>"; };
    83948397                7C6136F61710C35200FF4A57 /* Hasher.pm */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; name = Hasher.pm; path = scripts/Hasher.pm; sourceTree = "<group>"; };
     
    1204812051                D302754512A5FE84004BD828 /* RenderDetailsMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderDetailsMarker.cpp; sourceTree = "<group>"; };
    1204912052                D302754612A5FE84004BD828 /* RenderDetailsMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderDetailsMarker.h; sourceTree = "<group>"; };
    12050                 D340629A1253BC8C009E4259 /* MediaQueryListListener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaQueryListListener.cpp; sourceTree = "<group>"; };
    1205112053                D359D786129CA2710006E5D2 /* HTMLDetailsElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLDetailsElement.cpp; sourceTree = "<group>"; };
    1205212054                D359D787129CA2710006E5D2 /* HTMLDetailsElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLDetailsElement.h; sourceTree = "<group>"; };
     
    1728517287                                D3A94A42122DC40F00A37BBC /* JSMediaQueryList.cpp */,
    1728617288                                D3A94A43122DC40F00A37BBC /* JSMediaQueryList.h */,
     17289                                7C5343FA17B74B63004232F0 /* JSMediaQueryListListener.cpp */,
     17290                                7C5343FB17B74B63004232F0 /* JSMediaQueryListListener.h */,
    1728717291                                BCFE2F0F0C1B58370020235F /* JSRect.cpp */,
    1728817292                                BCFE2F100C1B58370020235F /* JSRect.h */,
     
    1982719831                                D3A94A32122DABAC00A37BBC /* MediaQueryList.h */,
    1982819832                                D3A94A33122DABAC00A37BBC /* MediaQueryList.idl */,
    19829                                 D340629A1253BC8C009E4259 /* MediaQueryListListener.cpp */,
    1983019833                                D3A94A34122DABAC00A37BBC /* MediaQueryListListener.h */,
    1983119834                                D3A94A35122DABAC00A37BBC /* MediaQueryListListener.idl */,
     
    2098720990                                89D08DA012228451001241DF /* AsyncFileSystem.h in Headers */,
    2098820991                                89D08DA112228451001241DF /* AsyncFileSystemCallbacks.h in Headers */,
     20992                                7C5343FD17B74B63004232F0 /* JSMediaQueryListListener.h in Headers */,
    2098920993                                976D6C77122B8A3D001FD1F7 /* AsyncFileWriter.h in Headers */,
    2099020994                                976D6C93122B8A3D001FD1F7 /* AsyncFileWriterClient.h in Headers */,
     
    2485224856                                85DF81960AA77E4B00486AD7 /* DOMHTMLFrameElement.mm in Sources */,
    2485324857                                85DF81980AA77E4B00486AD7 /* DOMHTMLFrameSetElement.mm in Sources */,
     24858                                7C5343FC17B74B63004232F0 /* JSMediaQueryListListener.cpp in Sources */,
    2485424859                                85992EBB0AA5069500AC0785 /* DOMHTMLHeadElement.mm in Sources */,
    2485524860                                85183B450AA6926100F19FA3 /* DOMHTMLHeadingElement.mm in Sources */,
     
    2608426089                                4E19592D0A39DACC00220FE5 /* MediaQueryExp.cpp in Sources */,
    2608526090                                D3A94A38122DABAC00A37BBC /* MediaQueryList.cpp in Sources */,
    26086                                 D340629B1253BC8C009E4259 /* MediaQueryListListener.cpp in Sources */,
    2608726091                                D3AA10F3123A98AA0092152B /* MediaQueryMatcher.cpp in Sources */,
    2608826092                                FD671A77159BB07000197559 /* MediaStreamAudioSourceNode.cpp in Sources */,
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r153905 r153925  
    31323132    push(@headerContent, "    virtual ~$className();\n");
    31333133
     3134    if ($interface->extendedAttributes->{"CallbackNeedsOperatorEqual"}) {
     3135        push(@headerContent, "    virtual bool operator==(const $interfaceName&) const;\n\n")
     3136    }
     3137
    31343138    # Functions
    31353139    my $numFunctions = @{$interface->functions};
     
    31903194    # Constructor
    31913195    push(@implContent, "${className}::${className}(JSObject* callback, JSDOMGlobalObject* globalObject)\n");
    3192     push(@implContent, "    : ActiveDOMCallback(globalObject->scriptExecutionContext())\n");
     3196    if ($interface->extendedAttributes->{"CallbackNeedsOperatorEqual"}) {
     3197        push(@implContent, "    : ${interfaceName}(${className}Type)\n");
     3198    } else {
     3199        push(@implContent, "    : ${interfaceName}()\n");
     3200    }
     3201    push(@implContent, "    , ActiveDOMCallback(globalObject->scriptExecutionContext())\n");
    31933202    push(@implContent, "    , m_data(new JSCallbackData(callback, globalObject))\n");
    31943203    push(@implContent, "{\n");
     
    32083217    push(@implContent, "    m_data = 0;\n");
    32093218    push(@implContent, "#endif\n");
    3210     push(@implContent, "}\n");
    3211 
     3219    push(@implContent, "}\n\n");
     3220
     3221    if ($interface->extendedAttributes->{"CallbackNeedsOperatorEqual"}) {
     3222        push(@implContent, "bool ${className}::operator==(const ${interfaceName}& other) const\n");
     3223        push(@implContent, "{\n");
     3224        push(@implContent, "    if (other.type() != type())\n");
     3225        push(@implContent, "        return false;\n");
     3226        push(@implContent, "    return static_cast<const ${className}*>(&other)->m_data->callback() == m_data->callback();\n");
     3227        push(@implContent, "}\n\n");
     3228    }
    32123229    # Functions
    32133230    my $numFunctions = @{$interface->functions};
     
    33403357    "byte" => "int8_t",
    33413358    "octet" => "uint8_t",
    3342     "MediaQueryListListener" => "RefPtr<MediaQueryListListener>",
    3343     "DOMTimeStamp" => "DOMTimeStamp",   
     3359    "DOMTimeStamp" => "DOMTimeStamp",
    33443360);
    33453361
     
    34763492    }
    34773493
    3478     if ($type eq "MediaQueryListListener") {
    3479         AddToImplIncludes("MediaQueryListListener.h", $conditional);
    3480         return "MediaQueryListListener::create(ScriptValue(exec->vm(), " . $value ."))";
    3481     }
    3482 
    34833494    if ($type eq "SerializedScriptValue") {
    34843495        AddToImplIncludes("SerializedScriptValue.h", $conditional);
  • trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt

    r152613 r153925  
    2222CPPPureInterface
    2323CachedAttribute
     24CallbackNeedsOperatorEqual
    2425CallWith=ScriptExecutionContext|ScriptState|ScriptArguments|CallStack
    2526CheckSecurity
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp

    r152490 r153925  
    3737
    3838JSTestCallback::JSTestCallback(JSObject* callback, JSDOMGlobalObject* globalObject)
    39     : ActiveDOMCallback(globalObject->scriptExecutionContext())
     39    : TestCallback()
     40    , ActiveDOMCallback(globalObject->scriptExecutionContext())
    4041    , m_data(new JSCallbackData(callback, globalObject))
    4142{
     
    5556#endif
    5657}
     58
    5759
    5860// Functions
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp

    r153607 r153925  
    2424#include "ExceptionCode.h"
    2525#include "JSDOMBinding.h"
    26 #include "MediaQueryListListener.h"
     26#include "JSMediaQueryListListener.h"
    2727#include "TestMediaQueryListListener.h"
    2828#include <runtime/Error.h>
     
    168168    if (exec->argumentCount() < 1)
    169169        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    170     RefPtr<MediaQueryListListener> listener(MediaQueryListListener::create(ScriptValue(exec->vm(), exec->argument(0))));
    171     if (exec->hadException())
    172         return JSValue::encode(jsUndefined());
     170    if (exec->argumentCount() <= 0 || !exec->argument(0).isFunction())
     171        return throwVMTypeError(exec);
     172    RefPtr<MediaQueryListListener> listener = JSMediaQueryListListener::create(asObject(exec->argument(0)), castedThis->globalObject());
    173173    impl->method(listener);
    174174    return JSValue::encode(jsUndefined());
  • trunk/Source/WebCore/css/MediaAllInOne.cpp

    r109929 r153925  
    3232#include "MediaQueryExp.cpp"
    3333#include "MediaQueryList.cpp"
    34 #include "MediaQueryListListener.cpp"
    3534#include "MediaQueryMatcher.cpp"
  • trunk/Source/WebCore/css/MediaQueryListListener.h

    r127757 r153925  
    2121#define MediaQueryListListener_h
    2222
    23 #include "ScriptState.h"
    24 #include "ScriptValue.h"
    2523#include <wtf/RefCounted.h>
    26 #include <wtf/text/WTFString.h>
    2724
    2825namespace WebCore {
     
    3027class MediaQueryList;
    3128
    32 // See http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
    33 
    3429class MediaQueryListListener : public RefCounted<MediaQueryListListener> {
    3530public:
    36     static PassRefPtr<MediaQueryListListener> create(const ScriptValue& value)
     31    enum Type {
     32        JSMediaQueryListListenerType
     33    };
     34
     35    virtual bool queryChanged(MediaQueryList*) = 0;
     36    virtual bool operator==(const MediaQueryListListener&) const = 0;
     37    virtual ~MediaQueryListListener() { }
     38
     39    Type type() const { return m_type; }
     40
     41protected:
     42    explicit MediaQueryListListener(Type type)
     43        : m_type(type)
    3744    {
    38         if (!value.isFunction())
    39             return 0;
    40         return adoptRef(new MediaQueryListListener(value));
    4145    }
    42     void queryChanged(ScriptState*, MediaQueryList*);
    43 
    44     bool operator==(const MediaQueryListListener& other) const { return m_value == other.m_value; }
    4546
    4647private:
    47     MediaQueryListListener(const ScriptValue& value) : m_value(value) { }
    48 
    49     ScriptValue m_value;
     48    Type m_type;
    5049};
    5150
    52 }
     51} // namespace WebCore
    5352
    5453#endif // MediaQueryListListener_h
  • trunk/Source/WebCore/css/MediaQueryListListener.idl

    r151207 r153925  
    1919
    2020[
    21     NoInterfaceObject,
    22     JSNoStaticTables,
    23     ObjCProtocol,
    24     CPPPureInterface,
    25 ] interface MediaQueryListListener {
    26     void queryChanged([Default=Undefined] optional MediaQueryList list);
     21    CallbackNeedsOperatorEqual
     22] callback interface MediaQueryListListener {
     23    boolean queryChanged([Default=Undefined] optional MediaQueryList list);
    2724};
  • trunk/Source/WebCore/css/MediaQueryMatcher.cpp

    r149392 r153925  
    4343}
    4444
    45 void MediaQueryMatcher::Listener::evaluate(ScriptState* state, MediaQueryEvaluator* evaluator)
     45void MediaQueryMatcher::Listener::evaluate(MediaQueryEvaluator* evaluator)
    4646{
    4747    bool notify;
    4848    m_query->evaluate(evaluator, notify);
    4949    if (notify)
    50         m_listener->queryChanged(state, m_query.get());
     50        m_listener->queryChanged(m_query.get());
    5151}
    5252
     
    144144    ASSERT(m_document);
    145145
    146     ScriptState* scriptState = mainWorldScriptState(m_document->frame());
    147     if (!scriptState)
    148         return;
    149 
    150146    ++m_evaluationRound;
    151147    OwnPtr<MediaQueryEvaluator> evaluator = prepareEvaluator();
     
    154150
    155151    for (size_t i = 0; i < m_listeners.size(); ++i)
    156         m_listeners[i]->evaluate(scriptState, evaluator.get());
     152        m_listeners[i]->evaluate(evaluator.get());
    157153}
    158154
    159 }
     155} // namespace WebCore
  • trunk/Source/WebCore/css/MediaQueryMatcher.h

    r115136 r153925  
    2121#define MediaQueryMatcher_h
    2222
    23 #include "ScriptState.h"
    2423#include <wtf/Forward.h>
    2524#include <wtf/RefCounted.h>
     
    6059        ~Listener();
    6160
    62         void evaluate(ScriptState*, MediaQueryEvaluator*);
     61        void evaluate(MediaQueryEvaluator*);
    6362
    6463        MediaQueryListListener* listener() { return m_listener.get(); }
     
    8382};
    8483
    85 }
     84} // namespace WebCore
    8685
    8786#endif // MediaQueryMatcher_h
Note: See TracChangeset for help on using the changeset viewer.