Bug 215041 - [WinCairo] WebKitTestRunner should support pixel dump for accelerated compositing mode
Summary: [WinCairo] WebKitTestRunner should support pixel dump for accelerated composi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-07-31 16:10 PDT by Fujii Hironori
Modified: 2022-11-03 22:48 PDT (History)
7 users (show)

See Also:


Attachments
WIP patch (7.16 KB, patch)
2020-07-31 16:13 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Playwright script (564 bytes, text/javascript)
2021-10-20 23:52 PDT, Fujii Hironori
no flags Details
WIP patch (9.68 KB, patch)
2022-01-16 22:57 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff
WIP patch (19.60 KB, patch)
2022-01-17 23:45 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff
WIP patch (33.81 KB, patch)
2022-01-25 14:12 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (40.05 KB, patch)
2022-01-25 22:41 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2020-07-31 16:10:00 PDT
[WinCairo] DumpRenderTree and WebKitTestRunner doesn's support pixel dump for accelerated compositing mode

AppleWin supports it. CACFLayerTreeHost::paint seems do the task.

Bug 46849 – [chromium] Add accelerated compositing support to DumpRenderTree and test_shell
Comment 1 Fujii Hironori 2020-07-31 16:13:11 PDT
Created attachment 405755 [details]
WIP patch

BitBlt can capture the window content.
But, the problem is the windows shoudd be visible and needs diabling WindowStaion.
Comment 2 Fujii Hironori 2021-10-20 23:52:56 PDT
Created attachment 441991 [details]
Playwright script

I checked Playwright screen capture feature on Windows.
Chrome and Firefox can capture the browser window both in headless and non-headless modes.
WebKit (WinCairo based) can capture only in non-headless modes.
I should check how Chrome and Firefox capture in the headless mode.

winget openjs.nodejs
npm install playwright
node video.mjs
Comment 3 Fujii Hironori 2022-01-16 22:57:25 PST
Created attachment 449309 [details]
WIP patch
Comment 4 Fujii Hironori 2022-01-17 23:45:33 PST
Created attachment 449364 [details]
WIP patch
Comment 5 Fujii Hironori 2022-01-25 14:12:33 PST
Created attachment 449966 [details]
WIP patch
Comment 6 Fujii Hironori 2022-01-25 22:41:06 PST
Created attachment 449997 [details]
Patch
Comment 7 Don Olmstead 2022-01-27 15:09:03 PST
Comment on attachment 449997 [details]
Patch

Is this all that's needed to get pixel tests working? TestController:::takeViewPortSnapshot is unimplemented on Windows.
Comment 8 Fujii Hironori 2022-01-27 16:54:16 PST
(In reply to Don Olmstead from comment #7)
> Comment on attachment 449997 [details]
> Patch
> 
> Is this all that's needed to get pixel tests working?
> TestController:::takeViewPortSnapshot is unimplemented on Windows.

Yes, this patch makes AC mode pixel tests pass. However, DRT doesn't support it.

takeViewPortSnapshot is used only by fast/mediastream tests (Bug 231059).
Comment 9 EWS 2022-01-28 21:23:28 PST
Committed r288784 (246561@main): <https://commits.webkit.org/246561@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449997 [details].
Comment 10 Radar WebKit Bug Importer 2022-01-28 21:24:19 PST
<rdar://problem/88217028>