Bug 87680 - Restore original value of mock scrollbars enabled in InternalSettings
Summary: Restore original value of mock scrollbars enabled in InternalSettings
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P1 Critical
Assignee: Marcelo Lira
URL:
Keywords:
: 87700 90091 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-05-28 15:29 PDT by Caio Marcelo de Oliveira Filho
Modified: 2012-09-11 11:30 PDT (History)
11 users (show)

See Also:


Attachments
Patch (2.49 KB, patch)
2012-05-28 15:38 PDT, Caio Marcelo de Oliveira Filho
no flags Details | Formatted Diff | Diff
Patch (2.32 KB, patch)
2012-05-28 15:56 PDT, Caio Marcelo de Oliveira Filho
no flags Details | Formatted Diff | Diff
Patch (5.26 KB, patch)
2012-05-28 16:18 PDT, Caio Marcelo de Oliveira Filho
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ec2-cr-linux-01 (5.58 MB, application/zip)
2012-05-28 19:01 PDT, WebKit Review Bot
no flags Details
Patch (6.70 KB, patch)
2012-05-29 03:37 PDT, Caio Marcelo de Oliveira Filho
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ec2-cr-linux-04 (6.05 MB, application/zip)
2012-05-29 09:56 PDT, WebKit Review Bot
no flags Details
Patch (11.03 KB, patch)
2012-09-03 12:12 PDT, Marcelo Lira
no flags Details | Formatted Diff | Diff
Patch (14.48 KB, patch)
2012-09-10 11:40 PDT, Marcelo Lira
no flags Details | Formatted Diff | Diff
Patch (11.89 KB, patch)
2012-09-11 08:22 PDT, Marcelo Lira
no flags Details | Formatted Diff | Diff
Patch (11.06 KB, patch)
2012-09-11 10:00 PDT, Marcelo Lira
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Caio Marcelo de Oliveira Filho 2012-05-28 15:29:28 PDT
Restore original value of mock scrollbars enabled in InternalSettings
Comment 1 Caio Marcelo de Oliveira Filho 2012-05-28 15:38:52 PDT
Created attachment 144404 [details]
Patch
Comment 2 Caio Marcelo de Oliveira Filho 2012-05-28 15:46:20 PDT
In Qt port this setting was leaking causing other tests to FAIL because sizes of the elements were wrong. Some ports do reset this setting in their DRTs, but Qt didn't.

In general, I think that InternalSettings should properly restore all its properties to their original values.
Comment 3 Caio Marcelo de Oliveira Filho 2012-05-28 15:49:30 PDT
One example of problem was to run:

Tools/Scripts/run-webkit-tests fast/dom/window-scroll-scaling.html fast/dynamic/008.html

008.html fails without the patch, but when run-webkit-tests retry it, it passes, marking it as flaky.
Comment 4 Caio Marcelo de Oliveira Filho 2012-05-28 15:56:18 PDT
Created attachment 144405 [details]
Patch
Comment 5 Caio Marcelo de Oliveira Filho 2012-05-28 16:11:07 PDT
Fixing the export files for GTK and Mac. I'll upload a new patch soon.
Comment 6 Caio Marcelo de Oliveira Filho 2012-05-28 16:11:18 PDT
Fixing the export files for GTK and Win. I'll upload a new patch soon.
Comment 7 Build Bot 2012-05-28 16:17:30 PDT
Comment on attachment 144405 [details]
Patch

Attachment 144405 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/12850263
Comment 8 Caio Marcelo de Oliveira Filho 2012-05-28 16:18:42 PDT
Created attachment 144408 [details]
Patch
Comment 9 WebKit Review Bot 2012-05-28 19:01:22 PDT
Comment on attachment 144408 [details]
Patch

Attachment 144408 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12846330

New failing tests:
css1/font_properties/font_size.html
css1/box_properties/border_left_width.html
css1/basic/class_as_selector.html
css1/font_properties/font_family.html
css1/box_properties/border_bottom.html
css1/box_properties/border_bottom_width.html
css1/box_properties/border_right_width.html
css1/basic/id_as_selector.html
css1/basic/inheritance.html
css1/box_properties/border.html
css1/color_and_background/background_position.html
css1/box_properties/border_right_inline.html
css1/box_properties/border_left.html
css1/cascade/cascade_order.html
css1/color_and_background/background.html
css1/conformance/forward_compatible_parsing.html
css1/box_properties/border_top.html
css1/box_properties/border_style.html
css1/formatting_model/height_of_lines.html
css1/basic/containment.html
css1/color_and_background/background_attachment.html
css1/basic/comments.html
css1/classification/white_space.html
css1/color_and_background/background_repeat.html
css1/font_properties/font.html
css1/formatting_model/floating_elements.html
css1/classification/display.html
css1/classification/list_style_type.html
Comment 10 WebKit Review Bot 2012-05-28 19:01:29 PDT
Created attachment 144424 [details]
Archive of layout-test-results from ec2-cr-linux-01

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-01  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Comment 11 Csaba Osztrogonác 2012-05-29 00:04:34 PDT
*** Bug 87700 has been marked as a duplicate of this bug. ***
Comment 12 Caio Marcelo de Oliveira Filho 2012-05-29 03:37:21 PDT
Created attachment 144503 [details]
Patch
Comment 13 Caio Marcelo de Oliveira Filho 2012-05-29 03:37:57 PDT
Comment on attachment 144503 [details]
Patch

