unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
@ 2024-01-19 23:16 Noé Lopez
  2024-01-20  7:57 ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Noé Lopez @ 2024-01-19 23:16 UTC (permalink / raw)
  To: 68604

[-- Attachment #1: Type: text/plain, Size: 865 bytes --]

Hi,

This patch adds a new variable for xwidget webkit that allows users to
disable javascript.  Javascript is often used by websites for tracking,
advertisements, cookies and being obnoxious in general.

As I mostly use xwidget for viewing online documentation and simple
pages, disabling javascript is a very elegant solution to get rid of
everything obnoxious and browse with ease.  I hope this patch can be
useful for people with the same use case as me where javascript is not
needed.


In GNU Emacs 30.0.50 (build 5, x86_64-pc-linux-gnu, GTK+ Version
  3.24.38, cairo version 1.18.0) of 2024-01-19 built on navi
Repository revision: bd5bfc29137b6e452e1900a1fc3cf09e77959133
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101010
System Description: Void Linux

Configured using:
  'configure --with-xwidgets'

[-- Attachment #2: 0001-Add-user-option-to-disable-JavaScript-in-xwidget-web.patch --]
[-- Type: text/x-patch, Size: 3574 bytes --]

From cea55d4953cb70a8a4c3ba9c21aad68efc7475f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?No=C3=A9=20Lopez?= <noelopez@free.fr>
Date: Fri, 19 Jan 2024 23:40:53 +0100
Subject: [PATCH] Add user option to disable JavaScript in xwidget webview

* etc/NEWS:
* doc/emacs/misc.texi (Embedded Webkit Widgets):
Document the change.
* lisp/xwidget.el:
* src/xwidget.el:
Add the 'xwidget-webkit-disable-javascript' variable to disable
JavaScript in WebKit sessions.
---
 doc/emacs/misc.texi | 8 ++++++++
 etc/NEWS            | 7 +++++++
 lisp/xwidget.el     | 7 +++++++
 src/xwidget.c       | 7 +++++++
 4 files changed, 29 insertions(+)

diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 7eb28f56826..d39d98678a0 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -3009,6 +3009,14 @@ Embedded WebKit Widgets
 
 It is bound to @kbd{H}.
 
+@vindex xwidget-webkit-disable-javascript
+@cindex disabling javascript in webkit buffers
+  JavaScript is enabled by default inside WebKit buffers, this can be
+undesirable as websites often use it to track your online activity. It
+can be disabled by setting the variable @code{xwidget-webkit-disable-javascript} to @code{t}.
+You must kill all WebKit buffers for this setting to take effect after
+it is changed.
+
 @node Browse-URL
 @subsection  Following URLs
 @cindex World Wide Web
diff --git a/etc/NEWS b/etc/NEWS
index 735a05f6579..33655663bd8 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1254,6 +1254,13 @@ chat buffers use by default.
 *** New command 'customize-dirlocals'.
 This command pops up a buffer to edit the settings in ".dir-locals.el".
 
+** Xwidget Webkit
+
++++
+*** New user option 'xwidget-webkit-disable-javascript'
+This allows disabling JavaScript in xwidget webkit
+sessions.
+
 \f
 * New Modes and Packages in Emacs 30.1
 
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
index cca01c8cb3a..2fb79bb7b1d 100644
--- a/lisp/xwidget.el
+++ b/lisp/xwidget.el
@@ -116,6 +116,13 @@ xwidget-webkit-cookie-file
   :type '(choice (const :tag "Do not store cookies" nil) file)
   :version "29.1")
 
+(defcustom xwidget-webkit-disable-javascript nil
+  "If non-nil, disables the execution of JavaScript in xwidget webkit sessions.
+You must kill all xwidget-webkit buffers for this setting to take
+effect after changing it."
+  :type '(boolean)
+  :version "30.0")
+
 ;;;###autoload
 (defun xwidget-webkit-browse-url (url &optional new-session)
   "Ask xwidget-webkit to browse URL.
diff --git a/src/xwidget.c b/src/xwidget.c
index 58910459142..fc0055963c6 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -379,6 +379,7 @@ DEFUN ("make-xwidget",
 	  /* Enable the developer extras.  */
 	  settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (xw->widget_osr));
 	  g_object_set (G_OBJECT (settings), "enable-developer-extras", TRUE, NULL);
+	  g_object_set (G_OBJECT (settings), "enable-javascript", !Vxwidget_webkit_disable_javascript, NULL);
 	}
 
       gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width,
@@ -3972,6 +3973,12 @@ syms_of_xwidget (void)
 	       doc: /* List of all xwidget views.  */);
   Vxwidget_view_list = Qnil;
 
