Changeset 169994 in webkit
- Timestamp:
- Jun 15, 2014, 1:50:43 PM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r169993 r169994 1 2014-06-15 Dan Bernstein <mitz@apple.com> 2 3 Get rid of VoidAPICallback 4 https://bugs.webkit.org/show_bug.cgi?id=133928 5 6 Reviewed by Sam Weinig. 7 8 * UIProcess/API/C/WKPage.cpp: 9 (WKPageForceRepaint): Wrap the API callback in a generic callback here. 10 11 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 12 (WKPluginSiteDataManagerClearSiteData): Ditto. 13 (WKPluginSiteDataManagerClearAllSiteData): Ditto. 14 15 * UIProcess/GenericCallback.h: 16 (WebKit::GenericCallback::performCallback): Added this helper for 0-argument callbacks. 17 (WebKit::VoidCallback::create): Deleted. 18 (WebKit::VoidCallback::~VoidCallback): Deleted. 19 (WebKit::VoidCallback::performCallback): Deleted. 20 (WebKit::VoidCallback::invalidate): Deleted. 21 (WebKit::VoidCallback::VoidCallback): Deleted. 22 (WebKit::VoidAPICallback::create): Deleted. 23 24 * UIProcess/mac/WKFullScreenWindowController.h: 25 1 26 2014-06-15 Zan Dobersek <zdobersek@igalia.com> 2 27 -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r169991 r169994 1612 1612 void WKPageForceRepaint(WKPageRef pageRef, void* context, WKPageForceRepaintFunction callback) 1613 1613 { 1614 toImpl(pageRef)->forceRepaint(VoidAPICallback::create(context, callback)); 1614 toImpl(pageRef)->forceRepaint(VoidCallback::create([context, callback](CallbackBase::Error error) { 1615 callback(error == CallbackBase::Error::None ? nullptr : toAPI(API::Error::create().get()), context); 1616 })); 1615 1617 } 1616 1618 -
trunk/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp
r169984 r169994 73 73 { 74 74 #if ENABLE(NETSCAPE_PLUGIN_API) 75 toImpl(managerRef)->clearSiteData(toImpl(sitesRef), toNPClearSiteDataFlags(flags), maxAgeInSeconds, VoidAPICallback::create(context, function)); 75 toImpl(managerRef)->clearSiteData(toImpl(sitesRef), toNPClearSiteDataFlags(flags), maxAgeInSeconds, VoidCallback::create([context, function](CallbackBase::Error error) { 76 function(error == CallbackBase::Error::None ? nullptr : toAPI(API::Error::create().get()), context); 77 })); 76 78 #else 77 79 UNUSED_PARAM(managerRef); … … 87 89 { 88 90 #if ENABLE(NETSCAPE_PLUGIN_API) 89 toImpl(managerRef)->clearSiteData(0, NP_CLEAR_ALL, std::numeric_limits<uint64_t>::max(), VoidAPICallback::create(context, function)); 91 toImpl(managerRef)->clearSiteData(0, NP_CLEAR_ALL, std::numeric_limits<uint64_t>::max(), VoidCallback::create([context, function](CallbackBase::Error error) { 92 function(error == CallbackBase::Error::None ? nullptr : toAPI(API::Error::create().get()), context); 93 })); 90 94 #else 91 95 UNUSED_PARAM(managerRef); -
trunk/Source/WebKit2/UIProcess/GenericCallback.h
r169990 r169994 70 70 }; 71 71 72 class VoidCallback : public CallbackBase {73 public:74 typedef std::function<void (Error)> CallbackFunction;75 76 static PassRefPtr<VoidCallback> create(CallbackFunction callback)77 {78 return adoptRef(new VoidCallback(callback));79 }80 81 virtual ~VoidCallback()82 {83 ASSERT(!m_callback);84 }85 86 void performCallback()87 {88 if (!m_callback)89 return;90 91 m_callback(Error::None);92 93 m_callback = nullptr;94 }95 96 void invalidate(Error error)97 {98 if (!m_callback)99 return;100 101 m_callback(error);102 103 m_callback = nullptr;104 }105 106 private:107 VoidCallback(CallbackFunction callback)108 : m_callback(callback)109 {110 }111 112 CallbackFunction m_callback;113 };114 115 class VoidAPICallback : public CallbackBase {116 public:117 typedef void (*CallbackFunction)(WKErrorRef, void*);118 119 static PassRefPtr<VoidCallback> create(void* context, CallbackFunction callback)120 {121 return VoidCallback::create([context, callback](Error error) {122 callback(error != Error::None ? toAPI(API::Error::create().get()) : 0, context);123 });124 }125 };126 127 72 template<typename... T> 128 73 class GenericCallback : public CallbackBase { … … 149 94 m_callback = nullptr; 150 95 } 151 96 97 void performCallback() 98 { 99 performCallbackWithReturnValue(); 100 } 101 152 102 void invalidate(Error error = Error::Unknown) 153 103 { … … 177 127 } 178 128 129 typedef GenericCallback<> VoidCallback; 179 130 typedef GenericCallback<const Vector<WebCore::IntRect>&, double> ComputedPagesCallback; 180 131 typedef GenericCallback<const ShareableBitmap::Handle&> ImageCallback; -
trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.h
r157681 r169994 26 26 #if ENABLE(FULLSCREEN_API) 27 27 28 #import "GenericCallback.h" 28 29 #import <wtf/OwnPtr.h> 29 30 #import <wtf/RetainPtr.h> … … 31 32 namespace WebKit { 32 33 class LayerTreeContext; 33 class VoidCallback;34 34 } 35 35
Note:
See TracChangeset
for help on using the changeset viewer.