// 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;
void BrowserView::mouseBack() const
{
// Go back if possible.
- if (webEngineHistoryPointer->canGoBack())
+ if (webEngineViewPointer->isActiveWindow() && webEngineHistoryPointer->canGoBack())
{
// Clear the URL line edit focus.
emit clearUrlLineEditFocus();
void BrowserView::mouseForward() const
{
// Go forward if possible.
- if (webEngineHistoryPointer->canGoForward())
+ if (webEngineViewPointer->isActiveWindow() && webEngineHistoryPointer->canGoForward())
{
// Clear the URL line edit focus.
emit clearUrlLineEditFocus();