Пример #1
0
    def create_browser(debug=False, cache_model=None, process_model=None):
        """Creates a WebView instance, properly configured.

        Arguments:
            debug -- boolean to indicate if it should output debug and add
                context menu and inspector.
        """
        gi.require_version('WebKit', '3.0')
        from gi.repository.WebKit import WebView, WebSettings, set_cache_model

        if debug:
            WebKitMethods.print_version()

        if cache_model is not None:
            # http://lazka.github.io/pgi-docs/WebKit-3.0/functions.html#WebKit.set_cache_model
            set_cache_model(cache_model)

        # Setting for WebKit via git http://lazka.github.io/pgi-docs/#WebKit-3.0/classes/WebSettings.html
        settings = WebSettings()
        settings.set_property('enable-accelerated-compositing', True)
        settings.set_property('enable-file-access-from-file-uris', True)

        settings.set_property('enable-default-context-menu', not debug)

        webview = WebView()
        webview.set_settings(settings)
        return webview
Пример #2
0
    def create_browser(debug=False, cache_model=None, process_model=None):
        """Creates a WebView instance, properly configured.

        Arguments:
            debug -- boolean to indicate if it should output debug and add
                context menu and inspector.
        """
        gi.require_version('WebKit2', '4.0')
        from gi.repository.WebKit2 import WebView, Settings

        if debug:
            WebKit2Methods.print_version()

        settings = Settings()
        settings.set_allow_file_access_from_file_urls(True)
        if debug:
            settings.set_enable_developer_extras(True)
            settings.set_enable_write_console_messages_to_stdout(True)
        webview = WebView()

        if cache_model is not None:
            # http://lazka.github.io/pgi-docs/WebKit2-4.0/classes/WebContext.html#WebKit2.WebContext.set_cache_model
            context = webview.get_context()
            context.set_cache_model(cache_model)

        if process_model is not None:
            # http://lazka.github.io/pgi-docs/WebKit2-4.0/classes/WebContext.html#WebKit2.WebContext.set_process_model
            context = webview.get_context()
            context.set_process_model(process_model)

        if not debug:
            # https://people.gnome.org/~gcampagna/docs/WebKit2-3.0/WebKit2.WebView-context-menu.html
            def menu_contextual(webview, context_menu, event, hit_test_result):
                context_menu.remove_all()

            webview.connect('context-menu', menu_contextual)

        webview.set_settings(settings)
        return webview