@@ -84,6 +84,34 @@ cdef public cpp_bool RequestHandler_OnBeforeResourceLoad(
8484 (exc_type, exc_value, exc_trace) = sys.exc_info()
8585 sys.excepthook(exc_type, exc_value, exc_trace)
8686
87+ cdef public cpp_bool RequestHandler_OnBeforeBrowse(
88+ CefRefPtr[CefBrowser] cefBrowser,
89+ CefRefPtr[CefFrame] cefFrame,
90+ CefRefPtr[CefRequest] cefRequest,
91+ cpp_bool cefIsRedirect
92+ ) except * with gil:
93+ cdef PyBrowser pyBrowser
94+ cdef PyFrame pyFrame
95+ cdef PyRequest pyRequest
96+ cdef py_bool pyIsRedirect
97+ cdef object clientCallback
98+ cdef py_bool returnValue
99+ try :
100+ pyBrowser = GetPyBrowser(cefBrowser)
101+ pyFrame = GetPyFrame(cefFrame)
102+ pyRequest = CreatePyRequest(cefRequest)
103+ pyIsRedirect = bool (cefIsRedirect)
104+ clientCallback = pyBrowser.GetClientCallback(" OnBeforeBrowse" )
105+ if clientCallback:
106+ returnValue = clientCallback(pyBrowser, pyFrame, pyRequest,
107+ pyIsRedirect)
108+ return bool (returnValue)
109+ else :
110+ return False
111+ except :
112+ (exc_type, exc_value, exc_trace) = sys.exc_info()
113+ sys.excepthook(exc_type, exc_value, exc_trace)
114+
87115cdef public CefRefPtr[CefResourceHandler] RequestHandler_GetResourceHandler(
88116 CefRefPtr[CefBrowser] cefBrowser,
89117 CefRefPtr[CefFrame] cefFrame,
0 commit comments