]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/commitdiff
Fix the loading of target="_blank" links in the current tab. https://redmine.stoutne... master
authorSoren Stoutner <soren@stoutner.com>
Thu, 20 Aug 2026 21:03:57 +0000 (14:03 -0700)
committerSoren Stoutner <soren@stoutner.com>
Thu, 20 Aug 2026 21:03:57 +0000 (14:03 -0700)
src/widgets/TemporaryWebEngineView.cpp
src/widgets/TemporaryWebEngineView.h

index a95b555c49d64403ce467e9a67288294230103cb..40371c021fa6aa509f7d15859768e6ad193a5b87 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-3.0-or-later
- * SPDX-FileCopyrightText: 2025 Soren Stoutner <soren@stoutner.com>
+ * SPDX-FileCopyrightText: 2025-2026 Soren Stoutner <soren@stoutner.com>
  *
  * This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc/>.
  *
 #include "TemporaryWebEngineView.h"
 
 // Construct the class.
-TemporaryWebEngineView::TemporaryWebEngineView(PrivacyWebEngineView *mainPrivacyWebEngineViewPointer) : QWebEngineView()
+TemporaryWebEngineView::TemporaryWebEngineView(PrivacyWebEngineView *privacyWebEngineViewPointer) : QWebEngineView()
 {
+    // Store the privacy WebEngine view pointer.
+    mainPrivacyWebEngineViewPointer = privacyWebEngineViewPointer;
+
     // Create a WebEngine page using the same profile as the main privacy WebEngine, which is required in Qt 6.
-    // Sharing a profile somehow causes the URL to load in the main privacy WebEngine view.
-    PrivacyWebEnginePage *privacyWebEnginePagePointer = new PrivacyWebEnginePage(mainPrivacyWebEngineViewPointer->page()->profile());
+    PrivacyWebEnginePage *privacyWebEnginePagePointer = new PrivacyWebEnginePage(privacyWebEngineViewPointer->page()->profile());
 
     // Set the WebEngine page.
     setPage(privacyWebEnginePagePointer);
 
     // Connect the load started signal.
-    connect(this, SIGNAL(urlChanged(const QUrl&)), this, SLOT(stopLoadingUrl()));
+    connect(this, SIGNAL(urlChanged(const QUrl&)), this, SLOT(stopLoadingUrl(const QUrl&)));
 }
 
-void TemporaryWebEngineView::stopLoadingUrl()
+void TemporaryWebEngineView::stopLoadingUrl(const QUrl& url)
 {
     // Stop loading the URL.
     stop();
 
     // Load the URL in the main privacy WebEngine view.
-    // For some reason, the URL already gets loaded there, possibly because they share a profile.
-    //mainPrivacyWebEngineViewPointer->load(url)
+    mainPrivacyWebEngineViewPointer->load(url);
 
     // Destroy the temporary WebEngine view.
     destroy();
index df57283489cedb6efeb71fd926eae69129c2c8d1..fe787d0eedf68041cca8af41c74f044d3256a9a7 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-3.0-or-later
- * SPDX-FileCopyrightText: 2025 Soren Stoutner <soren@stoutner.com>
+ * SPDX-FileCopyrightText: 2025-2026 Soren Stoutner <soren@stoutner.com>
  *
  * This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc/>.
  *
@@ -37,6 +37,10 @@ public:
 
 private Q_SLOTS:
     // The private slots.
-    void stopLoadingUrl();
+    void stopLoadingUrl(const QUrl&);
+
+private:
+    // The private variables.
+    PrivacyWebEngineView *mainPrivacyWebEngineViewPointer;
 };
 #endif