aboutsummaryrefslogtreecommitdiff
path: root/src/WindowActionRouter.cpp
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-03-29 14:23:35 +0530
committerAkshay Nair <phenax5@gmail.com>2025-03-29 15:58:20 +0530
commit23b8c2c0da0317562925d574e774cedb6a93a7ac (patch)
tree0704ffda4e8f2f1b442fd9fc6b31e025b4a4521e /src/WindowActionRouter.cpp
parented15eba453b7ddd0f4962c2d381fe40751973131 (diff)
downloadnull-browser-23b8c2c0da0317562925d574e774cedb6a93a7ac.tar.gz
null-browser-23b8c2c0da0317562925d574e774cedb6a93a7ac.zip
Replace fetchers with fetch methods on router
Diffstat (limited to '')
-rw-r--r--src/WindowActionRouter.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/WindowActionRouter.cpp b/src/WindowActionRouter.cpp
index e530455..264c75e 100644
--- a/src/WindowActionRouter.cpp
+++ b/src/WindowActionRouter.cpp
@@ -69,7 +69,33 @@ WindowActionRouter::WindowActionRouter() {
void WindowActionRouter::add_window(BrowserWindow *window) {
window_map.insert({last_id, window});
+ window->set_id(last_id);
last_id++;
}
const WindowMap &WindowActionRouter::windows() { return window_map; }
+
+WebViewId WindowActionRouter::fetch_current_tab_id(WindowId win_id) {
+ for (auto &pair : window_map) {
+ auto *win = pair.second;
+ auto is_current_window =
+ win_id == win->get_id() || (win_id == 0 && win->isActiveWindow());
+ if (is_current_window) {
+ return win->mediator()->current_webview_id();
+ }
+ }
+ return 0;
+}
+
+QList<WebViewData>
+WindowActionRouter::fetch_webview_data_list(WindowId win_id) {
+ for (auto &pair : window_map) {
+ auto *win = pair.second;
+ auto is_current_window =
+ win_id == win->get_id() || (win_id == 0 && win->isActiveWindow());
+ if (is_current_window) {
+ return win->mediator()->get_webview_list();
+ }
+ }
+ return {};
+}