Changeset 272637 in webkit
- Timestamp:
- Feb 9, 2021, 9:22:35 PM (4 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/Source/WebKit/ChangeLog ¶
r272636 r272637 1 2021-02-09 Alex Christensen <achristensen@webkit.org> 2 3 Use CompletionHandler instead of ApplicationManifestCallback 4 https://bugs.webkit.org/show_bug.cgi?id=221627 5 6 Reviewed by Chris Dumez. 7 8 * UIProcess/API/C/WKPage.cpp: 9 (WKPageGetApplicationManifest_b): 10 * UIProcess/API/Cocoa/WKWebView.mm: 11 (-[WKWebView _getApplicationManifestWithCompletionHandler:]): 12 * UIProcess/WebPageProxy.cpp: 13 (WebKit::WebPageProxy::getApplicationManifest): 14 (WebKit::WebPageProxy::applicationManifestCallback): Deleted. 15 * UIProcess/WebPageProxy.h: 16 * UIProcess/WebPageProxy.messages.in: 17 * WebProcess/WebPage/WebPage.cpp: 18 (WebKit::WebPage::getApplicationManifest): 19 (WebKit::WebPage::didFinishLoadingApplicationManifest): 20 * WebProcess/WebPage/WebPage.h: 21 * WebProcess/WebPage/WebPage.messages.in: 22 1 23 2021-02-09 Alex Christensen <achristensen@webkit.org> 2 24 -
TabularUnified trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp ¶
r272636 r272637 2901 2901 { 2902 2902 #if ENABLE(APPLICATION_MANIFEST) 2903 toImpl(page)->getApplicationManifest([block](const Optional<WebCore::ApplicationManifest> &manifest, CallbackBase::Error) {2903 toImpl(page)->getApplicationManifest([block](const Optional<WebCore::ApplicationManifest>& manifest) { 2904 2904 block(); 2905 2905 }); -
TabularUnified trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm ¶
r272636 r272637 2567 2567 { 2568 2568 #if ENABLE(APPLICATION_MANIFEST) 2569 _page->getApplicationManifest([completionHandler = makeBlockPtr(completionHandler)](const Optional<WebCore::ApplicationManifest>& manifest, WebKit::CallbackBase::Error error) { 2570 UNUSED_PARAM(error); 2569 _page->getApplicationManifest([completionHandler = makeBlockPtr(completionHandler)](const Optional<WebCore::ApplicationManifest>& manifest) { 2571 2570 if (completionHandler) { 2572 2571 if (manifest) { -
TabularUnified trunk/Source/WebKit/UIProcess/WebPageProxy.cpp ¶
r272636 r272637 7168 7168 #endif 7169 7169 7170 #if ENABLE(APPLICATION_MANIFEST)7171 void WebPageProxy::applicationManifestCallback(const Optional<WebCore::ApplicationManifest>& manifestOrNull, CallbackID callbackID)7172 {7173 auto callback = m_callbacks.take<ApplicationManifestCallback>(callbackID);7174 if (!callback)7175 return;7176 7177 callback->performCallbackWithReturnValue(manifestOrNull);7178 }7179 #endif7180 7181 7170 inline API::DiagnosticLoggingClient* WebPageProxy::effectiveDiagnosticLoggingClient(ShouldSample shouldSample) 7182 7171 { … … 9842 9831 9843 9832 #if ENABLE(APPLICATION_MANIFEST) 9844 void WebPageProxy::getApplicationManifest(Function<void(const Optional<WebCore::ApplicationManifest>&, CallbackBase::Error)>&& callbackFunction) 9845 { 9846 if (!hasRunningProcess()) { 9847 callbackFunction(WTF::nullopt, CallbackBase::Error::Unknown); 9848 return; 9849 } 9850 9851 auto callbackID = m_callbacks.put(WTFMove(callbackFunction), m_process->throttler().backgroundActivity("WebPageProxy::getApplicationManifest"_s)); 9852 m_loadDependentStringCallbackIDs.add(callbackID); 9853 send(Messages::WebPage::GetApplicationManifest(callbackID)); 9833 void WebPageProxy::getApplicationManifest(CompletionHandler<void(const Optional<WebCore::ApplicationManifest>&)>&& callback) 9834 { 9835 sendWithAsyncReply(Messages::WebPage::GetApplicationManifest(), WTFMove(callback)); 9854 9836 } 9855 9837 #endif -
TabularUnified trunk/Source/WebKit/UIProcess/WebPageProxy.h ¶
r272636 r272637 398 398 #endif 399 399 400 #if ENABLE(APPLICATION_MANIFEST)401 typedef GenericCallback<const Optional<WebCore::ApplicationManifest>&> ApplicationManifestCallback;402 #endif403 404 400 #if ENABLE(DATE_AND_TIME_INPUT_TYPES) 405 401 class WebDateTimePicker; … … 1636 1632 1637 1633 #if ENABLE(APPLICATION_MANIFEST) 1638 void getApplicationManifest( Function<void(const Optional<WebCore::ApplicationManifest>&, CallbackBase::Error)>&&);1634 void getApplicationManifest(CompletionHandler<void(const Optional<WebCore::ApplicationManifest>&)>&&); 1639 1635 #endif 1640 1636 … … 2162 2158 void stringCallback(const String&, CallbackID); 2163 2159 void invalidateStringCallback(CallbackID); 2164 #if ENABLE(APPLICATION_MANIFEST)2165 void applicationManifestCallback(const Optional<WebCore::ApplicationManifest>&, CallbackID);2166 #endif2167 2160 #if PLATFORM(MAC) 2168 2161 void didUpdateRenderingAfterCommittingLoad(); -
TabularUnified trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in ¶
r272636 r272637 167 167 StringCallback(String resultString, WebKit::CallbackID callbackID) 168 168 InvalidateStringCallback(WebKit::CallbackID callbackID) 169 #if ENABLE(APPLICATION_MANIFEST)170 ApplicationManifestCallback(Optional<WebCore::ApplicationManifest> manifest, WebKit::CallbackID callbackID)171 #endif172 169 #if PLATFORM(IOS_FAMILY) 173 170 InterpretKeyEvent(struct WebKit::EditorState state, bool isCharEvent) -> (bool handled) Synchronous -
TabularUnified trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp ¶
r272636 r272637 996 996 for (auto& completionHandler : std::exchange(m_markLayersAsVolatileCompletionHandlers, { })) 997 997 completionHandler(false); 998 999 #if ENABLE(APPLICATION_MANIFEST) 1000 for (auto& completionHandler : m_applicationManifestFetchCallbackMap.values()) { 1001 if (completionHandler) 1002 completionHandler(WTF::nullopt); 1003 } 1004 #endif 998 1005 } 999 1006 … … 6942 6949 6943 6950 #if ENABLE(APPLICATION_MANIFEST) 6944 void WebPage::getApplicationManifest(CallbackID callbackID) 6945 { 6946 ASSERT(callbackID.isValid()); 6951 void WebPage::getApplicationManifest(CompletionHandler<void(const Optional<WebCore::ApplicationManifest>&)>&& completionHandler) 6952 { 6947 6953 Document* mainFrameDocument = m_mainFrame->coreFrame()->document(); 6948 6954 DocumentLoader* loader = mainFrameDocument ? mainFrameDocument->loader() : nullptr; 6949 6950 if (!loader) { 6951 send(Messages::WebPageProxy::ApplicationManifestCallback(WTF::nullopt, callbackID)); 6952 return; 6953 } 6955 if (!loader) 6956 return completionHandler(WTF::nullopt); 6954 6957 6955 6958 auto coreCallbackID = loader->loadApplicationManifest(); 6956 if (!coreCallbackID) { 6957 send(Messages::WebPageProxy::ApplicationManifestCallback(WTF::nullopt, callbackID)); 6958 return; 6959 } 6960 6961 m_applicationManifestFetchCallbackMap.add(coreCallbackID, callbackID.toInteger()); 6959 if (!coreCallbackID) 6960 return completionHandler(WTF::nullopt); 6961 6962 m_applicationManifestFetchCallbackMap.add(coreCallbackID, WTFMove(completionHandler)); 6962 6963 } 6963 6964 6964 6965 void WebPage::didFinishLoadingApplicationManifest(uint64_t coreCallbackID, const Optional<WebCore::ApplicationManifest>& manifest) 6965 6966 { 6966 auto callbackID = CallbackID::fromInteger(m_applicationManifestFetchCallbackMap.take(coreCallbackID));6967 send(Messages::WebPageProxy::ApplicationManifestCallback(manifest, callbackID));6967 if (auto callback = m_applicationManifestFetchCallbackMap.take(coreCallbackID)) 6968 callback(manifest); 6968 6969 } 6969 6970 #endif // ENABLE(APPLICATION_MANIFEST) -
TabularUnified trunk/Source/WebKit/WebProcess/WebPage/WebPage.h ¶
r272636 r272637 1260 1260 1261 1261 #if ENABLE(APPLICATION_MANIFEST) 1262 void getApplicationManifest(C allbackID);1262 void getApplicationManifest(CompletionHandler<void(const Optional<WebCore::ApplicationManifest>&)>&&); 1263 1263 void didFinishLoadingApplicationManifest(uint64_t, const Optional<WebCore::ApplicationManifest>&); 1264 1264 #endif … … 2191 2191 2192 2192 #if ENABLE(APPLICATION_MANIFEST) 2193 HashMap<uint64_t, uint64_t> m_applicationManifestFetchCallbackMap;2193 HashMap<uint64_t, CompletionHandler<void(const Optional<WebCore::ApplicationManifest>&)>> m_applicationManifestFetchCallbackMap; 2194 2194 #endif 2195 2195 -
TabularUnified trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in ¶
r272636 r272637 572 572 573 573 #if ENABLE(APPLICATION_MANIFEST) 574 GetApplicationManifest( WebKit::CallbackID callbackID)574 GetApplicationManifest() -> (Optional<WebCore::ApplicationManifest> manifest) Async 575 575 #endif 576 576
Note:
See TracChangeset
for help on using the changeset viewer.