RESOLVED FIXED208575
Add an SPI to allow UserStyleSheet injection to target a specific WKWebView
https://bugs.webkit.org/show_bug.cgi?id=208575
Summary Add an SPI to allow UserStyleSheet injection to target a specific WKWebView
Antoine Quint
Reported 2020-03-04 08:51:43 PST
Add an SPI to allow UserStyleSheet injection to target a specific WKWebView
Attachments
Patch (24.60 KB, patch)
2020-03-04 09:10 PST, Antoine Quint
no flags
Patch (25.03 KB, patch)
2020-03-04 09:57 PST, Antoine Quint
beidson: review+
Antoine Quint
Comment 1 2020-03-04 09:10:31 PST
Antoine Quint
Comment 2 2020-03-04 09:10:37 PST
Antoine Quint
Comment 3 2020-03-04 09:57:10 PST
Alex Christensen
Comment 4 2020-03-04 10:50:47 PST
Comment on attachment 392433 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=392433&action=review > Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.h:47 > +- (instancetype)initWithSource:(NSString *)source forWKWebView:(WKWebView *)webView forMainFrameOnly:(BOOL)forMainFrameOnly userContentWorld:(_WKUserContentWorld *)userContentWorld; Nit: extra space. > Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:457 > + page->injectUserStyleSheet(userStyleSheet); Why do we need a separate way to inject a stylesheet? Can't we just use the existing way, but if there is a page id and it's different than the current page id, do nothing?
Brady Eidson
Comment 5 2020-03-04 10:55:15 PST
Comment on attachment 392433 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=392433&action=review > Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.mm:53 > +- (instancetype)initWithSource:(NSString *)source forWKWebView:(WKWebView *)webView forMainFrameOnly:(BOOL)forMainFrameOnly userContentWorld:(_WKUserContentWorld *)userContentWorld Extra space here too >> Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:457 >> + page->injectUserStyleSheet(userStyleSheet); > > Why do we need a separate way to inject a stylesheet? Can't we just use the existing way, but if there is a page id and it's different than the current page id, do nothing? I know the answer - WebCore page's don't know their page id, so the page id check has to be up in WebKit.
Antoine Quint
Comment 6 2020-03-04 12:05:48 PST
Antoine Quint
Comment 7 2020-03-05 09:29:13 PST
Some followup work in bug 208644.
Note You need to log in before you can comment on or make changes to this bug.