Fri, 03 Jun 2016 19:59:32 +0200
Modified the handling of user style sheets and the AdBlock hiding rules.
--- a/APIs/Python3/eric6.api Tue May 24 18:24:38 2016 +0200 +++ b/APIs/Python3/eric6.api Fri Jun 03 19:59:32 2016 +0200 @@ -9562,7 +9562,7 @@ eric6.WebBrowser.AdBlock.AdBlockManager.AdBlockManager.block?4(info) eric6.WebBrowser.AdBlock.AdBlockManager.AdBlockManager.close?4() eric6.WebBrowser.AdBlock.AdBlockManager.AdBlockManager.customRules?4() -eric6.WebBrowser.AdBlock.AdBlockManager.AdBlockManager.elementHidingRules?4() +eric6.WebBrowser.AdBlock.AdBlockManager.AdBlockManager.elementHidingRules?4(url) eric6.WebBrowser.AdBlock.AdBlockManager.AdBlockManager.elementHidingRulesForDomain?4(url) eric6.WebBrowser.AdBlock.AdBlockManager.AdBlockManager.exceptions?4() eric6.WebBrowser.AdBlock.AdBlockManager.AdBlockManager.getDefaultSubscriptionUrl?4()
--- a/Documentation/Source/eric6.WebBrowser.AdBlock.AdBlockManager.html Tue May 24 18:24:38 2016 +0200 +++ b/Documentation/Source/eric6.WebBrowser.AdBlock.AdBlockManager.html Fri Jun 03 19:59:32 2016 +0200 @@ -303,10 +303,17 @@ </dd> </dl><a NAME="AdBlockManager.elementHidingRules" ID="AdBlockManager.elementHidingRules"></a> <h4>AdBlockManager.elementHidingRules</h4> -<b>elementHidingRules</b>(<i></i>) +<b>elementHidingRules</b>(<i>url</i>) <p> Public method to get the element hiding rules. +</p><p> + </p><dl> +<dt><i>url</i></dt> +<dd> +URL to get hiding rules for (QUrl) +</dd> +</dl><dl> <dt>Returns:</dt> <dd> element hiding rules (string)
--- a/WebBrowser/AdBlock/AdBlockManager.py Tue May 24 18:24:38 2016 +0200 +++ b/WebBrowser/AdBlock/AdBlockManager.py Fri Jun 03 19:59:32 2016 +0200 @@ -463,13 +463,15 @@ self.__adBlockDialog.show() return self.__adBlockDialog - def elementHidingRules(self): + def elementHidingRules(self, url): """ Public method to get the element hiding rules. + + @param url URL to get hiding rules for (QUrl) @return element hiding rules (string) """ - if not self.isEnabled(): + if not self.isEnabled() or not self.__canRunOnScheme(url.scheme()): return "" rules = ""
--- a/WebBrowser/AdBlock/AdBlockPage.py Tue May 24 18:24:38 2016 +0200 +++ b/WebBrowser/AdBlock/AdBlockPage.py Fri Jun 03 19:59:32 2016 +0200 @@ -32,6 +32,12 @@ if not manager.isEnabled(): return + # apply global element hiding rules + elementHiding = manager.elementHidingRules(page.url()) + if elementHiding: + script = Scripts.setCss(elementHiding) + page.runJavaScript(script) + # apply domain specific element hiding rules elementHiding = manager.elementHidingRulesForDomain(page.url()) if elementHiding:
--- a/WebBrowser/WebBrowserWindow.py Tue May 24 18:24:38 2016 +0200 +++ b/WebBrowser/WebBrowserWindow.py Fri Jun 03 19:59:32 2016 +0200 @@ -19,7 +19,8 @@ from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, \ QUrl, QTextCodec, QProcess, QEvent -from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics +from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics, \ + QPalette from PyQt5.QtWidgets import QWidget, QVBoxLayout, QSizePolicy, QDockWidget, \ QComboBox, QLabel, QSplitter, QMenu, QToolButton, QLineEdit, \ QApplication, QWhatsThis, QDialog, QHBoxLayout, QProgressBar, QAction, \ @@ -3987,12 +3988,11 @@ @param styleSheetFile name of the user style sheet file (string) """ - userStyle = \ - self.adBlockManager().elementHidingRules().replace('"', '\\"') + name = "_eric_userstylesheet" + userStyle = "" userStyle += WebBrowserTools.readAllFileContents(styleSheetFile)\ .replace("\n", "") - name = "_eric_userstylesheet" oldScript = self.webProfile().scripts().findScript(name) if not oldScript.isNull():