Updated source docu.

Fri, 04 Aug 2017 19:43:32 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 04 Aug 2017 19:43:32 +0200
changeset 5832
28f36b9c925f
parent 5831
536d97e3f1a1
child 5834
4b66d030732b

Updated source docu.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
APIs/Python3/eric6.bas file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.SafeBrowsing.__init__.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.UrlBar.UrlBar.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.WebBrowserPage.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.WebBrowserView.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.WebBrowser.WebBrowserWindow.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric6.WebBrowser.SafeBrowsing.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric6.WebBrowser.html file | annotate | diff | comparison | revisions
WebBrowser/SafeBrowsing/SafeBrowsingAPIClient.py file | annotate | diff | comparison | revisions
WebBrowser/SafeBrowsing/SafeBrowsingUrl.py file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Fri Aug 04 19:40:48 2017 +0200
+++ b/APIs/Python3/eric6.api	Fri Aug 04 19:43:32 2017 +0200
@@ -10589,6 +10589,102 @@
 eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.QtHelpFiltersDialog.on_removeButton_clicked?4()
 eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.QtHelpFiltersDialog.on_unusedAttributesButton_clicked?4()
 eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.QtHelpFiltersDialog?1(engine, parent=None)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.ClientId?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.ClientVersion?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.GsbUrlTemplate?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.fairUseDelayExpired?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getFullHashes?4(prefixes, clientState)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getPlatformString?4(platformType)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getPlatformTypes?4(platform)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatEntryString?4(threatEntry)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatLists?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatMessage?4(threatType)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatType?4(threatType)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.getThreatsUpdate?4(clientStates)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.networkError?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient.setApiKey?4(apiKey)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.SafeBrowsingAPIClient?1(apiKey, fairUse=True, parent=None)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.HashPrefixList?1(prefixLength, rawHashes)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.addThreatList?4(threatList)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.cleanupFullHashes?4(keepExpiredFor=43200)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.close?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_full_hash_cue_idx?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_full_hash_expires_idx?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_full_hash_value_idx?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_full_hashes_stmt?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_hash_prefix_stmt?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.create_threat_list_stmt?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.deleteHashPrefixList?4(threatList)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.deleteThreatList?4(threatList)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_full_hash_cue_idx?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_full_hash_expires_idx?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_full_hash_value_idx?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_full_hashes_stmt?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_hash_prefix_stmt?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.drop_threat_list_stmt?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.getHashPrefixValuesToRemove?4(threatList, indexes)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.getThreatLists?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.hashPrefixListChecksum?4(threatList)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.lookupFullHashes?4(hashValues)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.lookupHashPrefix?4(prefixes)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.populateHashPrefixList?4(threatList, prefixes)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.prepareCacheDb?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.removeHashPrefixIndices?4(threatList, indexes)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.storeFullHash?4(threatList, hashValue, cacheDuration, malwareThreatType)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.updateHashPrefixExpiration?4(threatList, hashPrefix, negativeCacheDuration)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache.updateThreatListClientState?4(threatList, clientState)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.SafeBrowsingCache?1(dbPath, parent=None)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.ThreatList.asTuple?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.ThreatList.fromApiEntry?4(entry)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.ThreatList?1(threatType, platformType, threatEntryType)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.closeEvent?4(evt)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_buttonBox_clicked?4(button)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_clearCacheButton_clicked?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_gsbHelpButton_clicked?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_saveButton_clicked?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_updateCacheButton_clicked?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_urlCheckButton_clicked?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.on_urlEdit_textChanged?4(text)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog.show?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.SafeBrowsingDialog?1(manager, parent=None)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingHelp?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.SafeBrowsingInfoWidget.showAt?4(pos)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.SafeBrowsingInfoWidget?1(info, parent=None)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.clicked?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.getThreatInfo?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.mouseDoubleClickEvent?4(evt)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.mouseReleaseEvent?4(evt)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.nokStyle?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel.setThreatInfo?4(threatType, threatMessages)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.SafeBrowsingLabel?1(parent=None)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.close?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.configurationChanged?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.fairUseDelayExpired?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.fullCacheCleanup?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getIgnoreSchemes?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getPlatformString?4(platformType)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getThreatEntryString?4(threatEntry)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getThreatMessage?4(threatType)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getThreatMessages?4(threatLists)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.getThreatType?4(threatList)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.isEnabled?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.lookupUrl?4(url)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.progress?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.progressMessage?7
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.showSafeBrowsingDialog?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager.updateHashPrefixCache?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.SafeBrowsingManager?1()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.canonical?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.digest?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.fullUnescape?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.hashes?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.hostPermutations?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.pathPermutations?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.permutations?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl.quote?4()
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.SafeBrowsingUrl?1(url)
+eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.toHex?4(value)
 eric6.WebBrowser.SearchWidget.SearchWidget.findNext?4()
 eric6.WebBrowser.SearchWidget.SearchWidget.findPrevious?4()
 eric6.WebBrowser.SearchWidget.SearchWidget.keyPressEvent?4(event)
@@ -10979,6 +11075,7 @@
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.certificateError?4(error)
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.execJavaScript?4(script, worldId=QWebEngineScript.MainWorld, timeout=500)
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.execPrintPage?4(printer, timeout=1000)
+eric6.WebBrowser.WebBrowserPage.WebBrowserPage.getSafeBrowsingStatus?4()
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.hitTestContent?4(pos)
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.icon?4()
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.isJavaScriptEnabled?4()
@@ -10987,6 +11084,8 @@
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.printCallback?4(resDict=resultDict)
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.resultCallback?4(resDict=resultDict)
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.runJavaScript?4(script, worldId=-1, callback=None)
+eric6.WebBrowser.WebBrowserPage.WebBrowserPage.safeBrowsingAbort?7
+eric6.WebBrowser.WebBrowserPage.WebBrowserPage.safeBrowsingBad?7
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scroll?4(x, y)
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scrollPosition?4()
 eric6.WebBrowser.WebBrowserPage.WebBrowserPage.scrollTo?4(pos)
@@ -11068,6 +11167,7 @@
 eric6.WebBrowser.WebBrowserView.WebBrowserView.forwardAvailable?7
 eric6.WebBrowser.WebBrowserView.WebBrowserView.getPreview?4()
 eric6.WebBrowser.WebBrowserView.WebBrowserView.getRSS?4()
+eric6.WebBrowser.WebBrowserView.WebBrowserView.getSafeBrowsingStatus?4()
 eric6.WebBrowser.WebBrowserView.WebBrowserView.getSessionData?4()
 eric6.WebBrowser.WebBrowserView.WebBrowserView.hasRSS?4()
 eric6.WebBrowser.WebBrowserView.WebBrowserView.hasSelection?4()
@@ -11090,6 +11190,8 @@
 eric6.WebBrowser.WebBrowserView.WebBrowserView.reload?4()
 eric6.WebBrowser.WebBrowserView.WebBrowserView.reloadBypassingCache?4()
 eric6.WebBrowser.WebBrowserView.WebBrowserView.requestFullScreen?4(enable)
+eric6.WebBrowser.WebBrowserView.WebBrowserView.safeBrowsingAbort?7
+eric6.WebBrowser.WebBrowserView.WebBrowserView.safeBrowsingBad?7
 eric6.WebBrowser.WebBrowserView.WebBrowserView.saveAs?4()
 eric6.WebBrowser.WebBrowserView.WebBrowserView.search?7
 eric6.WebBrowser.WebBrowserView.WebBrowserView.selectAll?4()
@@ -11136,6 +11238,7 @@
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._performingShutdown?8
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._performingStartup?8
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._personalInformationManager?8
+eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._safeBrowsingManager?8
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._sessionManager?8
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._speedDial?8
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._syncManager?8
@@ -11200,6 +11303,7 @@
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.preferencesChanged?4()
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.reloadUserStyleSheet?4()
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.requestVirusTotalScan?4(url)
+eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.safeBrowsingManager?4()
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.search?4(word)
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.searchEnginesAction?4()
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.sessionManager?4()
--- a/APIs/Python3/eric6.bas	Fri Aug 04 19:40:48 2017 +0200
+++ b/APIs/Python3/eric6.bas	Fri Aug 04 19:43:32 2017 +0200
@@ -683,6 +683,12 @@
 RemoveBookmarksCommand QUndoCommand
 RestructuredTextProvider MarkupBase
 SafariImporter BookmarksImporter
+SafeBrowsingAPIClient QObject
+SafeBrowsingCache QObject
+SafeBrowsingDialog QDialog Ui_SafeBrowsingDialog
+SafeBrowsingInfoWidget QMenu
+SafeBrowsingLabel QLabel
+SafeBrowsingManager QObject
 SchemeAccessHandler QObject
 SearchReplaceSlidingWidget QWidget
 SearchReplaceWidget QWidget
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Fri Aug 04 19:40:48 2017 +0200
+++ b/Documentation/Help/source.qhp	Fri Aug 04 19:43:32 2017 +0200
@@ -1224,6 +1224,17 @@
               <section title="eric6.WebBrowser.QtHelp.QtHelpDocumentationSelectionDialog" ref="eric6.WebBrowser.QtHelp.QtHelpDocumentationSelectionDialog.html" />
               <section title="eric6.WebBrowser.QtHelp.QtHelpFiltersDialog" ref="eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.html" />
             </section>
+            <section title="eric6.WebBrowser.SafeBrowsing" ref="index-eric6.WebBrowser.SafeBrowsing.html">
+              <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html" />
+              <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html" />
+              <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html" />
+              <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html" />
+              <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html" />
+              <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html" />
+              <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html" />
+              <section title="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html" />
+              <section title="eric6.WebBrowser.SafeBrowsing.__init__" ref="eric6.WebBrowser.SafeBrowsing.__init__.html" />
+            </section>
             <section title="eric6.WebBrowser.Session" ref="index-eric6.WebBrowser.Session.html">
               <section title="eric6.WebBrowser.Session.SessionManager" ref="eric6.WebBrowser.Session.SessionManager.html" />
               <section title="eric6.WebBrowser.Session.SessionManagerDialog" ref="eric6.WebBrowser.Session.SessionManagerDialog.html" />
@@ -6391,6 +6402,10 @@
       <keyword name="HTMLGenerator" id="HTMLGenerator" ref="eric6.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator" />
       <keyword name="HTMLGenerator (Constructor)" id="HTMLGenerator (Constructor)" ref="eric6.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator.__init__" />
       <keyword name="HTMLGenerator.generate" id="HTMLGenerator.generate" ref="eric6.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator.generate" />
+      <keyword name="HashPrefixList" id="HashPrefixList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#HashPrefixList" />
+      <keyword name="HashPrefixList (Constructor)" id="HashPrefixList (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#HashPrefixList.__init__" />
+      <keyword name="HashPrefixList.__iter__" id="HashPrefixList.__iter__" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#HashPrefixList.__iter__" />
+      <keyword name="HashPrefixList.__len__" id="HashPrefixList.__len__" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#HashPrefixList.__len__" />
       <keyword name="HashableWrapper" id="HashableWrapper" ref="eric6.Utilities.binplistlib.html#HashableWrapper" />
       <keyword name="HashableWrapper (Constructor)" id="HashableWrapper (Constructor)" ref="eric6.Utilities.binplistlib.html#HashableWrapper.__init__" />
       <keyword name="HashableWrapper.__repr__" id="HashableWrapper.__repr__" ref="eric6.Utilities.binplistlib.html#HashableWrapper.__repr__" />
@@ -12298,6 +12313,108 @@
       <keyword name="SafariImporter.open" id="SafariImporter.open" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter.open" />
       <keyword name="SafariImporter.setPath" id="SafariImporter.setPath" ref="eric6.Helpviewer.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter.setPath" />
       <keyword name="SafariImporter.setPath" id="SafariImporter.setPath" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter.setPath" />
