Changeset 160197 in webkit
- Timestamp:
- Dec 5, 2013 3:33:10 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r160193 r160197 1 2013-12-05 Chris Fleizach <cfleizach@apple.com> 2 3 AX: Seed: safari extension installation crashes safari under voice over and freezes voice over 4 https://bugs.webkit.org/show_bug.cgi?id=125308 5 6 Reviewed by Anders Carlsson. 7 8 Much like Javascript alerts, we need to allow accessibility clients to continue to interact with the WebProcess thread 9 when using dispatchDecidePolicyResponses. 10 11 * Platform/CoreIPC/MessageSender.h: 12 (CoreIPC::MessageSender::sendSync): 13 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 14 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 15 1 16 2013-12-05 Anders Carlsson <andersca@apple.com> 2 17 -
trunk/Source/WebKit2/Platform/CoreIPC/MessageSender.h
r156604 r160197 52 52 53 53 template<typename T> 54 bool sendSync(T&& message, typename T::Reply&& reply, double timeout = Connection::NoTimeout )54 bool sendSync(T&& message, typename T::Reply&& reply, double timeout = Connection::NoTimeout, unsigned syncSendFlags = 0) 55 55 { 56 56 static_assert(T::isSync, "Message is not sync!"); 57 57 58 return sendSync(std::forward<T>(message), std::move(reply), messageSenderDestinationID(), timeout );58 return sendSync(std::forward<T>(message), std::move(reply), messageSenderDestinationID(), timeout, syncSendFlags); 59 59 } 60 60 61 61 template<typename T> 62 bool sendSync(T&& message, typename T::Reply&& reply, uint64_t destinationID, double timeout = Connection::NoTimeout )62 bool sendSync(T&& message, typename T::Reply&& reply, uint64_t destinationID, double timeout = Connection::NoTimeout, unsigned syncSendFlags = 0) 63 63 { 64 64 ASSERT(messageSenderConnection()); 65 65 66 return messageSenderConnection()->sendSync(std::move(message), std::move(reply), destinationID, timeout );66 return messageSenderConnection()->sendSync(std::move(message), std::move(reply), destinationID, timeout, syncSendFlags); 67 67 } 68 68 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r159882 r160197 52 52 #include <JavaScriptCore/APICast.h> 53 53 #include <JavaScriptCore/JSObject.h> 54 #include <WebCore/AXObjectCache.h> 54 55 #include <WebCore/Chrome.h> 55 56 #include <WebCore/DOMWrapperWorld.h> … … 647 648 648 649 // Notify the UIProcess. 649 if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForResponseSync(m_frame->frameID(), response, request, canShowMIMEType, listenerID, InjectedBundleUserMessageEncoder(userData.get())), Messages::WebPageProxy::DecidePolicyForResponseSync::Reply(receivedPolicyAction, policyAction, downloadID))) 650 unsigned syncSendFlags = (WebCore::AXObjectCache::accessibilityEnabled()) ? CoreIPC::SpinRunLoopWhileWaitingForReply : 0; 651 if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForResponseSync(m_frame->frameID(), response, request, canShowMIMEType, listenerID, InjectedBundleUserMessageEncoder(userData.get())), Messages::WebPageProxy::DecidePolicyForResponseSync::Reply(receivedPolicyAction, policyAction, downloadID), CoreIPC::Connection::NoTimeout, syncSendFlags)) 650 652 return; 651 653
Note: See TracChangeset
for help on using the changeset viewer.