Bug 252827 - [GLib] Ensure no final classes have public class structs
Summary: [GLib] Ensure no final classes have public class structs
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P2 Normal
Assignee: Michael Catanzaro
URL:
Keywords:
Depends on:
Blocks: GTK4
  Show dependency treegraph
 
Reported: 2023-02-23 07:33 PST by Michael Catanzaro
Modified: 2023-03-01 08:29 PST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2023-02-23 07:33:29 PST
In bug #243663 Adrian hid the class structs of most final classes. However, a few classes still do have public class structs because they have vtables. The vtables are now useless because the classes are not derivable, so they need to be hidden. This was not done in bug #243663 because it requires a little additional work to avoid breaking the original API version.
Comment 1 Michael Catanzaro 2023-02-23 07:53:07 PST
Affected classes are WebKitDownload, WebKitWebContext, and WebKitWebHitTestResult
Comment 2 Michael Catanzaro 2023-02-27 12:25:33 PST
Emmanuele says we should use g_signal_override_class_handler() rather than the g_signal_connect_after() that I had been planning to use.

I'm planning to handle WebKitDownload in bug #238748 and the other two classes here.
Comment 3 Michael Catanzaro 2023-03-01 06:52:28 PST
(In reply to Michael Catanzaro from comment #1)
> Affected classes are WebKitDownload, WebKitWebContext, and
> WebKitWebHitTestResult

Actually, Adrian already handled WebKitWebHitTestResult. And we decided not to handle WebKitDownload in bug #238748 after all. So here I'll handle WebKitDownload and WebKitWebContext.
Comment 4 Michael Catanzaro 2023-03-01 07:18:14 PST
Pull request: https://github.com/WebKit/WebKit/pull/10865
Comment 5 EWS 2023-03-01 08:29:41 PST
Committed 261011@main (5e3c2e27ef61): <https://commits.webkit.org/261011@main>

Reviewed commits have been landed. Closing PR #10865 and removing active labels.