return;
}
-#ifdef FEATURE_HSTS
- /* change uri for known and valid hsts hosts */
- char *new_uri = hsts_get_changed_uri(vb.session, msg);
- if (new_uri) {
- webkit_network_request_set_uri(req, new_uri);
- g_free(new_uri);
- return;
- }
-#endif
-
if (!vb.config.headers) {
return;
}
WebKitWebNavigationAction *action, WebKitWebPolicyDecision *policy,
gpointer data)
{
+#ifdef FEATURE_HSTS
+ char *uri;
+ SoupMessage *msg = webkit_network_request_get_message(request);
+
+ /* change uri for known and valid hsts hosts */
+ uri = hsts_get_changed_uri(vb.session, msg);
+ if (uri) {
+ webkit_web_view_load_uri(view, uri);
+ webkit_web_policy_decision_ignore(policy);
+
+ g_free(uri);
+ /* mark the request as handled */
+ return true;
+ }
+#endif
+
/* try to find a protocol handler to open the uri */
if (handle_uri(webkit_network_request_get_uri(request))) {
webkit_web_policy_decision_ignore(policy);