DescriptionFixes a deadlock between shouldInterceptRequest() and getCookie()
In the WebView shouldInterceptRequest is called on the IO thread.
The CookieManager used to post cookie monster tasks to a thread
which was sometimes the IO thread (if the WebView was started
before the CookieManager) but sometimes a special thread (if the
CookieManager was started before the WebView).
getCookie is synchronous and blocks waiting for the result after
posting its task so if getCookie was called from
shouldInterceptRequest and the cookie monster was on the IO thread
then it deadlocked.
We fix this by always starting the special thread for the cookie
monster.
Android Issue: https://code.google.com/p/android/issues/detail?id=65786
BUG=374203
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=271715
Patch Set 1 #
Total comments: 2
Patch Set 2 : Changed CookieManagerStartupTest comment. #
Total comments: 1
Patch Set 3 : rebase + fix url #Patch Set 4 : fix startupTest #
Messages
Total messages: 12 (0 generated)
|