Summary: if the embedding level is even, then in the sequence L AN, the AN's resolved level should be greater (by 2) than the L's. WebKit treats them as if they have the same resolved level. (3.3.5 in the UBA). To reproduce: open the test case in Safari. Expected: the two lines to be the same, from left to right: English, Hebrew, Arabic digits. Firefox renders as expected. Actual: on the second line, from left to right: English, Arabic digits, Hebrew.
Created attachment 4543 [details] Testcase
Created attachment 4544 [details] Terminate L run when encountring AN on an even level
Created attachment 4545 [details] Terminate L run when encountring AN on an even level Oops! Corrected style.
Comment on attachment 4545 [details] Terminate L run when encountring AN on an even level Fixes the testcase and doesn't break any of the layout tests.
Comment on attachment 4545 [details] Terminate L run when encountring AN on an even level In the future, it's probably worthwhile adding a comment in code that has a case that falls through to the next case, since the mistake of leaving out a break is so common and we don't want anyone to think this is a mistake. But that's a minor quibble. r=me