diff options
Diffstat (limited to 'src/widgets/EdgeDecoration.cpp')
| -rw-r--r-- | src/widgets/EdgeDecoration.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/widgets/EdgeDecoration.cpp b/src/widgets/EdgeDecoration.cpp index 7351552..bb114bf 100644 --- a/src/widgets/EdgeDecoration.cpp +++ b/src/widgets/EdgeDecoration.cpp @@ -11,7 +11,8 @@ QString default_html_layout = R"HTML( <script> - window.__nullbrowser ||= (() => { + window._nullbrowser ||= {}; + window._nullbrowser.rpc ||= (() => { const invoke = (action, opts = {}) => { const urlParams = new URLSearchParams(opts); const url = `nullrpc://${action}?${urlParams.toString()}`; @@ -93,6 +94,12 @@ void EdgeDecoration::set_url(const QUrl &url) { webview.value()->setUrl(url); } +void EdgeDecoration::run_javascript(const QString &js_code) { + if (!webview.has_value()) + return; + webview.value()->run_javascript(js_code); +} + std::optional<WebViewId> EdgeDecoration::get_view_id() { return webview.has_value() ? std::make_optional(webview.value()->get_id()) : std::nullopt; } |
