WebBrowser/WebBrowserPage.py

branch
QtWebEngine
changeset 4788
7076adec8ddd
parent 4787
2a19edf4db14
child 4801
71bdc520f640
equal deleted inserted replaced
4787:2a19edf4db14 4788:7076adec8ddd
28 import sip 28 import sip
29 29
30 from E5Gui import E5MessageBox, E5FileDialog 30 from E5Gui import E5MessageBox, E5FileDialog
31 31
32 import WebBrowser 32 import WebBrowser
33 import WebBrowser.WebBrowserWindow 33 from WebBrowser.WebBrowserWindow import WebBrowserWindow
34 34
35 from .JavaScript.ExternalJsObject import ExternalJsObject 35 from .JavaScript.ExternalJsObject import ExternalJsObject
36 36
37 from .Tools.WebHitTestResult import WebHitTestResult 37 from .Tools.WebHitTestResult import WebHitTestResult
38 from .Tools import Scripts 38 from .Tools import Scripts
129 """ 129 """
130 Constructor 130 Constructor
131 131
132 @param parent parent widget of this window (QWidget) 132 @param parent parent widget of this window (QWidget)
133 """ 133 """
134 super(WebBrowserPage, self).__init__(parent) 134 super(WebBrowserPage, self).__init__(
135 WebBrowserWindow.webProfile(), parent)
135 136
136 self.__setupWebChannel() 137 self.__setupWebChannel()
137 138
138 ## self.setPluginFactory(self.webPluginFactory()) 139 ## self.setPluginFactory(self.webPluginFactory())
139 ## 140 ##
140 ## self.__lastRequest = None 141 ## self.__lastRequest = None
141 ## self.__lastRequestType = QWebPage.NavigationTypeOther 142 ## self.__lastRequestType = QWebPage.NavigationTypeOther
142 ## 143 ##
143 ## import WebBrowser.WebBrowserWindow
144 ## from .Network.NetworkAccessManagerProxy import \ 144 ## from .Network.NetworkAccessManagerProxy import \
145 ## NetworkAccessManagerProxy 145 ## NetworkAccessManagerProxy
146 ## self.__proxy = NetworkAccessManagerProxy(self) 146 ## self.__proxy = NetworkAccessManagerProxy(self)
147 ## self.__proxy.setWebPage(self) 147 ## self.__proxy.setWebPage(self)
148 ## self.__proxy.setPrimaryNetworkAccessManager( 148 ## self.__proxy.setPrimaryNetworkAccessManager(
149 ## WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()) 149 ## WebBrowserWindow.networkManager())
150 ## self.setNetworkAccessManager(self.__proxy) 150 ## self.setNetworkAccessManager(self.__proxy)
151 151
152 self.__sslConfiguration = None 152 self.__sslConfiguration = None
153 ## self.__proxy.finished.connect(self.__managerFinished) 153 ## self.__proxy.finished.connect(self.__managerFinished)
154 ## 154 ##
161 ## self.__restoreFrameStateRequested) 161 ## self.__restoreFrameStateRequested)
162 self.featurePermissionRequested.connect( 162 self.featurePermissionRequested.connect(
163 self.__featurePermissionRequested) 163 self.__featurePermissionRequested)
164 164
165 self.authenticationRequired.connect( 165 self.authenticationRequired.connect(
166 WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager() 166 WebBrowserWindow.networkManager().authentication)
167 .authentication)
168 167
169 self.proxyAuthenticationRequired.connect( 168 self.proxyAuthenticationRequired.connect(
170 WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager() 169 WebBrowserWindow.networkManager().proxyAuthentication)
171 .proxyAuthentication)
172 170
173 def acceptNavigationRequest(self, url, type_, isMainFrame): 171 def acceptNavigationRequest(self, url, type_, isMainFrame):
174 """ 172 """
175 Public method to determine, if a request may be accepted. 173 Public method to determine, if a request may be accepted.
176 174
195 QDesktopServices.openUrl(url) 193 QDesktopServices.openUrl(url)
196 return False 194 return False
197 195
198 # AdBlock 196 # AdBlock
199 if url.scheme() == "abp": 197 if url.scheme() == "abp":
200 if WebBrowser.WebBrowserWindow.WebBrowserWindow.adBlockManager()\ 198 if WebBrowserWindow.adBlockManager().addSubscriptionFromUrl(url):
201 .addSubscriptionFromUrl(url):
202 return False 199 return False
203 ## 200 ##
204 ## if type_ == QWebPage.NavigationTypeFormResubmitted: 201 ## if type_ == QWebPage.NavigationTypeFormResubmitted:
205 ## res = E5MessageBox.yesNo( 202 ## res = E5MessageBox.yesNo(
206 ## self.view(), 203 ## self.view(),
454 ## Public method to determine the user agent for the given URL. 451 ## Public method to determine the user agent for the given URL.
455 ## 452 ##
456 ## @param url URL to determine user agent for (QUrl) 453 ## @param url URL to determine user agent for (QUrl)
457 ## @return user agent string (string) 454 ## @return user agent string (string)
458 ## """ 455 ## """
459 ## import WebBrowser.WebBrowserWindow 456 ## agent = WebBrowserWindow.userAgentsManager().userAgentForUrl(url)
460 ## agent = WebBrowser.WebBrowserWindow.WebBrowserWindow.userAgentsManager()\
461 ## .userAgentForUrl(url)
462 ## if agent == "": 457 ## if agent == "":
463 ## # no agent string specified for the given host -> use global one 458 ## # no agent string specified for the given host -> use global one
464 ## agent = Preferences.getWebBrowser("UserAgent") 459 ## agent = Preferences.getWebBrowser("UserAgent")
465 ## if agent == "": 460 ## if agent == "":
466 ## # no global agent string specified -> use default one 461 ## # no global agent string specified -> use default one
499 ## if reply.error() == QNetworkReply.NoError and \ 494 ## if reply.error() == QNetworkReply.NoError and \
500 ## mainFrameRequest and \ 495 ## mainFrameRequest and \
501 ## reply.url() == self.mainFrame().url(): 496 ## reply.url() == self.mainFrame().url():
502 ## modified = reply.header(QNetworkRequest.LastModifiedHeader) 497 ## modified = reply.header(QNetworkRequest.LastModifiedHeader)
503 ## if modified and modified.isValid(): 498 ## if modified and modified.isValid():
504 ## import WebBrowser.WebBrowserWindow 499 ## manager = WebBrowserWindow.bookmarksManager()
505 ## manager = WebBrowser.WebBrowserWindow.WebBrowserWindow.bookmarksManager()
506 ## from .Bookmarks.BookmarkNode import BookmarkNode 500 ## from .Bookmarks.BookmarkNode import BookmarkNode
507 ## for bookmark in manager.bookmarksForUrl(reply.url()): 501 ## for bookmark in manager.bookmarksForUrl(reply.url()):
508 ## manager.setTimestamp(bookmark, BookmarkNode.TsModified, 502 ## manager.setTimestamp(bookmark, BookmarkNode.TsModified,
509 ## modified) 503 ## modified)
510 504
675 @param url url requesting the feature 669 @param url url requesting the feature
676 @type QUrl 670 @type QUrl
677 @param feature requested feature 671 @param feature requested feature
678 @type QWebEnginePage.Feature 672 @type QWebEnginePage.Feature
679 """ 673 """
680 manager = WebBrowser.WebBrowserWindow.WebBrowserWindow\ 674 manager = WebBrowserWindow.featurePermissionManager()
681 .featurePermissionManager()
682 manager.requestFeaturePermission(self, url, feature) 675 manager.requestFeaturePermission(self, url, feature)
683 676
684 def execJavaScript(self, script): 677 def execJavaScript(self, script):
685 """ 678 """
686 Public method to execute a JavaScript function synchroneously. 679 Public method to execute a JavaScript function synchroneously.
749 @param error object containing the certificate error information 742 @param error object containing the certificate error information
750 @type QWebEngineCertificateError 743 @type QWebEngineCertificateError
751 @return flag indicating to ignore this error 744 @return flag indicating to ignore this error
752 @rtype bool 745 @rtype bool
753 """ 746 """
754 return WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()\ 747 return WebBrowserWindow.networkManager().certificateError(
755 .certificateError(error, self.view()) 748 error, self.view())
756 749
757 ############################################## 750 ##############################################
758 ## Methods below deal with JavaScript messages 751 ## Methods below deal with JavaScript messages
759 ############################################## 752 ##############################################
760 753

eric ide

mercurial