+  DEFVAR_BOOL("xwidget-webkit-disable-javascript", Vxwidget_webkit_disable_javascript,
+	      doc: /* If non-nil, disables the execution of JavaScript in xwidget webkit sessions.
+You must kill all xwidget-webkit buffers for this setting to take
+effect after changing it.  */);
+  Vxwidget_webkit_disable_javascript = Qnil;
+
   Fprovide (intern ("xwidget-internal"), Qnil);
 
   id_to_xwidget_map = CALLN (Fmake_hash_table, QCtest, Qeq,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-01-19 23:16 bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview Noé Lopez
@ 2024-01-20  7:57 ` Eli Zaretskii
  2024-01-20 12:52   ` Noé Lopez
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2024-01-20  7:57 UTC (permalink / raw)
  To: Noé Lopez; +Cc: 68604

> Date: Sat, 20 Jan 2024 00:16:33 +0100
> From: Noé Lopez <noelopez@free.fr>
> 
> This patch adds a new variable for xwidget webkit that allows users to
> disable javascript.  Javascript is often used by websites for tracking,
> advertisements, cookies and being obnoxious in general.
> 
> As I mostly use xwidget for viewing online documentation and simple
> pages, disabling javascript is a very elegant solution to get rid of
> everything obnoxious and browse with ease.  I hope this patch can be
> useful for people with the same use case as me where javascript is not
> needed.

Thanks.  Please see a few comments below:

> --- a/doc/emacs/misc.texi
> +++ b/doc/emacs/misc.texi
> @@ -3009,6 +3009,14 @@ Embedded WebKit Widgets
>  
>  It is bound to @kbd{H}.
>  
> +@vindex xwidget-webkit-disable-javascript
> +@cindex disabling javascript in webkit buffers
> +  JavaScript is enabled by default inside WebKit buffers, this can be
> +undesirable as websites often use it to track your online activity. It
                                                                     ^^
Our convention is to leave 2 spaces between sentences in manuals and
doc strings.

> +can be disabled by setting the variable @code{xwidget-webkit-disable-javascript} to @code{t}.
> +You must kill all WebKit buffers for this setting to take effect after
> +it is changed.

Wouldn't it be better if the defcustom had a :set function which would
do this automatically when the value changes?

> ++++
> +*** New user option 'xwidget-webkit-disable-javascript'

Heading lines in NEWS should end in a period.

> --- a/src/xwidget.c
> +++ b/src/xwidget.c
> @@ -379,6 +379,7 @@ DEFUN ("make-xwidget",
>  	  /* Enable the developer extras.  */
>  	  settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (xw->widget_osr));
>  	  g_object_set (G_OBJECT (settings), "enable-developer-extras", TRUE, NULL);
> +	  g_object_set (G_OBJECT (settings), "enable-javascript", !Vxwidget_webkit_disable_javascript, NULL);
>  	}
>  
>        gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width,
> @@ -3972,6 +3973,12 @@ syms_of_xwidget (void)
>  	       doc: /* List of all xwidget views.  */);
>    Vxwidget_view_list = Qnil;
>  
> +  DEFVAR_BOOL("xwidget-webkit-disable-javascript", Vxwidget_webkit_disable_javascript,
> +	      doc: /* If non-nil, disables the execution of JavaScript in xwidget webkit sessions.
> +You must kill all xwidget-webkit buffers for this setting to take
> +effect after changing it.  */);
> +  Vxwidget_webkit_disable_javascript = Qnil;

Our conventions for boolean variables defined by DEFVAR_BOOL are as
follows:

  . the variable's name is without the leading "V"
  . the value is a C bool type, so the initialization should use
    'true' or 'false', not 'Qnil'
  . tests for nil/non-nil are done as for C bool types, not by using
    NILP

