X Tutup
# Copyright (c) 2012-2014 The CEF Python authors. All rights reserved. # License: New BSD License. # Website: http://code.google.com/p/cefpython/ cdef public cpp_bool LifespanHandler_OnBeforePopup( CefRefPtr[CefBrowser] cefBrowser, CefRefPtr[CefFrame] cefFrame, const CefString& targetUrl, const CefString& targetFrameName, const int popupFeatures, CefWindowInfo& windowInfo, CefRefPtr[CefClient]& client, CefBrowserSettings& settings, cpp_bool* noJavascriptAccess ) except * with gil: # Empty place-holders: popupFeatures, client. cdef PyBrowser pyBrowser cdef PyFrame pyFrame, cdef py_string pyTargetUrl cdef py_string pyTargetFrameName cdef list pyNoJavascriptAccess # out bool pyNoJavascriptAccess[0] cdef list pyWindowInfo cdef list pyBrowserSettings cdef object callback cdef py_bool returnValue try: pyBrowser = GetPyBrowser(cefBrowser) pyFrame = GetPyFrame(cefFrame) pyTargetUrl = CefToPyString(targetUrl) pyTargetFrameName = CefToPyString(targetFrameName) pyNoJavascriptAccess = [noJavascriptAccess[0]] pyWindowInfo = [] pyBrowserSettings = [] callback = pyBrowser.GetClientCallback("OnBeforePopup") if callback: returnValue = bool(callback(pyBrowser, pyFrame, pyTargetUrl, pyTargetFrameName, None, pyWindowInfo, None, pyBrowserSettings, pyNoJavascriptAccess)) noJavascriptAccess[0] = bool(pyNoJavascriptAccess[0]) if len(pyBrowserSettings): SetBrowserSettings(pyBrowserSettings[0], &settings) if len(pyWindowInfo): SetCefWindowInfo(windowInfo, pyWindowInfo[0]) return bool(returnValue) return False except: (exc_type, exc_value, exc_trace) = sys.exc_info() sys.excepthook(exc_type, exc_value, exc_trace) cdef public void LifespanHandler_OnAfterCreated( CefRefPtr[CefBrowser] cefBrowser ) except * with gil: cdef PyBrowser pyBrowser try: pyBrowser = GetPyBrowser(cefBrowser) callback = GetGlobalClientCallback("OnAfterCreated") if callback: callback(pyBrowser) except: (exc_type, exc_value, exc_trace) = sys.exc_info() sys.excepthook(exc_type, exc_value, exc_trace) cdef public cpp_bool LifespanHandler_RunModal( CefRefPtr[CefBrowser] cefBrowser ) except * with gil: cdef PyBrowser pyBrowser try: pyBrowser = GetPyBrowser(cefBrowser) callback = pyBrowser.GetClientCallback("RunModal") if callback: return bool(callback(pyBrowser)) return False except: (exc_type, exc_value, exc_trace) = sys.exc_info() sys.excepthook(exc_type, exc_value, exc_trace) cdef public cpp_bool LifespanHandler_DoClose( CefRefPtr[CefBrowser] cefBrowser ) except * with gil: cdef PyBrowser pyBrowser try: pyBrowser = GetPyBrowser(cefBrowser) callback = pyBrowser.GetClientCallback("DoClose") if callback: return bool(callback(pyBrowser)) return False except: (exc_type, exc_value, exc_trace) = sys.exc_info() sys.excepthook(exc_type, exc_value, exc_trace) cdef public void LifespanHandler_OnBeforeClose( CefRefPtr[CefBrowser] cefBrowser ) except * with gil: cdef PyBrowser pyBrowser cdef object callback try: pyBrowser = GetPyBrowser(cefBrowser) callback = pyBrowser.GetClientCallback("OnBeforeClose") if callback: callback(pyBrowser) RemovePythonCallbacksForBrowser(pyBrowser.GetIdentifier()) RemovePyFramesForBrowser(pyBrowser.GetIdentifier()) RemovePyBrowser(pyBrowser.GetIdentifier()) except: (exc_type, exc_value, exc_trace) = sys.exc_info() sys.excepthook(exc_type, exc_value, exc_trace)
X Tutup