FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cefpython/src/handlers/javascript_dialog_handler.pyx at cefpython56 · lineCode/cefpython · GitHub
lineCode
cefpython
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
cefpython
/
src
/
handlers
/
javascript_dialog_handler.pyx
Copy path
More file actions
More file actions
Latest commit
History
History
History
138 lines (124 loc) · 5.4 KB
Breadcrumbs
cefpython
/
src
/
handlers
/
javascript_dialog_handler.pyx
Copy path
File metadata and controls
138 lines (124 loc) · 5.4 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#
Copyright (c) 2016 CEF Python, see the Authors file.
#
All rights reserved. Licensed under BSD 3-clause license.
#
Project website: https://github.com/cztomczak/cefpython
include
"
../cefpython.pyx
"
include
"
../browser.pyx
"
#
enum cef_jsdialog_type_t
cimport cef_types
JSDIALOGTYPE_ALERT
=
cef_types.JSDIALOGTYPE_ALERT
JSDIALOGTYPE_CONFIRM
=
cef_types.JSDIALOGTYPE_CONFIRM
JSDIALOGTYPE_PROMPT
=
cef_types.JSDIALOGTYPE_PROMPT
#
-----------------------------------------------------------------------------
#
PyJavascriptDialogCallback
#
-----------------------------------------------------------------------------
cdef PyJavascriptDialogCallback CreatePyJavascriptDialogCallback(
CefRefPtr[CefJSDialogCallback] cefCallback):
cdef PyJavascriptDialogCallback pyCallback
=
PyJavascriptDialogCallback()
pyCallback.cefCallback
=
cefCallback
return
pyCallback
cdef
class
PyJavascriptDialogCallback:
cdef CefRefPtr[CefJSDialogCallback] cefCallback
cpdef py_void Continue(
self
, py_bool allow, py_string user_input):
self
.cefCallback.get().Continue(
bool
(allow),
PyToCefStringValue(user_input))
#
-----------------------------------------------------------------------------
#
JavascriptDialogHandler
#
-----------------------------------------------------------------------------
cdef public cpp_bool JavascriptDialogHandler_OnJavascriptDialog(
CefRefPtr[CefBrowser] cefBrowser,
const CefString
&
origin_url,
cef_types.cef_jsdialog_type_t dialog_type,
const CefString
&
message_text,
const CefString
&
default_prompt_text,
CefRefPtr[CefJSDialogCallback] callback,
cpp_bool
&
suppress_message
)
except
*
with
gil:
cdef PyBrowser pyBrowser
cdef py_string pyOriginUrl
cdef py_string pyMessageText
cdef py_string pyDefaultPromptText
cdef PyJavascriptDialogCallback pyCallback
cdef
list
pySuppressMessage
=
[]
cdef
object
clientCallback
cdef py_bool returnValue
try
:
pyBrowser
=
GetPyBrowser(cefBrowser,
"
OnJavascriptDialog
"
)
pyOriginUrl
=
CefToPyString(origin_url)
pyMessageText
=
CefToPyString(message_text)
pyDefaultPromptText
=
CefToPyString(default_prompt_text)
pyCallback
=
CreatePyJavascriptDialogCallback(callback)
pySuppressMessage
=
[
bool
(suppress_message)]
clientCallback
=
pyBrowser.GetClientCallback(
"
OnJavascriptDialog
"
)
if
clientCallback:
returnValue
=
clientCallback(
browser
=
pyBrowser,
origin_url
=
pyOriginUrl,
dialog_type
=
dialog_type,
message_text
=
pyMessageText,
default_prompt_text
=
pyDefaultPromptText,
callback
=
pyCallback,
suppress_message_out
=
pySuppressMessage)
(
&
suppress_message)[
0
]
=
bool
(pySuppressMessage[
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 cpp_bool JavascriptDialogHandler_OnBeforeUnloadJavascriptDialog(
CefRefPtr[CefBrowser] cefBrowser,
const CefString
&
message_text,
cpp_bool is_reload,
CefRefPtr[CefJSDialogCallback] callback
)
except
*
with
gil:
cdef PyBrowser pyBrowser
cdef py_string pyMessageText
cdef py_bool pyIsReload
cdef PyJavascriptDialogCallback pyCallback
cdef
object
clientCallback
cdef py_bool returnValue
try
:
pyBrowser
=
GetPyBrowser(cefBrowser,
"
OnBeforeUnloadJavascriptDialog
"
)
pyMessageText
=
CefToPyString(message_text)
pyIsReload
=
bool
(is_reload)
pyCallback
=
CreatePyJavascriptDialogCallback(callback)
clientCallback
=
pyBrowser.GetClientCallback(
"
OnBeforeUnloadJavascriptDialog
"
)
if
clientCallback:
returnValue
=
clientCallback(
browser
=
pyBrowser,
message_text
=
pyMessageText,
is_reload
=
pyIsReload,
callback
=
pyCallback)
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
JavascriptDialogHandler_OnResetJavascriptDialogState(
CefRefPtr[CefBrowser] cefBrowser
)
except
*
with
gil:
cdef PyBrowser pyBrowser
try
:
pyBrowser
=
GetPyBrowser(cefBrowser,
"
OnResetJavascriptDialogState
"
)
callback
=
pyBrowser.GetClientCallback(
"
OnResetJavascriptDialogState
"
)
if
callback:
callback(
browser
=
pyBrowser)
except
:
(exc_type, exc_value, exc_trace)
=
sys.exc_info()
sys.excepthook(exc_type, exc_value, exc_trace)
cdef public
void
JavascriptDialogHandler_OnJavascriptDialogClosed(
CefRefPtr[CefBrowser] cefBrowser,
)
except
*
with
gil:
cdef PyBrowser pyBrowser
try
:
pyBrowser
=
GetPyBrowser(cefBrowser,
"
OnJavascriptDialogClosed
"
)
callback
=
pyBrowser.GetClientCallback(
"
OnJavascriptDialogClosed
"
)
if
callback:
callback(
browser
=
pyBrowser)
except
:
(exc_type, exc_value, exc_trace)
=
sys.exc_info()
sys.excepthook(exc_type, exc_value, exc_trace)
Back
|
FazBrowse Home
|
New Git URL