Bug 211222

Summary: Web views should use black fill color before first paint on watchOS
Product: WebKit Reporter: James Savage <james.savage>
Component: WebKit2Assignee: James Savage <james.savage>
Status: NEW ---    
Severity: Normal CC: changseok, esprehn+autocc, ews-watchlist, glenn, gyuyoung.kim, kondapallykalyan, macpherson, menard, pdr, sam, simon.fraser, thorton, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch james.savage: review?, james.savage: commit-queue?

Description James Savage 2020-04-29 22:14:25 PDT
This better matches the platform and avoid flickering.
<rdar://problem/58652428>
Comment 1 James Savage 2020-04-30 18:36:46 PDT
Created attachment 398132 [details]
Patch
Comment 2 James Savage 2020-04-30 18:40:33 PDT
Created attachment 398135 [details]
Patch
Comment 3 Simon Fraser (smfr) 2020-04-30 20:38:47 PDT
Comment on attachment 398135 [details]
Patch

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

> Source/WebCore/page/FrameView.cpp:2990
> +#elif PLATFORM(WATCHOS)

Can we do this without a platform #ifdef in this cross-platform file?

> Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:540
> +    [self setBackgroundColor:[UIColor blackColor]];

What if the client has set _drawsBackground to NO?
Comment 4 Simon Fraser (smfr) 2020-04-30 20:41:43 PDT
Comment on attachment 398135 [details]
Patch

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

> Source/WebKit/ChangeLog:11
> +        the background color for web views. This will then get propogated to

propogated
Comment 5 James Savage 2020-05-13 20:48:48 PDT
Created attachment 399329 [details]
Patch
Comment 6 Sam Weinig 2020-05-14 09:24:55 PDT
Comment on attachment 399329 [details]
Patch

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

> Source/WebCore/style/UserAgentStyle.cpp:101
> +#define SYSTEM_BACKGROUND_COLOR "html{background-color: white;}"

no need for the space or ;