Bug 145336 - [iOS] Arabic ligatures are broken in Google Maps
Summary: [iOS] Arabic ligatures are broken in Google Maps
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Text (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Myles C. Maxfield
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2015-05-22 21:01 PDT by Myles C. Maxfield
Modified: 2015-05-27 13:33 PDT (History)
12 users (show)

See Also:


Attachments
Patch (8.44 KB, patch)
2015-05-22 21:20 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews105 for mac-mavericks-wk2 (790.50 KB, application/zip)
2015-05-22 22:04 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews101 for mac-mavericks (733.55 KB, application/zip)
2015-05-22 22:20 PDT, Build Bot
no flags Details
Patch (7.98 KB, patch)
2015-05-26 19:20 PDT, Myles C. Maxfield
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Myles C. Maxfield 2015-05-22 21:01:09 PDT
[iOS] Arabic ligatures are broken in Google Maps
Comment 1 Myles C. Maxfield 2015-05-22 21:20:56 PDT
Created attachment 253632 [details]
Patch
Comment 2 Myles C. Maxfield 2015-05-22 21:22:26 PDT
<rdar://problem/20689607>
Comment 3 Build Bot 2015-05-22 22:04:02 PDT
Comment on attachment 253632 [details]
Patch

Attachment 253632 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/6029572776656896

Number of test failures exceeded the failure limit.
Comment 4 Build Bot 2015-05-22 22:04:06 PDT
Created attachment 253635 [details]
Archive of layout-test-results from ews105 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5
Comment 5 Build Bot 2015-05-22 22:20:11 PDT
Comment on attachment 253632 [details]
Patch

Attachment 253632 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5574587563638784

Number of test failures exceeded the failure limit.
Comment 6 Build Bot 2015-05-22 22:20:15 PDT
Created attachment 253637 [details]
Archive of layout-test-results from ews101 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 7 Ryosuke Niwa 2015-05-23 02:31:30 PDT
Comment on attachment 253632 [details]
Patch

Looks like it fails to build on Mac?
Comment 8 Darin Adler 2015-05-26 13:35:19 PDT
Comment on attachment 253632 [details]
Patch

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

Lots of tests failing, so I am not comfortable saying review+, but otherwise I would have.

> Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp:36
> +    return FontPlatformData(CTFontCreateWithFontDescriptor(m_fontDescriptor.get(), size, nullptr), size, bold, italic, orientation, widthVariant);

Needs to say adoptCF(xxx).get() to avoid leaking the CTFont.

> Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h:40
> +    explicit FontCustomPlatformData(CTFontDescriptorRef fontDescriptor)

Not sure this really needs to be explicit.
Comment 9 Myles C. Maxfield 2015-05-26 14:48:28 PDT
Comment on attachment 253632 [details]
Patch

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

>> Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp:36
>> +    return FontPlatformData(CTFontCreateWithFontDescriptor(m_fontDescriptor.get(), size, nullptr), size, bold, italic, orientation, widthVariant);
> 
> Needs to say adoptCF(xxx).get() to avoid leaking the CTFont.

Man, I get this wrong every time :(((((
Comment 10 Myles C. Maxfield 2015-05-26 19:02:07 PDT
Crashes on Mavericks caused by <rdar://problem/16980736>. There's no workaround, so I'll need to gate this change on the version of the OS.
Comment 11 Myles C. Maxfield 2015-05-26 19:20:14 PDT
Created attachment 253771 [details]
Patch
Comment 12 Darin Adler 2015-05-26 19:49:49 PDT
Comment on attachment 253771 [details]
Patch

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

> Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h:34
> +#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED <= 80000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED <= 101000)

Reminder of something we talked about in person:

This could either be < instead of <= or list an older version, because the bug we are working around does *not* exist in iOS 8 and OS X 10.10, but only in older ones. Something you were planning to verify.
Comment 13 Myles C. Maxfield 2015-05-27 00:14:43 PDT
Committed r184899: <http://trac.webkit.org/changeset/184899>
Comment 14 Alexey Proskuryakov 2015-05-27 10:12:03 PDT
This broke platform/mac/fast/ruby/ruby-expansion-cjk-2.html on Yosemite.
Comment 15 Darin Adler 2015-05-27 10:48:17 PDT
(In reply to comment #14)
> This broke platform/mac/fast/ruby/ruby-expansion-cjk-2.html on Yosemite.

Best resolution for that is likely to not use the new code path on Yosemite, only on even newer OS X.
Comment 16 Myles C. Maxfield 2015-05-27 12:11:51 PDT
(In reply to comment #14)
> This broke platform/mac/fast/ruby/ruby-expansion-cjk-2.html on Yosemite.

Yes, I saw. The troubling thing is that the test shouldn't be sensitive to WK1 vs WK2, which means that I don't understand something. I think it's valuable for me to figure out what's going on rather than just take the old code path on yosemite.
Comment 17 Daniel Bates 2015-05-27 12:22:13 PDT
After talking with Myles Maxfield on IRC today (05/27), we chose to mark the test platform/mac/fast/ruby/ruby-expansion-cjk-2.html as failing on Yosemite.

I also removed references to tests fast/ruby/ruby-expansion-cjk*.html from the TestExpectation files of other ports since these files were moved to platform/mac in <http://trac.webkit.org/changeset/184899> and hence are considered Mac-specific.

Committed these changes in <https://trac.webkit.org/changeset/184914>.
Comment 18 Alexey Proskuryakov 2015-05-27 12:56:38 PDT
As discussed in bug 143378, I think that moving tests to platform/mac is not the best thing to do. Keeping track of expectations and expected results becomes very difficult, as we get paths like platform/mac/platform/mac-wk2/...
Comment 19 Darin Adler 2015-05-27 13:10:16 PDT
(In reply to comment #18)
> As discussed in bug 143378, I think that moving tests to platform/mac is not
> the best thing to do. Keeping track of expectations and expected results
> becomes very difficult, as we get paths like
> platform/mac/platform/mac-wk2/...

Is that going to be true for the long term? What’s the best way to handle Mac-specific tests?
Comment 20 Daniel Bates 2015-05-27 13:16:15 PDT
Committed updated test expectations in <http://trac.webkit.org/changeset/184915> per IRC discussion with Alexey Proskuryakov.
Comment 21 Alexey Proskuryakov 2015-05-27 13:33:19 PDT
> Is that going to be true for the long term? What’s the best way to handle Mac-specific tests?

I think that the best way is to have subdirectories named after specific technologies (e.g. LayoutTests/fast/text/coretext), and to skip those directories on other platforms. When that doesn't work well, we could have directories like LayoutTests/fast/text/mac, although that would always beg the question of whether the tests run on iOS.

I want to move all tests from LayoutTests/platform/ and make run-webkit-tests not look for tests there, but I don't know when that would materialize.