summaryrefslogtreecommitdiff
path: root/chromium/third_party/harfbuzz-ng
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-09-14 16:52:41 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-09-14 14:57:58 +0000
commit1ca3e7634f3989aec9631cfbcfd5a46bde4ebf24 (patch)
treec9faa91be97094e1451ae126819a3672bd7358de /chromium/third_party/harfbuzz-ng
parente20ba3c57b50674f625b5088faa0fe9a076c0617 (diff)
downloadqtwebengine-chromium-1ca3e7634f3989aec9631cfbcfd5a46bde4ebf24.tar.gz
BASELINE: Update Chromium to 53.0.2785.117
Change-Id: Ie4ea15fc770a1973f58739ce99df06c98d3dda79 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/third_party/harfbuzz-ng')
-rw-r--r--chromium/third_party/harfbuzz-ng/README.chromium2
-rw-r--r--chromium/third_party/harfbuzz-ng/src/hb-coretext.cc13
2 files changed, 12 insertions, 3 deletions
diff --git a/chromium/third_party/harfbuzz-ng/README.chromium b/chromium/third_party/harfbuzz-ng/README.chromium
index 78a3a1f60fb..0fec969941b 100644
--- a/chromium/third_party/harfbuzz-ng/README.chromium
+++ b/chromium/third_party/harfbuzz-ng/README.chromium
@@ -28,3 +28,5 @@ cannot be retrieved.
Applied a local fix for an infinite recursion crash in hb-coretext on OS X 10.9,
skipping the font cascade list reconfiguration on this OS version.
+
+Updated said local fix to not reconfigure the cascade list for the emoji font.
diff --git a/chromium/third_party/harfbuzz-ng/src/hb-coretext.cc b/chromium/third_party/harfbuzz-ng/src/hb-coretext.cc
index d44cf538fb9..16af8f7ec37 100644
--- a/chromium/third_party/harfbuzz-ng/src/hb-coretext.cc
+++ b/chromium/third_party/harfbuzz-ng/src/hb-coretext.cc
@@ -149,9 +149,16 @@ create_ct_font (CGFontRef cg_font, CGFloat font_size)
/* crbug.com/576941 and crbug.com/625902 and the investigation in the latter
* bug indicate that the cascade list reconfiguration occasionally causes
* crashes in CoreText on OS X 10.9, thus let's skip this step on older
- * operating system versions. */
- if (&CTGetCoreTextVersion != NULL && CTGetCoreTextVersion() < kCTVersionNumber10_10)
- return ct_font;
+ * operating system versions. Except for the emoji font, where _not_
+ * reconfiguring the cascade list causes CoreText crashes. For details, see
+ * crbug.com/549610 */
+ if (&CTGetCoreTextVersion != NULL && CTGetCoreTextVersion() < kCTVersionNumber10_10) {
+ CFStringRef fontName = CTFontCopyPostScriptName (ct_font);
+ bool isEmojiFont = CFStringCompare (fontName, CFSTR("AppleColorEmoji"), 0) == kCFCompareEqualTo;
+ CFRelease (fontName);
+ if (!isEmojiFont)
+ return ct_font;
+ }
CFURLRef original_url = (CFURLRef)CTFontCopyAttribute(ct_font, kCTFontURLAttribute);