+      <keyword name="SafeBrowsing (Package)" id="SafeBrowsing (Package)" ref="index-eric6.WebBrowser.SafeBrowsing.html" />
+      <keyword name="SafeBrowsingAPIClient" id="SafeBrowsingAPIClient" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient" />
+      <keyword name="SafeBrowsingAPIClient (Constructor)" id="SafeBrowsingAPIClient (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.__init__" />
+      <keyword name="SafeBrowsingAPIClient (Module)" id="SafeBrowsingAPIClient (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html" />
+      <keyword name="SafeBrowsingAPIClient.__extractData" id="SafeBrowsingAPIClient.__extractData" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.__extractData" />
+      <keyword name="SafeBrowsingAPIClient.__setWaitDuration" id="SafeBrowsingAPIClient.__setWaitDuration" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.__setWaitDuration" />
+      <keyword name="SafeBrowsingAPIClient.fairUseDelayExpired" id="SafeBrowsingAPIClient.fairUseDelayExpired" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.fairUseDelayExpired" />
+      <keyword name="SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime" id="SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime" />
+      <keyword name="SafeBrowsingAPIClient.getFullHashes" id="SafeBrowsingAPIClient.getFullHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getFullHashes" />
+      <keyword name="SafeBrowsingAPIClient.getPlatformString" id="SafeBrowsingAPIClient.getPlatformString" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getPlatformString" />
+      <keyword name="SafeBrowsingAPIClient.getPlatformTypes" id="SafeBrowsingAPIClient.getPlatformTypes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getPlatformTypes" />
+      <keyword name="SafeBrowsingAPIClient.getThreatEntryString" id="SafeBrowsingAPIClient.getThreatEntryString" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatEntryString" />
+      <keyword name="SafeBrowsingAPIClient.getThreatLists" id="SafeBrowsingAPIClient.getThreatLists" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatLists" />
+      <keyword name="SafeBrowsingAPIClient.getThreatMessage" id="SafeBrowsingAPIClient.getThreatMessage" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatMessage" />
+      <keyword name="SafeBrowsingAPIClient.getThreatType" id="SafeBrowsingAPIClient.getThreatType" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatType" />
+      <keyword name="SafeBrowsingAPIClient.getThreatsUpdate" id="SafeBrowsingAPIClient.getThreatsUpdate" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.getThreatsUpdate" />
+      <keyword name="SafeBrowsingAPIClient.setApiKey" id="SafeBrowsingAPIClient.setApiKey" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html#SafeBrowsingAPIClient.setApiKey" />
+      <keyword name="SafeBrowsingCache" id="SafeBrowsingCache" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache" />
+      <keyword name="SafeBrowsingCache (Constructor)" id="SafeBrowsingCache (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.__init__" />
+      <keyword name="SafeBrowsingCache (Module)" id="SafeBrowsingCache (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html" />
+      <keyword name="SafeBrowsingCache.__openCacheDb" id="SafeBrowsingCache.__openCacheDb" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.__openCacheDb" />
+      <keyword name="SafeBrowsingCache.addThreatList" id="SafeBrowsingCache.addThreatList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.addThreatList" />
+      <keyword name="SafeBrowsingCache.cleanupFullHashes" id="SafeBrowsingCache.cleanupFullHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.cleanupFullHashes" />
+      <keyword name="SafeBrowsingCache.close" id="SafeBrowsingCache.close" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.close" />
+      <keyword name="SafeBrowsingCache.deleteHashPrefixList" id="SafeBrowsingCache.deleteHashPrefixList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.deleteHashPrefixList" />
+      <keyword name="SafeBrowsingCache.deleteThreatList" id="SafeBrowsingCache.deleteThreatList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.deleteThreatList" />
+      <keyword name="SafeBrowsingCache.getHashPrefixValuesToRemove" id="SafeBrowsingCache.getHashPrefixValuesToRemove" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.getHashPrefixValuesToRemove" />
+      <keyword name="SafeBrowsingCache.getThreatLists" id="SafeBrowsingCache.getThreatLists" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.getThreatLists" />
+      <keyword name="SafeBrowsingCache.hashPrefixListChecksum" id="SafeBrowsingCache.hashPrefixListChecksum" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.hashPrefixListChecksum" />
+      <keyword name="SafeBrowsingCache.lookupFullHashes" id="SafeBrowsingCache.lookupFullHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.lookupFullHashes" />
+      <keyword name="SafeBrowsingCache.lookupHashPrefix" id="SafeBrowsingCache.lookupHashPrefix" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.lookupHashPrefix" />
+      <keyword name="SafeBrowsingCache.populateHashPrefixList" id="SafeBrowsingCache.populateHashPrefixList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.populateHashPrefixList" />
+      <keyword name="SafeBrowsingCache.prepareCacheDb" id="SafeBrowsingCache.prepareCacheDb" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.prepareCacheDb" />
+      <keyword name="SafeBrowsingCache.removeHashPrefixIndices" id="SafeBrowsingCache.removeHashPrefixIndices" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.removeHashPrefixIndices" />
+      <keyword name="SafeBrowsingCache.storeFullHash" id="SafeBrowsingCache.storeFullHash" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.storeFullHash" />
+      <keyword name="SafeBrowsingCache.updateHashPrefixExpiration" id="SafeBrowsingCache.updateHashPrefixExpiration" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.updateHashPrefixExpiration" />
+      <keyword name="SafeBrowsingCache.updateThreatListClientState" id="SafeBrowsingCache.updateThreatListClientState" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#SafeBrowsingCache.updateThreatListClientState" />
+      <keyword name="SafeBrowsingDialog" id="SafeBrowsingDialog" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog" />
+      <keyword name="SafeBrowsingDialog (Constructor)" id="SafeBrowsingDialog (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__init__" />
+      <keyword name="SafeBrowsingDialog (Module)" id="SafeBrowsingDialog (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html" />
+      <keyword name="SafeBrowsingDialog.__isModified" id="SafeBrowsingDialog.__isModified" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__isModified" />
+      <keyword name="SafeBrowsingDialog.__okToClose" id="SafeBrowsingDialog.__okToClose" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__okToClose" />
+      <keyword name="SafeBrowsingDialog.__resetProgress" id="SafeBrowsingDialog.__resetProgress" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__resetProgress" />
+      <keyword name="SafeBrowsingDialog.__save" id="SafeBrowsingDialog.__save" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__save" />
+      <keyword name="SafeBrowsingDialog.__setProgress" id="SafeBrowsingDialog.__setProgress" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__setProgress" />
+      <keyword name="SafeBrowsingDialog.__setProgressMessage" id="SafeBrowsingDialog.__setProgressMessage" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__setProgressMessage" />
+      <keyword name="SafeBrowsingDialog.__updateCacheButtons" id="SafeBrowsingDialog.__updateCacheButtons" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.__updateCacheButtons" />
+      <keyword name="SafeBrowsingDialog.closeEvent" id="SafeBrowsingDialog.closeEvent" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.closeEvent" />
+      <keyword name="SafeBrowsingDialog.on_buttonBox_clicked" id="SafeBrowsingDialog.on_buttonBox_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_buttonBox_clicked" />
+      <keyword name="SafeBrowsingDialog.on_clearCacheButton_clicked" id="SafeBrowsingDialog.on_clearCacheButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_clearCacheButton_clicked" />
+      <keyword name="SafeBrowsingDialog.on_gsbHelpButton_clicked" id="SafeBrowsingDialog.on_gsbHelpButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_gsbHelpButton_clicked" />
+      <keyword name="SafeBrowsingDialog.on_saveButton_clicked" id="SafeBrowsingDialog.on_saveButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_saveButton_clicked" />
+      <keyword name="SafeBrowsingDialog.on_updateCacheButton_clicked" id="SafeBrowsingDialog.on_updateCacheButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_updateCacheButton_clicked" />
+      <keyword name="SafeBrowsingDialog.on_urlCheckButton_clicked" id="SafeBrowsingDialog.on_urlCheckButton_clicked" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_urlCheckButton_clicked" />
+      <keyword name="SafeBrowsingDialog.on_urlEdit_textChanged" id="SafeBrowsingDialog.on_urlEdit_textChanged" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.on_urlEdit_textChanged" />
+      <keyword name="SafeBrowsingDialog.show" id="SafeBrowsingDialog.show" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html#SafeBrowsingDialog.show" />
+      <keyword name="SafeBrowsingHelp" id="SafeBrowsingHelp" ref="eric6.WebBrowser.SafeBrowsing.__init__.html#SafeBrowsingHelp" />
+      <keyword name="SafeBrowsingInfoWidget" id="SafeBrowsingInfoWidget" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html#SafeBrowsingInfoWidget" />
+      <keyword name="SafeBrowsingInfoWidget (Constructor)" id="SafeBrowsingInfoWidget (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html#SafeBrowsingInfoWidget.__init__" />
+      <keyword name="SafeBrowsingInfoWidget (Module)" id="SafeBrowsingInfoWidget (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html" />
+      <keyword name="SafeBrowsingInfoWidget.showAt" id="SafeBrowsingInfoWidget.showAt" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html#SafeBrowsingInfoWidget.showAt" />
+      <keyword name="SafeBrowsingLabel" id="SafeBrowsingLabel" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel" />
+      <keyword name="SafeBrowsingLabel (Constructor)" id="SafeBrowsingLabel (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.__init__" />
+      <keyword name="SafeBrowsingLabel (Module)" id="SafeBrowsingLabel (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html" />
+      <keyword name="SafeBrowsingLabel.__updateLabel" id="SafeBrowsingLabel.__updateLabel" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.__updateLabel" />
+      <keyword name="SafeBrowsingLabel.getThreatInfo" id="SafeBrowsingLabel.getThreatInfo" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.getThreatInfo" />
+      <keyword name="SafeBrowsingLabel.mouseDoubleClickEvent" id="SafeBrowsingLabel.mouseDoubleClickEvent" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.mouseDoubleClickEvent" />
+      <keyword name="SafeBrowsingLabel.mouseReleaseEvent" id="SafeBrowsingLabel.mouseReleaseEvent" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.mouseReleaseEvent" />
+      <keyword name="SafeBrowsingLabel.setThreatInfo" id="SafeBrowsingLabel.setThreatInfo" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html#SafeBrowsingLabel.setThreatInfo" />
+      <keyword name="SafeBrowsingManager" id="SafeBrowsingManager" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager" />
+      <keyword name="SafeBrowsingManager (Constructor)" id="SafeBrowsingManager (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__init__" />
+      <keyword name="SafeBrowsingManager (Module)" id="SafeBrowsingManager (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html" />
+      <keyword name="SafeBrowsingManager.__lookupHashes" id="SafeBrowsingManager.__lookupHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__lookupHashes" />
+      <keyword name="SafeBrowsingManager.__setPlatforms" id="SafeBrowsingManager.__setPlatforms" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__setPlatforms" />
+      <keyword name="SafeBrowsingManager.__syncFullHashes" id="SafeBrowsingManager.__syncFullHashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__syncFullHashes" />
+      <keyword name="SafeBrowsingManager.__verifyThreatListChecksum" id="SafeBrowsingManager.__verifyThreatListChecksum" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.__verifyThreatListChecksum" />
+      <keyword name="SafeBrowsingManager.close" id="SafeBrowsingManager.close" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.close" />
+      <keyword name="SafeBrowsingManager.configurationChanged" id="SafeBrowsingManager.configurationChanged" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.configurationChanged" />
+      <keyword name="SafeBrowsingManager.fairUseDelayExpired" id="SafeBrowsingManager.fairUseDelayExpired" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.fairUseDelayExpired" />
+      <keyword name="SafeBrowsingManager.fullCacheCleanup" id="SafeBrowsingManager.fullCacheCleanup" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.fullCacheCleanup" />
+      <keyword name="SafeBrowsingManager.getIgnoreSchemes" id="SafeBrowsingManager.getIgnoreSchemes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getIgnoreSchemes" />
+      <keyword name="SafeBrowsingManager.getPlatformString" id="SafeBrowsingManager.getPlatformString" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getPlatformString" />
+      <keyword name="SafeBrowsingManager.getThreatEntryString" id="SafeBrowsingManager.getThreatEntryString" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getThreatEntryString" />
+      <keyword name="SafeBrowsingManager.getThreatMessage" id="SafeBrowsingManager.getThreatMessage" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getThreatMessage" />
+      <keyword name="SafeBrowsingManager.getThreatMessages" id="SafeBrowsingManager.getThreatMessages" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getThreatMessages" />
+      <keyword name="SafeBrowsingManager.getThreatType" id="SafeBrowsingManager.getThreatType" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.getThreatType" />
+      <keyword name="SafeBrowsingManager.isEnabled" id="SafeBrowsingManager.isEnabled" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.isEnabled" />
+      <keyword name="SafeBrowsingManager.lookupUrl" id="SafeBrowsingManager.lookupUrl" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.lookupUrl" />
+      <keyword name="SafeBrowsingManager.showSafeBrowsingDialog" id="SafeBrowsingManager.showSafeBrowsingDialog" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.showSafeBrowsingDialog" />
+      <keyword name="SafeBrowsingManager.updateHashPrefixCache" id="SafeBrowsingManager.updateHashPrefixCache" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html#SafeBrowsingManager.updateHashPrefixCache" />
+      <keyword name="SafeBrowsingUrl" id="SafeBrowsingUrl" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl" />
+      <keyword name="SafeBrowsingUrl (Constructor)" id="SafeBrowsingUrl (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.__init__" />
+      <keyword name="SafeBrowsingUrl (Module)" id="SafeBrowsingUrl (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html" />
+      <keyword name="SafeBrowsingUrl.canonical" id="SafeBrowsingUrl.canonical" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.canonical" />
+      <keyword name="SafeBrowsingUrl.digest" id="SafeBrowsingUrl.digest" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.digest" />
+      <keyword name="SafeBrowsingUrl.fullUnescape" id="SafeBrowsingUrl.fullUnescape" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.fullUnescape" />
+      <keyword name="SafeBrowsingUrl.hashes" id="SafeBrowsingUrl.hashes" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.hashes" />
+      <keyword name="SafeBrowsingUrl.hostPermutations" id="SafeBrowsingUrl.hostPermutations" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.hostPermutations" />
+      <keyword name="SafeBrowsingUrl.pathPermutations" id="SafeBrowsingUrl.pathPermutations" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.pathPermutations" />
+      <keyword name="SafeBrowsingUrl.permutations" id="SafeBrowsingUrl.permutations" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.permutations" />
+      <keyword name="SafeBrowsingUrl.quote" id="SafeBrowsingUrl.quote" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html#SafeBrowsingUrl.quote" />
+      <keyword name="SafeBrowsingUtilities (Module)" id="SafeBrowsingUtilities (Module)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html" />
       <keyword name="SchemeAccessHandler" id="SchemeAccessHandler" ref="eric6.Helpviewer.Network.SchemeAccessHandler.html#SchemeAccessHandler" />
       <keyword name="SchemeAccessHandler (Constructor)" id="SchemeAccessHandler (Constructor)" ref="eric6.Helpviewer.Network.SchemeAccessHandler.html#SchemeAccessHandler.__init__" />
       <keyword name="SchemeAccessHandler (Module)" id="SchemeAccessHandler (Module)" ref="eric6.Helpviewer.Network.SchemeAccessHandler.html" />
