Bug 195222 - Drop legacy userAgentForURL injected bundle SPI
Summary: Drop legacy userAgentForURL injected bundle SPI
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
Keywords: InRadar
Depends on:
Reported: 2019-03-01 12:46 PST by Chris Dumez
Modified: 2019-03-04 12:36 PST (History)
6 users (show)

See Also:

Patch (11.34 KB, patch)
2019-03-01 12:48 PST, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (12.53 KB, patch)
2019-03-04 11:52 PST, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (12.58 KB, patch)
2019-03-04 11:58 PST, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2019-03-01 12:46:56 PST
Deprecate userAgentForURL injected bundle SPI. There are no longer any clients, using WebsitePolicies.customUserAgent is the way to go nowadays.
Comment 1 Chris Dumez 2019-03-01 12:47:37 PST
Comment 2 Chris Dumez 2019-03-01 12:48:29 PST
Created attachment 363361 [details]
Comment 3 Darin Adler 2019-03-01 22:25:52 PST
Comment on attachment 363361 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=363361&action=review

> Source/WebKit/ChangeLog:3
> +        Deprecate userAgentForURL injected bundle SPI

This does more than just deprecate it. It also removes support for it, in other words makes it not be called any more. That’s not what "deprecate" means. So this is more like "remove support for" rather than "deprecate".

> Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:67
> +- (NSString *)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController *)controller frame:(WKWebProcessPlugInFrame *)frame userAgentForURL:(NSURL *)url WK_API_DEPRECATED("Use _WKWebsitePolicies.customUserAgent instead", macosx(WK_MAC_TBA, WK_MAC_TBA), ios(WK_IOS_TBA, WK_IOS_TBA));

Why are we leaving this in the header at all? This is not API, so what benefit is there for this being here and marked deprecated rather than removed? These deprecation macros have helpful behavior for methods that might be called. I’m not sure they do any good for optional methods in a protocol that are are meant to be implemented.

I suggest just deleting this line unless I am missing something.

> Source/WebKit/WebProcess/WebPage/WebPage.cpp:3169
> +String WebPage::userAgent(WebFrame*, const URL& webcoreURL) const

Should we change this to not even take a WebFrame pointer and update callers to no longer pass it?
Comment 4 Chris Dumez 2019-03-04 11:52:29 PST
Created attachment 363533 [details]
Comment 5 Chris Dumez 2019-03-04 11:58:38 PST
Created attachment 363536 [details]
Comment 6 WebKit Commit Bot 2019-03-04 12:36:38 PST
Comment on attachment 363536 [details]

Clearing flags on attachment: 363536

Committed r242375: <https://trac.webkit.org/changeset/242375>
Comment 7 WebKit Commit Bot 2019-03-04 12:36:40 PST
All reviewed patches have been landed.  Closing bug.