So the above needs some simple fixing.

Last, but not least: this contribution is too large for us to accept
it without a copyright assignment.  Would you agree to start the
copyright assignment paperwork, so we could accept this contribution?
If yes, I will send you a form to fill and the instructions to email
the filled form.

Thanks again for working on this.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-01-20  7:57 ` Eli Zaretskii
@ 2024-01-20 12:52   ` Noé Lopez
  2024-01-20 13:03     ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Noé Lopez @ 2024-01-20 12:52 UTC (permalink / raw)
  To: 68604

[-- Attachment #1: Type: text/plain, Size: 1044 bytes --]

Thanks for your review. Here's an updated patch with the small 
modifications needed.

On 20/01/2024 08:57, Eli Zaretskii wrote:
>> +can be disabled by setting the variable @code{xwidget-webkit-disable-javascript} to @code{t}.
>> +You must kill all WebKit buffers for this setting to take effect after
>> +it is changed.
> Wouldn't it be better if the defcustom had a :set function which would
> do this automatically when the value changes?

I thought about it but decided not to because I'm not sure if it's a 
good idea to kill the user's buffers without their consent, there could 
be important things and unsaved progress in there.

> Last, but not least: this contribution is too large for us to accept
> it without a copyright assignment.  Would you agree to start the
> copyright assignment paperwork, so we could accept this contribution?
> If yes, I will send you a form to fill and the instructions to email
> the filled form.
I've already sent an email to assign@gnu.org and I'm awaiting a 
response. Is there anything else to do ?

[-- Attachment #2: 0001-Add-user-option-to-disable-JavaScript-in-xwidget-web.patch --]
[-- Type: text/x-patch, Size: 3798 bytes --]

From bc76e380b3e7cde48606be09e99750ad4402f0a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?No=C3=A9=20Lopez?= <noelopez@free.fr>
Date: Fri, 19 Jan 2024 23:40:53 +0100
Subject: [PATCH] Add user option to disable JavaScript in xwidget webview

* etc/NEWS:
* doc/emacs/misc.texi (Embedded Webkit Widgets):
Document the change.
* lisp/xwidget.el:
* src/xwidget.el:
Add the 'xwidget-webkit-disable-javascript' variable to disable
JavaScript in WebKit sessions.
---
 doc/emacs/misc.texi | 8 ++++++++
 etc/NEWS            | 7 +++++++
 lisp/xwidget.el     | 7 +++++++
 src/xwidget.c       | 8 +++++++-
 4 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 7eb28f56826..bfc86e3c9d4 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -3009,6 +3009,14 @@ Embedded WebKit Widgets
 
 It is bound to @kbd{H}.
 
+@vindex xwidget-webkit-disable-javascript
+@cindex disabling javascript in webkit buffers
+  JavaScript is enabled by default inside WebKit buffers, this can be
+undesirable as websites often use it to track your online activity.  It
+can be disabled by setting the variable @code{xwidget-webkit-disable-javascript} to @code{t}.
+You must kill all WebKit buffers for this setting to take effect after
+it is changed.
+
 @node Browse-URL
 @subsection  Following URLs
 @cindex World Wide Web
diff --git a/etc/NEWS b/etc/NEWS
index 735a05f6579..2e453e15b5e 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1254,6 +1254,13 @@ chat buffers use by default.
 *** New command 'customize-dirlocals'.
 This command pops up a buffer to edit the settings in ".dir-locals.el".
 
+** Xwidget Webkit
+
++++
+*** New user option 'xwidget-webkit-disable-javascript'.
+This allows disabling JavaScript in xwidget webkit
+sessions.
+
 \f
 * New Modes and Packages in Emacs 30.1
 
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
index cca01c8cb3a..2fb79bb7b1d 100644
--- a/lisp/xwidget.el
+++ b/lisp/xwidget.el
@@ -116,6 +116,13 @@ xwidget-webkit-cookie-file
   :type '(choice (const :tag "Do not store cookies" nil) file)
   :version "29.1")
 
+(defcustom xwidget-webkit-disable-javascript nil
+  "If non-nil, disables the execution of JavaScript in xwidget webkit sessions.
+You must kill all xwidget-webkit buffers for this setting to take
+effect after changing it."
+  :type '(boolean)
+  :version "30.0")
+
 ;;;###autoload
 (defun xwidget-webkit-browse-url (url &optional new-session)
   "Ask xwidget-webkit to browse URL.
diff --git a/src/xwidget.c b/src/xwidget.c
index 58910459142..5b82ef6e840 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -22,7 +22,6 @@ Copyright (C) 2011-2024 Free Software Foundation, Inc.
 #include "buffer.h"
 #include "coding.h"
 #include "xwidget.h"
-
 #include "lisp.h"
 #include "blockinput.h"
 #include "dispextern.h"
@@ -379,6 +378,7 @@ DEFUN ("make-xwidget",
 	  /* Enable the developer extras.  */
 	  settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (xw->widget_osr));
 	  g_object_set (G_OBJECT (settings), "enable-developer-extras", TRUE, NULL);
+	  g_object_set (G_OBJECT (settings), "enable-javascript", !xwidget_webkit_disable_javascript, NULL);
 	}
 
       gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width,
@@ -3972,6 +3972,12 @@ syms_of_xwidget (void)
 	       doc: /* List of all xwidget views.  */);
   Vxwidget_view_list = Qnil;
 