Getting some feedback from Chromium EWS while I try to make sure I can test this locally.
Comment 14 Caio Marcelo de Oliveira Filho 2012-05-29 03:38:12 PDT
(In reply to comment #13)
> (From update of attachment 144503 [details])
> Getting some feedback from Chromium EWS while I try to make sure I can test this locally.

this = chromium failures
Comment 15 WebKit Review Bot 2012-05-29 09:56:14 PDT
Comment on attachment 144503 [details]
Patch

Attachment 144503 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12843564

New failing tests:
css1/font_properties/font_size.html
css1/box_properties/border_left_width.html
css1/basic/class_as_selector.html
css1/font_properties/font_family.html
css1/box_properties/border_bottom.html
css1/box_properties/border_bottom_width.html
css1/box_properties/border_right_width.html
css1/basic/id_as_selector.html
css1/basic/inheritance.html
css1/box_properties/border.html
css1/color_and_background/background_position.html
css1/box_properties/border_right_inline.html
css1/box_properties/border_left.html
css1/cascade/cascade_order.html
css1/color_and_background/background.html
css1/conformance/forward_compatible_parsing.html
css1/box_properties/border_top.html
css1/box_properties/border_style.html
css1/formatting_model/height_of_lines.html
css1/basic/containment.html
css1/color_and_background/background_attachment.html
css1/basic/comments.html
css1/classification/white_space.html
css1/color_and_background/background_repeat.html
css1/font_properties/font.html
css1/formatting_model/floating_elements.html
css1/classification/display.html
css1/classification/list_style_type.html
Comment 16 WebKit Review Bot 2012-05-29 09:56:20 PDT
Created attachment 144573 [details]
Archive of layout-test-results from ec2-cr-linux-04

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-04  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Comment 17 Caio Marcelo de Oliveira Filho 2012-05-31 12:38:21 PDT
I couldn't reproduce the problems locally. In my pixel tests I get the scrollbar images just fine.

Chromium port developers, any idea of what could be going on?
Comment 18 Csaba Osztrogonác 2012-06-28 00:22:22 PDT
*** Bug 90091 has been marked as a duplicate of this bug. ***
Comment 19 Csaba Osztrogonác 2012-06-28 00:28:47 PDT
(In reply to comment #18)
> *** Bug 90091 has been marked as a duplicate of this bug. ***
One more problem because of this bug. ^^^^^^^^^^
I had to skip a test to hide this bug (and make testing work on Qt port ... )
http://trac.webkit.org/changeset/121414
Comment 20 Csaba Osztrogonác 2012-06-28 04:11:31 PDT
Here is a solution for Qt port only: https://bugs.webkit.org/show_bug.cgi?id=90155

We can revert that out once this general fix lands.
Comment 21 Marcelo Lira 2012-09-03 12:12:45 PDT
Created attachment 161943 [details]
Patch
Comment 22 Adam Barth 2012-09-03 12:43:16 PDT
Is there non-Qt code that should change in this patch as well?
Comment 23 Caio Marcelo de Oliveira Filho 2012-09-03 12:47:40 PDT
(In reply to comment #22)
> Is there non-Qt code that should change in this patch as well?

It seems to me DRT implementations of other ports that are resetting this shouldn't need anymore. Similar change than what was done for Qt DRT.
Comment 24 Adam Barth 2012-09-03 12:51:52 PDT
Perhaps we should change them all at the same time.
Comment 25 Marcelo Lira 2012-09-03 13:00:16 PDT
(In reply to comment #24)
> Perhaps we should change them all at the same time.

I'll try.
Comment 26 Marcelo Lira 2012-09-05 08:57:13 PDT
(In reply to comment #24)
> Perhaps we should change them all at the same time.

Taking a closer look, I would rather have this patch as it is and fill bugs for the other ports to follow. I prefer not to mess around with ports I can't perfectly understand, build or test (mac for instance).

Since the cr-linux build machine is green, and it run the tests, it's safe that the patch will not interfere with the ones still using mock scrollbars in their DRTs.
Comment 27 Marcelo Lira 2012-09-10 11:40:59 PDT
Created attachment 163173 [details]
Patch
Comment 28 Adam Barth 2012-09-10 12:37:15 PDT
Comment on attachment 163173 [details]
Patch

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

> Tools/DumpRenderTree/chromium/TestShell.cpp:-252
> -        m_prefs.mockScrollbarsEnabled = true;

Why did you remove this line?  It seems that will stop compositing/ tests from having mock scrollbars.
Comment 29 Marcelo Lira 2012-09-10 13:17:00 PDT
(In reply to comment #28)
> (From update of attachment 163173 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=163173&action=review
> 
> > Tools/DumpRenderTree/chromium/TestShell.cpp:-252
> > -        m_prefs.mockScrollbarsEnabled = true;
> 
> Why did you remove this line?  It seems that will stop compositing/ tests from having mock scrollbars.

The initial state of the mock scroll bars should be set by the tests via javascript.
For example, some tests include LayoutTests/compositing/resources/mock_scrollbars.js
that sets the mock scroll bars like this:

window.internals.settings.setMockScrollbarsEnabled(true);
Comment 30 Adam Barth 2012-09-10 13:22:09 PDT
Do all the compositing tests do that or does this patch change the behavior?
Comment 31 Marcelo Lira 2012-09-10 13:44:13 PDT
(In reply to comment #30)
> Do all the compositing tests do that or does this patch change the behavior?

The compositing tests that deal with geometry include the javascript that set the initial value of the mock scroll bars.

It's reasonable to expect that the chromium DRT settings gives the same results as the one in the mentioned javascript, since all ports must have similar results in the tests. Besides, the cr-linux buildbot will run the chromium tests and we will see.
Comment 32 James Robinson 2012-09-10 13:55:13 PDT
Comment on attachment 163173 [details]
Patch

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

>>> Tools/DumpRenderTree/chromium/TestShell.cpp:-252
>>> -        m_prefs.mockScrollbarsEnabled = true;
>> 
>> Why did you remove this line?  It seems that will stop compositing/ tests from having mock scrollbars.
> 
> The initial state of the mock scroll bars should be set by the tests via javascript.
> For example, some tests include LayoutTests/compositing/resources/mock_scrollbars.js
> that sets the mock scroll bars like this:
> 
> window.internals.settings.setMockScrollbarsEnabled(true);

No, that's incorrect.  We want to explicitly override the mock scrollbar setting for this directory without setting the value in javascript.  If you want to patch this please preserve this behavior for chromium DRT.
Comment 33 Marcelo Lira 2012-09-11 08:19:45 PDT
(In reply to comment #32)
> (From update of attachment 163173 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=163173&action=review
> 
> >>> Tools/DumpRenderTree/chromium/TestShell.cpp:-252
> >>> -        m_prefs.mockScrollbarsEnabled = true;
> >> 
> >> Why did you remove this line?  It seems that will stop compositing/ tests from having mock scrollbars.
> > 
> > The initial state of the mock scroll bars should be set by the tests via javascript.
> > For example, some tests include LayoutTests/compositing/resources/mock_scrollbars.js
> > that sets the mock scroll bars like this:
> > 
> > window.internals.settings.setMockScrollbarsEnabled(true);
> 
> No, that's incorrect.  We want to explicitly override the mock scrollbar setting for this directory without setting the value in javascript.  If you want to patch this please preserve this behavior for chromium DRT.

Ok, I'll remove the changes to chromium DRT.
Comment 34 Marcelo Lira 2012-09-11 08:22:52 PDT
Created attachment 163366 [details]
Patch
Comment 35 Adam Barth 2012-09-11 09:18:21 PDT
Comment on attachment 163366 [details]
Patch

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

> Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:-194
> -    DumpRenderTreeSupportEfl::setMockScrollbarsEnabled(true);

Everything in this patch looks fine except this line.  It seems EFL will no longer use mock scrollbars everywhere after this patch.  Perhaps we should leave this line unchanged?
Comment 36 Marcelo Lira 2012-09-11 10:00:55 PDT
Created attachment 163393 [details]
Patch
Comment 37 Adam Barth 2012-09-11 10:44:10 PDT
Comment on attachment 163393 [details]
Patch

Thanks!
Comment 38 WebKit Review Bot 2012-09-11 11:30:49 PDT
Comment on attachment 163393 [details]
Patch

Clearing flags on attachment: 163393

Committed r128210: <http://trac.webkit.org/changeset/128210>
Comment 39 WebKit Review Bot 2012-09-11 11:30:56 PDT
All reviewed patches have been landed.  Closing bug.