Skip to content

Commit c599c59

Browse files
committed
Update GetCookieManager bug and reopen issue (#429)
1 parent c546957 commit c599c59

File tree

3 files changed

+12
-13
lines changed

3 files changed

+12
-13
lines changed

api/RequestHandler.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@ is the URL of the top-level frame. Cookies managers can be unique
206206
per browser or shared across multiple browsers. The global cookie
207207
manager will be used if this method returns None.
208208

209-
**IMPORTANT**: In some cases the `browser` parameter can be
210-
None, so you should handle such case.
209+
**IMPORTANT**: In some cases this callback is not called due to a
210+
race condition. See Issue [#429](../../../issues/429) for details.
211211

212212
To successfully implement separate cookie manager per browser session,
213213
you have to set ApplicationSettings.`unique_request_context_per_browser`

docs/Migration-guide.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -378,9 +378,9 @@ See a complete list of flags in the description of
378378
cef.Request.[GetFlags](../api/Request.md#getflags) method.
379379

380380

381-
## v66+ RequestHandler.GetCookieManager 'browser' param may be None
381+
## v66+ RequestHandler.GetCookieManager not getting called in some cases
382382

383-
In some cases in RequestHandler.[GetCookieManager](../api/RequestHandler.md#getcookiemanager)
384-
callback, the `browser` parameter may be None due to a race condition.
385-
See Issue [#429](../../../issues/429) for details.
383+
In some cases the RequestHandler.[GetCookieManager](../api/RequestHandler.md#getcookiemanager)
384+
callback is not getting called due to a race condition.
385+
This bug is to be fixed in Issue [#429](../../../issues/429).
386386

src/handlers/request_handler.pyx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -291,14 +291,13 @@ cdef public CefRefPtr[CefCookieManager] RequestHandler_GetCookieManager(
291291
cdef object clientCallback
292292
cdef PyCookieManager returnValue
293293
try:
294-
if cefBrowser.get():
295-
pyBrowser = GetPyBrowser(cefBrowser, "GetCookieManager")
296-
else:
297-
pyBrowser = None
294+
if not cefBrowser.get():
295+
# Bug: In some cases due to a race condition the browser
296+
# may be NULL. Issue #429.
297+
return <CefRefPtr[CefCookieManager]>NULL
298+
pyBrowser = GetPyBrowser(cefBrowser, "GetCookieManager")
298299
pyMainUrl = CefToPyString(cefMainUrl)
299-
if pyBrowser:
300-
# Browser may be empty.
301-
clientCallback = pyBrowser.GetClientCallback("GetCookieManager")
300+
clientCallback = pyBrowser.GetClientCallback("GetCookieManager")
302301
if clientCallback:
303302
returnValue = clientCallback(
304303
browser=pyBrowser,

0 commit comments

Comments
 (0)