+  DEFVAR_BOOL("xwidget-webkit-disable-javascript", xwidget_webkit_disable_javascript,
+	      doc: /* If non-nil, disables the execution of JavaScript in xwidget webkit sessions.
+You must kill all xwidget-webkit buffers for this setting to take
+effect after changing it.  */);
+  xwidget_webkit_disable_javascript = false;
+
   Fprovide (intern ("xwidget-internal"), Qnil);
 
   id_to_xwidget_map = CALLN (Fmake_hash_table, QCtest, Qeq,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-01-20 12:52   ` Noé Lopez
@ 2024-01-20 13:03     ` Eli Zaretskii
  2024-03-01 21:51       ` Noé Lopez
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2024-01-20 13:03 UTC (permalink / raw)
  To: Noé Lopez; +Cc: 68604

> Date: Sat, 20 Jan 2024 13:52:01 +0100
> From: Noé Lopez <noelopez@free.fr>
> 
> Thanks for your review. Here's an updated patch with the small 
> modifications needed.

Thanks.

> > Last, but not least: this contribution is too large for us to accept
> > it without a copyright assignment.  Would you agree to start the
> > copyright assignment paperwork, so we could accept this contribution?
> > If yes, I will send you a form to fill and the instructions to email
> > the filled form.
> I've already sent an email to assign@gnu.org and I'm awaiting a 
> response. Is there anything else to do ?

No, we should wait for the paperwork to complete.  If you hear nothing
from assign@gnu.org in a week or two, ping them and CC me.

Thanks.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-01-20 13:03     ` Eli Zaretskii
@ 2024-03-01 21:51       ` Noé Lopez
  2024-03-02  7:25         ` Eli Zaretskii
  2024-03-03  5:05         ` Richard Stallman
  0 siblings, 2 replies; 18+ messages in thread
From: Noé Lopez @ 2024-03-01 21:51 UTC (permalink / raw)
  To: 68604

On 20/01/2024 14:03, Eli Zaretskii wrote:
>> Date: Sat, 20 Jan 2024 13:52:01 +0100
>> From: Noé Lopez <noelopez@free.fr>
>>
>> Thanks for your review. Here's an updated patch with the small
>> modifications needed.
> Thanks.
>
>>> Last, but not least: this contribution is too large for us to accept
>>> it without a copyright assignment.  Would you agree to start the
>>> copyright assignment paperwork, so we could accept this contribution?
>>> If yes, I will send you a form to fill and the instructions to email
>>> the filled form.
>> I've already sent an email to assign@gnu.org and I'm awaiting a
>> response. Is there anything else to do ?
> No, we should wait for the paperwork to complete.  If you hear nothing
> from assign@gnu.org in a week or two, ping them and CC me.
>
> Thanks.
>
>
>
Hi again, my paperwork is finally complete!

I had to get a disclaimer from my school, it was a work of patience.

That said, I had time to think about my patch, maybe we should disable 
JavaScript by default? I've seen some RMS talks about JavaScript and it 
seems he's not too fond of it in general, and I think he said in his 
2022 EmacsConf that the number one thing he didn't want to see in Emacs 
was a modern web browser (https://emacsconf.org/2022/talks/rms/ at 
12:55), what happened to that ?

I'm fine with either options but it's probably worth thinking about.

Have a very pleasant evening,
Noé Lopez






^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-01 21:51       ` Noé Lopez
@ 2024-03-02  7:25         ` Eli Zaretskii
  2024-03-03  5:05         ` Richard Stallman
  1 sibling, 0 replies; 18+ messages in thread
From: Eli Zaretskii @ 2024-03-02  7:25 UTC (permalink / raw)
  To: Noé Lopez, Stefan Kangas; +Cc: 68604

> Date: Fri, 1 Mar 2024 22:51:11 +0100
> From: Noé Lopez <noelopez@free.fr>
> 
> Hi again, my paperwork is finally complete!
> 
> I had to get a disclaimer from my school, it was a work of patience.
> 
> That said, I had time to think about my patch, maybe we should disable 
> JavaScript by default? I've seen some RMS talks about JavaScript and it 
> seems he's not too fond of it in general, and I think he said in his 
> 2022 EmacsConf that the number one thing he didn't want to see in Emacs 
> was a modern web browser (https://emacsconf.org/2022/talks/rms/ at 
> 12:55), what happened to that ?
> 
> I'm fine with either options but it's probably worth thinking about.

I think we should install your changes, and consider making this the
default later.  Stefan, WDYT?





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-01 21:51       ` Noé Lopez
  2024-03-02  7:25         ` Eli Zaretskii
@ 2024-03-03  5:05         ` Richard Stallman
  2024-03-03 17:10           ` Noé Lopez
  1 sibling, 1 reply; 18+ messages in thread
From: Richard Stallman @ 2024-03-03  5:05 UTC (permalink / raw)
  To: Noé Lopez; +Cc: 68604

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Thanks for working on this.

Does LibreJS work on this browser?
Can you make it run there?


-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)







