Subject: bug#60703: Patches to xwidget code

From: Po Lu <[email-masked]>
Date: Fri, 27 Jan 2023 08:44:20 +0800

Andrew De Angelis <[email-masked]> writes:

> Thanks for the explanation. I sent out the signed copy yesterday. 
> I noticed a couple things about the previous patch, so I'm sending this one with a few updates:
>
> * `xwidget-webkit-current-url` in lisp/xwidget.el: check if the url variable is non-nil before calling `kill-new' on it. This avoids killing an empty
>  string, which would be pointless. We still alert the user that something's wrong by messaging "URL: nil" (although getting a nil url seems
>  very unlikely).
> * in src/nsxwidget.m: formatting (keep lines below 80 char), and a brief comment describing the purpose of some of the newly added
>  functions
>
> I'm also attaching a draft of the ChangeLog. Let me know if you'd like me to make any changes there. 
>
> I do have a question about the X11/GTK implementations for xwidget. I'm not sure I understand the relationship between the two: from the
> preprocessor macros it seems at times they are separate and at times that one is an addendum to the other.
> I'm asking because I want to make sure I'm using the preprocessor macros correctly: specifically, the function
> `xwidget-webkit-estimated-load-progress` within xwidget.c used to be inside a "#ifdef USE_GTK" block. I moved it outside of the block, and
> separated the GTK implementation from the NS_IMPL_COCOA implementation. Is this a problem for the X11 build? Should I instead put the
> whole function within a block along these lines: "#if defined USE_GTK || defined NS_IMPL_COCOA" ?

No, that's not a problem.  The X11 implementation shares most of the
widget manipulation code with the PGTK one, so both are simply under
``#ifdef USE_GTK''.