]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/commitdiff
Disable forward and back mouse buttons when a dialog is displayed. https://redmine...
authorSoren Stoutner <soren@stoutner.com>
Mon, 6 Jun 2022 15:38:46 +0000 (08:38 -0700)
committerSoren Stoutner <soren@stoutner.com>
Mon, 6 Jun 2022 15:38:46 +0000 (08:38 -0700)
src/views/BrowserView.cpp

index 591e16aa3ae44361e6f43c70d40b20d51af406fe..ef69db4f784002bcd01978b62981533645b4e681 100644 (file)
@@ -73,19 +73,42 @@ BrowserView::BrowserView(QWidget *parent) : QWidget(parent)
     // Set the local storage filter.
     webEngineCookieStorePointer->setCookieFilter([this](const QWebEngineCookieStore::FilterRequest &filterRequest)
     {
-        // qDebug() << "Page URL:  " << filterRequest.firstPartyUrl << ", Local storage URL:  " << filterRequest.origin << ",  Is third-party:  " << filterRequest.thirdParty;
+        //qDebug().noquote().nospace() << "Page URL:  " << filterRequest.firstPartyUrl << ", Local storage URL:  " << filterRequest.origin << ",  Is third-party:  " << filterRequest.thirdParty;
 
         // Block all third party local storage requests, including the sneaky ones that don't register a first party URL.
         if (filterRequest.thirdParty || (filterRequest.firstPartyUrl == QStringLiteral("")))
+        {
+            //qDebug() << "Request blocked.";
+
+            // Return false.
             return false;
+        }
 
+        /*  TODO.  Waiting for a solution to <https://redmine.stoutner.com/issues/857>.
         // Check each tab to see if this local storage request should be allowed.
         for (PrivacyWebEngine *privacyWebEnginePointer : *privacyWebEngineListPointer)
         {
+            //qDebug().noquote().nospace() << "Local storage:  " << privacyWebEnginePointer->localStorageEnabled << ".  WebEngine URL:  " << webEngineViewPointer->url().host() << ".  Request Host:  " << filterRequest.firstPartyUrl.host();
+
             // Allow this local storage request if it comes from a tab with local storage enabled.
             if (privacyWebEnginePointer->localStorageEnabled && (webEngineViewPointer->url().host() == filterRequest.firstPartyUrl.host()))
+            {
+                //qDebug() << "Request allowed.";
+
+                // Return true.
                 return true;
+            }
         }
+        */
+
+        // Allow the request if it is first party and local storage is enabled.
+        if (!filterRequest.thirdParty && currentPrivacyWebEnginePointer->localStorageEnabled)
+        {
+            // Return true.
+            return true;
+        }
+
+        //qDebug() << "Request blocked.";
 
         // Block any remaining local storage requests.
         return false;
@@ -509,7 +532,7 @@ void BrowserView::loadUrlFromLineEdit(QString url) const
 void BrowserView::mouseBack() const
 {
     // Go back if possible.
-    if (webEngineHistoryPointer->canGoBack())
+    if (webEngineViewPointer->isActiveWindow() && webEngineHistoryPointer->canGoBack())
     {
         // Clear the URL line edit focus.
         emit clearUrlLineEditFocus();
@@ -522,7 +545,7 @@ void BrowserView::mouseBack() const
 void BrowserView::mouseForward() const
 {
     // Go forward if possible.
-    if (webEngineHistoryPointer->canGoForward())
+    if (webEngineViewPointer->isActiveWindow() && webEngineHistoryPointer->canGoForward())
     {
         // Clear the URL line edit focus.
         emit clearUrlLineEditFocus();