^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-03  5:05         ` Richard Stallman
@ 2024-03-03 17:10           ` Noé Lopez
  2024-03-04  2:01             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 18+ messages in thread
From: Noé Lopez @ 2024-03-03 17:10 UTC (permalink / raw)
  To: rms; +Cc: luangruo, 68604

On 03/03/2024 06:05, Richard Stallman wrote:
> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> Thanks for working on this.
>
> Does LibreJS work on this browser?
> Can you make it run there?

As of right now, no extensions (including LibreJS) can work. But thanks 
to WebKitGTK's support for WebExtensions there is a possibility to add 
support for it.

 From what I understood by reading the sparse documentation, we can 
register an extension directory when starting WebKit and it just might 
load it if we place it in there. I'll try it for a future patch, it 
could also make other extensions like uBlock origin work if I understood 
correctly, but I don't understand that much when there's so little 
documentation I could find. I'll try it out and let you know.

Po Lu, since you're the maintainer for xwidget.c, do you have any tips 
on this ?






^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-03 17:10           ` Noé Lopez
@ 2024-03-04  2:01             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-03-06  2:22               ` Richard Stallman
  0 siblings, 1 reply; 18+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-03-04  2:01 UTC (permalink / raw)
  To: Noé Lopez; +Cc: 68604, rms

Noé Lopez <noelopez@free.fr> writes:

> As of right now, no extensions (including LibreJS) can work. But
> thanks to WebKitGTK's support for WebExtensions there is a possibility
> to add support for it.
>
> From what I understood by reading the sparse documentation, we can
> register an extension directory when starting WebKit and it just might
> load it if we place it in there. I'll try it for a future patch, it
> could also make other extensions like uBlock origin work if I
> understood correctly, but I don't understand that much when there's so
> little documentation I could find. I'll try it out and let you know.
>
> Po Lu, since you're the maintainer for xwidget.c, do you have any tips
> on this ?

