Hi all,

I want to implement content blocking for external material loaded from HTML 
messages in a MUA (balsa).  Unfortunately, 
webkit_settings_set_auto_load_images() is not a solution, as I still want to 
display embedded images in the email, but I also want to suppress loading 
external styles, etc.  The blocking shall work on a per-message basis, e.g. it 
shall always be allowed for some senders, but only after user permission for 
others.

From [1] I understand that I have to use the WebKitWebPage::send-request signal 
in an extension.  So I wrote an extension which

(1) connects the page "page-created" signal in 
webkit_web_extension_initialize();
(2) the callback for (1)
    (a) sends a message using webkit_web_page_send_message_to_view() to get the 
blocking settings for the particular message, and
    (b) connects to the "send-request" signal.

This seems to work just fine, but I feel that I need some synchronisation 
between the main UI and the web process:

When the callback for (2b), i.e. for "send-request", is called, I must ensure that the 
reply from the main UI process with the decision if external material shall be loaded for the 
particular instance (email) has already been received, i.e. the callback registered in step (2a) 
has already been called.  IOW, the callback (2b) must not be called before the callback (2a) has 
been processed, or I have to somehow "delay" the web process until this reply has been 
received.

Is this possible?  How?

Thanks in advance for any insight,
best,
Albrecht.


[1] <https://lists.webkit.org/pipermail/webkit-gtk/2021-May/003704.html>

Attachment: pgp5JE8_YZ2cA.pgp
Description: PGP signature

_______________________________________________
webkit-gtk mailing list
webkit-gtk@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-gtk

Reply via email to