From 271e3cd4f23539382a5f9ea4f5a29f500584da5b Mon Sep 17 00:00:00 2001
From: Michal Klocek <michal.klocek@qt.io>
Date: Mon, 29 Jan 2018 15:54:39 +0100
Subject: [PATCH] Add checks for offTheRecord profile

If user creates offTheRecord profile but later uses any of the api
calls to change storage location will couse undesired effect
of regenerating storage information.

Change-Id: Iac34c697881ba7761033130a7b2a4002b6a0d6bd
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
 src/core/browser_context_adapter.cpp | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp
index 3f8397752..654482b02 100644
--- a/src/core/browser_context_adapter.cpp
+++ b/src/core/browser_context_adapter.cpp
@@ -121,10 +121,12 @@ void BrowserContextAdapter::setStorageName(const QString &storageName)
     if (storageName == m_name)
         return;
     m_name = storageName;
-    if (m_browserContext->url_request_getter_.get())
-        m_browserContext->url_request_getter_->updateStorageSettings();
-    if (m_visitedLinksManager)
-        resetVisitedLinksManager();
+    if (!m_offTheRecord) {
+        if (m_browserContext->url_request_getter_.get())
+            m_browserContext->url_request_getter_->updateStorageSettings();
+        if (m_visitedLinksManager)
+            resetVisitedLinksManager();
+    }
 }
 
 void BrowserContextAdapter::setOffTheRecord(bool offTheRecord)
@@ -231,10 +233,12 @@ void BrowserContextAdapter::setDataPath(const QString &path)
     if (m_dataPath == path)
         return;
     m_dataPath = path;
-    if (m_browserContext->url_request_getter_.get())
-        m_browserContext->url_request_getter_->updateStorageSettings();
-    if (m_visitedLinksManager)
-        resetVisitedLinksManager();
+    if (!m_offTheRecord) {
+        if (m_browserContext->url_request_getter_.get())
+            m_browserContext->url_request_getter_->updateStorageSettings();
+        if (m_visitedLinksManager)
+            resetVisitedLinksManager();
+    }
 }
 
 QString BrowserContextAdapter::cachePath() const
@@ -253,7 +257,7 @@ void BrowserContextAdapter::setCachePath(const QString &path)
     if (m_cachePath == path)
         return;
     m_cachePath = path;
-    if (m_browserContext->url_request_getter_.get())
+    if (!m_offTheRecord && m_browserContext->url_request_getter_.get())
         m_browserContext->url_request_getter_->updateHttpCache();
 }
 
@@ -327,7 +331,7 @@ void BrowserContextAdapter::setHttpCacheType(BrowserContextAdapter::HttpCacheTyp
     m_httpCacheType = newhttpCacheType;
     if (oldCacheType == httpCacheType())
         return;
-    if (m_browserContext->url_request_getter_.get())
+    if (!m_offTheRecord && m_browserContext->url_request_getter_.get())
         m_browserContext->url_request_getter_->updateHttpCache();
 }
 
@@ -344,7 +348,7 @@ void BrowserContextAdapter::setPersistentCookiesPolicy(BrowserContextAdapter::Pe
     m_persistentCookiesPolicy = newPersistentCookiesPolicy;
     if (oldPolicy == persistentCookiesPolicy())
         return;
-    if (m_browserContext->url_request_getter_.get())
+    if (!m_offTheRecord && m_browserContext->url_request_getter_.get())
         m_browserContext->url_request_getter_->updateCookieStore();
 }
 
@@ -399,7 +403,7 @@ void BrowserContextAdapter::setHttpCacheMaxSize(int maxSize)
     if (m_httpCacheMaxSize == maxSize)
         return;
     m_httpCacheMaxSize = maxSize;
-    if (m_browserContext->url_request_getter_.get())
+    if (!m_offTheRecord && m_browserContext->url_request_getter_.get())
         m_browserContext->url_request_getter_->updateHttpCache();
 }
 
-- 
GitLab