Example #1
0
    def __init__(self):
        WebKit.WebView.__init__(self)
        
        # Check version
        if WEBKIT2:
            webkit_ver = WebKit.get_major_version(), WebKit.get_minor_version(), WebKit.get_micro_version()
            if webkit_ver[0] < 2 or \
               webkit_ver[1] < 22:
                   raise Exception('WebKit2 wrong version ({0}). Upgrade to version 2.22.x or higher: {}'.format('.'.join(map(str, webkit_ver))))
                   sys.exit()
        
        # Store JS output
        self.js_values = []
        # Store html response
        self.html_response = ''

        # WebKit2 Signals
        if WEBKIT2:
            self.connect('decide-policy', self.on_decide_policy)
            self.connect("load_changed", self.on_load_changed)
            self.connect('button-press-event', lambda w, e: e.button == 3)
        else:
            self.connect('new-window-policy-decision-requested', self.on_nav_request)
            self.connect('resource-load-finished', self.on_resource_load_finished)
            self.connect('button-press-event', lambda w, e: e.button == 3)
        
        # Settings
        s = self.get_settings()
        if WEBKIT2:
            s.set_property('allow_file_access_from_file_urls', True)
            s.set_property('enable-spatial-navigation', False)
            s.set_property('enable_javascript', True)
        else:
            s.set_property('enable-file-access-from-file-uris', True)
            s.set_property('enable-default-context-menu', False)