The test fast/dom/vertical-scrollbar-in-rtl.html is calling window.resizeTo, which resizes the window and the viewport. When the test ends, the viewport size is 500x500. We do not resize the window back to 800x600, so our gl viewport stays smaller, and that leads to the garbage we occasionally see in fast/regions tests. These tests fail if they run on the same worker as fast/dom/vertical-scrollbar-in-rtl.html . The attached image shows the problem. A patch is coming.
Created attachment 177793 [details] issue
The attachment needs to be downloaded first, in order to see the issue.
Created attachment 177794 [details] Patch The attached patch does not solve all the flakiness we currently have in EFL bot, but it helps fixing the issue described in this bug.
Comment on attachment 177794 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=177794&action=review > Tools/WebKitTestRunner/TestController.cpp:568 > + // Resize the window to original size. This is needed after calls to window.resizeTo. > + WKRect rect = m_mainWebView->windowFrame(); No test modifies location?
(In reply to comment #4) > (From update of attachment 177794 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=177794&action=review > > > Tools/WebKitTestRunner/TestController.cpp:568 > > + // Resize the window to original size. This is needed after calls to window.resizeTo. > > + WKRect rect = m_mainWebView->windowFrame(); > > No test modifies location? Thank you for the review. As I mentioned above, there are more flaky tests to fix. If tests that move windows are causing flakiness, i will address that too.
Comment on attachment 177794 [details] Patch Clearing flags on attachment: 177794 Committed r136825: <http://trac.webkit.org/changeset/136825>
All reviewed patches have been landed. Closing bug.
Re-opened since this is blocked by bug 104251
(In reply to comment #8) > Re-opened since this is blocked by bug 104251 Rolled out by http://trac.webkit.org/changeset/136830, because it made 100+ test fail on Qt-WK2 pixel bot, and 1800+ test flakey on Qt-WK2 non-pixel bot. x86-64 Linux Qt Release WebKit2 (Amazon EC2) - non-pixel tester bot: - after: http://build.webkit.sed.hu/builders/x86-64%20Linux%20Qt%20Release%20WebKit2%20%28Amazon%20EC2%29/builds/11517 - before: http://build.webkit.sed.hu/builders/x86-64%20Linux%20Qt%20Release%20WebKit2%20%28Amazon%20EC2%29/builds/11516 x86-64 Linux Qt Release WebKit2 (Pixel Tests): - after: http://build.webkit.sed.hu/builders/x86-64%20Linux%20Qt%20Release%20WebKit2%20%28Pixel%20Tests%29/builds/737 - before: http://build.webkit.sed.hu/builders/x86-64%20Linux%20Qt%20Release%20WebKit2%20%28Pixel%20Tests%29/builds/736
Created attachment 178003 [details] Patch Sorry for the regression. This is the same patch, but the resize is only for EFL port. We definitely need that for EFL port.
Comment on attachment 178003 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=178003&action=review > Tools/WebKitTestRunner/TestController.cpp:573 > > +#if PLATFORM(EFL) > + // Resize the window to original size. This is needed after calls to window.resizeTo. > + WKRect rect = m_mainWebView->windowFrame(); > + m_mainWebView->setWindowFrame(WKRectMake(rect.origin.x, rect.origin.y, 800, 600)); > +#endif > + > // Reset notification permissions Could you explain why that is not needed for other platforms?
(In reply to comment #11) > (From update of attachment 178003 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=178003&action=review > > > Tools/WebKitTestRunner/TestController.cpp:573 > > > > +#if PLATFORM(EFL) > > + // Resize the window to original size. This is needed after calls to window.resizeTo. > > + WKRect rect = m_mainWebView->windowFrame(); > > + m_mainWebView->setWindowFrame(WKRectMake(rect.origin.x, rect.origin.y, 800, 600)); > > +#endif > > + > > // Reset notification permissions > > Could you explain why that is not needed for other platforms? I don't know how other platforms deal with this, but I do know that we set the gl viewport to the size of the window, and if the window is not in the correct size, our gl viewport does not cover the screen properly. You can see clearly in the attached image that the top and left parts are left clear/transparent, because they are clipped.
(In reply to comment #12) > (In reply to comment #11) > > (From update of attachment 178003 [details] [details]) > > View in context: https://bugs.webkit.org/attachment.cgi?id=178003&action=review > > > > > Tools/WebKitTestRunner/TestController.cpp:573 > > > > > > +#if PLATFORM(EFL) > > > + // Resize the window to original size. This is needed after calls to window.resizeTo. > > > + WKRect rect = m_mainWebView->windowFrame(); > > > + m_mainWebView->setWindowFrame(WKRectMake(rect.origin.x, rect.origin.y, 800, 600)); > > > +#endif > > > + > > > // Reset notification permissions > > > > Could you explain why that is not needed for other platforms? > I don't know how other platforms deal with this, but I do know that we set the gl viewport to the size of the window, and if the window is not in the correct size, our gl viewport does not cover the screen properly. > You can see clearly in the attached image that the top and left parts are left clear/transparent, because they are clipped. I meant top and right, of course :)
The difference between EFL and other platforms is that other platforms do not use a real window, but EFL does.
Created attachment 178019 [details] Patch Update the comment about why the changes is needed for EFL and not for other ports.
Comment on attachment 178019 [details] Patch Clearing flags on attachment: 178019 Committed r136848: <http://trac.webkit.org/changeset/136848>
*** Bug 103641 has been marked as a duplicate of this bug. ***