@@ -14549,6 +14666,11 @@
       <keyword name="ThreadExtension.updateThreadList" id="ThreadExtension.updateThreadList" ref="eric6.DebugClients.Python.ThreadExtension.html#ThreadExtension.updateThreadList" />
       <keyword name="ThreadWrapper" id="ThreadWrapper" ref="eric6.DebugClients.Python.ThreadExtension.html#ThreadWrapper" />
       <keyword name="ThreadWrapper (Constructor)" id="ThreadWrapper (Constructor)" ref="eric6.DebugClients.Python.ThreadExtension.html#ThreadWrapper.__init__" />
+      <keyword name="ThreatList" id="ThreatList" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList" />
+      <keyword name="ThreatList (Constructor)" id="ThreatList (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList.__init__" />
+      <keyword name="ThreatList.__repr__" id="ThreatList.__repr__" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList.__repr__" />
+      <keyword name="ThreatList.asTuple" id="ThreatList.asTuple" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList.asTuple" />
+      <keyword name="ThreatList.fromApiEntry" id="ThreatList.fromApiEntry" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html#ThreatList.fromApiEntry" />
       <keyword name="Token" id="Token" ref="eric6.DataViews.CodeMetrics.html#Token" />
       <keyword name="Token" id="Token" ref="eric6.E5Network.E5RFC6266.html#Token" />
       <keyword name="Token (Constructor)" id="Token (Constructor)" ref="eric6.DataViews.CodeMetrics.html#Token.__init__" />
@@ -14832,6 +14954,7 @@
       <keyword name="UrlBar.__setRssButton" id="UrlBar.__setRssButton" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__setRssButton" />
       <keyword name="UrlBar.__showBookmarkInfo" id="UrlBar.__showBookmarkInfo" ref="eric6.Helpviewer.UrlBar.UrlBar.html#UrlBar.__showBookmarkInfo" />
       <keyword name="UrlBar.__showBookmarkInfo" id="UrlBar.__showBookmarkInfo" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__showBookmarkInfo" />
+      <keyword name="UrlBar.__showThreatInfo" id="UrlBar.__showThreatInfo" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__showThreatInfo" />
       <keyword name="UrlBar.__textChanged" id="UrlBar.__textChanged" ref="eric6.Helpviewer.UrlBar.UrlBar.html#UrlBar.__textChanged" />
       <keyword name="UrlBar.__textChanged" id="UrlBar.__textChanged" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__textChanged" />
       <keyword name="UrlBar.browser" id="UrlBar.browser" ref="eric6.Helpviewer.UrlBar.UrlBar.html#UrlBar.browser" />
@@ -15848,6 +15971,7 @@
       <keyword name="WebBrowserPage.certificateError" id="WebBrowserPage.certificateError" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.certificateError" />
       <keyword name="WebBrowserPage.execJavaScript" id="WebBrowserPage.execJavaScript" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.execJavaScript" />
       <keyword name="WebBrowserPage.execPrintPage" id="WebBrowserPage.execPrintPage" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.execPrintPage" />
+      <keyword name="WebBrowserPage.getSafeBrowsingStatus" id="WebBrowserPage.getSafeBrowsingStatus" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.getSafeBrowsingStatus" />
       <keyword name="WebBrowserPage.hitTestContent" id="WebBrowserPage.hitTestContent" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.hitTestContent" />
       <keyword name="WebBrowserPage.icon" id="WebBrowserPage.icon" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.icon" />
       <keyword name="WebBrowserPage.isJavaScriptEnabled" id="WebBrowserPage.isJavaScriptEnabled" ref="eric6.WebBrowser.WebBrowserPage.html#WebBrowserPage.isJavaScriptEnabled" />
@@ -15961,6 +16085,7 @@
       <keyword name="WebBrowserView.__createImageContextMenu" id="WebBrowserView.__createImageContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createImageContextMenu" />
       <keyword name="WebBrowserView.__createLinkContextMenu" id="WebBrowserView.__createLinkContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createLinkContextMenu" />
       <keyword name="WebBrowserView.__createMediaContextMenu" id="WebBrowserView.__createMediaContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createMediaContextMenu" />
+      <keyword name="WebBrowserView.__createNewPage" id="WebBrowserView.__createNewPage" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createNewPage" />
       <keyword name="WebBrowserView.__createPageContextMenu" id="WebBrowserView.__createPageContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createPageContextMenu" />
       <keyword name="WebBrowserView.__createSelectedTextContextMenu" id="WebBrowserView.__createSelectedTextContextMenu" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__createSelectedTextContextMenu" />
       <keyword name="WebBrowserView.__currentEngineChanged" id="WebBrowserView.__currentEngineChanged" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.__currentEngineChanged" />
@@ -16025,6 +16150,7 @@
       <keyword name="WebBrowserView.forward" id="WebBrowserView.forward" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.forward" />
       <keyword name="WebBrowserView.getPreview" id="WebBrowserView.getPreview" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getPreview" />
       <keyword name="WebBrowserView.getRSS" id="WebBrowserView.getRSS" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getRSS" />
+      <keyword name="WebBrowserView.getSafeBrowsingStatus" id="WebBrowserView.getSafeBrowsingStatus" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getSafeBrowsingStatus" />
       <keyword name="WebBrowserView.getSessionData" id="WebBrowserView.getSessionData" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getSessionData" />
       <keyword name="WebBrowserView.hasRSS" id="WebBrowserView.hasRSS" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.hasRSS" />
       <keyword name="WebBrowserView.hasSelection" id="WebBrowserView.hasSelection" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.hasSelection" />
@@ -16166,6 +16292,7 @@
       <keyword name="WebBrowserWindow.__showPasswordsDialog" id="WebBrowserWindow.__showPasswordsDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showPasswordsDialog" />
       <keyword name="WebBrowserWindow.__showPersonalInformationDialog" id="WebBrowserWindow.__showPersonalInformationDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showPersonalInformationDialog" />
       <keyword name="WebBrowserWindow.__showPreferences" id="WebBrowserWindow.__showPreferences" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showPreferences" />
+      <keyword name="WebBrowserWindow.__showSafeBrowsingDialog" id="WebBrowserWindow.__showSafeBrowsingDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showSafeBrowsingDialog" />
       <keyword name="WebBrowserWindow.__showSearchWindow" id="WebBrowserWindow.__showSearchWindow" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showSearchWindow" />
       <keyword name="WebBrowserWindow.__showSessionManagerDialog" id="WebBrowserWindow.__showSessionManagerDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showSessionManagerDialog" />
       <keyword name="WebBrowserWindow.__showSiteinfoDialog" id="WebBrowserWindow.__showSiteinfoDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showSiteinfoDialog" />
@@ -16253,6 +16380,7 @@
       <keyword name="WebBrowserWindow.preferencesChanged" id="WebBrowserWindow.preferencesChanged" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.preferencesChanged" />
       <keyword name="WebBrowserWindow.reloadUserStyleSheet" id="WebBrowserWindow.reloadUserStyleSheet" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.reloadUserStyleSheet" />
       <keyword name="WebBrowserWindow.requestVirusTotalScan" id="WebBrowserWindow.requestVirusTotalScan" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.requestVirusTotalScan" />
+      <keyword name="WebBrowserWindow.safeBrowsingManager" id="WebBrowserWindow.safeBrowsingManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.safeBrowsingManager" />
       <keyword name="WebBrowserWindow.search" id="WebBrowserWindow.search" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.search" />
       <keyword name="WebBrowserWindow.searchEnginesAction" id="WebBrowserWindow.searchEnginesAction" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.searchEnginesAction" />
       <keyword name="WebBrowserWindow.sessionManager" id="WebBrowserWindow.sessionManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.sessionManager" />
@@ -17274,6 +17402,8 @@
       <keyword name="toByteArray" id="toByteArray" ref="eric6.Preferences.__init__.html#toByteArray" />
       <keyword name="toDict" id="toDict" ref="eric6.Globals.__init__.html#toDict" />
       <keyword name="toDict" id="toDict" ref="eric6.Preferences.__init__.html#toDict" />
+      <keyword name="toHex" id="toHex" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html#toHex" />
+      <keyword name="toHex_1" id="toHex_1" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html#toHex_1" />
       <keyword name="toList" id="toList" ref="eric6.Globals.__init__.html#toList" />
       <keyword name="toList" id="toList" ref="eric6.Preferences.__init__.html#toList" />
       <keyword name="toNativeSeparators" id="toNativeSeparators" ref="eric6.Utilities.__init__.html#toNativeSeparators" />
@@ -18289,6 +18419,15 @@
       <file>eric6.WebBrowser.QtHelp.QtHelpDocumentationDialog.html</file>
       <file>eric6.WebBrowser.QtHelp.QtHelpDocumentationSelectionDialog.html</file>
       <file>eric6.WebBrowser.QtHelp.QtHelpFiltersDialog.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html</file>
+      <file>eric6.WebBrowser.SafeBrowsing.__init__.html</file>
       <file>eric6.WebBrowser.SearchWidget.html</file>
       <file>eric6.WebBrowser.Session.SessionManager.html</file>
       <file>eric6.WebBrowser.Session.SessionManagerDialog.html</file>
@@ -18515,6 +18654,7 @@
       <file>index-eric6.WebBrowser.Passwords.html</file>
       <file>index-eric6.WebBrowser.PersonalInformationManager.html</file>
       <file>index-eric6.WebBrowser.QtHelp.html</file>
+      <file>index-eric6.WebBrowser.SafeBrowsing.html</file>
       <file>index-eric6.WebBrowser.Session.html</file>
       <file>index-eric6.WebBrowser.SiteInfo.html</file>
       <file>index-eric6.WebBrowser.SpeedDial.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,370 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient</h1>