Recent WebKitGTK releases have removed functionality required if Emacs
is to display web pages within off-screen windows, so I think our
priority should be restoring the browser to a functional condition,
rather than introducing non-essential extensions that will only serve a
dwindling number of users.  The approach I suggest is to port xwidget.c
to the WPE library:

  https://wpewebkit.org

which is designed for displaying web pages onto off-screen buffers that
are later copied as the client pleases, a perfect match for Emacs's
requirements.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-04  2:01             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-03-06  2:22               ` Richard Stallman
  2024-03-06  4:00                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 18+ messages in thread
From: Richard Stallman @ 2024-03-06  2:22 UTC (permalink / raw)
  To: Po Lu; +Cc: noelopez, 68604

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > Recent WebKitGTK releases have removed functionality required if Emacs
  > is to display web pages within off-screen windows, so I think our
  > priority should be restoring the browser to a functional condition,

How does this relate to LibreJS?  Does LibreJS work by displaying
in off-screen windows?

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)







^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-06  2:22               ` Richard Stallman
@ 2024-03-06  4:00                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-03-09  8:44                   ` Eli Zaretskii
  2024-03-10  3:00                   ` Richard Stallman
  0 siblings, 2 replies; 18+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-03-06  4:00 UTC (permalink / raw)
  To: Richard Stallman; +Cc: noelopez, 68604

Richard Stallman <rms@gnu.org> writes:

> How does this relate to LibreJS?  Does LibreJS work by displaying
> in off-screen windows?

They don't relate to LibreJS, but to Emacs, in that the Emacs browser to
which LibreJS's addition is being proposed is nonfunctional by reason of
their absence.  Which is to say that we are contemplating the
introduction of a new user option and/or LibreJS to a broken browser,
and I would very much prefer it if the browser were fixed first, before
any new user options are implemented.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-06  4:00                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-03-09  8:44                   ` Eli Zaretskii
  2024-03-09 10:23                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-03-09 13:58                     ` Noé Lopez
  2024-03-10  3:00                   ` Richard Stallman
  1 sibling, 2 replies; 18+ messages in thread
From: Eli Zaretskii @ 2024-03-09  8:44 UTC (permalink / raw)
  To: Po Lu; +Cc: noelopez, 68604, rms

> Cc: noelopez@free.fr, 68604@debbugs.gnu.org
> Date: Wed, 06 Mar 2024 12:00:00 +0800
> From:  Po Lu via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> Richard Stallman <rms@gnu.org> writes:
> 
> > How does this relate to LibreJS?  Does LibreJS work by displaying
> > in off-screen windows?
> 
> They don't relate to LibreJS, but to Emacs, in that the Emacs browser to
> which LibreJS's addition is being proposed is nonfunctional by reason of
> their absence.  Which is to say that we are contemplating the
> introduction of a new user option and/or LibreJS to a broken browser,
> and I would very much prefer it if the browser were fixed first, before
> any new user options are implemented.

I'm confused: are we saying that we are not interested in the patch
proposed by the OP?  I think it's a no-brainer, really.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-09  8:44                   ` Eli Zaretskii
@ 2024-03-09 10:23                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-03-14  9:34                       ` Eli Zaretskii
  2024-03-09 13:58                     ` Noé Lopez
  1 sibling, 1 reply; 18+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-03-09 10:23 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: noelopez, 68604, rms

Eli Zaretskii <eliz@gnu.org> writes:

> I'm confused: are we saying that we are not interested in the patch
> proposed by the OP?  I think it's a no-brainer, really.

No, my post was meant as a gentle reminder of the ideal priorities for
contributors to xwidgets.  After all, no users can benefit from a new
option when the feature it controls is not in working order.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-09  8:44                   ` Eli Zaretskii
  2024-03-09 10:23                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-03-09 13:58                     ` Noé Lopez
  1 sibling, 0 replies; 18+ messages in thread
From: Noé Lopez @ 2024-03-09 13:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: luangruo, 68604, rms

I agree with Po, my patch is fine because it is very simple but it would
be a bad idea to work on something complicated like extension support as
suggested by Richard before the bigger issue is fixed, because then that
work would be useless.

I don't think I'm up for the task of porting xwidget to the WPE library,
because I don't understand much of the documentation.

