roundabout,
created on Monday, 23 June 2025, 09:11:50 (1750669910),
received on Monday, 23 June 2025, 09:11:54 (1750669914)
Author identity: vlad <vlad.muntoiu@gmail.com>
c4d5054c7e23f8d1a5d545cac1e789d9d9c7b49c
panthera-www.cc
@@ -41,6 +41,14 @@ std::string url_encode(const std::string &value) {
return escaped.str(); } bool starts_with(const Glib::ustring &str, const Glib::ustring &prefix) { return str.size() >= prefix.size() && str.compare(0, prefix.size(), prefix) == 0; } bool ends_with(const Glib::ustring &str, const Glib::ustring &suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } struct SearchEngine { Glib::ustring name; Glib::ustring url;
@@ -346,7 +354,7 @@ protected:
if(type == WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION) { auto action = webkit_navigation_policy_decision_get_navigation_action(WEBKIT_NAVIGATION_POLICY_DECISION(decision)); Glib::ustring url = Glib::ustring(webkit_uri_request_get_uri(webkit_navigation_action_get_request(action))); if(url.find("://") == Glib::ustring::npos) {if(!starts_with(url, "about:") && url.find("://") == Glib::ustring::npos) {// It is a special scheme (mailto:, tel: etc.) try { Gio::AppInfo::launch_default_for_uri(url);