Bug 214943

Summary: Bad rendering when scrolling iPhone SE page
Product: WebKit Reporter: Dean Jackson <dino>
Component: WebGLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, jdarpinian, jonahr, katherine_cheney, kbr, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
screenshot1
none
screenshot2 none

Description Dean Jackson 2020-07-29 15:33:03 PDT
Scrolling on https://www.apple.com/iphone-se/ iPhone SE images renders with black box around iPhone image, leaves traces of the image as you scroll, and if scrolled at a very slow speed small blac k squares can be found int he images as well. 

Steps To Reproduce:
1. Go to https://www.apple.com/iphone-se/ 
2. Start to scroll at a moderate speed and observe the iPhone SE images renders with black box around iPhone image and leaves traces of the image as you scroll.
Comment 1 Dean Jackson 2020-07-29 15:33:36 PDT
<rdar://problem/64179949>
Comment 2 Kenneth Russell 2020-07-29 16:00:35 PDT
What hardware does this reproduce on?

It doesn't seem to occur on a 15" 2017 MacBook Pro with dual Intel HD Graphics 630 and AMD Radeon Pro 560 GPUs. Tested with both the Intel (default) as well as the AMD GPUs as the active GPU, in MiniBrowser with WK1.
Comment 3 Kenneth Russell 2020-07-29 16:01:38 PDT
Also, "run-safari --debug" no longer works on this machine (running macOS 10.15.5):

$ ./Tools/Scripts/run-safari --debug
Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to built WebKit in /Users/kbr/src/WebKit/WebKitBuild/Debug.
dyld: Symbol not found: _WKBundlePageCopyRenderLayerTree
  Referenced from: /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
  Expected in: /Users/kbr/src/WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit
 in /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
Comment 4 Kenneth Russell 2020-07-29 16:10:15 PDT
Can't reproduce in MiniBrowser with WK2 either. With WK2 the high-performance GPU is selected by default. Modifying Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm to always set:
  m_powerPreferenceUsedForCreation = GraphicsContextGLPowerPreference::Default;
still doesn't reproduce.
Comment 5 Simon Fraser (smfr) 2020-07-29 16:11:58 PDT
> $ ./Tools/Scripts/run-safari --debug
> Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to
> built WebKit in /Users/kbr/src/WebKit/WebKitBuild/Debug.
> dyld: Symbol not found: _WKBundlePageCopyRenderLayerTree
>   Referenced from:
> /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
>   Expected in:
> /Users/kbr/src/WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit
>  in /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari

Bug 214947.
Comment 6 Dean Jackson 2020-07-29 16:30:17 PDT
I'm no longer seeing it on a Mac Pro. Trying other devices.

It took me a while to reproduce the first time.
Comment 7 Dean Jackson 2020-07-29 16:31:59 PDT
Attaching the original screenshots. It could well have been an image decoding issue, although I think this JS component made its own masking format for these animations.
Comment 8 Dean Jackson 2020-07-29 16:32:19 PDT
Created attachment 405525 [details]
screenshot1
Comment 9 Dean Jackson 2020-07-29 16:32:38 PDT
Created attachment 405526 [details]
screenshot2
Comment 10 Kate Cheney 2020-07-30 09:33:42 PDT
(In reply to Kenneth Russell from comment #3)
> Also, "run-safari --debug" no longer works on this machine (running macOS
> 10.15.5):
> 
> $ ./Tools/Scripts/run-safari --debug
> Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to
> built WebKit in /Users/kbr/src/WebKit/WebKitBuild/Debug.
> dyld: Symbol not found: _WKBundlePageCopyRenderLayerTree
>   Referenced from:
> /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
>   Expected in:
> /Users/kbr/src/WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit
>  in /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari

This was fixed in Bug 214947.
Comment 11 Kenneth Russell 2020-07-30 10:33:37 PDT
Thanks for the fix to the run-safari script!
Comment 12 Dean Jackson 2020-07-30 15:26:57 PDT
What hardware were you looking at Ken? Justin was unable to reproduce it on an iMac Pro.
Comment 13 Dean Jackson 2020-07-30 16:27:30 PDT
OK. No longer reproduces with trunk builds on any hardware I tried.
Comment 14 Kenneth Russell 2020-07-30 16:39:05 PDT
That's a relief!