RESOLVED FIXED 64904
REGRESSION(r88757): input[type=range] renders incorrectly in RTL context
https://bugs.webkit.org/show_bug.cgi?id=64904
Summary REGRESSION(r88757): input[type=range] renders incorrectly in RTL context
Rachel Blum
Reported 2011-07-20 16:50:09 PDT
See sample page - the slider 'knob' is rendered outside the actual slider. This is true for both latest nightly (r91186) and a nightly as far back as r89741 - haven't tried earlier nightlies. Safari Version 5.0.5 (6533.21.1) renders this correctly. Reduced error case attached
Attachments
repro case (239 bytes, text/html)
2011-07-20 16:52 PDT, Rachel Blum
no flags
Patch (4.44 KB, patch)
2011-07-21 02:05 PDT, Kent Tamura
no flags
Patch for landing (4.63 KB, patch)
2011-07-21 02:31 PDT, Kent Tamura
webkit.review.bot: commit-queue-
Rachel Blum
Comment 1 2011-07-20 16:52:57 PDT
Created attachment 101527 [details] repro case
Jeremy Moskovich
Comment 2 2011-07-21 00:29:55 PDT
Regressions are P1. groby: Can you bisect to find where this broke?
Yair Yogev
Comment 3 2011-07-21 00:31:29 PDT
i'll have one in a few minutes
Kent Tamura
Comment 4 2011-07-21 00:35:04 PDT
r88757 is suspective.
Yair Yogev
Comment 5 2011-07-21 00:41:31 PDT
yes, i got as far as WebKit 88697:88789. (and r88757 seems likely)
Yair Yogev
Comment 6 2011-07-21 00:48:48 PDT
It breaks RTL DOMUI-Options Fonts pane in Chromium ( http://crbug.com/87690 )
Kent Tamura
Comment 7 2011-07-21 02:05:02 PDT
Ryosuke Niwa
Comment 8 2011-07-21 02:18:51 PDT
Comment on attachment 101562 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=101562&action=review > Source/WebCore/html/shadow/SliderThumbElement.cpp:243 > + if (isVertical || !renderBox()->style()->isLeftToRightDirection()) Would this work if isVertical was true and isLeftToRightDirection() was false?
Kent Tamura
Comment 9 2011-07-21 02:25:02 PDT
Comment on attachment 101562 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=101562&action=review >> Source/WebCore/html/shadow/SliderThumbElement.cpp:243 >> + if (isVertical || !renderBox()->style()->isLeftToRightDirection()) > > Would this work if isVertical was true and isLeftToRightDirection() was false? It works. If isVertical is true, isLeftToRightDirection() doesn't matter. We have no LTR/RTL differences in vertical sliders.
Ryosuke Niwa
Comment 10 2011-07-21 02:26:41 PDT
Comment on attachment 101562 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=101562&action=review ok, looks sane to me. >>> Source/WebCore/html/shadow/SliderThumbElement.cpp:243 >>> + if (isVertical || !renderBox()->style()->isLeftToRightDirection()) >> >> Would this work if isVertical was true and isLeftToRightDirection() was false? > > It works. > If isVertical is true, isLeftToRightDirection() doesn't matter. We have no LTR/RTL differences in vertical sliders. Should we at least add a test case for it?
Kent Tamura
Comment 11 2011-07-21 02:31:31 PDT
Created attachment 101564 [details] Patch for landing Add a vertical case
WebKit Review Bot
Comment 12 2011-07-21 04:07:56 PDT
Comment on attachment 101564 [details] Patch for landing Rejecting attachment 101564 [details] from commit-queue. Failed to run "['./Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=ec2-cq-01', '--port..." exit_code: 2 Last 500 characters of output: Unexpected flakiness: text diff mismatch (1) fast/forms/implicit-submission.html = TEXT PASS Regressions: Unexpected image mismatch : (6) fast/forms/input-appearance-range-rtl.html = IMAGE fast/text/atsui-multiple-renderers.html = IMAGE fast/text/international/danda-space.html = IMAGE fast/text/international/thai-baht-space.html = IMAGE fast/text/international/thai-line-breaks.html = IMAGE platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html = IMAGE Full output: http://queues.webkit.org/results/9191618
Kent Tamura
Comment 13 2011-07-21 04:17:53 PDT
(In reply to comment #12) > Regressions: Unexpected image mismatch : (6) > fast/forms/input-appearance-range-rtl.html = IMAGE I have no idea what's wrong on Chromium-linux. Anyway, it must be a test problem, not a C++ code problem. I'll add the test to test_expectations.txt, land the patch, and see results on Chromium buildbots.
Kent Tamura
Comment 14 2011-07-21 04:21:55 PDT
Kent Tamura
Comment 15 2011-07-21 05:31:45 PDT
(In reply to comment #13) > (In reply to comment #12) > > Regressions: Unexpected image mismatch : (6) > > fast/forms/input-appearance-range-rtl.html = IMAGE > > I have no idea what's wrong on Chromium-linux. Anyway, it must be a test problem, not a C++ code problem. I'll add the test to test_expectations.txt, land the patch, and see results on Chromium buildbots. http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showLargeExpectations=true&showExpectations=true&tests=range-rtl It was due to a Chromium bug: http://code.google.com/p/chromium/issues/detail?id=89616
Note You need to log in before you can comment on or make changes to this bug.