def load_uri(self, uri): """ Load uri @param uri as str """ self._error = False # Allow profile switching self.__previous_uri = "" # If not an URI, start a search parsed = urlparse(uri) is_uri = parsed.scheme in [ "about", "http", "https", "file", "populars" ] if not is_uri and\ not uri.startswith("/") and\ El().search.is_search(uri): uri = El().search.get_search_uri(uri) parsed = urlparse(uri) if uri == "about:blank": WebKit2.WebView.load_plain_text(self, "") # We are not a ftp browser, fall back to env elif parsed.scheme == "ftp": argv = [get_ftp_cmd(), uri, None] GLib.spawn_sync(None, argv, None, GLib.SpawnFlags.SEARCH_PATH, None) else: if uri.startswith("/"): uri = "file://" + uri elif parsed.scheme == "javascript": # To bypass popup blocker self._last_click_time = time() uri = GLib.uri_unescape_string(uri, None) self.run_javascript(uri.replace("javascript:", ""), None, None) elif parsed.scheme not in [ "http", "https", "file", "populars", "accept" ]: uri = "http://" + uri # Reset bad tls certificate if parsed.scheme != "accept": self.reset_bad_tls() self.__insecure_content_detected = False # Prevent cookies access on profile switching self.stop_loading() GLib.idle_add(WebKit2.WebView.load_uri, self, uri)
def load_uri(self, uri): """ Load uri @param uri as str """ self._error = None # If not an URI, start a search parsed = urlparse(uri) is_uri = parsed.scheme in ["about", "http", "https", "file", "populars"] if not is_uri and\ not uri.startswith("/") and\ El().search.is_search(uri): uri = El().search.get_search_uri(uri) parsed = urlparse(uri) if uri == "about:blank": WebKit2.WebView.load_plain_text(self, "") # We are not a ftp browser, fall back to env elif parsed.scheme == "ftp": argv = [get_ftp_cmd(), uri, None] GLib.spawn_sync(None, argv, None, GLib.SpawnFlags.SEARCH_PATH, None) else: if uri.startswith("/"): uri = "file://" + uri elif parsed.scheme == "javascript": self.__js_load = True uri = GLib.uri_unescape_string(uri, None) self.run_javascript(uri.replace("javascript:", ""), None, None) elif parsed.scheme not in ["http", "https", "file", "populars", "accept"]: uri = "http://" + uri # Reset bad tls certificate if parsed.scheme != "accept": self.reset_bad_tls() self.__insecure_content_detected = False WebKit2.WebView.load_uri(self, uri)