Bug 180066

Summary: [WinCairo] Wrongly placed scroll bars in HiDPI
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: WebCore Misc.Assignee: Fujii Hironori <Hironori.Fujii>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, don.olmstead, ews-watchlist, pvollan, webkit-bug-importer, zan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
screenshot
none
Patch
ews-watchlist: commit-queue-
Archive of layout-test-results from ews114 for mac-elcapitan
none
WIP patch
none
WIP patch
none
Patch none

Fujii Hironori
Reported 2017-11-27 22:16:57 PST
Created attachment 327728 [details] screenshot See the screenshot. I tested with WinCairo port, Release build, trunk@225207, HiDPI display.
Attachments
screenshot (267.79 KB, image/png)
2017-11-27 22:16 PST, Fujii Hironori
no flags
Patch (4.68 KB, patch)
2017-11-27 23:16 PST, Fujii Hironori
ews-watchlist: commit-queue-
Archive of layout-test-results from ews114 for mac-elcapitan (2.92 MB, application/zip)
2017-11-28 00:33 PST, EWS Watchlist
no flags
WIP patch (7.06 KB, patch)
2017-11-29 23:19 PST, Fujii Hironori
no flags
WIP patch (2.68 KB, patch)
2017-11-30 21:32 PST, Fujii Hironori
no flags
Patch (1.76 KB, patch)
2017-12-01 00:12 PST, Fujii Hironori
no flags
Fujii Hironori
Comment 1 2017-11-27 22:34:06 PST
Seems a relevant bug: Bug 169463 – [Win] Scrollbars buttons have incorrect size in HiDPI.
Fujii Hironori
Comment 2 2017-11-27 23:16:55 PST
EWS Watchlist
Comment 3 2017-11-27 23:18:37 PST
Attachment 327731 [details] did not pass style-queue: ERROR: Source/WebCore/platform/win/ScrollbarThemeWin.cpp:290: Use nullptr instead of NULL. [readability/null] [5] Total errors found: 1 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 4 2017-11-28 00:33:13 PST
Comment on attachment 327731 [details] Patch Attachment 327731 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/5385752 New failing tests: webanimations/animation-opacity-animation-crash.html
EWS Watchlist
Comment 5 2017-11-28 00:33:15 PST
Created attachment 327733 [details] Archive of layout-test-results from ews114 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Per Arne Vollan
Comment 6 2017-11-29 07:53:08 PST
Comment on attachment 327731 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=327731&action=review > Source/WebCore/platform/win/ScrollbarThemeWin.cpp:268 > + context.save(); You may want to consider using the GraphicsContextStateSaver class here. > Source/WebCore/platform/win/ScrollbarThemeWin.cpp:410 > + context.save(); Ditto.
Fujii Hironori
Comment 7 2017-11-29 23:19:32 PST
Created attachment 327956 [details] WIP patch This in not only scroll bars bugs, but also all RenderTheme controls which is using DrawThemeBackground. I created a WIP patch just applying the same workaround to drawControl. But, this doesn't solve the issues perfectly. If I scroll web pages, controls are painted at wrong places.
Fujii Hironori
Comment 8 2017-11-30 21:32:11 PST
Created attachment 328072 [details] WIP patch
Fujii Hironori
Comment 9 2017-11-30 21:33:52 PST
Zan, This WIP patch solves the bug. This code has been removed in Bug 179657. Could you take a look?
Fujii Hironori
Comment 10 2017-12-01 00:12:37 PST
Zan Dobersek
Comment 11 2017-12-01 00:52:21 PST
Comment on attachment 328076 [details] Patch LGTM. It's breaking the wincairo EWS though, so please commit it yourself.
WebKit Commit Bot
Comment 12 2017-12-01 10:20:09 PST
Comment on attachment 328076 [details] Patch Clearing flags on attachment: 328076 Committed r225397: <https://trac.webkit.org/changeset/225397>
WebKit Commit Bot
Comment 13 2017-12-01 10:20:11 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 14 2017-12-01 10:21:34 PST
Note You need to log in before you can comment on or make changes to this bug.