Changeset 169984 in webkit
- Timestamp:
- Jun 14, 2014 4:11:42 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r169983 r169984 1 2014-06-14 Dan Bernstein <mitz@apple.com> 2 3 Get rid of GenericAPICallback 4 https://bugs.webkit.org/show_bug.cgi?id=133909 5 6 Reviewed by Sam Weinig. 7 8 In preparation for passing callbacks as functions, replace GenericAPICallback::create, which 9 returned a GenericCallback, with a function template that returns an appropriate callback 10 function. 11 12 * UIProcess/API/C/WKApplicationCacheManager.cpp: 13 (WKApplicationCacheManagerGetApplicationCacheOrigins): 14 * UIProcess/API/C/WKContext.cpp: 15 (WKContextGetStatistics): 16 (WKContextGetStatisticsWithOptions): 17 * UIProcess/API/C/WKCookieManager.cpp: 18 (WKCookieManagerGetHostnamesWithCookies): 19 (WKCookieManagerGetHTTPCookieAcceptPolicy): 20 * UIProcess/API/C/WKDatabaseManager.cpp: 21 (WKDatabaseManagerGetDatabasesByOrigin): 22 (WKDatabaseManagerGetDatabaseOrigins): 23 * UIProcess/API/C/WKFrame.cpp: 24 (WKFrameGetMainResourceData): 25 (WKFrameGetResourceData): 26 (WKFrameGetWebArchive): 27 * UIProcess/API/C/WKKeyValueStorageManager.cpp: 28 (WKKeyValueStorageManagerGetKeyValueStorageOrigins): 29 (WKKeyValueStorageManagerGetStorageDetailsByOrigin): 30 * UIProcess/API/C/WKMediaCacheManager.cpp: 31 (WKMediaCacheManagerGetHostnamesWithMediaCache): 32 * UIProcess/API/C/WKOriginDataManager.cpp: 33 (WKOriginDataManagerGetOrigins): 34 * UIProcess/API/C/WKPage.cpp: 35 (WKPageRunJavaScriptInMainFrame): 36 (WKPageRenderTreeExternalRepresentation): 37 (WKPageGetSourceForFrame): 38 (WKPageGetContentsAsString): 39 (WKPageGetBytecodeProfile): 40 (WKPageGetSelectionAsWebArchiveData): 41 (WKPageGetContentsAsMHTMLData): 42 (WKPageDrawPagesToPDF): 43 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 44 (WKPluginSiteDataManagerGetSitesWithData): 45 * UIProcess/API/C/WKResourceCacheManager.cpp: 46 (WKResourceCacheManagerGetCacheOrigins): 47 48 * UIProcess/GenericCallback.h: 49 (WebKit::toGenericCallbackFunction): Added. Given a C SPI callback function, returns a generic 50 callback function that wraps it. 51 1 52 2014-06-14 Dan Bernstein <mitz@apple.com> 2 53 -
trunk/Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.cpp
r164409 r169984 32 32 using namespace WebKit; 33 33 34 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;35 36 34 WKTypeID WKApplicationCacheManagerGetTypeID() 37 35 { … … 41 39 void WKApplicationCacheManagerGetApplicationCacheOrigins(WKApplicationCacheManagerRef applicationCacheManagerRef, void* context, WKApplicationCacheManagerGetApplicationCacheOriginsFunction callback) 42 40 { 43 toImpl(applicationCacheManagerRef)->getApplicationCacheOrigins(Array APICallback::create(context, callback));41 toImpl(applicationCacheManagerRef)->getApplicationCacheOrigins(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 44 42 } 45 43 -
trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp
r168999 r169984 69 69 using namespace WebKit; 70 70 71 typedef GenericAPICallback<WKDictionaryRef> DictionaryAPICallback;72 73 71 WKTypeID WKContextGetTypeID() 74 72 { … … 520 518 void WKContextGetStatistics(WKContextRef contextRef, void* context, WKContextGetStatisticsFunction callback) 521 519 { 522 toImpl(contextRef)->getStatistics(0xFFFFFFFF, Dictionary APICallback::create(context, callback));520 toImpl(contextRef)->getStatistics(0xFFFFFFFF, DictionaryCallback::create(toGenericCallbackFunction(context, callback))); 523 521 } 524 522 525 523 void WKContextGetStatisticsWithOptions(WKContextRef contextRef, WKStatisticsOptions optionsMask, void* context, WKContextGetStatisticsFunction callback) 526 524 { 527 toImpl(contextRef)->getStatistics(optionsMask, Dictionary APICallback::create(context, callback));525 toImpl(contextRef)->getStatistics(optionsMask, DictionaryCallback::create(toGenericCallbackFunction(context, callback))); 528 526 } 529 527 -
trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp
r164409 r169984 32 32 using namespace WebKit; 33 33 34 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;35 typedef GenericAPICallback<WKHTTPCookieAcceptPolicy, HTTPCookieAcceptPolicy> HTTPCookieAcceptPolicyAPICallback;36 37 34 WKTypeID WKCookieManagerGetTypeID() 38 35 { … … 47 44 void WKCookieManagerGetHostnamesWithCookies(WKCookieManagerRef cookieManagerRef, void* context, WKCookieManagerGetCookieHostnamesFunction callback) 48 45 { 49 toImpl(cookieManagerRef)->getHostnamesWithCookies(Array APICallback::create(context, callback));46 toImpl(cookieManagerRef)->getHostnamesWithCookies(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 50 47 } 51 48 … … 72 69 void WKCookieManagerGetHTTPCookieAcceptPolicy(WKCookieManagerRef cookieManager, void* context, WKCookieManagerGetHTTPCookieAcceptPolicyFunction callback) 73 70 { 74 toImpl(cookieManager)->getHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy APICallback::create(context, callback));71 toImpl(cookieManager)->getHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicyCallback::create(toGenericCallbackFunction<WKHTTPCookieAcceptPolicy, HTTPCookieAcceptPolicy>(context, callback))); 75 72 } 76 73 -
trunk/Source/WebKit2/UIProcess/API/C/WKDatabaseManager.cpp
r165539 r169984 32 32 using namespace WebKit; 33 33 34 #if ENABLE(SQL_DATABASE)35 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;36 #endif37 38 34 WKTypeID WKDatabaseManagerGetTypeID() 39 35 { … … 160 156 { 161 157 #if ENABLE(SQL_DATABASE) 162 toImpl(databaseManagerRef)->getDatabasesByOrigin(Array APICallback::create(context, callback));158 toImpl(databaseManagerRef)->getDatabasesByOrigin(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 163 159 #else 164 160 UNUSED_PARAM(databaseManagerRef); … … 171 167 { 172 168 #if ENABLE(SQL_DATABASE) 173 toImpl(databaseManagerRef)->getDatabaseOrigins(Array APICallback::create(context, callback));169 toImpl(databaseManagerRef)->getDatabaseOrigins(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 174 170 #else 175 171 UNUSED_PARAM(databaseManagerRef); -
trunk/Source/WebKit2/UIProcess/API/C/WKFrame.cpp
r164409 r169984 31 31 32 32 using namespace WebKit; 33 34 typedef GenericAPICallback<WKDataRef> DataAPICallback;35 33 36 34 WKTypeID WKFrameGetTypeID() … … 127 125 void WKFrameGetMainResourceData(WKFrameRef frameRef, WKFrameGetResourceDataFunction callback, void* context) 128 126 { 129 toImpl(frameRef)->getMainResourceData(Data APICallback::create(context, callback));127 toImpl(frameRef)->getMainResourceData(DataCallback::create(toGenericCallbackFunction(context, callback))); 130 128 } 131 129 132 130 void WKFrameGetResourceData(WKFrameRef frameRef, WKURLRef resourceURL, WKFrameGetResourceDataFunction callback, void* context) 133 131 { 134 toImpl(frameRef)->getResourceData(toImpl(resourceURL), Data APICallback::create(context, callback));132 toImpl(frameRef)->getResourceData(toImpl(resourceURL), DataCallback::create(toGenericCallbackFunction(context, callback))); 135 133 } 136 134 137 135 void WKFrameGetWebArchive(WKFrameRef frameRef, WKFrameGetWebArchiveFunction callback, void* context) 138 136 { 139 toImpl(frameRef)->getWebArchive(Data APICallback::create(context, callback));137 toImpl(frameRef)->getWebArchive(DataCallback::create(toGenericCallbackFunction(context, callback))); 140 138 } 141 139 -
trunk/Source/WebKit2/UIProcess/API/C/WKKeyValueStorageManager.cpp
r164409 r169984 32 32 using namespace WebKit; 33 33 34 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;35 36 34 WKTypeID WKKeyValueStorageManagerGetTypeID() 37 35 { … … 59 57 void WKKeyValueStorageManagerGetKeyValueStorageOrigins(WKKeyValueStorageManagerRef keyValueStorageManagerRef, void* context, WKKeyValueStorageManagerGetKeyValueStorageOriginsFunction callback) 60 58 { 61 toImpl(keyValueStorageManagerRef)->getKeyValueStorageOrigins(Array APICallback::create(context, callback));59 toImpl(keyValueStorageManagerRef)->getKeyValueStorageOrigins(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 62 60 } 63 61 64 62 void WKKeyValueStorageManagerGetStorageDetailsByOrigin(WKKeyValueStorageManagerRef keyValueStorageManagerRef, void* context, WKKeyValueStorageManagerGetStorageDetailsByOriginFunction callback) 65 63 { 66 toImpl(keyValueStorageManagerRef)->getStorageDetailsByOrigin(Array APICallback::create(context, callback));64 toImpl(keyValueStorageManagerRef)->getStorageDetailsByOrigin(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 67 65 } 68 66 -
trunk/Source/WebKit2/UIProcess/API/C/WKMediaCacheManager.cpp
r164409 r169984 32 32 using namespace WebKit; 33 33 34 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;35 36 34 WKTypeID WKMediaCacheManagerGetTypeID() 37 35 { … … 41 39 void WKMediaCacheManagerGetHostnamesWithMediaCache(WKMediaCacheManagerRef mediaCacheManagerRef, void* context, WKMediaCacheManagerGetHostnamesWithMediaCacheFunction callback) 42 40 { 43 toImpl(mediaCacheManagerRef)->getHostnamesWithMediaCache(Array APICallback::create(context, callback));41 toImpl(mediaCacheManagerRef)->getHostnamesWithMediaCache(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 44 42 } 45 43 -
trunk/Source/WebKit2/UIProcess/API/C/WKOriginDataManager.cpp
r164409 r169984 32 32 using namespace WebKit; 33 33 34 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;35 36 34 WKTypeID WKOriginDataManagerGetTypeID() 37 35 { … … 41 39 void WKOriginDataManagerGetOrigins(WKOriginDataManagerRef originDataManagerRef, WKOriginDataTypes types, void* context, WKOriginDataManagerGetOriginsFunction callback) 42 40 { 43 toImpl(originDataManagerRef)->getOrigins(types, Array APICallback::create(context, callback));41 toImpl(originDataManagerRef)->getOrigins(types, ArrayCallback::create(toGenericCallbackFunction(context, callback))); 44 42 } 45 43 -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r169962 r169984 78 78 } 79 79 80 typedef GenericAPICallback<WKDataRef> DataAPICallback;81 typedef GenericAPICallback<WKStringRef, StringImpl*> StringAPICallback;82 typedef GenericAPICallback<WKSerializedScriptValueRef> ScriptValueAPICallback;83 84 80 WKTypeID WKPageGetTypeID() 85 81 { … … 1567 1563 void WKPageRunJavaScriptInMainFrame(WKPageRef pageRef, WKStringRef scriptRef, void* context, WKPageRunJavaScriptFunction callback) 1568 1564 { 1569 toImpl(pageRef)->runJavaScriptInMainFrame(toImpl(scriptRef)->string(), ScriptValue APICallback::create(context, callback));1565 toImpl(pageRef)->runJavaScriptInMainFrame(toImpl(scriptRef)->string(), ScriptValueCallback::create(toGenericCallbackFunction(context, callback))); 1570 1566 } 1571 1567 … … 1586 1582 void WKPageRenderTreeExternalRepresentation(WKPageRef pageRef, void* context, WKPageRenderTreeExternalRepresentationFunction callback) 1587 1583 { 1588 toImpl(pageRef)->getRenderTreeExternalRepresentation(String APICallback::create(context, callback));1584 toImpl(pageRef)->getRenderTreeExternalRepresentation(StringCallback::create(toGenericCallbackFunction<WKStringRef, StringImpl*>(context, callback))); 1589 1585 } 1590 1586 1591 1587 void WKPageGetSourceForFrame(WKPageRef pageRef, WKFrameRef frameRef, void* context, WKPageGetSourceForFrameFunction callback) 1592 1588 { 1593 toImpl(pageRef)->getSourceForFrame(toImpl(frameRef), String APICallback::create(context, callback));1589 toImpl(pageRef)->getSourceForFrame(toImpl(frameRef), StringCallback::create(toGenericCallbackFunction<WKStringRef, StringImpl*>(context, callback))); 1594 1590 } 1595 1591 1596 1592 void WKPageGetContentsAsString(WKPageRef pageRef, void* context, WKPageGetContentsAsStringFunction callback) 1597 1593 { 1598 toImpl(pageRef)->getContentsAsString(String APICallback::create(context, callback));1594 toImpl(pageRef)->getContentsAsString(StringCallback::create(toGenericCallbackFunction<WKStringRef, StringImpl*>(context, callback))); 1599 1595 } 1600 1596 1601 1597 void WKPageGetBytecodeProfile(WKPageRef pageRef, void* context, WKPageGetBytecodeProfileFunction callback) 1602 1598 { 1603 toImpl(pageRef)->getBytecodeProfile(String APICallback::create(context, callback));1599 toImpl(pageRef)->getBytecodeProfile(StringCallback::create(toGenericCallbackFunction<WKStringRef, StringImpl*>(context, callback))); 1604 1600 } 1605 1601 1606 1602 void WKPageGetSelectionAsWebArchiveData(WKPageRef pageRef, void* context, WKPageGetSelectionAsWebArchiveDataFunction callback) 1607 1603 { 1608 toImpl(pageRef)->getSelectionAsWebArchiveData(Data APICallback::create(context, callback));1604 toImpl(pageRef)->getSelectionAsWebArchiveData(DataCallback::create(toGenericCallbackFunction(context, callback))); 1609 1605 } 1610 1606 … … 1612 1608 { 1613 1609 #if ENABLE(MHTML) 1614 toImpl(pageRef)->getContentsAsMHTMLData(Data APICallback::create(context, callback), useBinaryEncoding);1610 toImpl(pageRef)->getContentsAsMHTMLData(DataCallback::create(toGenericCallbackFunction(context, callback)), useBinaryEncoding); 1615 1611 #else 1616 1612 UNUSED_PARAM(pageRef); … … 1695 1691 void WKPageDrawPagesToPDF(WKPageRef page, WKFrameRef frame, WKPrintInfo printInfo, uint32_t first, uint32_t count, WKPageDrawToPDFFunction callback, void* context) 1696 1692 { 1697 toImpl(page)->drawPagesToPDF(toImpl(frame), printInfoFromWKPrintInfo(printInfo), first, count, Data APICallback::create(context, callback));1693 toImpl(page)->drawPagesToPDF(toImpl(frame), printInfoFromWKPrintInfo(printInfo), first, count, DataCallback::create(toGenericCallbackFunction(context, callback))); 1698 1694 } 1699 1695 -
trunk/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp
r164409 r169984 37 37 using namespace WebKit; 38 38 39 #if ENABLE(NETSCAPE_PLUGIN_API)40 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;41 #endif42 43 39 WKTypeID WKPluginSiteDataManagerGetTypeID() 44 40 { … … 53 49 { 54 50 #if ENABLE(NETSCAPE_PLUGIN_API) 55 toImpl(managerRef)->getSitesWithData(Array APICallback::create(context, callback));51 toImpl(managerRef)->getSitesWithData(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 56 52 #else 57 53 UNUSED_PARAM(managerRef); -
trunk/Source/WebKit2/UIProcess/API/C/WKResourceCacheManager.cpp
r164409 r169984 32 32 using namespace WebKit; 33 33 34 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;35 36 34 WKTypeID WKResourceCacheManagerGetTypeID() 37 35 { … … 41 39 void WKResourceCacheManagerGetCacheOrigins(WKResourceCacheManagerRef cacheManagerRef, void* context, WKResourceCacheManagerGetCacheOriginsFunction callback) 42 40 { 43 toImpl(cacheManagerRef)->getCacheOrigins(Array APICallback::create(context, callback));41 toImpl(cacheManagerRef)->getCacheOrigins(ArrayCallback::create(toGenericCallbackFunction(context, callback))); 44 42 } 45 43 -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp
r164438 r169984 30 30 31 31 using namespace WebKit; 32 33 typedef GenericAPICallback<WKArrayRef> ArrayAPICallback;34 typedef GenericAPICallback<WKHTTPCookieAcceptPolicy, HTTPCookieAcceptPolicy> HTTPCookieAcceptPolicyAPICallback;35 32 36 33 /** … … 215 212 216 213 GTask* task = g_task_new(manager, cancellable, callback, userData); 217 manager->priv->webCookieManager->getHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy APICallback::create(task, webkitCookieManagerGetAcceptPolicyCallback));214 manager->priv->webCookieManager->getHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicyCallback::create(toGenericCallbackFunction<WKHTTPCookieAcceptPolicy, HTTPCookieAcceptPolicy>(task, webkitCookieManagerGetAcceptPolicyCallback))); 218 215 } 219 216 … … 273 270 274 271 GTask* task = g_task_new(manager, cancellable, callback, userData); 275 manager->priv->webCookieManager->getHostnamesWithCookies(Array APICallback::create(task, webkitCookieManagerGetDomainsWithCookiesCallback));272 manager->priv->webCookieManager->getHostnamesWithCookies(ArrayCallback::create(toGenericCallbackFunction(task, webkitCookieManagerGetDomainsWithCookiesCallback))); 276 273 } 277 274 -
trunk/Source/WebKit2/UIProcess/GenericCallback.h
r169983 r169984 170 170 171 171 template<typename APIReturnValueType, typename InternalReturnValueType = typename APITypeInfo<APIReturnValueType>::ImplType> 172 class GenericAPICallback : public CallbackBase { 173 public: 174 typedef void (*CallbackFunction)(APIReturnValueType, WKErrorRef, void*); 175 176 static PassRefPtr<GenericCallback<InternalReturnValueType>> create(void* context, CallbackFunction callback) 177 { 178 return GenericCallback<InternalReturnValueType>::create([context, callback](InternalReturnValueType returnValue, CallbackBase::Error error) { 179 callback(toAPI(returnValue), error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context); 180 }); 181 } 182 }; 172 static typename GenericCallback<InternalReturnValueType>::CallbackFunction toGenericCallbackFunction(void* context, void (*callback)(APIReturnValueType, WKErrorRef, void*)) 173 { 174 return [context, callback](InternalReturnValueType returnValue, CallbackBase::Error error) { 175 callback(toAPI(returnValue), error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context); 176 }; 177 } 183 178 184 179 typedef GenericCallback<const Vector<WebCore::IntRect>&, double> ComputedPagesCallback;
Note: See TracChangeset
for help on using the changeset viewer.