diff options
Diffstat (limited to 'sources/pyside6/PySide6')
| -rw-r--r-- | sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml | 10 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/glue/qtwebenginecore.cpp | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml b/sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml index a72cfaefa..ae0cbbbf1 100644 --- a/sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml +++ b/sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml @@ -74,6 +74,16 @@ <enum-type name="FileSelectionMode"/> <enum-type name="JavaScriptConsoleMessageLevel"/> <enum-type name="RenderProcessTerminationStatus"/> + <add-function signature="javaScriptPromptPyOverride(QUrl@securityOrigin@,QString@msg@,QString@defaultValue@)" + return-type="std::pair<bool,QString>" python-override="true"/> + <modify-function signature="javaScriptPrompt(QUrl,QString,QString,QString*)"> + <inject-code class="shell" position="override" file="../glue/qtwebenginecore.cpp" + snippet="qwebenginepage-javascriptprompt-virtual-redirect"/> + <modify-argument index="return" pyi-type="Tuple[bool, str]"/> + <modify-argument index="4"><remove-default-expression/><remove-argument/></modify-argument> + <inject-code class="target" position="beginning" file="../glue/qtwebenginecore.cpp" + snippet="qwebenginepage-javascriptprompt-return"/> + </modify-function> <add-function signature="findText(const QString &,QWebEnginePage::FindFlags,PyObject*)"> <inject-code class="target" position="beginning" file="../glue/qtwebenginewidgets.cpp" snippet="qwebenginepage-findtext"/> </add-function> diff --git a/sources/pyside6/PySide6/glue/qtwebenginecore.cpp b/sources/pyside6/PySide6/glue/qtwebenginecore.cpp index 50ef554f0..76a7c6d73 100644 --- a/sources/pyside6/PySide6/glue/qtwebenginecore.cpp +++ b/sources/pyside6/PySide6/glue/qtwebenginecore.cpp @@ -48,3 +48,17 @@ void QWebEngineNotificationFunctor::operator() // @snippet qwebengineprofile-setnotificationpresenter %CPPSELF.%FUNCTION_NAME(QWebEngineNotificationFunctor(%PYARG_1)); // @snippet qwebengineprofile-setnotificationpresenter + +// @snippet qwebenginepage-javascriptprompt-virtual-redirect +std::pair<bool, QString> resultPair = javaScriptPromptPyOverride(gil, pyOverride.object(), securityOrigin, msg, defaultValue); +result->assign(resultPair.second); +return resultPair.first; +// @snippet qwebenginepage-javascriptprompt-virtual-redirect + +// @snippet qwebenginepage-javascriptprompt-return +QString str; +%RETURN_TYPE retval_ = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, &str); +%PYARG_0 = PyTuple_New(2); +PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[%RETURN_TYPE](retval_)); +PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[QString](str)); +// @snippet qwebenginepage-javascriptprompt-return |
