Bug 186198

Summary: Move OpenGL display mask to screen data struct.
Product: WebKit Reporter: Per Arne Vollan <pvollan>
Component: WebKit2Assignee: Per Arne Vollan <pvollan>
Status: NEW ---    
Severity: Normal CC: bfulgham, cdumez, commit-queue, dino, esprehn+autocc, ews-watchlist, graouts, gyuyoung.kim, kondapallykalyan, sam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
ews-watchlist: commit-queue-
Archive of layout-test-results from ews206 for win-future
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
bfulgham: review+
Patch
pvollan: commit-queue-
Patch
none
Patch none

Description Per Arne Vollan 2018-06-01 09:38:12 PDT
In order for individual web views to have the correct OpenGL mask set, it should no be a global, but be moved into the Chrome class.
Comment 1 Radar WebKit Bug Importer 2018-06-01 10:04:26 PDT
<rdar://problem/40724854>
Comment 2 Per Arne Vollan 2018-06-02 18:08:43 PDT
Created attachment 341858 [details]
Patch
Comment 3 EWS Watchlist 2018-06-02 18:10:53 PDT
Attachment 341858 [details] did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/cocoa/IOSurface.h:110:  The parameter name "hostWindow" adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/platform/graphics/ImageBuffer.h:69:  The parameter name "hostWindow" adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/platform/graphics/ImageBuffer.h:170:  The parameter name "hostWindow" adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/page/Chrome.h:183:  The parameter name "displayMask" adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/platform/graphics/GraphicsContext3D.h:1319:  The parameter name "hostWindow" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 25 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 EWS Watchlist 2018-06-03 00:31:18 PDT
Comment on attachment 341858 [details]
Patch

Attachment 341858 [details] did not pass win-ews (win):
Output: http://webkit-queues.webkit.org/results/7956074

New failing tests:
http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin.html
Comment 5 EWS Watchlist 2018-06-03 00:31:30 PDT
Created attachment 341862 [details]
Archive of layout-test-results from ews206 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews206  Port: win-future  Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Comment 6 Per Arne Vollan 2018-06-04 13:08:48 PDT
Created attachment 341913 [details]
Patch
Comment 7 Per Arne Vollan 2018-06-04 15:51:52 PDT
Created attachment 341930 [details]
Patch
Comment 8 Per Arne Vollan 2018-06-04 16:17:57 PDT
Created attachment 341933 [details]
Patch
Comment 9 Per Arne Vollan 2018-06-04 16:29:14 PDT
Created attachment 341935 [details]
Patch
Comment 10 Per Arne Vollan 2018-06-04 16:45:49 PDT
Created attachment 341937 [details]
Patch
Comment 11 Per Arne Vollan 2018-06-04 19:47:13 PDT
Created attachment 341950 [details]
Patch
Comment 12 Per Arne Vollan 2018-06-05 09:32:52 PDT
Created attachment 341971 [details]
Patch
Comment 13 Per Arne Vollan 2018-06-05 09:54:28 PDT
Created attachment 341972 [details]
Patch
Comment 14 Brent Fulgham 2018-06-05 10:31:37 PDT
Comment on attachment 341972 [details]
Patch

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

Can you create a TestWebkitAPI test to confirm the right mask goes to the right WebView? We might not have infrastructure to support that.

> Source/WebCore/platform/mac/PlatformScreenMac.mm:138
> +            screenProperties.primaryOpenGLDisplayMask = displayMask;

You might not need this special case if you used "screenData(primaryScreenDisplayID()).displayMask" as the implementation elsewhere.

> Source/WebCore/platform/mac/PlatformScreenMac.mm:167
> +    return screenProperties().primaryOpenGLDisplayMask;

This could also be:

return screenData(primaryScreenDisplayID()).displayMask;

But perhaps this code path is hit frequently enough that you don't want to do the extra lookups?
Comment 15 Brent Fulgham 2018-06-05 12:33:40 PDT
Comment on attachment 341972 [details]
Patch

Per Arne and I spoke in person, and I think this patch is correct. We will file a bug about multiple-display test support and building up testing infrastructure to support such things.
Comment 16 Per Arne Vollan 2018-06-05 13:33:45 PDT
Created attachment 341990 [details]
Patch
Comment 17 Per Arne Vollan 2018-06-05 14:30:27 PDT
Created attachment 341995 [details]
Patch
Comment 18 Per Arne Vollan 2018-06-05 19:36:13 PDT
Created attachment 342022 [details]
Patch
Comment 19 WebKit Commit Bot 2018-06-05 21:35:18 PDT
Comment on attachment 342022 [details]
Patch

Clearing flags on attachment: 342022

Committed r232535: <https://trac.webkit.org/changeset/232535>