[Webkit-unassigned] [Bug 107171] shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom should return false on Android
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Jan 18 15:39:15 PST 2013
https://bugs.webkit.org/show_bug.cgi?id=107171
--- Comment #19 from Chris Hopman <cjhopman at chromium.org> 2013-01-18 15:41:02 PST ---
(From update of attachment 183554)
View in context: https://bugs.webkit.org/attachment.cgi?id=183554&action=review
>> LayoutTests/ChangeLog:12
>> + * editing/selection/test-if-should-move-caret-to-horizontal-boundary-forced-false.html: Added.
>
> Please don't add a separate js file for the script tests. That's the old way. The new way is to put the script in the single html file.
> Also, this test will have a different result on Windows as well as Chromium Windows so you'll need to add test expectations there as well.
Sure, I'll combine them. I don't think this test has different results on Windows - see below.
> LayoutTests/editing/selection/script-tests/test-if-should-move-caret-to-horizontal-boundary-forced-false.js:43
> + internals.settings.setEditingBehavior("mac");
My understanding is that this call will make the test use the mac editing behavior.
I.e. the test behavior will be the same for all platforms except for chromium-android (which forces at compile time that EditingBehavior::shouldMoveCaret[...] returns false regardless of what editing behavior is set).
>> LayoutTests/platform/chromium-android/TestExpectations:114
>> +fast/writing-mode/flipped-blocks-hit-test-line-edges.html [ WontFix ]
>
> It doesn't seem like a good idea to regress these tests. If anything the said chromium issue should be fixed first.
These tests use internals.settings.setEditingBehavior("somePlatform") and then depend on EditingBehavior::shouldMoveCaret[...] to behave according to that platform's editing behavior. This is not the case if it is #ifdeffed for chromium-android to always return false. So I see 3 options:
1. Rebaseline the tests for the new behavior. I didn't like this because these tests use testPassed and testFailed and the new behavior has a lot of FAILs (i.e. for all the parts of the test that assume mac or linux editing behavior). That makes the expected behavior look wrong and I don't know of a good way to notify someone looking at that new expected behavior that the FAILs are actually "PASSes".
2. Change the test to detect that it's actually on chromium-android and then understand that they won't get mac or linux behavior for shouldMoveCaret[...] and change all their checks accordingly. With this approach, chromium-android would still need new baselines for these tests, but the expected behavior wouldn't look like it was wrong. However, I don't really like the idea of such an invasive change to the tests just to support this odd chromium-android behavior.
3. Let the tests fail and mark them WontFix. This is clean and we can have a notification at the same point saying what's wrong with the tests and when they should be fixed. However, it's major failing is that chromium-android loses the coverage of these tests.
I did (1) and was working on (2) when I decided to go with (3). You know better than me, though, so if you'd prefer one of the other 2 options (or something else I didn't list) that'll be fine with me.
The mentioned chromium issue is a rather long term goal.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list