+<p>
+Module implementing the low level interface for Google Safe Browsing.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingAPIClient">SafeBrowsingAPIClient</a></td>
+<td>Class implementing the low level interface for Google Safe Browsing.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="SafeBrowsingAPIClient" ID="SafeBrowsingAPIClient"></a>
+<h2>SafeBrowsingAPIClient</h2>
+<p>
+    Class implementing the low level interface for Google Safe Browsing.
+</p><h3>Signals</h3>
+<dl>
+<dt>networkError(str)</dt>
+<dd>
+emitted to indicate a network error
+</dd>
+</dl>
+<h3>Derived from</h3>
+QObject
+<h3>Class Attributes</h3>
+<table>
+<tr><td>ClientId</td></tr><tr><td>ClientVersion</td></tr><tr><td>GsbUrlTemplate</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingAPIClient.getPlatformString">getPlatformString</a></td>
+<td>Class method to get the platform string for a given platform type.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.getPlatformTypes">getPlatformTypes</a></td>
+<td>Class method to get the platform types for a given platform.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.getThreatEntryString">getThreatEntryString</a></td>
+<td>Class method to get the threat entry string.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.getThreatMessage">getThreatMessage</a></td>
+<td>Class method to get a warning message for the given threat type.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.getThreatType">getThreatType</a></td>
+<td>Class method to get a display string for a given threat type.</td>
+</tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingAPIClient.__init__">SafeBrowsingAPIClient</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.__extractData">__extractData</a></td>
+<td>Private method to extract the data of a network reply.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.__setWaitDuration">__setWaitDuration</a></td>
+<td>Private method to set the minimum wait duration.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.fairUseDelayExpired">fairUseDelayExpired</a></td>
+<td>Public method to check, if the fair use wait period has expired.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime">getFairUseDelayExpirationDateTime</a></td>
+<td>Public method to get the date and time the fair use delay will expire.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.getFullHashes">getFullHashes</a></td>
+<td>Public method to find full hashes matching hash prefixes.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.getThreatLists">getThreatLists</a></td>
+<td>Public method to retrieve all available threat lists.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.getThreatsUpdate">getThreatsUpdate</a></td>
+<td>Public method to fetch hash prefix updates for the given threat list.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingAPIClient.setApiKey">setApiKey</a></td>
+<td>Public method to set the API key.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="SafeBrowsingAPIClient.getPlatformString" ID="SafeBrowsingAPIClient.getPlatformString"></a>
+<h4>SafeBrowsingAPIClient.getPlatformString (class method)</h4>
+<b>getPlatformString</b>(<i>platformType</i>)
+<p>
+        Class method to get the platform string for a given platform type.
+</p><dl>
+<dt><i>platformType</i> (str)</dt>
+<dd>
+platform type as defined in the v4 API
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+platform string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.getPlatformTypes" ID="SafeBrowsingAPIClient.getPlatformTypes"></a>
+<h4>SafeBrowsingAPIClient.getPlatformTypes (class method)</h4>
+<b>getPlatformTypes</b>(<i>platform</i>)
+<p>
+        Class method to get the platform types for a given platform.
+</p><dl>
+<dt><i>platform</i> (str (one of 'linux', 'windows', 'macos'))</dt>
+<dd>
+platform string
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of platform types as defined in the v4 API for the
+            given platform
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of str
+</dd>
+</dl><dl>
+<dt>Raises <b>ValueError</b>:</dt>
+<dd>
+raised to indicate an invalid platform string
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.getThreatEntryString" ID="SafeBrowsingAPIClient.getThreatEntryString"></a>
+<h4>SafeBrowsingAPIClient.getThreatEntryString (class method)</h4>
+<b>getThreatEntryString</b>(<i>threatEntry</i>)
+<p>
+        Class method to get the threat entry string.
+</p><dl>
+<dt><i>threatEntry</i> (str)</dt>
+<dd>
+threat entry type as defined in the v4 API
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+threat entry string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.getThreatMessage" ID="SafeBrowsingAPIClient.getThreatMessage"></a>
+<h4>SafeBrowsingAPIClient.getThreatMessage (class method)</h4>
+<b>getThreatMessage</b>(<i>threatType</i>)
+<p>
+        Class method to get a warning message for the given threat type.
+</p><dl>
+<dt><i>threatType</i> (str)</dt>
+<dd>
+threat type to get the message for
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+threat message
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.getThreatType" ID="SafeBrowsingAPIClient.getThreatType"></a>
+<h4>SafeBrowsingAPIClient.getThreatType (class method)</h4>
+<b>getThreatType</b>(<i>threatType</i>)
+<p>
+        Class method to get a display string for a given threat type.
+</p><dl>
+<dt><i>threatType</i> (str)</dt>
+<dd>
+threat type to get display string for
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+display string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.__init__" ID="SafeBrowsingAPIClient.__init__"></a>
+<h4>SafeBrowsingAPIClient (Constructor)</h4>
+<b>SafeBrowsingAPIClient</b>(<i>apiKey, fairUse=True, parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>apiKey</i> (str)</dt>
+<dd>
+API key to be used
+</dd><dt><i>fairUse</i> (bool)</dt>
+<dd>
+flag indicating to follow the fair use policy
+</dd><dt><i>parent</i> (QObject)</dt>
+<dd>
+reference to the parent object
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.__extractData" ID="SafeBrowsingAPIClient.__extractData"></a>
+<h4>SafeBrowsingAPIClient.__extractData</h4>
+<b>__extractData</b>(<i>reply</i>)
+<p>
+        Private method to extract the data of a network reply.
+</p><dl>
+<dt><i>reply</i> (QNetworkReply)</dt>
+<dd>
+reference to the network reply object
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+extracted data
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list or dict
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.__setWaitDuration" ID="SafeBrowsingAPIClient.__setWaitDuration"></a>
+<h4>SafeBrowsingAPIClient.__setWaitDuration</h4>
+<b>__setWaitDuration</b>(<i>minimumWaitDuration</i>)
+<p>
+        Private method to set the minimum wait duration.
+</p><dl>
+<dt><i>minimumWaitDuration</i> (str)</dt>
+<dd>
+duration to be set
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.fairUseDelayExpired" ID="SafeBrowsingAPIClient.fairUseDelayExpired"></a>
+<h4>SafeBrowsingAPIClient.fairUseDelayExpired</h4>
+<b>fairUseDelayExpired</b>(<i></i>)
+<p>
+        Public method to check, if the fair use wait period has expired.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating expiration
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime" ID="SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime"></a>
+<h4>SafeBrowsingAPIClient.getFairUseDelayExpirationDateTime</h4>
+<b>getFairUseDelayExpirationDateTime</b>(<i></i>)
+<p>
+        Public method to get the date and time the fair use delay will expire.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+fair use delay expiration date and time
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+QDateTime
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.getFullHashes" ID="SafeBrowsingAPIClient.getFullHashes"></a>
+<h4>SafeBrowsingAPIClient.getFullHashes</h4>
+<b>getFullHashes</b>(<i>prefixes, clientState</i>)
+<p>
+        Public method to find full hashes matching hash prefixes.
+</p><dl>
+<dt><i>prefixes</i> (list of str (Python 2) or list of bytes (Python 3))</dt>
+<dd>
+list of hash prefixes to find
+</dd><dt><i>clientState</i> (dict)</dt>
+<dd>
+dictionary of client states with keys like
+            (threatType, platformType, threatEntryType)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+dictionary containing the list of found hashes and the
+            negative cache duration
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+dict
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.getThreatLists" ID="SafeBrowsingAPIClient.getThreatLists"></a>
+<h4>SafeBrowsingAPIClient.getThreatLists</h4>
+<b>getThreatLists</b>(<i></i>)
+<p>
+        Public method to retrieve all available threat lists.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+list of threat lists
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of dict containing 'threatType', 'platformType' and
+            'threatEntryType'
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.getThreatsUpdate" ID="SafeBrowsingAPIClient.getThreatsUpdate"></a>
+<h4>SafeBrowsingAPIClient.getThreatsUpdate</h4>
+<b>getThreatsUpdate</b>(<i>clientStates</i>)
+<p>
+        Public method to fetch hash prefix updates for the given threat list.
+</p><dl>
+<dt><i>clientStates</i> (dict)</dt>
+<dd>
+dictionary of client states with keys like
+            (threatType, platformType, threatEntryType)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of threat updates
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of dict
+</dd>
+</dl><a NAME="SafeBrowsingAPIClient.setApiKey" ID="SafeBrowsingAPIClient.setApiKey"></a>
+<h4>SafeBrowsingAPIClient.setApiKey</h4>
+<b>setApiKey</b>(<i>apiKey</i>)
+<p>
+        Public method to set the API key.
+</p><dl>
+<dt><i>apiKey</i> (str)</dt>
+<dd>
+API key to be set
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,569 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache</h1>
+<p>
+Module implementing a cache for Google Safe Browsing.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#HashPrefixList">HashPrefixList</a></td>
+<td>Class implementing a container for threat list data.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache">SafeBrowsingCache</a></td>
+<td>Class implementing a cache for Google Safe Browsing.</td>
+</tr><tr>
+<td><a href="#ThreatList">ThreatList</a></td>
+<td>Class implementing the threat list info.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="HashPrefixList" ID="HashPrefixList"></a>
+<h2>HashPrefixList</h2>
+<p>
+    Class implementing a container for threat list data.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#HashPrefixList.__init__">HashPrefixList</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#HashPrefixList.__iter__">__iter__</a></td>
+<td>Special method to iterate over the raw hashes.</td>
+</tr><tr>
+<td><a href="#HashPrefixList.__len__">__len__</a></td>
+<td>Special method to calculate the number of entries.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="HashPrefixList.__init__" ID="HashPrefixList.__init__"></a>
+<h4>HashPrefixList (Constructor)</h4>
+<b>HashPrefixList</b>(<i>prefixLength, rawHashes</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>prefixLength</i> (int)</dt>
+<dd>
+length of each hash prefix
+</dd><dt><i>rawHashes</i> (str)</dt>
+<dd>
+raw hash prefixes of given length concatenated and
+            sorted in lexicographical order
+</dd>
+</dl><a NAME="HashPrefixList.__iter__" ID="HashPrefixList.__iter__"></a>
+<h4>HashPrefixList.__iter__</h4>
+<b>__iter__</b>(<i></i>)
+<p>
+        Special method to iterate over the raw hashes.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+iterator object
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+iterator
+</dd>
+</dl><a NAME="HashPrefixList.__len__" ID="HashPrefixList.__len__"></a>
+<h4>HashPrefixList.__len__</h4>
+<b>__len__</b>(<i></i>)
+<p>
+        Special method to calculate the number of entries.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+length
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+int
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="SafeBrowsingCache" ID="SafeBrowsingCache"></a>
+<h2>SafeBrowsingCache</h2>
+<p>
+    Class implementing a cache for Google Safe Browsing.
+</p>
+<h3>Derived from</h3>
+QObject
+<h3>Class Attributes</h3>
+<table>
+<tr><td>create_full_hash_cue_idx</td></tr><tr><td>create_full_hash_expires_idx</td></tr><tr><td>create_full_hash_value_idx</td></tr><tr><td>create_full_hashes_stmt</td></tr><tr><td>create_hash_prefix_stmt</td></tr><tr><td>create_threat_list_stmt</td></tr><tr><td>drop_full_hash_cue_idx</td></tr><tr><td>drop_full_hash_expires_idx</td></tr><tr><td>drop_full_hash_value_idx</td></tr><tr><td>drop_full_hashes_stmt</td></tr><tr><td>drop_hash_prefix_stmt</td></tr><tr><td>drop_threat_list_stmt</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingCache.__init__">SafeBrowsingCache</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.__openCacheDb">__openCacheDb</a></td>
+<td>Private method to open the cache database.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.addThreatList">addThreatList</a></td>
+<td>Public method to add a threat list to the cache.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.cleanupFullHashes">cleanupFullHashes</a></td>
+<td>Public method to clean up full hash entries expired more than the given time.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.close">close</a></td>
+<td>Public method to close the database.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.deleteHashPrefixList">deleteHashPrefixList</a></td>
+<td>Public method to delete hash prefixes for a given threat list.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.deleteThreatList">deleteThreatList</a></td>
+<td>Public method to delete a threat list from the cache.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.getHashPrefixValuesToRemove">getHashPrefixValuesToRemove</a></td>
+<td>Public method to get the hash prefix values to be removed from the cache.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.getThreatLists">getThreatLists</a></td>
+<td>Public method to get the available threat lists.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.hashPrefixListChecksum">hashPrefixListChecksum</a></td>
+<td>Public method to calculate the SHA256 checksum for an alphabetically sorted concatenated list of hash prefixes.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.lookupFullHashes">lookupFullHashes</a></td>
+<td>Public method to get a list of threat lists and expiration flag for the given hashes if a hash is blacklisted.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.lookupHashPrefix">lookupHashPrefix</a></td>
+<td>Public method to look up hash prefixes in the local cache.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.populateHashPrefixList">populateHashPrefixList</a></td>
+<td>Public method to populate the hash prefixes for a threat list.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.prepareCacheDb">prepareCacheDb</a></td>
+<td>Public method to prepare the cache database.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.removeHashPrefixIndices">removeHashPrefixIndices</a></td>
+<td>Public method to remove hash prefixes from the cache.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.storeFullHash">storeFullHash</a></td>
+<td>Public method to store full hash data in the cache database.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.updateHashPrefixExpiration">updateHashPrefixExpiration</a></td>
+<td>Public method to update the hash prefix expiration time.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingCache.updateThreatListClientState">updateThreatListClientState</a></td>
+<td>Public method to update the client state of a threat list.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="SafeBrowsingCache.__init__" ID="SafeBrowsingCache.__init__"></a>
+<h4>SafeBrowsingCache (Constructor)</h4>
+<b>SafeBrowsingCache</b>(<i>dbPath, parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>dbPath</i> (str)</dt>
+<dd>
+path to store the cache DB into
+</dd><dt><i>parent</i> (QObject)</dt>
+<dd>
+reference to the parent object
+</dd>
+</dl><a NAME="SafeBrowsingCache.__openCacheDb" ID="SafeBrowsingCache.__openCacheDb"></a>
+<h4>SafeBrowsingCache.__openCacheDb</h4>
+<b>__openCacheDb</b>(<i></i>)
+<p>
+        Private method to open the cache database.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating the open state
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="SafeBrowsingCache.addThreatList" ID="SafeBrowsingCache.addThreatList"></a>
+<h4>SafeBrowsingCache.addThreatList</h4>
+<b>addThreatList</b>(<i>threatList</i>)
+<p>
+        Public method to add a threat list to the cache.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list to be added
+</dd>
+</dl><a NAME="SafeBrowsingCache.cleanupFullHashes" ID="SafeBrowsingCache.cleanupFullHashes"></a>
+<h4>SafeBrowsingCache.cleanupFullHashes</h4>
+<b>cleanupFullHashes</b>(<i>keepExpiredFor=43200</i>)
+<p>
+        Public method to clean up full hash entries expired more than the
+        given time.
+</p><dl>
+<dt><i>keepExpiredFor</i> (int or float)</dt>
+<dd>
+time period in seconds of entries to be expired
+</dd>
+</dl><a NAME="SafeBrowsingCache.close" ID="SafeBrowsingCache.close"></a>
+<h4>SafeBrowsingCache.close</h4>
+<b>close</b>(<i></i>)
+<p>
+        Public method to close the database.
+</p><a NAME="SafeBrowsingCache.deleteHashPrefixList" ID="SafeBrowsingCache.deleteHashPrefixList"></a>
+<h4>SafeBrowsingCache.deleteHashPrefixList</h4>
+<b>deleteHashPrefixList</b>(<i>threatList</i>)
+<p>
+        Public method to delete hash prefixes for a given threat list.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list info object
+</dd>
+</dl><a NAME="SafeBrowsingCache.deleteThreatList" ID="SafeBrowsingCache.deleteThreatList"></a>
+<h4>SafeBrowsingCache.deleteThreatList</h4>
+<b>deleteThreatList</b>(<i>threatList</i>)
+<p>
+        Public method to delete a threat list from the cache.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list to be deleted
+</dd>
+</dl><a NAME="SafeBrowsingCache.getHashPrefixValuesToRemove" ID="SafeBrowsingCache.getHashPrefixValuesToRemove"></a>
+<h4>SafeBrowsingCache.getHashPrefixValuesToRemove</h4>
+<b>getHashPrefixValuesToRemove</b>(<i>threatList, indexes</i>)
+<p>
+        Public method to get the hash prefix values to be removed from the
+        cache.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list to remove prefixes from
+</dd><dt><i>indexes</i> (list of int)</dt>
+<dd>
+list of indexes of prefixes to be removed
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of hash prefixes to be removed
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of bytes
+</dd>
+</dl><a NAME="SafeBrowsingCache.getThreatLists" ID="SafeBrowsingCache.getThreatLists"></a>
+<h4>SafeBrowsingCache.getThreatLists</h4>
+<b>getThreatLists</b>(<i></i>)
+<p>
+        Public method to get the available threat lists.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+list of available threat lists
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of tuples of (ThreatList, str)
+</dd>
+</dl><a NAME="SafeBrowsingCache.hashPrefixListChecksum" ID="SafeBrowsingCache.hashPrefixListChecksum"></a>
+<h4>SafeBrowsingCache.hashPrefixListChecksum</h4>
+<b>hashPrefixListChecksum</b>(<i>threatList</i>)
+<p>
+        Public method to calculate the SHA256 checksum for an alphabetically
+        sorted concatenated list of hash prefixes.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list to calculate checksum for
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+SHA256 checksum
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bytes
+</dd>
+</dl><a NAME="SafeBrowsingCache.lookupFullHashes" ID="SafeBrowsingCache.lookupFullHashes"></a>
+<h4>SafeBrowsingCache.lookupFullHashes</h4>
+<b>lookupFullHashes</b>(<i>hashValues</i>)
+<p>
+        Public method to get a list of threat lists and expiration flag
+        for the given hashes if a hash is blacklisted.
+</p><dl>
+<dt><i>hashValues</i> (list of bytes)</dt>
+<dd>
+list of hash values to look up
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of tuples containing the threat list info and the
+            expiration flag
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of tuple of (ThreatList, bool)
+</dd>
+</dl><a NAME="SafeBrowsingCache.lookupHashPrefix" ID="SafeBrowsingCache.lookupHashPrefix"></a>
+<h4>SafeBrowsingCache.lookupHashPrefix</h4>
+<b>lookupHashPrefix</b>(<i>prefixes</i>)
+<p>
+        Public method to look up hash prefixes in the local cache.
+</p><dl>
+<dt><i>prefixes</i> (list of bytes)</dt>
+<dd>
+list of hash prefixes to look up
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of tuples containing the threat list, full hash and
+            negative cache expiration flag
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of tuple of (ThreatList, bytes, bool)
+</dd>
+</dl><a NAME="SafeBrowsingCache.populateHashPrefixList" ID="SafeBrowsingCache.populateHashPrefixList"></a>
+<h4>SafeBrowsingCache.populateHashPrefixList</h4>
+<b>populateHashPrefixList</b>(<i>threatList, prefixes</i>)
+<p>
+        Public method to populate the hash prefixes for a threat list.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list of the hash prefixes
+</dd><dt><i>prefixes</i> (HashPrefixList)</dt>
+<dd>
+list of hash prefixes to be inserted
+</dd>
+</dl><a NAME="SafeBrowsingCache.prepareCacheDb" ID="SafeBrowsingCache.prepareCacheDb"></a>
+<h4>SafeBrowsingCache.prepareCacheDb</h4>
+<b>prepareCacheDb</b>(<i></i>)
+<p>
+        Public method to prepare the cache database.
+</p><a NAME="SafeBrowsingCache.removeHashPrefixIndices" ID="SafeBrowsingCache.removeHashPrefixIndices"></a>
+<h4>SafeBrowsingCache.removeHashPrefixIndices</h4>
+<b>removeHashPrefixIndices</b>(<i>threatList, indexes</i>)
+<p>
+        Public method to remove hash prefixes from the cache.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list to delete hash prefixes of
+</dd><dt><i>indexes</i> (list of int)</dt>
+<dd>
+list of indexes of prefixes to be removed
+</dd>
+</dl><a NAME="SafeBrowsingCache.storeFullHash" ID="SafeBrowsingCache.storeFullHash"></a>
+<h4>SafeBrowsingCache.storeFullHash</h4>
+<b>storeFullHash</b>(<i>threatList, hashValue, cacheDuration, malwareThreatType</i>)
+<p>
+        Public method to store full hash data in the cache database.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list info object
+</dd><dt><i>hashValue</i> (bytes)</dt>
+<dd>
+hash to be stored
+</dd><dt><i>cacheDuration</i> (int or float)</dt>
+<dd>
+duration the data should remain in the cache
+</dd><dt><i>malwareThreatType</i> (str)</dt>
+<dd>
+threat type of the malware
+</dd>
+</dl><a NAME="SafeBrowsingCache.updateHashPrefixExpiration" ID="SafeBrowsingCache.updateHashPrefixExpiration"></a>
+<h4>SafeBrowsingCache.updateHashPrefixExpiration</h4>
+<b>updateHashPrefixExpiration</b>(<i>threatList, hashPrefix, negativeCacheDuration</i>)
+<p>
+        Public method to update the hash prefix expiration time.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list info object
+</dd><dt><i>hashPrefix</i> (bytes)</dt>
+<dd>
+hash prefix
+</dd><dt><i>negativeCacheDuration</i> (int or float)</dt>
+<dd>
+time in seconds the entry should remain
+            in the cache
+</dd>
+</dl><a NAME="SafeBrowsingCache.updateThreatListClientState" ID="SafeBrowsingCache.updateThreatListClientState"></a>
+<h4>SafeBrowsingCache.updateThreatListClientState</h4>
+<b>updateThreatListClientState</b>(<i>threatList, clientState</i>)
+<p>
+        Public method to update the client state of a threat list.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list to update the client state for
+</dd><dt><i>clientState</i> (str)</dt>
+<dd>
+new client state
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="ThreatList" ID="ThreatList"></a>
+<h2>ThreatList</h2>
+<p>
+    Class implementing the threat list info.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr>
+<td><a href="#ThreatList.fromApiEntry">fromApiEntry</a></td>
+<td>Class method to instantiate a threat list given a threat list entry dictionary.</td>
+</tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#ThreatList.__init__">ThreatList</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#ThreatList.__repr__">__repr__</a></td>
+<td>Special method to generate a printable representation.</td>
+</tr><tr>
+<td><a href="#ThreatList.asTuple">asTuple</a></td>
+<td>Public method to convert the object to a tuple.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="ThreatList.fromApiEntry" ID="ThreatList.fromApiEntry"></a>
+<h4>ThreatList.fromApiEntry (class method)</h4>
+<b>fromApiEntry</b>(<i>entry</i>)
+<p>
+        Class method to instantiate a threat list given a threat list entry
+        dictionary.
+</p><dl>
+<dt><i>entry</i> (dict)</dt>
+<dd>
+threat list entry dictionary
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+instantiated object
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+ThreatList
+</dd>
+</dl><a NAME="ThreatList.__init__" ID="ThreatList.__init__"></a>
+<h4>ThreatList (Constructor)</h4>
+<b>ThreatList</b>(<i>threatType, platformType, threatEntryType</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>threatType</i> (str)</dt>
+<dd>
+threat type
+</dd><dt><i>platformType</i> (str)</dt>
+<dd>
+platform type
+</dd><dt><i>threatEntryType</i> (str)</dt>
+<dd>
+threat entry type
+</dd>
+</dl><a NAME="ThreatList.__repr__" ID="ThreatList.__repr__"></a>
+<h4>ThreatList.__repr__</h4>
+<b>__repr__</b>(<i></i>)
+<p>
+        Special method to generate a printable representation.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+printable representation
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="ThreatList.asTuple" ID="ThreatList.asTuple"></a>
+<h4>ThreatList.asTuple</h4>
+<b>asTuple</b>(<i></i>)
+<p>
+        Public method to convert the object to a tuple.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+tuple containing the threat list info
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (str, str, str)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,271 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog</h1>
+<p>
+Module implementing a dialog to configure safe browsing support.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingDialog">SafeBrowsingDialog</a></td>
+<td>Class implementing a dialog to configure safe browsing support.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="SafeBrowsingDialog" ID="SafeBrowsingDialog"></a>
+<h2>SafeBrowsingDialog</h2>
+<p>
+    Class implementing a dialog to configure safe browsing support.
+</p>
+<h3>Derived from</h3>
+QDialog, Ui_SafeBrowsingDialog
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingDialog.__init__">SafeBrowsingDialog</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.__isModified">__isModified</a></td>
+<td>Private method to check, if the dialog contains modified data.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.__okToClose">__okToClose</a></td>
+<td>Private method to check, if it is safe to close the dialog.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.__resetProgress">__resetProgress</a></td>
+<td>Private method to reset the progress info.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.__save">__save</a></td>
+<td>Private slot to save the configuration.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.__setProgress">__setProgress</a></td>
+<td>Private slot to set the progress value.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.__setProgressMessage">__setProgressMessage</a></td>
+<td>Private slot to set the progress message and the maximum value.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.__updateCacheButtons">__updateCacheButtons</a></td>
+<td>Private method to set enabled state of the cache buttons.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.closeEvent">closeEvent</a></td>
+<td>Protected method to handle close events.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
+<td>Private slot called by a button of the button box clicked.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.on_clearCacheButton_clicked">on_clearCacheButton_clicked</a></td>
+<td>Private slot to clear the local cache database.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.on_gsbHelpButton_clicked">on_gsbHelpButton_clicked</a></td>
+<td>Private slot to show some help text "How to create a safe browsing API key.".</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.on_saveButton_clicked">on_saveButton_clicked</a></td>
+<td>Private slot to save the configuration data.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.on_updateCacheButton_clicked">on_updateCacheButton_clicked</a></td>
+<td>Private slot to update the local cache database.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.on_urlCheckButton_clicked">on_urlCheckButton_clicked</a></td>
+<td>Private slot to check the entered URL.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.on_urlEdit_textChanged">on_urlEdit_textChanged</a></td>
+<td>Private slot to handle changes of the entered URL text.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingDialog.show">show</a></td>
+<td>Public slot to show the dialog.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="SafeBrowsingDialog.__init__" ID="SafeBrowsingDialog.__init__"></a>
+<h4>SafeBrowsingDialog (Constructor)</h4>
+<b>SafeBrowsingDialog</b>(<i>manager, parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>manager</i> (SafeBrowsingManager)</dt>
+<dd>
+reference to the safe browsing manager
+</dd><dt><i>parent</i> (QWidget)</dt>
+<dd>
+reference to the parent widget
+</dd>
+</dl><a NAME="SafeBrowsingDialog.__isModified" ID="SafeBrowsingDialog.__isModified"></a>
+<h4>SafeBrowsingDialog.__isModified</h4>
+<b>__isModified</b>(<i></i>)
+<p>
+        Private method to check, if the dialog contains modified data.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating the presence of modified data
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="SafeBrowsingDialog.__okToClose" ID="SafeBrowsingDialog.__okToClose"></a>
+<h4>SafeBrowsingDialog.__okToClose</h4>
+<b>__okToClose</b>(<i></i>)
+<p>
+        Private method to check, if it is safe to close the dialog.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating safe to close
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="SafeBrowsingDialog.__resetProgress" ID="SafeBrowsingDialog.__resetProgress"></a>
+<h4>SafeBrowsingDialog.__resetProgress</h4>
+<b>__resetProgress</b>(<i></i>)
+<p>
+        Private method to reset the progress info.
+</p><a NAME="SafeBrowsingDialog.__save" ID="SafeBrowsingDialog.__save"></a>
+<h4>SafeBrowsingDialog.__save</h4>
+<b>__save</b>(<i></i>)
+<p>
+        Private slot to save the configuration.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating success
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="SafeBrowsingDialog.__setProgress" ID="SafeBrowsingDialog.__setProgress"></a>
+<h4>SafeBrowsingDialog.__setProgress</h4>
+<b>__setProgress</b>(<i>value</i>)
+<p>
+        Private slot to set the progress value.
+</p><dl>
+<dt><i>value</i> (int)</dt>
+<dd>
+progress value to be set
+</dd>
+</dl><a NAME="SafeBrowsingDialog.__setProgressMessage" ID="SafeBrowsingDialog.__setProgressMessage"></a>
+<h4>SafeBrowsingDialog.__setProgressMessage</h4>
+<b>__setProgressMessage</b>(<i>message, maximum</i>)
+<p>
+        Private slot to set the progress message and the maximum value.
+</p><dl>
+<dt><i>message</i> (str)</dt>
+<dd>
+progress message to be set
+</dd><dt><i>maximum</i> (int)</dt>
+<dd>
+maximum value to be set
+</dd>
+</dl><a NAME="SafeBrowsingDialog.__updateCacheButtons" ID="SafeBrowsingDialog.__updateCacheButtons"></a>
+<h4>SafeBrowsingDialog.__updateCacheButtons</h4>
+<b>__updateCacheButtons</b>(<i></i>)
+<p>
+        Private method to set enabled state of the cache buttons.
+</p><a NAME="SafeBrowsingDialog.closeEvent" ID="SafeBrowsingDialog.closeEvent"></a>
+<h4>SafeBrowsingDialog.closeEvent</h4>
+<b>closeEvent</b>(<i>evt</i>)
+<p>
+        Protected method to handle close events.
+</p><dl>
+<dt><i>evt</i> (QCloseEvent)</dt>
+<dd>
+reference to the close event
+</dd>
+</dl><a NAME="SafeBrowsingDialog.on_buttonBox_clicked" ID="SafeBrowsingDialog.on_buttonBox_clicked"></a>
+<h4>SafeBrowsingDialog.on_buttonBox_clicked</h4>
+<b>on_buttonBox_clicked</b>(<i>button</i>)
+<p>
+        Private slot called by a button of the button box clicked.
+</p><dl>
+<dt><i>button</i></dt>
+<dd>
+button that was clicked (QAbstractButton)
+</dd>
+</dl><a NAME="SafeBrowsingDialog.on_clearCacheButton_clicked" ID="SafeBrowsingDialog.on_clearCacheButton_clicked"></a>
+<h4>SafeBrowsingDialog.on_clearCacheButton_clicked</h4>
+<b>on_clearCacheButton_clicked</b>(<i></i>)
+<p>
+        Private slot to clear the local cache database.
+</p><a NAME="SafeBrowsingDialog.on_gsbHelpButton_clicked" ID="SafeBrowsingDialog.on_gsbHelpButton_clicked"></a>
+<h4>SafeBrowsingDialog.on_gsbHelpButton_clicked</h4>
+<b>on_gsbHelpButton_clicked</b>(<i></i>)
+<p>
+        Private slot to show some help text "How to create a safe
+        browsing API key.".
+</p><a NAME="SafeBrowsingDialog.on_saveButton_clicked" ID="SafeBrowsingDialog.on_saveButton_clicked"></a>
+<h4>SafeBrowsingDialog.on_saveButton_clicked</h4>
+<b>on_saveButton_clicked</b>(<i></i>)
+<p>
+        Private slot to save the configuration data.
+</p><a NAME="SafeBrowsingDialog.on_updateCacheButton_clicked" ID="SafeBrowsingDialog.on_updateCacheButton_clicked"></a>
+<h4>SafeBrowsingDialog.on_updateCacheButton_clicked</h4>
+<b>on_updateCacheButton_clicked</b>(<i></i>)
+<p>
+        Private slot to update the local cache database.
+</p><a NAME="SafeBrowsingDialog.on_urlCheckButton_clicked" ID="SafeBrowsingDialog.on_urlCheckButton_clicked"></a>
+<h4>SafeBrowsingDialog.on_urlCheckButton_clicked</h4>
+<b>on_urlCheckButton_clicked</b>(<i></i>)
+<p>
+        Private slot to check the entered URL.
+</p><a NAME="SafeBrowsingDialog.on_urlEdit_textChanged" ID="SafeBrowsingDialog.on_urlEdit_textChanged"></a>
+<h4>SafeBrowsingDialog.on_urlEdit_textChanged</h4>
+<b>on_urlEdit_textChanged</b>(<i>text</i>)
+<p>
+        Private slot to handle changes of the entered URL text.
+</p><dl>
+<dt><i>text</i> (str)</dt>
+<dd>
+entered URL text
+</dd>
+</dl><a NAME="SafeBrowsingDialog.show" ID="SafeBrowsingDialog.show"></a>
+<h4>SafeBrowsingDialog.show</h4>
+<b>show</b>(<i></i>)
+<p>
+        Public slot to show the dialog.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget</h1>
+<p>
+Module implementing a widget to show some threat information.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingInfoWidget">SafeBrowsingInfoWidget</a></td>
+<td>Class implementing a widget to show some threat information.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="SafeBrowsingInfoWidget" ID="SafeBrowsingInfoWidget"></a>
+<h2>SafeBrowsingInfoWidget</h2>
+<p>
+    Class implementing a widget to show some threat information.
+</p>
+<h3>Derived from</h3>
+QMenu
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingInfoWidget.__init__">SafeBrowsingInfoWidget</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#SafeBrowsingInfoWidget.showAt">showAt</a></td>
+<td>Public method to show the widget.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="SafeBrowsingInfoWidget.__init__" ID="SafeBrowsingInfoWidget.__init__"></a>
+<h4>SafeBrowsingInfoWidget (Constructor)</h4>
+<b>SafeBrowsingInfoWidget</b>(<i>info, parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>info</i> (str)</dt>
+<dd>
+information string to be shown
+</dd><dt><i>parent</i> (QWidget)</dt>
+<dd>
+reference to the parent widget
+</dd>
+</dl><a NAME="SafeBrowsingInfoWidget.showAt" ID="SafeBrowsingInfoWidget.showAt"></a>
+<h4>SafeBrowsingInfoWidget.showAt</h4>
+<b>showAt</b>(<i>pos</i>)
+<p>
+        Public method to show the widget.
+</p><dl>
+<dt><i>pos</i> (QPoint)</dt>
+<dd>
+position to show at
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,155 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel</h1>
+<p>
+Module implementing the label to show some SSL info.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingLabel">SafeBrowsingLabel</a></td>
+<td>Class implementing a label to show some Safe Browsing info.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="SafeBrowsingLabel" ID="SafeBrowsingLabel"></a>
+<h2>SafeBrowsingLabel</h2>
+<p>
+    Class implementing a label to show some Safe Browsing info.
+</p><h3>Signals</h3>
+<dl>
+<dt>clicked(pos)</dt>
+<dd>
+emitted to indicate a click of the label (QPoint)
+</dd>
+</dl>
+<h3>Derived from</h3>
+QLabel
+<h3>Class Attributes</h3>
+<table>
+<tr><td>nokStyle</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingLabel.__init__">SafeBrowsingLabel</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#SafeBrowsingLabel.__updateLabel">__updateLabel</a></td>
+<td>Private slot to update the label text.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingLabel.getThreatInfo">getThreatInfo</a></td>
+<td>Public method to get the threat info text.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingLabel.mouseDoubleClickEvent">mouseDoubleClickEvent</a></td>
+<td>Protected method to handle mouse double click events.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingLabel.mouseReleaseEvent">mouseReleaseEvent</a></td>
+<td>Protected method to handle mouse release events.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingLabel.setThreatInfo">setThreatInfo</a></td>
+<td>Public slot to set threat information.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="SafeBrowsingLabel.__init__" ID="SafeBrowsingLabel.__init__"></a>
+<h4>SafeBrowsingLabel (Constructor)</h4>
+<b>SafeBrowsingLabel</b>(<i>parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+reference to the parent widget (QWidget)
+</dd>
+</dl><a NAME="SafeBrowsingLabel.__updateLabel" ID="SafeBrowsingLabel.__updateLabel"></a>
+<h4>SafeBrowsingLabel.__updateLabel</h4>
+<b>__updateLabel</b>(<i></i>)
+<p>
+        Private slot to update the label text.
+</p><a NAME="SafeBrowsingLabel.getThreatInfo" ID="SafeBrowsingLabel.getThreatInfo"></a>
+<h4>SafeBrowsingLabel.getThreatInfo</h4>
+<b>getThreatInfo</b>(<i></i>)
+<p>
+        Public method to get the threat info text.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+threat info text
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingLabel.mouseDoubleClickEvent" ID="SafeBrowsingLabel.mouseDoubleClickEvent"></a>
+<h4>SafeBrowsingLabel.mouseDoubleClickEvent</h4>
+<b>mouseDoubleClickEvent</b>(<i>evt</i>)
+<p>
+        Protected method to handle mouse double click events.
+</p><dl>
+<dt><i>evt</i></dt>
+<dd>
+reference to the mouse event (QMouseEvent)
+</dd>
+</dl><a NAME="SafeBrowsingLabel.mouseReleaseEvent" ID="SafeBrowsingLabel.mouseReleaseEvent"></a>
+<h4>SafeBrowsingLabel.mouseReleaseEvent</h4>
+<b>mouseReleaseEvent</b>(<i>evt</i>)
+<p>
+        Protected method to handle mouse release events.
+</p><dl>
+<dt><i>evt</i></dt>
+<dd>
+reference to the mouse event (QMouseEvent)
+</dd>
+</dl><a NAME="SafeBrowsingLabel.setThreatInfo" ID="SafeBrowsingLabel.setThreatInfo"></a>
+<h4>SafeBrowsingLabel.setThreatInfo</h4>
+<b>setThreatInfo</b>(<i>threatType, threatMessages</i>)
+<p>
+        Public slot to set threat information.
+</p><dl>
+<dt><i>threatType</i> (str)</dt>
+<dd>
+threat type
+</dd><dt><i>threatMessages</i> (str)</dt>
+<dd>
+more verbose info about detected threats
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,406 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager</h1>
+<p>
+Module implementing the interface for Google Safe Browsing.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingManager">SafeBrowsingManager</a></td>
+<td>Class implementing the interface for Google Safe Browsing.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="SafeBrowsingManager" ID="SafeBrowsingManager"></a>
+<h2>SafeBrowsingManager</h2>
+<p>
+    Class implementing the interface for Google Safe Browsing.
+</p><h3>Signals</h3>
+<dl>
+<dt>progress(current)</dt>
+<dd>
+emitted to signal the current progress
+</dd><dt>progressMessage(message,maximum)</dt>
+<dd>
+emitted to give a message for the
+        action about to be performed and the maximum value
+</dd>
+</dl>
+<h3>Derived from</h3>
+QObject
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingManager.getIgnoreSchemes">getIgnoreSchemes</a></td>
+<td>Class method to get the schemes not to be checked.</td>
+</tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingManager.__init__">SafeBrowsingManager</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.__lookupHashes">__lookupHashes</a></td>
+<td>Private method to lookup the given hashes.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.__setPlatforms">__setPlatforms</a></td>
+<td>Private method to set the platforms to be checked against.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.__syncFullHashes">__syncFullHashes</a></td>
+<td>Private method to download full hashes matching given prefixes.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.__verifyThreatListChecksum">__verifyThreatListChecksum</a></td>
+<td>Private method to verify the local checksum of a threat list with the checksum of the safe browsing server.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.close">close</a></td>
+<td>Public method to close the safe browsing interface.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.configurationChanged">configurationChanged</a></td>
+<td>Public method to handle changes of the settings.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.fairUseDelayExpired">fairUseDelayExpired</a></td>
+<td>Public method to check, if the fair use wait period has expired.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.fullCacheCleanup">fullCacheCleanup</a></td>
+<td>Public method to clean up the cache completely.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.getPlatformString">getPlatformString</a></td>
+<td>Public method to get the platform string for a given platform type.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.getThreatEntryString">getThreatEntryString</a></td>
+<td>Public method to get the threat entry string.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.getThreatMessage">getThreatMessage</a></td>
+<td>Public method to get a warning message for the given threat type.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.getThreatMessages">getThreatMessages</a></td>
+<td>Public method to get threat messages for the given threats.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.getThreatType">getThreatType</a></td>
+<td>Public method to get a display string for a given threat type.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.isEnabled">isEnabled</a></td>
+<td>Public method to check, if safe browsing is enabled.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.lookupUrl">lookupUrl</a></td>
+<td>Public method to lookup an URL.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.showSafeBrowsingDialog">showSafeBrowsingDialog</a></td>
+<td>Public slot to show the safe browsing management dialog.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingManager.updateHashPrefixCache">updateHashPrefixCache</a></td>
+<td>Public method to load or update the locally cached threat lists.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="SafeBrowsingManager.getIgnoreSchemes" ID="SafeBrowsingManager.getIgnoreSchemes"></a>
+<h4>SafeBrowsingManager.getIgnoreSchemes (class method)</h4>
+<b>getIgnoreSchemes</b>(<i></i>)
+<p>
+        Class method to get the schemes not to be checked.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+list of schemes to be ignored
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of str
+</dd>
+</dl><a NAME="SafeBrowsingManager.__init__" ID="SafeBrowsingManager.__init__"></a>
+<h4>SafeBrowsingManager (Constructor)</h4>
+<b>SafeBrowsingManager</b>(<i></i>)
+<p>
+        Constructor
+</p><a NAME="SafeBrowsingManager.__lookupHashes" ID="SafeBrowsingManager.__lookupHashes"></a>
+<h4>SafeBrowsingManager.__lookupHashes</h4>
+<b>__lookupHashes</b>(<i>fullHashes</i>)
+<p>
+        Private method to lookup the given hashes.
+</p><dl>
+<dt><i>fullHashes</i> (list of bytes)</dt>
+<dd>
+list of hashes to lookup
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+names of threat lists hashes were found in
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of ThreatList
+</dd>
+</dl><a NAME="SafeBrowsingManager.__setPlatforms" ID="SafeBrowsingManager.__setPlatforms"></a>
+<h4>SafeBrowsingManager.__setPlatforms</h4>
+<b>__setPlatforms</b>(<i></i>)
+<p>
+        Private method to set the platforms to be checked against.
+</p><a NAME="SafeBrowsingManager.__syncFullHashes" ID="SafeBrowsingManager.__syncFullHashes"></a>
+<h4>SafeBrowsingManager.__syncFullHashes</h4>
+<b>__syncFullHashes</b>(<i>hashPrefixes</i>)
+<p>
+        Private method to download full hashes matching given prefixes.
+</p><p>
+        This also updates the cache expiration timestamps.
+</p><dl>
+<dt><i>hashPrefixes</i> (list of bytes)</dt>
+<dd>
+list of hash prefixes to get full hashes for
+</dd>
+</dl><a NAME="SafeBrowsingManager.__verifyThreatListChecksum" ID="SafeBrowsingManager.__verifyThreatListChecksum"></a>
+<h4>SafeBrowsingManager.__verifyThreatListChecksum</h4>
+<b>__verifyThreatListChecksum</b>(<i>threatList, remoteChecksum</i>)
+<p>
+        Private method to verify the local checksum of a threat list with the
+        checksum of the safe browsing server.
+</p><dl>
+<dt><i>threatList</i> (ThreatList)</dt>
+<dd>
+threat list to calculate checksum for
+</dd><dt><i>remoteChecksum</i> (bytes)</dt>
+<dd>
+SHA256 checksum as reported by the Google server
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating equality
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="SafeBrowsingManager.close" ID="SafeBrowsingManager.close"></a>
+<h4>SafeBrowsingManager.close</h4>
+<b>close</b>(<i></i>)
+<p>
+        Public method to close the safe browsing interface.
+</p><a NAME="SafeBrowsingManager.configurationChanged" ID="SafeBrowsingManager.configurationChanged"></a>
+<h4>SafeBrowsingManager.configurationChanged</h4>
+<b>configurationChanged</b>(<i></i>)
+<p>
+        Public method to handle changes of the settings.
+</p><a NAME="SafeBrowsingManager.fairUseDelayExpired" ID="SafeBrowsingManager.fairUseDelayExpired"></a>
+<h4>SafeBrowsingManager.fairUseDelayExpired</h4>
+<b>fairUseDelayExpired</b>(<i></i>)
+<p>
+        Public method to check, if the fair use wait period has expired.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating expiration
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="SafeBrowsingManager.fullCacheCleanup" ID="SafeBrowsingManager.fullCacheCleanup"></a>
+<h4>SafeBrowsingManager.fullCacheCleanup</h4>
+<b>fullCacheCleanup</b>(<i></i>)
+<p>
+        Public method to clean up the cache completely.
+</p><a NAME="SafeBrowsingManager.getPlatformString" ID="SafeBrowsingManager.getPlatformString"></a>
+<h4>SafeBrowsingManager.getPlatformString</h4>
+<b>getPlatformString</b>(<i>platformType</i>)
+<p>
+        Public method to get the platform string for a given platform type.
+</p><dl>
+<dt><i>platformType</i> (str)</dt>
+<dd>
+platform type as defined in the v4 API
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+platform string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingManager.getThreatEntryString" ID="SafeBrowsingManager.getThreatEntryString"></a>
+<h4>SafeBrowsingManager.getThreatEntryString</h4>
+<b>getThreatEntryString</b>(<i>threatEntry</i>)
+<p>
+        Public method to get the threat entry string.
+</p><dl>
+<dt><i>threatEntry</i> (str)</dt>
+<dd>
+threat entry type as defined in the v4 API
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+threat entry string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingManager.getThreatMessage" ID="SafeBrowsingManager.getThreatMessage"></a>
+<h4>SafeBrowsingManager.getThreatMessage</h4>
+<b>getThreatMessage</b>(<i>threatType</i>)
+<p>
+        Public method to get a warning message for the given threat type.
+</p><dl>
+<dt><i>threatType</i> (str)</dt>
+<dd>
+threat type to get the message for
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+threat message
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingManager.getThreatMessages" ID="SafeBrowsingManager.getThreatMessages"></a>
+<h4>SafeBrowsingManager.getThreatMessages</h4>
+<b>getThreatMessages</b>(<i>threatLists</i>)
+<p>
+        Public method to get threat messages for the given threats.
+</p><dl>
+<dt><i>threatLists</i> (list of ThreatList)</dt>
+<dd>
+list of threat lists to get a message for
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of threat messages, one per unique threat type
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of str
+</dd>
+</dl><a NAME="SafeBrowsingManager.getThreatType" ID="SafeBrowsingManager.getThreatType"></a>
+<h4>SafeBrowsingManager.getThreatType</h4>
+<b>getThreatType</b>(<i>threatList</i>)
+<p>
+        Public method to get a display string for a given threat type.
+</p><dl>
+<dt><i>threatList</i> (str)</dt>
+<dd>
+threat list to get display string for
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+display string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingManager.isEnabled" ID="SafeBrowsingManager.isEnabled"></a>
+<h4>SafeBrowsingManager.isEnabled</h4>
+<b>isEnabled</b>(<i></i>)
+<p>
+        Public method to check, if safe browsing is enabled.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating the enabled state
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="SafeBrowsingManager.lookupUrl" ID="SafeBrowsingManager.lookupUrl"></a>
+<h4>SafeBrowsingManager.lookupUrl</h4>
+<b>lookupUrl</b>(<i>url</i>)
+<p>
+        Public method to lookup an URL.
+</p><dl>
+<dt><i>url</i> (str or QUrl)</dt>
+<dd>
+URL to be checked
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of threat lists the URL was found in
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of ThreatList
+</dd>
+</dl><dl>
+<dt>Raises <b>ValueError</b>:</dt>
+<dd>
+raised for an invalid URL
+</dd>
+</dl><a NAME="SafeBrowsingManager.showSafeBrowsingDialog" ID="SafeBrowsingManager.showSafeBrowsingDialog"></a>
+<h4>SafeBrowsingManager.showSafeBrowsingDialog</h4>
+<b>showSafeBrowsingDialog</b>(<i></i>)
+<p>
+        Public slot to show the safe browsing management dialog.
+</p><a NAME="SafeBrowsingManager.updateHashPrefixCache" ID="SafeBrowsingManager.updateHashPrefixCache"></a>
+<h4>SafeBrowsingManager.updateHashPrefixCache</h4>
+<b>updateHashPrefixCache</b>(<i></i>)
+<p>
+        Public method to load or update the locally cached threat lists.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating success and an error message
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,257 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl</h1>
+<p>
+Module implementing an URL representation suitable for Google Safe Browsing.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingUrl">SafeBrowsingUrl</a></td>
+<td>Class implementing an URL representation suitable for Google Safe Browsing.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="SafeBrowsingUrl" ID="SafeBrowsingUrl"></a>
+<h2>SafeBrowsingUrl</h2>
+<p>
+    Class implementing an URL representation suitable for Google Safe Browsing.
+</p>
+<h3>Derived from</h3>
+object
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingUrl.__init__">SafeBrowsingUrl</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#SafeBrowsingUrl.canonical">canonical</a></td>
+<td>Public method to convert the URL to the canonical form.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingUrl.fullUnescape">fullUnescape</a></td>
+<td>Method to recursively unescape an URL.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingUrl.hashes">hashes</a></td>
+<td>Public method to get the hashes of all possible permutations of the URL in canonical form.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingUrl.hostPermutations">hostPermutations</a></td>
+<td>Method to generate the permutations of the host name.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingUrl.pathPermutations">pathPermutations</a></td>
+<td>Method to generate the permutations of the path.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingUrl.quote">quote</a></td>
+<td>Method to quote a string.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingUrl.digest">digest</a></td>
+<td>Static method to calculate the SHA256 digest of an URL string.</td>
+</tr><tr>
+<td><a href="#SafeBrowsingUrl.permutations">permutations</a></td>
+<td>Static method to determine all permutations of host name and path which can be applied to blacklisted URLs.</td>
+</tr>
+</table>
+<a NAME="SafeBrowsingUrl.__init__" ID="SafeBrowsingUrl.__init__"></a>
+<h4>SafeBrowsingUrl (Constructor)</h4>
+<b>SafeBrowsingUrl</b>(<i>url</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>url</i> (str)</dt>
+<dd>
+URL to be embedded
+</dd>
+</dl><a NAME="SafeBrowsingUrl.canonical" ID="SafeBrowsingUrl.canonical"></a>
+<h4>SafeBrowsingUrl.canonical</h4>
+<b>canonical</b>(<i></i>)
+<p>
+        Public method to convert the URL to the canonical form.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+canonical form of the URL
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingUrl.fullUnescape" ID="SafeBrowsingUrl.fullUnescape"></a>
+<h4>SafeBrowsingUrl.fullUnescape</h4>
+<b>fullUnescape</b>(<i></i>)
+<p>
+            Method to recursively unescape an URL.
+</p><dl>
+<dt><i>u</i> (str)</dt>
+<dd>
+URL string to unescape
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+unescaped URL string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingUrl.hashes" ID="SafeBrowsingUrl.hashes"></a>
+<h4>SafeBrowsingUrl.hashes</h4>
+<b>hashes</b>(<i></i>)
+<p>
+        Public method to get the hashes of all possible permutations of the URL
+        in canonical form.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+generator for the URL hashes
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+generator of bytes
+</dd>
+</dl><a NAME="SafeBrowsingUrl.hostPermutations" ID="SafeBrowsingUrl.hostPermutations"></a>
+<h4>SafeBrowsingUrl.hostPermutations</h4>
+<b>hostPermutations</b>(<i></i>)
+<p>
+            Method to generate the permutations of the host name.
+</p><dl>
+<dt><i>host</i> (str)</dt>
+<dd>
+host name
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+generator of permuted host names
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+generator of str
+</dd>
+</dl><a NAME="SafeBrowsingUrl.pathPermutations" ID="SafeBrowsingUrl.pathPermutations"></a>
+<h4>SafeBrowsingUrl.pathPermutations</h4>
+<b>pathPermutations</b>(<i></i>)
+<p>
+            Method to generate the permutations of the path.
+</p><dl>
+<dt><i>path</i> (str)</dt>
+<dd>
+path to be processed
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+generator of permuted paths
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+generator of str
+</dd>
+</dl><a NAME="SafeBrowsingUrl.quote" ID="SafeBrowsingUrl.quote"></a>
+<h4>SafeBrowsingUrl.quote</h4>
+<b>quote</b>(<i></i>)
+<p>
+            Method to quote a string.
+</p><dl>
+<dt><i>string</i> (str)</dt>
+<dd>
+to be quoted
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+quoted string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl><a NAME="SafeBrowsingUrl.digest" ID="SafeBrowsingUrl.digest"></a>
+<h4>SafeBrowsingUrl.digest (static)</h4>
+<b>digest</b>(<i></i>)
+<p>
+        Static method to calculate the SHA256 digest of an URL string.
+</p><dl>
+<dt><i>url</i> (str)</dt>
+<dd>
+URL string
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+SHA256 digest of the URL string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bytes
+</dd>
+</dl><a NAME="SafeBrowsingUrl.permutations" ID="SafeBrowsingUrl.permutations"></a>
+<h4>SafeBrowsingUrl.permutations (static)</h4>
+<b>permutations</b>(<i></i>)
+<p>
+        Static method to determine all permutations of host name and path
+        which can be applied to blacklisted URLs.
+</p><dl>
+<dt><i>url</i> (str)</dt>
+<dd>
+URL string to be permuted
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+generator of permuted URL strings
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+generator of str
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities</h1>
+<p>
+Module implementing some utilities for Google Safe Browsing.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr>
+<td><a href="#toHex">toHex</a></td>
+<td>Public method to convert a bytes array to a hex string.</td>
+</tr><tr>
+<td><a href="#toHex_1">toHex</a></td>
+<td>Public method to convert a bytes array to a hex string.</td>
+</tr>
+</table>
+<hr /><hr />
+<a NAME="toHex" ID="toHex"></a>
+<h2>toHex</h2>
+<b>toHex</b>(<i>value</i>)
+<p>
+        Public method to convert a bytes array to a hex string.
+</p><dl>
+<dt><i>value</i> (bytes)</dt>
+<dd>
+value to be converted
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+hex string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="toHex_1" ID="toHex_1"></a>
+<h2>toHex</h2>
+<b>toHex</b>(<i>value</i>)
+<p>
+        Public method to convert a bytes array to a hex string.
+</p><dl>
+<dt><i>value</i> (bytes)</dt>
+<dd>
+value to be converted
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+hex string
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.WebBrowser.SafeBrowsing.__init__.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing.__init__</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.WebBrowser.SafeBrowsing.__init__</h1>
+<p>
+Package implementing the safe browsing functionality.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr>
+<td><a href="#SafeBrowsingHelp">SafeBrowsingHelp</a></td>
+<td>Module function to get some help about how to enable the Google Mail OAuth2 service.</td>
+</tr>
+</table>
+<hr /><hr />
+<a NAME="SafeBrowsingHelp" ID="SafeBrowsingHelp"></a>
+<h2>SafeBrowsingHelp</h2>
+<b>SafeBrowsingHelp</b>(<i></i>)
+<p>
+    Module function to get some help about how to enable the Google Mail
+    OAuth2 service.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+help text
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/Documentation/Source/eric6.WebBrowser.UrlBar.UrlBar.html	Fri Aug 04 19:40:48 2017 +0200
+++ b/Documentation/Source/eric6.WebBrowser.UrlBar.UrlBar.html	Fri Aug 04 19:43:32 2017 +0200
@@ -84,6 +84,9 @@
 <td><a href="#UrlBar.__showBookmarkInfo">__showBookmarkInfo</a></td>
 <td>Private slot to show a dialog with some bookmark info.</td>
 </tr><tr>
+<td><a href="#UrlBar.__showThreatInfo">__showThreatInfo</a></td>
+<td>Private slot to show the threat info widget.</td>
+</tr><tr>
 <td><a href="#UrlBar.__textChanged">__textChanged</a></td>
 <td>Private slot to handle changes of the text.</td>
 </tr><tr>
@@ -185,7 +188,17 @@
 <b>__showBookmarkInfo</b>(<i></i>)
 <p>
         Private slot to show a dialog with some bookmark info.
-</p><a NAME="UrlBar.__textChanged" ID="UrlBar.__textChanged"></a>
+</p><a NAME="UrlBar.__showThreatInfo" ID="UrlBar.__showThreatInfo"></a>
+<h4>UrlBar.__showThreatInfo</h4>
+<b>__showThreatInfo</b>(<i>pos</i>)
+<p>
+        Private slot to show the threat info widget.
+</p><dl>
+<dt><i>pos</i> (QPoint)</dt>
+<dd>
+position to show the info at
+</dd>
+</dl><a NAME="UrlBar.__textChanged" ID="UrlBar.__textChanged"></a>
 <h4>UrlBar.__textChanged</h4>
 <b>__textChanged</b>(<i>txt</i>)
 <p>
--- a/Documentation/Source/eric6.WebBrowser.WebBrowserPage.html	Fri Aug 04 19:40:48 2017 +0200
+++ b/Documentation/Source/eric6.WebBrowser.WebBrowserPage.html	Fri Aug 04 19:43:32 2017 +0200
@@ -43,7 +43,18 @@
 <h2>WebBrowserPage</h2>
 <p>
     Class implementing an enhanced web page.
-</p>
+</p><h3>Signals</h3>
+<dl>
+<dt>safeBrowsingAbort()</dt>
+<dd>
+emitted to indicate an abort due to a safe
+        browsing event
+</dd><dt>safeBrowsingBad(threatType, threatMessages)</dt>
+<dd>
+emitted to indicate a
+        malicious web site as determined by safe browsing
+</dd>
+</dl>
 <h3>Derived from</h3>
 QWebEnginePage
 <h3>Class Attributes</h3>
@@ -93,6 +104,9 @@
 <td><a href="#WebBrowserPage.execPrintPage">execPrintPage</a></td>
 <td>Public method to execute a synchronous print.</td>
 </tr><tr>
+<td><a href="#WebBrowserPage.getSafeBrowsingStatus">getSafeBrowsingStatus</a></td>
+<td>Public method to get the safe browsing status of the current page.</td>
+</tr><tr>
 <td><a href="#WebBrowserPage.hitTestContent">hitTestContent</a></td>
 <td>Public method to test the content at a specified position.</td>
 </tr><tr>
@@ -319,6 +333,21 @@
 <dd>
 bool
 </dd>
+</dl><a NAME="WebBrowserPage.getSafeBrowsingStatus" ID="WebBrowserPage.getSafeBrowsingStatus"></a>
+<h4>WebBrowserPage.getSafeBrowsingStatus</h4>
+<b>getSafeBrowsingStatus</b>(<i></i>)
+<p>
+        Public method to get the safe browsing status of the current page.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating a safe site
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
 </dl><a NAME="WebBrowserPage.hitTestContent" ID="WebBrowserPage.hitTestContent"></a>
 <h4>WebBrowserPage.hitTestContent</h4>
 <b>hitTestContent</b>(<i>pos</i>)
--- a/Documentation/Source/eric6.WebBrowser.WebBrowserView.html	Fri Aug 04 19:40:48 2017 +0200
+++ b/Documentation/Source/eric6.WebBrowser.WebBrowserView.html	Fri Aug 04 19:43:32 2017 +0200
@@ -57,6 +57,14 @@
 </dd><dt>highlighted(str)</dt>
 <dd>
 emitted, when the mouse hovers over a link
+</dd><dt>safeBrowsingAbort()</dt>
+<dd>
+emitted to indicate an abort due to a safe
+        browsing event
+</dd><dt>safeBrowsingBad(threatType, threatMessages)</dt>
+<dd>
+emitted to indicate a
+        malicious web site as determined by safe browsing
 </dd><dt>search(QUrl)</dt>
 <dd>
 emitted, when a search is requested
@@ -129,6 +137,9 @@
 <td><a href="#WebBrowserView.__createMediaContextMenu">__createMediaContextMenu</a></td>
 <td>Private method to populate the context menu for media elements.</td>
 </tr><tr>
+<td><a href="#WebBrowserView.__createNewPage">__createNewPage</a></td>
+<td>Private method to create a new page object.</td>
+</tr><tr>
 <td><a href="#WebBrowserView.__createPageContextMenu">__createPageContextMenu</a></td>
 <td>Private method to populate the basic context menu.</td>
 </tr><tr>
@@ -321,6 +332,9 @@
 <td><a href="#WebBrowserView.getRSS">getRSS</a></td>
 <td>Public method to get the extracted RSS feeds.</td>
 </tr><tr>
+<td><a href="#WebBrowserView.getSafeBrowsingStatus">getSafeBrowsingStatus</a></td>
+<td>Public method to get the safe browsing status of the current page.</td>
+</tr><tr>
 <td><a href="#WebBrowserView.getSessionData">getSessionData</a></td>
 <td>Public method to populate the session data.</td>
 </tr><tr>
@@ -578,7 +592,12 @@
 <dd>
 reference to the hit test object
 </dd>
-</dl><a NAME="WebBrowserView.__createPageContextMenu" ID="WebBrowserView.__createPageContextMenu"></a>
+</dl><a NAME="WebBrowserView.__createNewPage" ID="WebBrowserView.__createNewPage"></a>
+<h4>WebBrowserView.__createNewPage</h4>
+<b>__createNewPage</b>(<i></i>)
+<p>
+        Private method to create a new page object.
+</p><a NAME="WebBrowserView.__createPageContextMenu" ID="WebBrowserView.__createPageContextMenu"></a>
 <h4>WebBrowserView.__createPageContextMenu</h4>
 <b>__createPageContextMenu</b>(<i>menu</i>)
 <p>
@@ -1155,6 +1174,21 @@
 <dd>
 list of RSS feeds (list of tuples of two strings)
 </dd>
+</dl><a NAME="WebBrowserView.getSafeBrowsingStatus" ID="WebBrowserView.getSafeBrowsingStatus"></a>
+<h4>WebBrowserView.getSafeBrowsingStatus</h4>
+<b>getSafeBrowsingStatus</b>(<i></i>)
+<p>
+        Public method to get the safe browsing status of the current page.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating a safe site
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
 </dl><a NAME="WebBrowserView.getSessionData" ID="WebBrowserView.getSessionData"></a>
 <h4>WebBrowserView.getSessionData</h4>
 <b>getSessionData</b>(<i></i>)
--- a/Documentation/Source/eric6.WebBrowser.WebBrowserWindow.html	Fri Aug 04 19:40:48 2017 +0200
+++ b/Documentation/Source/eric6.WebBrowser.WebBrowserWindow.html	Fri Aug 04 19:43:32 2017 +0200
@@ -67,7 +67,7 @@
 E5MainWindow
 <h3>Class Attributes</h3>
 <table>
-<tr><td>BrowserWindows</td></tr><tr><td>_adblockManager</td></tr><tr><td>_autoScroller</td></tr><tr><td>_bookmarksManager</td></tr><tr><td>_cookieJar</td></tr><tr><td>_downloadManager</td></tr><tr><td>_featurePermissionManager</td></tr><tr><td>_feedsManager</td></tr><tr><td>_flashCookieManager</td></tr><tr><td>_fromEric</td></tr><tr><td>_greaseMonkeyManager</td></tr><tr><td>_helpEngine</td></tr><tr><td>_historyManager</td></tr><tr><td>_imageSearchEngine</td></tr><tr><td>_isPrivate</td></tr><tr><td>_lastActiveWindow</td></tr><tr><td>_networkManager</td></tr><tr><td>_notification</td></tr><tr><td>_passwordManager</td></tr><tr><td>_performingShutdown</td></tr><tr><td>_performingStartup</td></tr><tr><td>_personalInformationManager</td></tr><tr><td>_sessionManager</td></tr><tr><td>_speedDial</td></tr><tr><td>_syncManager</td></tr><tr><td>_tabManager</td></tr><tr><td>_useQtHelp</td></tr><tr><td>_userAgentsManager</td></tr><tr><td>_webProfile</td></tr>
+<tr><td>BrowserWindows</td></tr><tr><td>_adblockManager</td></tr><tr><td>_autoScroller</td></tr><tr><td>_bookmarksManager</td></tr><tr><td>_cookieJar</td></tr><tr><td>_downloadManager</td></tr><tr><td>_featurePermissionManager</td></tr><tr><td>_feedsManager</td></tr><tr><td>_flashCookieManager</td></tr><tr><td>_fromEric</td></tr><tr><td>_greaseMonkeyManager</td></tr><tr><td>_helpEngine</td></tr><tr><td>_historyManager</td></tr><tr><td>_imageSearchEngine</td></tr><tr><td>_isPrivate</td></tr><tr><td>_lastActiveWindow</td></tr><tr><td>_networkManager</td></tr><tr><td>_notification</td></tr><tr><td>_passwordManager</td></tr><tr><td>_performingShutdown</td></tr><tr><td>_performingStartup</td></tr><tr><td>_personalInformationManager</td></tr><tr><td>_safeBrowsingManager</td></tr><tr><td>_sessionManager</td></tr><tr><td>_speedDial</td></tr><tr><td>_syncManager</td></tr><tr><td>_tabManager</td></tr><tr><td>_useQtHelp</td></tr><tr><td>_userAgentsManager</td></tr><tr><td>_webProfile</td></tr>
 </table>
 <h3>Class Methods</h3>
 <table>
@@ -141,6 +141,9 @@
 <td><a href="#WebBrowserWindow.personalInformationManager">personalInformationManager</a></td>
 <td>Class method to get a reference to the personal information manager.</td>
 </tr><tr>
+<td><a href="#WebBrowserWindow.safeBrowsingManager">safeBrowsingManager</a></td>
+<td>Class method to get a reference to the safe browsing interface.</td>
+</tr><tr>
 <td><a href="#WebBrowserWindow.sessionManager">sessionManager</a></td>
 <td>Class method to get a reference to the session manager.</td>
 </tr><tr>
@@ -415,6 +418,9 @@
 <td><a href="#WebBrowserWindow.__showPreferences">__showPreferences</a></td>
 <td>Private slot to set the preferences.</td>
 </tr><tr>
+<td><a href="#WebBrowserWindow.__showSafeBrowsingDialog">__showSafeBrowsingDialog</a></td>
+<td>Private slot to show the safe browsing management dialog.</td>
+</tr><tr>
 <td><a href="#WebBrowserWindow.__showSearchWindow">__showSearchWindow</a></td>
 <td>Private method to show the search window.</td>
 </tr><tr>
@@ -917,6 +923,21 @@
 reference to the personal information manager
             (PersonalInformationManager)
 </dd>
+</dl><a NAME="WebBrowserWindow.safeBrowsingManager" ID="WebBrowserWindow.safeBrowsingManager"></a>
+<h4>WebBrowserWindow.safeBrowsingManager (class method)</h4>
+<b>safeBrowsingManager</b>(<i></i>)
+<p>
+        Class method to get a reference to the safe browsing interface.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+reference to the safe browsing manager
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+SafeBrowsingManager
+</dd>
 </dl><a NAME="WebBrowserWindow.sessionManager" ID="WebBrowserWindow.sessionManager"></a>
 <h4>WebBrowserWindow.sessionManager (class method)</h4>
 <b>sessionManager</b>(<i></i>)
@@ -1621,6 +1642,11 @@
 <b>__showPreferences</b>(<i></i>)
 <p>
         Private slot to set the preferences.
+</p><a NAME="WebBrowserWindow.__showSafeBrowsingDialog" ID="WebBrowserWindow.__showSafeBrowsingDialog"></a>
+<h4>WebBrowserWindow.__showSafeBrowsingDialog</h4>
+<b>__showSafeBrowsingDialog</b>(<i></i>)
+<p>
+        Private slot to show the safe browsing management dialog.
 </p><a NAME="WebBrowserWindow.__showSearchWindow" ID="WebBrowserWindow.__showSearchWindow"></a>
 <h4>WebBrowserWindow.__showSearchWindow</h4>
 <b>__showSearchWindow</b>(<i></i>)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/index-eric6.WebBrowser.SafeBrowsing.html	Fri Aug 04 19:43:32 2017 +0200
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.WebBrowser.SafeBrowsing</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<h1>eric6.WebBrowser.SafeBrowsing</h1>
+<p>
+Package implementing the safe browsing functionality.
+</p>
+
+
+<h3>Modules</h3>
+<table>
+<tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.SafeBrowsingAPIClient.html">SafeBrowsingAPIClient</a></td>
+<td>Module implementing the low level interface for Google Safe Browsing.</td>
+</tr><tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache.html">SafeBrowsingCache</a></td>
+<td>Module implementing a cache for Google Safe Browsing.</td>
+</tr><tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.SafeBrowsingDialog.html">SafeBrowsingDialog</a></td>
+<td>Module implementing a dialog to configure safe browsing support.</td>
+</tr><tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget.html">SafeBrowsingInfoWidget</a></td>
+<td>Module implementing a widget to show some threat information.</td>
+</tr><tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.SafeBrowsingLabel.html">SafeBrowsingLabel</a></td>
+<td>Module implementing the label to show some SSL info.</td>
+</tr><tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.SafeBrowsingManager.html">SafeBrowsingManager</a></td>
+<td>Module implementing the interface for Google Safe Browsing.</td>
+</tr><tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUrl.html">SafeBrowsingUrl</a></td>
+<td>Module implementing an URL representation suitable for Google Safe Browsing.</td>
+</tr><tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.SafeBrowsingUtilities.html">SafeBrowsingUtilities</a></td>
+<td>Module implementing some utilities for Google Safe Browsing.</td>
+</tr><tr>
+<td><a href="eric6.WebBrowser.SafeBrowsing.__init__.html">SafeBrowsing</a></td>
+<td>Package implementing the safe browsing functionality.</td>
+</tr>
+</table>
+</body></html>
\ No newline at end of file
--- a/Documentation/Source/index-eric6.WebBrowser.html	Fri Aug 04 19:40:48 2017 +0200
+++ b/Documentation/Source/index-eric6.WebBrowser.html	Fri Aug 04 19:43:32 2017 +0200
@@ -88,6 +88,9 @@
 <td><a href="index-eric6.WebBrowser.QtHelp.html">QtHelp</a></td>
 <td>Package containing the interface to QtHelp.</td>
 </tr><tr>
+<td><a href="index-eric6.WebBrowser.SafeBrowsing.html">SafeBrowsing</a></td>
+<td>Package implementing the safe browsing functionality.</td>
+</tr><tr>
 <td><a href="index-eric6.WebBrowser.Session.html">Session</a></td>
 <td>Package implementing the session related functionality.</td>
 </tr><tr>
--- a/WebBrowser/SafeBrowsing/SafeBrowsingAPIClient.py	Fri Aug 04 19:40:48 2017 +0200
+++ b/WebBrowser/SafeBrowsing/SafeBrowsingAPIClient.py	Fri Aug 04 19:43:32 2017 +0200
@@ -213,7 +213,7 @@
         @param reply reference to the network reply object
         @type QNetworkReply
         @return extracted data
-        @type list or dict
+        @rtype list or dict
         """
         result = json.loads(str(reply.readAll(), "utf-8"))
         self.__setWaitDuration(result.get("minimumWaitDuration"))
--- a/WebBrowser/SafeBrowsing/SafeBrowsingUrl.py	Fri Aug 04 19:40:48 2017 +0200
+++ b/WebBrowser/SafeBrowsing/SafeBrowsingUrl.py	Fri Aug 04 19:43:32 2017 +0200
@@ -142,7 +142,7 @@
         @param url URL string to be permuted
         @type str
         @return generator of permuted URL strings
-        @type generator of str
+        @rtype generator of str
         """
         def hostPermutations(host):
             """

eric ide

mercurial