WebBrowser/WebBrowserWindow.py

branch
QtWebEngine
changeset 4806
5c0745cb26ea
parent 4805
8ef007140046
child 4807
5c87ef12aa6d
diff -r 8ef007140046 -r 5c0745cb26ea WebBrowser/WebBrowserWindow.py
--- a/WebBrowser/WebBrowserWindow.py	Sat Mar 05 14:34:49 2016 +0100
+++ b/WebBrowser/WebBrowserWindow.py	Sat Mar 05 16:44:41 2016 +0100
@@ -2755,8 +2755,14 @@
         self.searchEdit.preferencesChanged()
         
         if not self.isPrivate():
-            # TODO: Cache settings
-            pass
+            profile = self.webProfile()
+            if Preferences.getWebBrowser("DiskCacheEnabled"):
+                profile.setHttpCacheType(QWebEngineProfile.DiskHttpCache)
+                profile.setHttpCacheMaximumSize(
+                    Preferences.getWebBrowser("DiskCacheSize") * 1024 * 1024)
+            else:
+                profile.setHttpCacheType(QWebEngineProfile.MemoryHttpCache)
+                profile.setHttpCacheMaximumSize(0)
             
         self.__virusTotal.preferencesChanged()
         if not Preferences.getWebBrowser("VirusTotalEnabled") or \
@@ -3250,6 +3256,7 @@
             if history:
                 self.historyManager().clear(historyPeriod)
                 self.__tabWidget.clearClosedTabsList()
+                self.webProfile().clearAllVisitedLinks()
             if searches:
                 self.searchEdit.clear()
             if downloads:
@@ -4069,7 +4076,28 @@
             cls._webProfile.downloadRequested.connect(
                 cls.downloadRequested)
             
-            # TODO: Cache settings
+            # add the default user agent string
+            userAgent = cls._webProfile.httpUserAgent()
+            cls._webProfile.defaultUserAgent = userAgent
+            
+            if not private:
+                if Preferences.getWebBrowser("DiskCacheEnabled"):
+                    cls._webProfile.setHttpCacheType(
+                        QWebEngineProfile.DiskHttpCache)
+                    cls._webProfile.setHttpCacheMaximumSize(
+                        Preferences.getWebBrowser("DiskCacheSize")
+                        * 1024 * 1024)
+                    cls._webProfile.setCachePath(os.path.join(
+                        Utilities.getConfigDir(), "web_browser"))
+                else:
+                    cls._webProfile.setHttpCacheType(
+                        QWebEngineProfile.MemoryHttpCache)
+                    cls._webProfile.setHttpCacheMaximumSize(0)
+                cls._webProfile.setPersistentStoragePath(os.path.join(
+                    Utilities.getConfigDir(), "web_browser",
+                    "persistentstorage"))
+                cls._webProfile.setPersistentCookiesPolicy(
+                    QWebEngineProfile.AllowPersistentCookies)
             
             # Setup QWebChannel user script
             script = QWebEngineScript()

eric ide

mercurial