I think simply disabling JavaScript like the current patch does is the
best thing to do as long as we use WebKitGTK and not WPE.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-06  4:00                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-03-09  8:44                   ` Eli Zaretskii
@ 2024-03-10  3:00                   ` Richard Stallman
  2024-03-10  3:12                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 18+ messages in thread
From: Richard Stallman @ 2024-03-10  3:00 UTC (permalink / raw)
  To: Po Lu; +Cc: noelopez, 68604

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > They don't relate to LibreJS, but to Emacs, in that the Emacs browser to
  > which LibreJS's addition is being proposed is nonfunctional by reason of
  > their absence.  Which is to say that we are contemplating the
  > introduction of a new user option and/or LibreJS to a broken browser,
  > and I would very much prefer it if the browser were fixed first, before
  > any new user options are implemented.

Based on that information, I agree it is impostant to fix the
off-screen windows bug.  So both of these jobs need to be done.

The order in which they are done is not crucial, as far as I can see.
The order won't affect the total amount of work needed fix them both,
will it?  So the main thing is to get them both done.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)







^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-10  3:00                   ` Richard Stallman
@ 2024-03-10  3:12                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-03-13  2:27                       ` Richard Stallman
  0 siblings, 1 reply; 18+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-03-10  3:12 UTC (permalink / raw)
  To: Richard Stallman; +Cc: noelopez, 68604

Richard Stallman <rms@gnu.org> writes:

> Based on that information, I agree it is impostant to fix the
> off-screen windows bug.  So both of these jobs need to be done.
>
> The order in which they are done is not crucial, as far as I can see.
> The order won't affect the total amount of work needed fix them both,
> will it?  So the main thing is to get them both done.

It's not possible to use or test the new option if the feature is not
functional, which suggests a pretty unambiguous first priority, correct?





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-10  3:12                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-03-13  2:27                       ` Richard Stallman
  0 siblings, 0 replies; 18+ messages in thread
From: Richard Stallman @ 2024-03-13  2:27 UTC (permalink / raw)
  To: Po Lu; +Cc: noelopez, 68604

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > It's not possible to use or test the new option if the feature is not
  > functional, which suggests a pretty unambiguous first priority, correct?

You know more than I do about that level of things.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)







^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview
  2024-03-09 10:23                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-03-14  9:34                       ` Eli Zaretskii
  0 siblings, 0 replies; 18+ messages in thread
From: Eli Zaretskii @ 2024-03-14  9:34 UTC (permalink / raw)
  To: Po Lu; +Cc: noelopez, rms, 68604-done

> From: Po Lu <luangruo@yahoo.com>
> Cc: rms@gnu.org,  noelopez@free.fr,  68604@debbugs.gnu.org
> Date: Sat, 09 Mar 2024 18:23:06 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > I'm confused: are we saying that we are not interested in the patch
> > proposed by the OP?  I think it's a no-brainer, really.
> 
> No, my post was meant as a gentle reminder of the ideal priorities for
> contributors to xwidgets.  After all, no users can benefit from a new
> option when the feature it controls is not in working order.

OK, so I've now installed the patch on the master branch, and I'm
closing this bug.

Noé, please look at the followup changes I made to fix some issues
with your original patch, and try to follow our conventions in the
future.





^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2024-03-14  9:34 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-19 23:16 bug#68604: [PATCH] Add user option to disable JavaScript in xwidget webview Noé Lopez
2024-01-20  7:57 ` Eli Zaretskii
2024-01-20 12:52   ` Noé Lopez
2024-01-20 13:03     ` Eli Zaretskii
2024-03-01 21:51       ` Noé Lopez
2024-03-02  7:25         ` Eli Zaretskii
2024-03-03  5:05         ` Richard Stallman
2024-03-03 17:10           ` Noé Lopez
2024-03-04  2:01             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-06  2:22               ` Richard Stallman
2024-03-06  4:00                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-09  8:44                   ` Eli Zaretskii
2024-03-09 10:23                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-14  9:34                       ` Eli Zaretskii
2024-03-09 13:58                     ` Noé Lopez
2024-03-10  3:00                   ` Richard Stallman
2024-03-10  3:12                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-13  2:27                       ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).