Changeset 125745 in webkit
- Timestamp:
- Aug 15, 2012 10:01:52 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 added
- 5 deleted
- 25 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r125744 r125745 1 2012-08-15 Adam Barth <abarth@webkit.org> 2 3 VoidCallback should not be a special snowflake 4 https://bugs.webkit.org/show_bug.cgi?id=94119 5 6 Reviewed by Eric Seidel. 7 8 VoidCallback is the oldest of the callbacks and it predates our ability 9 to autogenerate callback objects. The existing implementation of 10 VoidCallback is wrong because it doesn't call 11 ActiveDOMCallback::canInvokeCallback. The net result of that is that 12 void callbacks can race with navigations and occationally execute after 13 the Frame has navigated to a new Document, which was causing the 14 flakiness. 15 16 This patch changes VoidCallback to no longer be a unique snowflake. 17 Instead, we autogenerate the implementation, just like every other 18 callback in WebCore. 19 20 Tests: storage/websql/database-lock-after-reload.html is no longer flaky. 21 22 * DerivedSources.make: 23 * GNUmakefile.list.am: 24 * Modules/filesystem/SyncCallbackHelper.h: 25 (WebCore::SyncCallbackHelper::SuccessCallbackImpl::handleEvent): 26 * Target.pri: 27 * UseJSC.cmake: 28 * UseV8.cmake: 29 * WebCore.gyp/WebCore.gyp: 30 * WebCore.gypi: 31 * WebCore.vcproj/WebCore.vcproj: 32 * WebCore.xcodeproj/project.pbxproj: 33 * bindings/cpp/WebDOMCustomVoidCallback.cpp: Removed. 34 * bindings/cpp/WebDOMCustomVoidCallback.h: Removed. 35 * bindings/js/JSBindingsAllInOne.cpp: 36 * bindings/js/JSCustomVoidCallback.cpp: Removed. 37 * bindings/js/JSCustomVoidCallback.h: Removed. 38 * bindings/js/JSDesktopNotificationsCustom.cpp: 39 (WebCore::JSNotificationCenter::requestPermission): 40 * bindings/scripts/CodeGeneratorCPP.pm: 41 (GetClassName): 42 (AddIncludesForType): 43 * bindings/scripts/CodeGeneratorJS.pm: 44 (GetCallbackClassName): 45 (GenerateCallbackImplementation): 46 (JSValueToNative): 47 * bindings/scripts/CodeGeneratorV8.pm: 48 (GenerateCallbackImplementation): 49 (TypeCanFailConversion): 50 (GetCallbackClassName): 51 * bindings/scripts/test/JS/JSTestCallback.cpp: 52 (WebCore::JSTestCallback::callbackWithNoParam): 53 * bindings/scripts/test/V8/V8TestCallback.cpp: 54 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 55 * bindings/v8/custom/V8CustomVoidCallback.cpp: Removed. 56 * bindings/v8/custom/V8CustomVoidCallback.h: Removed. 57 * bindings/v8/custom/V8MutationCallbackCustom.cpp: 58 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 59 (WebCore::V8NotificationCenter::requestPermissionCallback): 60 * html/VoidCallback.h: 61 (VoidCallback): 62 * html/VoidCallback.idl: 63 * inspector/InspectorDatabaseAgent.cpp: 64 (WebCore): 65 1 66 2012-08-15 Hayato Ito <hayato@chromium.org> 2 67 -
trunk/Source/WebCore/DerivedSources.cpp
r125251 r125745 478 478 #endif 479 479 #include "JSValidityState.cpp" 480 #include "JSVoidCallback.cpp" 480 481 #include "JSWebKitAnimation.cpp" 481 482 #include "JSWebKitAnimationEvent.cpp" -
trunk/Source/WebCore/DerivedSources.make
r125691 r125745 361 361 $(WebCore)/html/TimeRanges.idl \ 362 362 $(WebCore)/html/ValidityState.idl \ 363 $(WebCore)/html/VoidCallback.idl \ 363 364 $(WebCore)/html/canvas/ArrayBuffer.idl \ 364 365 $(WebCore)/html/canvas/ArrayBufferView.idl \ -
trunk/Source/WebCore/GNUmakefile.list.am
r125691 r125745 2194 2194 Source/WebCore/bindings/js/JSCoordinatesCustom.cpp \ 2195 2195 Source/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp \ 2196 Source/WebCore/bindings/js/JSCustomVoidCallback.cpp \2197 Source/WebCore/bindings/js/JSCustomVoidCallback.h \2198 2196 Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp \ 2199 2197 Source/WebCore/bindings/js/JSCustomXPathNSResolver.h \ -
trunk/Source/WebCore/Modules/filesystem/SyncCallbackHelper.h
r123945 r125745 98 98 } 99 99 100 virtual voidhandleEvent()100 virtual bool handleEvent() 101 101 { 102 102 m_helper->setError(0); 103 return true; 103 104 } 104 105 -
trunk/Source/WebCore/Target.pri
r125691 r125745 97 97 bindings/js/JSConsoleCustom.cpp \ 98 98 bindings/js/JSCoordinatesCustom.cpp \ 99 bindings/js/JSCustomVoidCallback.cpp \100 99 bindings/js/JSCustomXPathNSResolver.cpp \ 101 100 bindings/js/JSDictionary.cpp \ … … 1280 1279 bindings/js/JSCSSStyleDeclarationCustom.h \ 1281 1280 bindings/js/JSCallbackData.h \ 1282 bindings/js/JSCustomVoidCallback.h \1283 1281 bindings/js/JSCustomXPathNSResolver.h \ 1284 1282 bindings/js/JSDictionary.h \ -
trunk/Source/WebCore/UseJSC.cmake
r125550 r125745 50 50 bindings/js/JSConsoleCustom.cpp 51 51 bindings/js/JSCoordinatesCustom.cpp 52 bindings/js/JSCustomVoidCallback.cpp53 52 bindings/js/JSCustomXPathNSResolver.cpp 54 53 bindings/js/JSDictionary.cpp -
trunk/Source/WebCore/UseV8.cmake
r125717 r125745 87 87 bindings/v8/custom/V8CoordinatesCustom.cpp 88 88 bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp 89 bindings/v8/custom/V8CustomVoidCallback.cpp90 89 bindings/v8/custom/V8CustomXPathNSResolver.cpp 91 90 bindings/v8/custom/V8DOMFormDataCustom.cpp -
trunk/Source/WebCore/WebCore.gyp/WebCore.gyp
r125691 r125745 165 165 # Custom bindings in bindings/v8/custom exist for these. 166 166 '../dom/EventListener.idl', 167 '../html/VoidCallback.idl',168 167 169 168 # Bindings with custom Objective-C implementations. -
trunk/Source/WebCore/WebCore.gypi
r125717 r125745 1883 1883 'bindings/cpp/WebDOMCString.cpp', 1884 1884 'bindings/cpp/WebDOMCString.h', 1885 'bindings/cpp/WebDOMCustomVoidCallback.cpp',1886 'bindings/cpp/WebDOMCustomVoidCallback.h',1887 1885 'bindings/cpp/WebDOMDOMWindowCustom.cpp', 1888 1886 'bindings/cpp/WebDOMEventListenerCustom.cpp', … … 1963 1961 'bindings/js/JSCoordinatesCustom.cpp', 1964 1962 'bindings/js/JSCustomSQLStatementErrorCallback.cpp', 1965 'bindings/js/JSCustomVoidCallback.cpp',1966 'bindings/js/JSCustomVoidCallback.h',1967 1963 'bindings/js/JSCustomXPathNSResolver.cpp', 1968 1964 'bindings/js/JSCustomXPathNSResolver.h', … … 2239 2235 'bindings/v8/V8Binding.h', 2240 2236 'bindings/v8/V8BindingMacros.h', 2237 'bindings/v8/V8Callback.cpp', 2238 'bindings/v8/V8Callback.h', 2241 2239 'bindings/v8/V8Collection.cpp', 2242 2240 'bindings/v8/V8Collection.h', … … 2312 2310 'bindings/v8/custom/V8CoordinatesCustom.cpp', 2313 2311 'bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp', 2314 'bindings/v8/custom/V8CustomVoidCallback.cpp',2315 'bindings/v8/custom/V8CustomVoidCallback.h',2316 2312 'bindings/v8/custom/V8CustomXPathNSResolver.cpp', 2317 2313 'bindings/v8/custom/V8CustomXPathNSResolver.h', … … 8111 8107 '<(PRODUCT_DIR)/DerivedSources/WebCore/JSValidityState.cpp', 8112 8108 '<(PRODUCT_DIR)/DerivedSources/WebCore/JSValidityState.h', 8109 '<(PRODUCT_DIR)/DerivedSources/WebCore/JSVoidCallback.cpp', 8110 '<(PRODUCT_DIR)/DerivedSources/WebCore/JSVoidCallback.h', 8113 8111 '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebGLActiveInfo.cpp', 8114 8112 '<(PRODUCT_DIR)/DerivedSources/WebCore/JSWebGLActiveInfo.h', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r125265 r125745 65343 65343 </File> 65344 65344 <File 65345 RelativePath="..\bindings\js\JSCustomVoidCallback.cpp"65346 >65347 <FileConfiguration65348 Name="Debug|Win32"65349 ExcludedFromBuild="true"65350 >65351 <Tool65352 Name="VCCLCompilerTool"65353 />65354 </FileConfiguration>65355 <FileConfiguration65356 Name="Release|Win32"65357 ExcludedFromBuild="true"65358 >65359 <Tool65360 Name="VCCLCompilerTool"65361 />65362 </FileConfiguration>65363 <FileConfiguration65364 Name="Debug_Cairo_CFLite|Win32"65365 ExcludedFromBuild="true"65366 >65367 <Tool65368 Name="VCCLCompilerTool"65369 />65370 </FileConfiguration>65371 <FileConfiguration65372 Name="Release_Cairo_CFLite|Win32"65373 ExcludedFromBuild="true"65374 >65375 <Tool65376 Name="VCCLCompilerTool"65377 />65378 </FileConfiguration>65379 <FileConfiguration65380 Name="Debug_All|Win32"65381 ExcludedFromBuild="true"65382 >65383 <Tool65384 Name="VCCLCompilerTool"65385 />65386 </FileConfiguration>65387 <FileConfiguration65388 Name="Production|Win32"65389 ExcludedFromBuild="true"65390 >65391 <Tool65392 Name="VCCLCompilerTool"65393 />65394 </FileConfiguration>65395 </File>65396 <File65397 RelativePath="..\bindings\js\JSCustomVoidCallback.h"65398 >65399 </File>65400 <File65401 65345 RelativePath="..\bindings\js\JSCustomXPathNSResolver.cpp" 65402 65346 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r125691 r125745 399 399 1A2E6E5A0CC55213004A2062 /* SQLValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2E6E580CC55213004A2062 /* SQLValue.h */; settings = {ATTRIBUTES = (Private, ); }; }; 400 400 1A2E6E7A0CC556D5004A2062 /* SQLiteAuthorizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2E6E780CC556D5004A2062 /* SQLiteAuthorizer.cpp */; }; 401 1A3417C90CECFF250049CBDE /* JSCustomVoidCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3417C70CECFF250049CBDE /* JSCustomVoidCallback.h */; };402 1A3417CA0CECFF250049CBDE /* JSCustomVoidCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3417C80CECFF250049CBDE /* JSCustomVoidCallback.cpp */; };403 401 1A35862C152522540022A659 /* ScrollingTreeMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A35862A152522540022A659 /* ScrollingTreeMac.mm */; }; 404 402 1A3586DF15264C450022A659 /* RenderMultiColumnFlowThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3586DD15264C450022A659 /* RenderMultiColumnFlowThread.cpp */; }; … … 1961 1959 7B9184D215758E420092AA93 /* UndoManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B9184CF15758E420092AA93 /* UndoManager.cpp */; }; 1962 1960 7B9184D315758E420092AA93 /* UndoManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B9184D015758E420092AA93 /* UndoManager.h */; }; 1963 1964 1961 7C522D4B15B477E8009B7C95 /* InspectorOverlay.cpp */ = {isa = PBXBuildFile; fileRef = 7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */; }; 1962 7C522D4C15B478B2009B7C95 /* InspectorOverlay.h */ = {isa = PBXBuildFile; fileRef = 7C522D4A15B477E8009B7C95 /* InspectorOverlay.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1965 1963 7E33CD01127F340D00BE8F17 /* PurgePriority.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E33CD00127F340D00BE8F17 /* PurgePriority.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1966 1964 7E37EF2E1339208800B29250 /* SubresourceLoaderCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E37EF2D1339208800B29250 /* SubresourceLoaderCF.cpp */; }; … … 3361 3359 93FDAFCA0B11307400E2746F /* EditorInsertAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FDAFC90B11307400E2746F /* EditorInsertAction.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3362 3360 96ABA42314BCB80E00D56204 /* GraphicsContext3DOpenGLCommon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 96ABA42214BCB80E00D56204 /* GraphicsContext3DOpenGLCommon.cpp */; }; 3361 9703E1BF15DC4E37001F24C8 /* JSVoidCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97E9EC8B15DC492F004F2E71 /* JSVoidCallback.cpp */; }; 3363 3362 97059977107D975200A50A7C /* PolicyCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97059973107D975200A50A7C /* PolicyCallback.cpp */; }; 3364 3363 97059978107D975200A50A7C /* PolicyCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 97059974107D975200A50A7C /* PolicyCallback.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 7414 7413 1A2E6E580CC55213004A2062 /* SQLValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SQLValue.h; path = sql/SQLValue.h; sourceTree = "<group>"; }; 7415 7414 1A2E6E780CC556D5004A2062 /* SQLiteAuthorizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SQLiteAuthorizer.cpp; path = sql/SQLiteAuthorizer.cpp; sourceTree = "<group>"; }; 7416 1A3417C70CECFF250049CBDE /* JSCustomVoidCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCustomVoidCallback.h; sourceTree = "<group>"; };7417 1A3417C80CECFF250049CBDE /* JSCustomVoidCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCustomVoidCallback.cpp; sourceTree = "<group>"; };7418 7415 1A35862A152522540022A659 /* ScrollingTreeMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ScrollingTreeMac.mm; sourceTree = "<group>"; }; 7419 7416 1A3586DD15264C450022A659 /* RenderMultiColumnFlowThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMultiColumnFlowThread.cpp; sourceTree = "<group>"; }; … … 8950 8947 65F80697054D9F86008BF776 /* BlockExceptions.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BlockExceptions.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; 8951 8948 65FEA86809833ADE00BED4AB /* Page.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Page.cpp; sourceTree = "<group>"; }; 8949 6B3480920EEF50D400AC1B41 /* NativeImagePtr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NativeImagePtr.h; sourceTree = "<group>"; }; 8952 8950 6E21C6BF1126338500A7BE02 /* GraphicsContext3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GraphicsContext3D.cpp; sourceTree = "<group>"; }; 8953 8951 6E21C6C11126339900A7BE02 /* GraphicsContext3DCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GraphicsContext3DCG.cpp; sourceTree = "<group>"; }; … … 10839 10837 97E4028D13A696ED00913D67 /* IconController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IconController.cpp; sourceTree = "<group>"; }; 10840 10838 97E4028E13A696ED00913D67 /* IconController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconController.h; sourceTree = "<group>"; }; 10839 97E9EC8B15DC492F004F2E71 /* JSVoidCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSVoidCallback.cpp; sourceTree = "<group>"; }; 10840 97E9EC8C15DC492F004F2E71 /* JSVoidCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSVoidCallback.h; sourceTree = "<group>"; }; 10841 10841 97EF7DFD107E55B700D7C49C /* ScriptControllerBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptControllerBase.cpp; sourceTree = "<group>"; }; 10842 10842 97F8E661151D4A3F00D2D181 /* WorkerContextNotifications.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WorkerContextNotifications.cpp; path = Modules/notifications/WorkerContextNotifications.cpp; sourceTree = "<group>"; }; … … 12064 12064 B27535470B053814002CE64F /* IntSize.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = IntSize.h; sourceTree = "<group>"; }; 12065 12065 B27535480B053814002CE64F /* IntSizeHash.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = IntSizeHash.h; sourceTree = "<group>"; }; 12066 6B3480920EEF50D400AC1B41 /* NativeImagePtr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NativeImagePtr.h; sourceTree = "<group>"; };12067 12066 B275354A0B053814002CE64F /* ColorMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = ColorMac.mm; sourceTree = "<group>"; }; 12068 12067 B275354B0B053814002CE64F /* FloatPointMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = FloatPointMac.mm; sourceTree = "<group>"; }; … … 18076 18075 isa = PBXGroup; 18077 18076 children = ( 18078 50D88CB315BDFDAA001809F4 /* CustomFilterProgramInfo.cpp */,18079 50D88CB415BDFDAA001809F4 /* CustomFilterProgramInfo.h */,18080 18077 49ECEB5C1499790D00CDD3A4 /* arm */, 18081 18078 50D4060F147D49DE00D30BB5 /* CustomFilterCompiledProgram.cpp */, … … 18092 18089 503D0CA814B5B08700F32F57 /* CustomFilterProgram.h */, 18093 18090 503D0CA914B5B08700F32F57 /* CustomFilterProgramClient.h */, 18091 50D88CB315BDFDAA001809F4 /* CustomFilterProgramInfo.cpp */, 18092 50D88CB415BDFDAA001809F4 /* CustomFilterProgramInfo.h */, 18094 18093 A1E1154313015C3D0054AC8C /* DistantLightSource.cpp */, 18095 18094 84730D5A1248F0B300D3A9C9 /* DistantLightSource.h */, … … 18380 18379 15C77092100D3CA8005BA267 /* JSValidityState.cpp */, 18381 18380 15C77091100D3CA8005BA267 /* JSValidityState.h */, 18381 97E9EC8B15DC492F004F2E71 /* JSVoidCallback.cpp */, 18382 97E9EC8C15DC492F004F2E71 /* JSVoidCallback.h */, 18382 18383 A7D20F60107F406900A80392 /* JSWebGLActiveInfo.cpp */, 18383 18384 A7D20F61107F406900A80392 /* JSWebGLActiveInfo.h */, … … 20586 20587 1449E24A107D4A8400B5793F /* JSCallbackData.h */, 20587 20588 51EC925D0CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp */, 20588 1A3417C80CECFF250049CBDE /* JSCustomVoidCallback.cpp */,20589 1A3417C70CECFF250049CBDE /* JSCustomVoidCallback.h */,20590 20589 E10B93C20B73C291003ED890 /* JSCustomXPathNSResolver.cpp */, 20591 20590 E10B937B0B73C00A003ED890 /* JSCustomXPathNSResolver.h */, … … 22283 22282 51CBFC990D10E483002DBF51 /* CachedFramePlatformData.h in Headers */, 22284 22283 BCB16C1C0979C3BD00467741 /* CachedImage.h in Headers */, 22284 319FBD5F15D2F464009640A6 /* CachedImageClient.h in Headers */, 22285 22285 510184690B08602A004A825F /* CachedPage.h in Headers */, 22286 22286 D0EDA775143E303C0028E383 /* CachedRawResource.h in Headers */, … … 22457 22457 503D0CAB14B5B08700F32F57 /* CustomFilterProgram.h in Headers */, 22458 22458 503D0CAC14B5B08700F32F57 /* CustomFilterProgramClient.h in Headers */, 22459 50D88CB615BDFDAA001809F4 /* CustomFilterProgramInfo.h in Headers */, 22459 22460 A8CB413E0E8633FD0032C4F0 /* DashArray.h in Headers */, 22460 22461 A80E6D0B0A1989CA007FB8C5 /* DashboardRegion.h in Headers */, … … 23633 23634 20D629271253690B00081543 /* InspectorInstrumentation.h in Headers */, 23634 23635 7AA51DD6148506A900AD2752 /* InspectorMemoryAgent.h in Headers */, 23635 23636 7C522D4C15B478B2009B7C95 /* InspectorOverlay.h in Headers */, 23636 23637 4F6FDD651341DEDD001F8EE3 /* InspectorPageAgent.h in Headers */, 23637 23638 9F0D6B2F121BFEBA006C0288 /* InspectorProfilerAgent.h in Headers */, … … 23726 23727 A8D05FAC0A23B30F005E7203 /* JSCSSValueList.h in Headers */, 23727 23728 E4778B80115A581A00B5D372 /* JSCustomEvent.h in Headers */, 23728 1A3417C90CECFF250049CBDE /* JSCustomVoidCallback.h in Headers */,23729 23729 E10B937C0B73C00A003ED890 /* JSCustomXPathNSResolver.h in Headers */, 23730 23730 1AE82F900CAAFA9D002237AE /* JSDatabase.h in Headers */, … … 25284 25284 498391590F1E776900C23782 /* WebKitCSSMatrix.h in Headers */, 25285 25285 A24BF77B15CC3BAF003191F2 /* WebKitCSSMixFunctionValue.h in Headers */, 25286 A24BF77B15CC3BAF003191F2 /* WebKitCSSMixFunctionValue.h in Headers */, 25286 25287 8AA61D00144D595B00F37350 /* WebKitCSSRegionRule.h in Headers */, 25287 25288 29CD61DE146D02890068E82A /* WebKitCSSShaderValue.h in Headers */, … … 25395 25396 977E2E0F12F0FC9C00C13379 /* XSSAuditor.h in Headers */, 25396 25397 FD537353137B651800008DCE /* ZeroPole.h in Headers */, 25397 A24BF77B15CC3BAF003191F2 /* WebKitCSSMixFunctionValue.h in Headers */,25398 50D88CB615BDFDAA001809F4 /* CustomFilterProgramInfo.h in Headers */,25399 319FBD5F15D2F464009640A6 /* CachedImageClient.h in Headers */,25400 25398 ); 25401 25399 runOnlyForDeploymentPostprocessing = 0; … … 26011 26009 50CC0A3914C6F5B10017AB51 /* CustomFilterOperation.cpp in Sources */, 26012 26010 503D0CAA14B5B08700F32F57 /* CustomFilterProgram.cpp in Sources */, 26011 50D88CB515BDFDAA001809F4 /* CustomFilterProgramInfo.cpp in Sources */, 26013 26012 97BC6A201505F081001B74AC /* Database.cpp in Sources */, 26014 26013 97BC6A231505F081001B74AC /* DatabaseAuthorizer.cpp in Sources */, … … 26916 26915 E4778B7F115A581A00B5D372 /* JSCustomEvent.cpp in Sources */, 26917 26916 51EC92650CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp in Sources */, 26918 1A3417CA0CECFF250049CBDE /* JSCustomVoidCallback.cpp in Sources */,26919 26917 E10B93C30B73C291003ED890 /* JSCustomXPathNSResolver.cpp in Sources */, 26920 26918 1AE82F8F0CAAFA9D002237AE /* JSDatabase.cpp in Sources */, … … 27432 27430 7B1EA0CE1576C5B50060177D /* JSUndoManager.cpp in Sources */, 27433 27431 15C77094100D3CA8005BA267 /* JSValidityState.cpp in Sources */, 27432 9703E1BF15DC4E37001F24C8 /* JSVoidCallback.cpp in Sources */, 27434 27433 FD82D7F713D4C8BD004E4372 /* JSWaveShaperNode.cpp in Sources */, 27435 27434 FDEA6246152102FC00479DF0 /* JSWaveTable.cpp in Sources */, … … 28467 28466 977E2E0E12F0FC9C00C13379 /* XSSAuditor.cpp in Sources */, 28468 28467 FD537352137B651800008DCE /* ZeroPole.cpp in Sources */, 28469 50D88CB515BDFDAA001809F4 /* CustomFilterProgramInfo.cpp in Sources */,28470 28468 ); 28471 28469 runOnlyForDeploymentPostprocessing = 0; -
trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
r125346 r125745 53 53 #include "JSCoordinatesCustom.cpp" 54 54 #include "JSCustomSQLStatementErrorCallback.cpp" 55 #include "JSCustomVoidCallback.cpp"56 55 #include "JSCustomXPathNSResolver.cpp" 57 56 #include "JSDictionary.cpp" -
trunk/Source/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp
r115943 r125745 35 35 36 36 #include "Document.h" 37 #include "JSCustomVoidCallback.h"38 37 #include "JSEventListener.h" 39 38 #include "JSNotificationCenter.h" 39 #include "JSVoidCallback.h" 40 40 #include "NotificationCenter.h" 41 41 #include <runtime/Error.h> … … 62 62 return throwTypeError(exec); 63 63 64 PassRefPtr<JSCustomVoidCallback> callback = JSCustomVoidCallback::create(exec->argument(0).getObject(), toJSDOMGlobalObject(static_cast<Document*>(context), exec)); 65 66 impl()->requestPermission(callback); 64 impl()->requestPermission(JSVoidCallback::create(exec->argument(0).getObject(), toJSDOMGlobalObject(static_cast<Document*>(context), exec))); 67 65 return jsUndefined(); 68 66 } -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorCPP.pm
r125293 r125745 145 145 return "bool" if $name eq "boolean"; 146 146 return $name if $codeGenerator->IsPrimitiveType($name); 147 return "WebDOMCustomVoidCallback" if $name eq "VoidCallback";148 147 149 148 return "WebDOM$name"; … … 327 326 return; 328 327 } 329 330 if ($type eq "VoidCallback") { 331 $implIncludes{"WebDOMCustomVoidCallback.h"} = 1; 332 return; 333 } 334 328 335 329 # Also include CSSImportRule so that the toWebKit methods for subclasses are found 336 330 if ($type eq "CSSRule") { -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r125711 r125745 194 194 my $className = shift; 195 195 196 return "JSCustomVoidCallback" if $className eq "VoidCallback";197 196 return "JS$className"; 198 197 } … … 2817 2816 push(@implContent, " RefPtr<$className> protect(this);\n\n"); 2818 2817 push(@implContent, " JSLockHolder lock(m_data->globalObject()->globalData());\n\n"); 2819 push(@implContent, " ExecState* exec = m_data->globalObject()->globalExec();\n"); 2818 if (@params) { 2819 push(@implContent, " ExecState* exec = m_data->globalObject()->globalExec();\n"); 2820 } 2820 2821 push(@implContent, " MarkedArgumentBuffer args;\n"); 2821 2822 … … 3068 3069 3069 3070 AddToImplIncludes("HTMLOptionElement.h", $conditional) if $type eq "HTMLOptionElement"; 3070 AddToImplIncludes("JSCustomVoidCallback.h", $conditional) if $type eq "VoidCallback";3071 3071 AddToImplIncludes("Event.h", $conditional) if $type eq "Event"; 3072 3072 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
r125495 r125745 3216 3216 AddToImplIncludes("ScriptExecutionContext.h"); 3217 3217 AddToImplIncludes("V8Binding.h"); 3218 AddToImplIncludes("V8C ustomVoidCallback.h");3218 AddToImplIncludes("V8Callback.h"); 3219 3219 AddToImplIncludes("V8Proxy.h"); 3220 3220 … … 3747 3747 AddToImplIncludes("ExceptionCode.h") if $type eq "Attr"; 3748 3748 return 1 if $type eq "Attr"; 3749 return 1 if $type eq "VoidCallback";3750 3749 return 0; 3751 3750 } … … 4181 4180 my $interfaceName = shift; 4182 4181 4183 return "V8CustomVoidCallback" if $interfaceName eq "VoidCallback";4184 4182 return "V8$interfaceName"; 4185 4183 } -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp
r121381 r125745 68 68 JSLockHolder lock(m_data->globalObject()->globalData()); 69 69 70 ExecState* exec = m_data->globalObject()->globalExec();71 70 MarkedArgumentBuffer args; 72 71 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp
r118722 r125745 29 29 #include "V8Class2.h" 30 30 #include "V8Class8.h" 31 #include "V8CustomVoidCallback.h"32 31 #include "V8DOMStringList.h" 33 32 #include "V8Proxy.h" 34 33 #include "V8ThisClass.h" 34 #include "V8VoidCallback.h" 35 35 #include <wtf/GetPtr.h> 36 36 #include <wtf/RefCounted.h> -
trunk/Source/WebCore/bindings/v8/V8Callback.cpp
r125744 r125745 1 1 /* 2 * Copyright (C) 20 09Google Inc. All rights reserved.3 * 2 * Copyright (C) 2012 Google Inc. All rights reserved. 3 * 4 4 * Redistribution and use in source and binary forms, with or without 5 5 * modification, are permitted provided that the following conditions are 6 6 * met: 7 * 7 * 8 8 * * Redistributions of source code must retain the above copyright 9 9 * notice, this list of conditions and the following disclaimer. … … 15 15 * contributors may be used to endorse or promote products derived from 16 16 * this software without specific prior written permission. 17 * 17 * 18 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT … … 30 30 31 31 #include "config.h" 32 #include "V8C ustomVoidCallback.h"32 #include "V8Callback.h" 33 33 34 #include "ScriptExecutionContext.h" 35 #include "V8Binding.h" 34 #include "Document.h" 36 35 #include "V8Proxy.h" 37 36 38 37 namespace WebCore { 39 40 V8CustomVoidCallback::V8CustomVoidCallback(v8::Local<v8::Object> callback, ScriptExecutionContext *context)41 : m_callback(v8::Persistent<v8::Object>::New(callback))42 , m_scriptExecutionContext(context)43 , m_worldContext(UseCurrentWorld)44 {45 }46 47 V8CustomVoidCallback::~V8CustomVoidCallback()48 {49 m_callback.Dispose();50 }51 52 void V8CustomVoidCallback::handleEvent()53 {54 v8::HandleScope handleScope;55 56 v8::Handle<v8::Context> v8Context = toV8Context(m_scriptExecutionContext.get(), m_worldContext);57 if (v8Context.IsEmpty())58 return;59 60 v8::Context::Scope scope(v8Context);61 62 bool callbackReturnValue = false;63 invokeCallback(m_callback, 0, 0, callbackReturnValue, m_scriptExecutionContext.get());64 }65 38 66 39 bool invokeCallback(v8::Persistent<v8::Object> callback, int argc, v8::Handle<v8::Value> argv[], bool& callbackReturnValue, ScriptExecutionContext* scriptExecutionContext) -
trunk/Source/WebCore/bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp
r118722 r125745 36 36 37 37 #include "ScriptExecutionContext.h" 38 #include "V8C ustomVoidCallback.h"38 #include "V8Callback.h" 39 39 #include "V8Proxy.h" 40 40 #include "V8SQLError.h" -
trunk/Source/WebCore/bindings/v8/custom/V8MutationCallbackCustom.cpp
r122159 r125745 37 37 #include "ScriptExecutionContext.h" 38 38 #include "V8Binding.h" 39 #include "V8C ustomVoidCallback.h"39 #include "V8Callback.h" 40 40 #include "V8MutationObserver.h" 41 41 #include "V8MutationRecord.h" -
trunk/Source/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
r125495 r125745 39 39 #include "NotificationCenter.h" 40 40 #include "V8Binding.h" 41 #include "V8CustomVoidCallback.h"42 41 #include "V8EventListener.h" 43 42 #include "V8Notification.h" 44 43 #include "V8Proxy.h" 45 44 #include "V8Utilities.h" 45 #include "V8VoidCallback.h" 46 46 #include "WorkerContext.h" 47 47 … … 93 93 return setDOMException(NOT_SUPPORTED_ERR, args.GetIsolate()); 94 94 95 RefPtr<V8 CustomVoidCallback> callback;95 RefPtr<V8VoidCallback> callback; 96 96 if (args.Length() > 0) { 97 97 if (!args[0]->IsObject()) 98 98 return throwTypeError("Callback must be of valid type.", args.GetIsolate()); 99 99 100 callback = V8 CustomVoidCallback::create(args[0], context);100 callback = V8VoidCallback::create(args[0], context); 101 101 } 102 102 -
trunk/Source/WebCore/html/VoidCallback.h
r34366 r125745 34 34 public: 35 35 virtual ~VoidCallback() { } 36 37 virtual void handleEvent() = 0; 38 39 protected: 40 VoidCallback() {} 36 virtual bool handleEvent() = 0; 41 37 }; 42 38 -
trunk/Source/WebCore/html/VoidCallback.idl
r106737 r125745 26 26 module html { 27 27 interface [ 28 JSCustomToNativeObject, 29 OmitConstructor 28 Callback 30 29 ] VoidCallback { 31 voidhandleEvent();30 boolean handleEvent(); 32 31 }; 33 32 } -
trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp
r116740 r125745 216 216 virtual ~TransactionSuccessCallback() { } 217 217 218 virtual void handleEvent() {}218 virtual bool handleEvent() { return false; } 219 219 220 220 private:
Note: See TracChangeset
for help on using the changeset viewer.