This bug manifested itself most drastically in Chromium ToT, where GMail would never gain scrollbars. The condition occurs because the html element in the GMail canvas frame is given "overflow-y: scroll" dynamically (and repeatedly). Because of the "never one scrollbar at a time" check, even though it's already set to ScrollbarAlwaysOn, the vertical scrollbar may be occasionally disabled. I am still trying to figure out how to write a layout test for this :).
Created attachment 29663 [details] GMail scroll bars missing, v1 WebCore/ChangeLog | 11 +++++++++++ WebCore/platform/ScrollView.cpp | 22 +++++++++++----------- 2 files changed, 22 insertions(+), 11 deletions(-)
Comment on attachment 29663 [details] GMail scroll bars missing, v1 Oops. Some extra changes snuck in.
Created attachment 29665 [details] GMail scroll bars missing, v1.1 WebCore/ChangeLog | 11 +++++++++++ WebCore/platform/ScrollView.cpp | 20 ++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-)
Created attachment 29667 [details] GMail scroll bars missing, v2. WebCore/ChangeLog | 11 +++++++++++ WebCore/platform/ScrollView.cpp | 17 +++++++++-------- WebKit/mac/ChangeLog | 11 +++++++++++ WebKit/mac/WebView/WebDynamicScrollBarsView.m | 19 ++++++++++--------- 4 files changed, 41 insertions(+), 17 deletions(-)
Is there a way to make a regression test for this? I don't want it to break again.
Created attachment 29669 [details] Deficient layout test attempt I haven't yet been able to come up with a good layout test. This is how far I've gotten, but I can only trigger failure on Safari/Win and Chromium. I'll think on this some more. Obviously, appreciate any ideas.
Comment on attachment 29667 [details] GMail scroll bars missing, v2. Better patch coming up.
Created attachment 29694 [details] GMail scroll bars missing, v3. LayoutTests/ChangeLog | 9 +++++ .../fast/overflow/overflow-y-scroll-expected.txt | 3 ++ LayoutTests/fast/overflow/overflow-y-scroll.html | 39 ++++++++++++++++++++ WebCore/ChangeLog | 13 +++++++ WebCore/platform/ScrollView.cpp | 17 +++++---- WebKit/mac/ChangeLog | 11 ++++++ WebKit/mac/WebView/WebDynamicScrollBarsView.m | 19 +++++----- 7 files changed, 94 insertions(+), 17 deletions(-)
Comment on attachment 29694 [details] GMail scroll bars missing, v3. r=me Hyatt should probably look at this too.
Hyatt says fine.
Landed as http://trac.webkit.org/changeset/42791.