766 self.loadFinished.connect(self.__loadFinished) |
768 self.loadFinished.connect(self.__loadFinished) |
767 |
769 |
768 self.page().setForwardUnsupportedContent(True) |
770 self.page().setForwardUnsupportedContent(True) |
769 self.page().unsupportedContent.connect(self.__unsupportedContent) |
771 self.page().unsupportedContent.connect(self.__unsupportedContent) |
770 |
772 |
771 self.__featurePermissionBar = None |
|
772 self.page().featurePermissionRequested.connect( |
773 self.page().featurePermissionRequested.connect( |
773 self.__featurePermissionRequested) |
774 self.__featurePermissionRequested) |
774 # discard the feature bar on new loads (if we navigate away or reload) |
|
775 self.page().loadStarted.connect(self.__featurePermissionBarDelete) |
|
776 |
775 |
777 self.page().downloadRequested.connect(self.__downloadRequested) |
776 self.page().downloadRequested.connect(self.__downloadRequested) |
778 self.page().frameCreated.connect(self.__addExternalBinding) |
777 self.page().frameCreated.connect(self.__addExternalBinding) |
779 self.__addExternalBinding(self.page().mainFrame()) |
778 self.__addExternalBinding(self.page().mainFrame()) |
780 |
779 |
2122 @param frame frame sending the request |
2121 @param frame frame sending the request |
2123 @type QWebFrame |
2122 @type QWebFrame |
2124 @param feature requested feature |
2123 @param feature requested feature |
2125 @type QWebPage.Feature |
2124 @type QWebPage.Feature |
2126 """ |
2125 """ |
2127 from .FeaturePermissionBar import FeaturePermissionBar |
2126 manager = Helpviewer.HelpWindow.HelpWindow.featurePermissionManager() |
2128 self.__featurePermissionBar = FeaturePermissionBar(self, frame, |
2127 manager.requestFeaturePermission(self.page(), frame, feature) |
2129 feature) |
|
2130 self.__featurePermissionBar.featurePermissionProvided.connect( |
|
2131 self.__setFeaturePermission) |
|
2132 self.__featurePermissionBar.show() |
|
2133 |
|
2134 def __setFeaturePermission(self, frame, feature, policy): |
|
2135 """ |
|
2136 Private slot to set the feature permissions. |
|
2137 |
|
2138 @param frame frame to set the permission for |
|
2139 @type QWebFrame |
|
2140 @param feature feature to set permission for |
|
2141 @type QWebPage.Feature |
|
2142 @param policy permission policy to be set |
|
2143 @type QWebPage.PermissionPolicy |
|
2144 """ |
|
2145 self.page().setFeaturePermission(frame, feature, policy) |
|
2146 self.__featurePermissionBarDelete() |
|
2147 |
|
2148 def __featurePermissionBarDelete(self): |
|
2149 """ |
|
2150 Private slot to delete the feature permission bar. |
|
2151 """ |
|
2152 if self.__featurePermissionBar is not None: |
|
2153 self.__featurePermissionBar.deleteLater() |
|
2154 self.__featurePermissionBar.hide() |
|
2155 self.__featurePermissionBar = None |
|
2156 |
2128 |
2157 def __downloadRequested(self, request): |
2129 def __downloadRequested(self, request): |
2158 """ |
2130 """ |
2159 Private slot to handle a download request. |
2131 Private slot to handle a download request. |
2160 |
2132 |