def init(): """Initialize QtWebEngine-specific modules.""" log.init.debug("Initializing request interceptor...") host_blocker = objreg.get('host-blocker') req_interceptor = interceptor.RequestInterceptor( host_blocker, parent=QApplication.instance()) req_interceptor.install(QWebEngineProfile.defaultProfile())
def init(): """Initialize QtWebEngine-specific modules.""" # For some reason we need to keep a reference, otherwise the scheme handler # won't work... # https://www.riverbankcomputing.com/pipermail/pyqt/2016-September/038075.html global _qute_scheme_handler app = QApplication.instance() software_rendering = os.environ.get('LIBGL_ALWAYS_SOFTWARE') == '1' if version.opengl_vendor() == 'nouveau' and not software_rendering: # FIXME:qtwebengine display something more sophisticated here raise browsertab.WebTabError( "QtWebEngine is not supported with Nouveau graphics (unless " "LIBGL_ALWAYS_SOFTWARE is set as environment variable).") log.init.debug("Initializing qute://* handler...") _qute_scheme_handler = webenginequtescheme.QuteSchemeHandler(parent=app) _qute_scheme_handler.install(webenginesettings.default_profile) _qute_scheme_handler.install(webenginesettings.private_profile) log.init.debug("Initializing request interceptor...") host_blocker = objreg.get('host-blocker') req_interceptor = interceptor.RequestInterceptor(host_blocker, parent=app) req_interceptor.install(webenginesettings.default_profile) req_interceptor.install(webenginesettings.private_profile) log.init.debug("Initializing QtWebEngine downloads...") download_manager = webenginedownloads.DownloadManager(parent=app) download_manager.install(webenginesettings.default_profile) download_manager.install(webenginesettings.private_profile) objreg.register('webengine-download-manager', download_manager)
def init(): """Initialize the global QWebSettings.""" webenginequtescheme.init() spell.init() # For some reason we need to keep a reference, otherwise the scheme handler # won't work... # https://www.riverbankcomputing.com/pipermail/pyqt/2016-September/038075.html global _qute_scheme_handler app = QApplication.instance() log.init.debug("Initializing qute://* handler...") _qute_scheme_handler = webenginequtescheme.QuteSchemeHandler(parent=app) global _req_interceptor log.init.debug("Initializing request interceptor...") from qutebrowser.browser.webengine import interceptor _req_interceptor = interceptor.RequestInterceptor(parent=app) global _download_manager log.init.debug("Initializing QtWebEngine downloads...") _download_manager = webenginedownloads.DownloadManager(parent=app) objreg.register('webengine-download-manager', _download_manager) from qutebrowser.misc import quitter quitter.instance.shutting_down.connect(_download_manager.shutdown) global _global_settings _global_settings = WebEngineSettings(_SettingsWrapper()) _init_default_profile() init_private_profile() config.instance.changed.connect(_update_settings) _init_site_specific_quirks() _init_devtools_settings()
def init(): """Initialize QtWebEngine-specific modules.""" # For some reason we need to keep a reference, otherwise the scheme handler # won't work... # https://www.riverbankcomputing.com/pipermail/pyqt/2016-September/038075.html global _qute_scheme_handler app = QApplication.instance() log.init.debug("Initializing qute://* handler...") _qute_scheme_handler = webenginequtescheme.QuteSchemeHandler(parent=app) _qute_scheme_handler.install(webenginesettings.default_profile) _qute_scheme_handler.install(webenginesettings.private_profile) log.init.debug("Initializing request interceptor...") host_blocker = objreg.get('host-blocker') req_interceptor = interceptor.RequestInterceptor(host_blocker, parent=app) req_interceptor.install(webenginesettings.default_profile) req_interceptor.install(webenginesettings.private_profile) log.init.debug("Initializing QtWebEngine downloads...") download_manager = webenginedownloads.DownloadManager(parent=app) download_manager.install(webenginesettings.default_profile) download_manager.install(webenginesettings.private_profile) objreg.register('webengine-download-manager', download_manager) greasemonkey = objreg.get('greasemonkey') greasemonkey.scripts_reloaded.connect(webenginesettings.inject_userscripts) webenginesettings.inject_userscripts()
def test_resource_type_values(): request_interceptor = interceptor.RequestInterceptor() for qt_value, qb_item in request_interceptor._resource_types.items(): if (qtutils.version_check('5.7.1', exact=True, compiled=False) and qb_item == interceptors.ResourceType.unknown): # Qt 5.7 has ResourceTypeUnknown = 18 instead of 255 continue assert qt_value == qb_item.value
def test_no_missing_resource_types(): request_interceptor = interceptor.RequestInterceptor() qb_keys = request_interceptor._resource_types.keys() qt_keys = { i for i in vars(QWebEngineUrlRequestInfo).values() if isinstance(i, QWebEngineUrlRequestInfo.ResourceType) } assert qt_keys == qb_keys
def init(): """Initialize QtWebEngine-specific modules.""" # For some reason we need to keep a reference, otherwise the scheme handler # won't work... # https://www.riverbankcomputing.com/pipermail/pyqt/2016-September/038075.html global _qute_scheme_handler app = QApplication.instance() profile = QWebEngineProfile.defaultProfile() log.init.debug("Initializing qute:* handler...") _qute_scheme_handler = webenginequtescheme.QuteSchemeHandler(parent=app) _qute_scheme_handler.install(profile) log.init.debug("Initializing request interceptor...") host_blocker = objreg.get('host-blocker') req_interceptor = interceptor.RequestInterceptor(host_blocker, parent=app) req_interceptor.install(profile)
def init(): """Initialize QtWebEngine-specific modules.""" # For some reason we need to keep a reference, otherwise the scheme handler # won't work... # https://www.riverbankcomputing.com/pipermail/pyqt/2016-September/038075.html global _qute_scheme_handler app = QApplication.instance() log.init.debug("Initializing qute://* handler...") _qute_scheme_handler = webenginequtescheme.QuteSchemeHandler(parent=app) _qute_scheme_handler.install(webenginesettings.default_profile) _qute_scheme_handler.install(webenginesettings.private_profile) log.init.debug("Initializing request interceptor...") host_blocker = objreg.get('host-blocker') args = objreg.get('args') req_interceptor = interceptor.RequestInterceptor(host_blocker, args=args, parent=app) req_interceptor.install(webenginesettings.default_profile) req_interceptor.install(webenginesettings.private_profile) log.init.debug("Initializing QtWebEngine downloads...") download_manager = webenginedownloads.DownloadManager(parent=app) download_manager.install(webenginesettings.default_profile) download_manager.install(webenginesettings.private_profile) objreg.register('webengine-download-manager', download_manager) log.init.debug("Initializing cookie filter...") cookies.install_filter(webenginesettings.default_profile) cookies.install_filter(webenginesettings.private_profile) # Clear visited links on web history clear hist = objreg.get('web-history') for p in [ webenginesettings.default_profile, webenginesettings.private_profile ]: hist.history_cleared.connect(p.clearAllVisitedLinks) hist.url_cleared.connect( lambda url, profile=p: profile.clearVisitedLinks([url]))
def test_resource_type_values(): request_interceptor = interceptor.RequestInterceptor() for qt_value, qb_item in request_interceptor._resource_types.items(): assert qt_value == qb_item.value