Changeset 153925 in webkit
- Timestamp:
- Aug 11, 2013 1:11:19 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 deleted
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r153906 r153925 317 317 css/MediaList.idl 318 318 css/MediaQueryList.idl 319 css/MediaQueryListListener.idl 319 320 css/RGBColor.idl 320 321 css/Rect.idl … … 1075 1076 css/MediaQueryExp.cpp 1076 1077 css/MediaQueryList.cpp 1077 css/MediaQueryListListener.cpp1078 1078 css/MediaQueryMatcher.cpp 1079 1079 css/PageRuleCollector.cpp -
trunk/Source/WebCore/ChangeLog
r153922 r153925 1 2013-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 1 46 2013-08-11 Carlos Garcia Campos <cgarcia@igalia.com> 2 47 -
trunk/Source/WebCore/DerivedSources.cpp
r153772 r153925 275 275 #include "JSMediaList.cpp" 276 276 #include "JSMediaQueryList.cpp" 277 #include "JSMediaQueryListListener.cpp" 277 278 #if ENABLE(MEDIA_SOURCE) 278 279 #include "JSMediaSource.cpp" -
trunk/Source/WebCore/DerivedSources.make
r153772 r153925 652 652 DOM_CLASSES=$(basename $(notdir $(BINDING_IDLS))) 653 653 654 JS_DOM_HEADERS=$(filter-out JS MediaQueryListListener.h JSEventListener.h, $(DOM_CLASSES:%=JS%.h))654 JS_DOM_HEADERS=$(filter-out JSEventListener.h, $(DOM_CLASSES:%=JS%.h)) 655 655 656 656 WEB_DOM_HEADERS := -
trunk/Source/WebCore/DerivedSources.pri
r153772 r153925 210 210 $$PWD/css/MediaList.idl \ 211 211 $$PWD/css/MediaQueryList.idl \ 212 $$PWD/css/MediaQueryListListener.idl \ 212 213 $$PWD/css/Rect.idl \ 213 214 $$PWD/css/RGBColor.idl \ -
trunk/Source/WebCore/GNUmakefile.list.am
r153922 r153925 528 528 DerivedSources/WebCore/JSMediaQueryList.cpp \ 529 529 DerivedSources/WebCore/JSMediaQueryList.h \ 530 DerivedSources/WebCore/JSMediaQueryListListener.cpp \ 531 DerivedSources/WebCore/JSMediaQueryListListener.h \ 530 532 DerivedSources/WebCore/JSMessageChannel.cpp \ 531 533 DerivedSources/WebCore/JSMessageChannel.h \ … … 1362 1364 $(WebCore)/css/MediaList.idl \ 1363 1365 $(WebCore)/css/MediaQueryList.idl \ 1366 $(WebCore)/css/MediaQueryListListener.idl \ 1364 1367 $(WebCore)/css/RGBColor.idl \ 1365 1368 $(WebCore)/css/Rect.idl \ … … 2718 2721 Source/WebCore/css/MediaQueryList.cpp \ 2719 2722 Source/WebCore/css/MediaQueryList.h \ 2720 Source/WebCore/css/MediaQueryListListener.cpp \2721 2723 Source/WebCore/css/MediaQueryListListener.h \ 2722 2724 Source/WebCore/css/MediaQueryMatcher.cpp \ -
trunk/Source/WebCore/Target.pri
r153906 r153925 318 318 css/MediaQueryExp.cpp \ 319 319 css/MediaQueryList.cpp \ 320 css/MediaQueryListListener.cpp \321 320 css/MediaQueryMatcher.cpp \ 322 321 css/PageRuleCollector.cpp \ -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
r153906 r153925 3365 3365 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild> 3366 3366 </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> 3367 3381 <ClCompile Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMessageChannel.cpp"> 3368 3382 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> … … 9269 9283 </ClCompile> 9270 9284 <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">9279 9285 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> 9280 9286 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> … … 18395 18401 <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaList.h" /> 18396 18402 <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryList.h" /> 18403 <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryListListener.h" /> 18397 18404 <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMessageChannel.h" /> 18398 18405 <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMessageEvent.h" /> -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
r153843 r153925 2329 2329 <Filter>css</Filter> 2330 2330 </ClCompile> 2331 <ClCompile Include="..\css\MediaQueryListListener.cpp">2332 <Filter>css</Filter>2333 </ClCompile>2334 2331 <ClCompile Include="..\css\MediaQueryMatcher.cpp"> 2335 2332 <Filter>css</Filter> … … 6045 6042 </ClCompile> 6046 6043 <ClCompile Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryList.cpp"> 6044 <Filter>DerivedSources</Filter> 6045 </ClCompile> 6046 <ClCompile Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryListListener.cpp"> 6047 6047 <Filter>DerivedSources</Filter> 6048 6048 </ClCompile> … … 13781 13781 </ClInclude> 13782 13782 <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryList.h"> 13783 <Filter>DerivedSources</Filter> 13784 </ClInclude> 13785 <ClInclude Include="$(ConfigurationBuildDir)\obj32\$(ProjectName)\DerivedSources\JSMediaQueryListListener.h"> 13783 13786 <Filter>DerivedSources</Filter> 13784 13787 </ClInclude> -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r153906 r153925 1960 1960 7BE7427381FA906FBB4F0F2C /* JSSVGGraphicsElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 950C4C02BED8936F818E2F99 /* JSSVGGraphicsElement.h */; }; 1961 1961 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 */; }; 1962 1964 7CC7E3D717208C0F003C5277 /* IDNScriptWhiteList.txt in Resources */ = {isa = PBXBuildFile; fileRef = 7CC7E3D617208C0F003C5277 /* IDNScriptWhiteList.txt */; }; 1963 1965 7CE30DA9171B63D200EC33E1 /* FrameSnapshottingMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7CE30DA7171B63D200EC33E1 /* FrameSnapshottingMac.mm */; }; … … 5278 5280 D302754912A5FE84004BD828 /* RenderDetailsMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D302754512A5FE84004BD828 /* RenderDetailsMarker.cpp */; }; 5279 5281 D302754A12A5FE84004BD828 /* RenderDetailsMarker.h in Headers */ = {isa = PBXBuildFile; fileRef = D302754612A5FE84004BD828 /* RenderDetailsMarker.h */; }; 5280 D340629B1253BC8C009E4259 /* MediaQueryListListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D340629A1253BC8C009E4259 /* MediaQueryListListener.cpp */; };5281 5282 D359D789129CA2710006E5D2 /* HTMLDetailsElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D359D786129CA2710006E5D2 /* HTMLDetailsElement.cpp */; }; 5282 5283 D359D78A129CA2710006E5D2 /* HTMLDetailsElement.h in Headers */ = {isa = PBXBuildFile; fileRef = D359D787129CA2710006E5D2 /* HTMLDetailsElement.h */; }; … … 8391 8392 7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorOverlay.cpp; sourceTree = "<group>"; }; 8392 8393 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>"; }; 8393 8396 7C60128060078BB70E367A95 /* DNSResolveQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNSResolveQueue.cpp; sourceTree = "<group>"; }; 8394 8397 7C6136F61710C35200FF4A57 /* Hasher.pm */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; name = Hasher.pm; path = scripts/Hasher.pm; sourceTree = "<group>"; }; … … 12048 12051 D302754512A5FE84004BD828 /* RenderDetailsMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderDetailsMarker.cpp; sourceTree = "<group>"; }; 12049 12052 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>"; };12051 12053 D359D786129CA2710006E5D2 /* HTMLDetailsElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLDetailsElement.cpp; sourceTree = "<group>"; }; 12052 12054 D359D787129CA2710006E5D2 /* HTMLDetailsElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLDetailsElement.h; sourceTree = "<group>"; }; … … 17285 17287 D3A94A42122DC40F00A37BBC /* JSMediaQueryList.cpp */, 17286 17288 D3A94A43122DC40F00A37BBC /* JSMediaQueryList.h */, 17289 7C5343FA17B74B63004232F0 /* JSMediaQueryListListener.cpp */, 17290 7C5343FB17B74B63004232F0 /* JSMediaQueryListListener.h */, 17287 17291 BCFE2F0F0C1B58370020235F /* JSRect.cpp */, 17288 17292 BCFE2F100C1B58370020235F /* JSRect.h */, … … 19827 19831 D3A94A32122DABAC00A37BBC /* MediaQueryList.h */, 19828 19832 D3A94A33122DABAC00A37BBC /* MediaQueryList.idl */, 19829 D340629A1253BC8C009E4259 /* MediaQueryListListener.cpp */,19830 19833 D3A94A34122DABAC00A37BBC /* MediaQueryListListener.h */, 19831 19834 D3A94A35122DABAC00A37BBC /* MediaQueryListListener.idl */, … … 20987 20990 89D08DA012228451001241DF /* AsyncFileSystem.h in Headers */, 20988 20991 89D08DA112228451001241DF /* AsyncFileSystemCallbacks.h in Headers */, 20992 7C5343FD17B74B63004232F0 /* JSMediaQueryListListener.h in Headers */, 20989 20993 976D6C77122B8A3D001FD1F7 /* AsyncFileWriter.h in Headers */, 20990 20994 976D6C93122B8A3D001FD1F7 /* AsyncFileWriterClient.h in Headers */, … … 24852 24856 85DF81960AA77E4B00486AD7 /* DOMHTMLFrameElement.mm in Sources */, 24853 24857 85DF81980AA77E4B00486AD7 /* DOMHTMLFrameSetElement.mm in Sources */, 24858 7C5343FC17B74B63004232F0 /* JSMediaQueryListListener.cpp in Sources */, 24854 24859 85992EBB0AA5069500AC0785 /* DOMHTMLHeadElement.mm in Sources */, 24855 24860 85183B450AA6926100F19FA3 /* DOMHTMLHeadingElement.mm in Sources */, … … 26084 26089 4E19592D0A39DACC00220FE5 /* MediaQueryExp.cpp in Sources */, 26085 26090 D3A94A38122DABAC00A37BBC /* MediaQueryList.cpp in Sources */, 26086 D340629B1253BC8C009E4259 /* MediaQueryListListener.cpp in Sources */,26087 26091 D3AA10F3123A98AA0092152B /* MediaQueryMatcher.cpp in Sources */, 26088 26092 FD671A77159BB07000197559 /* MediaStreamAudioSourceNode.cpp in Sources */, -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r153905 r153925 3132 3132 push(@headerContent, " virtual ~$className();\n"); 3133 3133 3134 if ($interface->extendedAttributes->{"CallbackNeedsOperatorEqual"}) { 3135 push(@headerContent, " virtual bool operator==(const $interfaceName&) const;\n\n") 3136 } 3137 3134 3138 # Functions 3135 3139 my $numFunctions = @{$interface->functions}; … … 3190 3194 # Constructor 3191 3195 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"); 3193 3202 push(@implContent, " , m_data(new JSCallbackData(callback, globalObject))\n"); 3194 3203 push(@implContent, "{\n"); … … 3208 3217 push(@implContent, " m_data = 0;\n"); 3209 3218 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 } 3212 3229 # Functions 3213 3230 my $numFunctions = @{$interface->functions}; … … 3340 3357 "byte" => "int8_t", 3341 3358 "octet" => "uint8_t", 3342 "MediaQueryListListener" => "RefPtr<MediaQueryListListener>", 3343 "DOMTimeStamp" => "DOMTimeStamp", 3359 "DOMTimeStamp" => "DOMTimeStamp", 3344 3360 ); 3345 3361 … … 3476 3492 } 3477 3493 3478 if ($type eq "MediaQueryListListener") {3479 AddToImplIncludes("MediaQueryListListener.h", $conditional);3480 return "MediaQueryListListener::create(ScriptValue(exec->vm(), " . $value ."))";3481 }3482 3483 3494 if ($type eq "SerializedScriptValue") { 3484 3495 AddToImplIncludes("SerializedScriptValue.h", $conditional); -
trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt
r152613 r153925 22 22 CPPPureInterface 23 23 CachedAttribute 24 CallbackNeedsOperatorEqual 24 25 CallWith=ScriptExecutionContext|ScriptState|ScriptArguments|CallStack 25 26 CheckSecurity -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp
r152490 r153925 37 37 38 38 JSTestCallback::JSTestCallback(JSObject* callback, JSDOMGlobalObject* globalObject) 39 : ActiveDOMCallback(globalObject->scriptExecutionContext()) 39 : TestCallback() 40 , ActiveDOMCallback(globalObject->scriptExecutionContext()) 40 41 , m_data(new JSCallbackData(callback, globalObject)) 41 42 { … … 55 56 #endif 56 57 } 58 57 59 58 60 // Functions -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp
r153607 r153925 24 24 #include "ExceptionCode.h" 25 25 #include "JSDOMBinding.h" 26 #include " MediaQueryListListener.h"26 #include "JSMediaQueryListListener.h" 27 27 #include "TestMediaQueryListListener.h" 28 28 #include <runtime/Error.h> … … 168 168 if (exec->argumentCount() < 1) 169 169 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()); 173 173 impl->method(listener); 174 174 return JSValue::encode(jsUndefined()); -
trunk/Source/WebCore/css/MediaAllInOne.cpp
r109929 r153925 32 32 #include "MediaQueryExp.cpp" 33 33 #include "MediaQueryList.cpp" 34 #include "MediaQueryListListener.cpp"35 34 #include "MediaQueryMatcher.cpp" -
trunk/Source/WebCore/css/MediaQueryListListener.h
r127757 r153925 21 21 #define MediaQueryListListener_h 22 22 23 #include "ScriptState.h"24 #include "ScriptValue.h"25 23 #include <wtf/RefCounted.h> 26 #include <wtf/text/WTFString.h>27 24 28 25 namespace WebCore { … … 30 27 class MediaQueryList; 31 28 32 // See http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface33 34 29 class MediaQueryListListener : public RefCounted<MediaQueryListListener> { 35 30 public: 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 41 protected: 42 explicit MediaQueryListListener(Type type) 43 : m_type(type) 37 44 { 38 if (!value.isFunction())39 return 0;40 return adoptRef(new MediaQueryListListener(value));41 45 } 42 void queryChanged(ScriptState*, MediaQueryList*);43 44 bool operator==(const MediaQueryListListener& other) const { return m_value == other.m_value; }45 46 46 47 private: 47 MediaQueryListListener(const ScriptValue& value) : m_value(value) { } 48 49 ScriptValue m_value; 48 Type m_type; 50 49 }; 51 50 52 } 51 } // namespace WebCore 53 52 54 53 #endif // MediaQueryListListener_h -
trunk/Source/WebCore/css/MediaQueryListListener.idl
r151207 r153925 19 19 20 20 [ 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); 27 24 }; -
trunk/Source/WebCore/css/MediaQueryMatcher.cpp
r149392 r153925 43 43 } 44 44 45 void MediaQueryMatcher::Listener::evaluate( ScriptState* state,MediaQueryEvaluator* evaluator)45 void MediaQueryMatcher::Listener::evaluate(MediaQueryEvaluator* evaluator) 46 46 { 47 47 bool notify; 48 48 m_query->evaluate(evaluator, notify); 49 49 if (notify) 50 m_listener->queryChanged( state,m_query.get());50 m_listener->queryChanged(m_query.get()); 51 51 } 52 52 … … 144 144 ASSERT(m_document); 145 145 146 ScriptState* scriptState = mainWorldScriptState(m_document->frame());147 if (!scriptState)148 return;149 150 146 ++m_evaluationRound; 151 147 OwnPtr<MediaQueryEvaluator> evaluator = prepareEvaluator(); … … 154 150 155 151 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()); 157 153 } 158 154 159 } 155 } // namespace WebCore -
trunk/Source/WebCore/css/MediaQueryMatcher.h
r115136 r153925 21 21 #define MediaQueryMatcher_h 22 22 23 #include "ScriptState.h"24 23 #include <wtf/Forward.h> 25 24 #include <wtf/RefCounted.h> … … 60 59 ~Listener(); 61 60 62 void evaluate( ScriptState*,MediaQueryEvaluator*);61 void evaluate(MediaQueryEvaluator*); 63 62 64 63 MediaQueryListListener* listener() { return m_listener.get(); } … … 83 82 }; 84 83 85 } 84 } // namespace WebCore 86 85 87 86 #endif // MediaQueryMatcher_h
Note: See TracChangeset
for help on using the changeset viewer.