aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/EdgeDecoration.cpp
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-07-26 16:59:35 +0530
committerAkshay Nair <phenax5@gmail.com>2025-07-26 16:59:35 +0530
commitb0f598910f1f8bc8db6b65a0f01b1950ed7c3841 (patch)
tree234758ed1c91238b9498fdc6dd4bcccc42bddc36 /src/widgets/EdgeDecoration.cpp
parent8ab1f8d796d8f35a65e38fdd03d51824a41d1dab (diff)
downloadnull-browser-b0f598910f1f8bc8db6b65a0f01b1950ed7c3841.tar.gz
null-browser-b0f598910f1f8bc8db6b65a0f01b1950ed7c3841.zip
Add web.view.expose for simple lua->js interop in decorations
Diffstat (limited to 'src/widgets/EdgeDecoration.cpp')
-rw-r--r--src/widgets/EdgeDecoration.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/widgets/EdgeDecoration.cpp b/src/widgets/EdgeDecoration.cpp
index 5277e6c..ed48857 100644
--- a/src/widgets/EdgeDecoration.cpp
+++ b/src/widgets/EdgeDecoration.cpp
@@ -66,9 +66,9 @@ void EdgeDecoration::setup_webview() {
webview = new WebView(WebViewStack::next_webview_id++, profile, this);
layout()->addWidget(webview.value());
webview.value()->enable_rpc_api();
- webview.value()->expose_rpc_function("tab_select", [](RpcArgs args) {
- LuaRuntime::instance().webview_selected(args.at("view").toInt());
- });
+ // expose_rpc_function("tab_select", [](RpcArgs args) {
+ // LuaRuntime::instance().webview_selected(args.at("view").toInt());
+ // });
}
webview.value()->setHtml(QString(default_html_layout).replace("{{body}}", html_content),
@@ -95,3 +95,9 @@ void EdgeDecoration::set_url(const QUrl &url) {
std::optional<WebViewId> EdgeDecoration::get_view_id() {
return webview.has_value() ? std::make_optional(webview.value()->get_id()) : std::nullopt;
}
+
+void EdgeDecoration::expose_rpc_function(const QString &name, const RpcFunc &action) {
+ if (!webview.has_value())
+ return;
+ webview.value()->expose_rpc_function(name, action);
+}