<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[212540] branches/safari-603-branch</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/212540">212540</a></dd>
<dt>Author</dt> <dd>matthew_hanson@apple.com</dd>
<dt>Date</dt> <dd>2017-02-16 23:49:57 -0800 (Thu, 16 Feb 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/212513">r212513</a>. rdar://problem/30301317</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari603branchLayoutTestsChangeLog">branches/safari-603-branch/LayoutTests/ChangeLog</a></li>
<li><a href="#branchessafari603branchLayoutTestshttptestswebfontfallbackfontwhileloadingexpectedtxt">branches/safari-603-branch/LayoutTests/http/tests/webfont/fallback-font-while-loading-expected.txt</a></li>
<li><a href="#branchessafari603branchLayoutTestshttptestswebfontfallbackfontwhileloadinghtml">branches/safari-603-branch/LayoutTests/http/tests/webfont/fallback-font-while-loading.html</a></li>
<li><a href="#branchessafari603branchLayoutTestssvgW3CSVG11SEstructdom11fsvg">branches/safari-603-branch/LayoutTests/svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg</a></li>
<li><a href="#branchessafari603branchSourceWebCoreChangeLog">branches/safari-603-branch/Source/WebCore/ChangeLog</a></li>
<li><a href="#branchessafari603branchSourceWebCorecssCSSFontFacecpp">branches/safari-603-branch/Source/WebCore/css/CSSFontFace.cpp</a></li>
<li><a href="#branchessafari603branchSourceWebCorecssCSSSegmentedFontFacecpp">branches/safari-603-branch/Source/WebCore/css/CSSSegmentedFontFace.cpp</a></li>
<li><a href="#branchessafari603branchSourceWebCoreplatformgraphicsFonth">branches/safari-603-branch/Source/WebCore/platform/graphics/Font.h</a></li>
<li><a href="#branchessafari603branchSourceWebCoreplatformgraphicsFontCacheh">branches/safari-603-branch/Source/WebCore/platform/graphics/FontCache.h</a></li>
<li><a href="#branchessafari603branchSourceWebCoreplatformgraphicsfreetypeFontCacheFreeTypecpp">branches/safari-603-branch/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp</a></li>
<li><a href="#branchessafari603branchSourceWebCoreplatformgraphicsmacFontCacheMacmm">branches/safari-603-branch/Source/WebCore/platform/graphics/mac/FontCacheMac.mm</a></li>
<li><a href="#branchessafari603branchSourceWebCoreplatformgraphicswinFontCacheWincpp">branches/safari-603-branch/Source/WebCore/platform/graphics/win/FontCacheWin.cpp</a></li>
<li><a href="#branchessafari603branchToolsChangeLog">branches/safari-603-branch/Tools/ChangeLog</a></li>
<li><a href="#branchessafari603branchToolsDumpRenderTreemacDumpRenderTreemm">branches/safari-603-branch/Tools/DumpRenderTree/mac/DumpRenderTree.mm</a></li>
<li><a href="#branchessafari603branchToolsWebKitTestRunnerInjectedBundlecocoaActivateFontsCocoamm">branches/safari-603-branch/Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm</a></li>
<li><a href="#branchessafari603branchToolsWebKitTestRunnermacTestControllerMacmm">branches/safari-603-branch/Tools/WebKitTestRunner/mac/TestControllerMac.mm</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#branchessafari603branchLayoutTestsfasttextfontstyledownloadexpectedtxt">branches/safari-603-branch/LayoutTests/fast/text/font-style-download-expected.txt</a></li>
<li><a href="#branchessafari603branchLayoutTestsfasttextfontstyledownloadhtml">branches/safari-603-branch/LayoutTests/fast/text/font-style-download.html</a></li>
<li><a href="#branchessafari603branchLayoutTestsfasttextfontweightdownload2expectedtxt">branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-2-expected.txt</a></li>
<li><a href="#branchessafari603branchLayoutTestsfasttextfontweightdownload2html">branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-2.html</a></li>
<li><a href="#branchessafari603branchLayoutTestsfasttextfontweightdownloadexpectedtxt">branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-expected.txt</a></li>
<li><a href="#branchessafari603branchLayoutTestsfasttextfontweightdownloadhtml">branches/safari-603-branch/LayoutTests/fast/text/font-weight-download.html</a></li>
<li><a href="#branchessafari603branchLayoutTestsfasttextfontweightfallbackexpectedhtml">branches/safari-603-branch/LayoutTests/fast/text/font-weight-fallback-expected.html</a></li>
<li><a href="#branchessafari603branchLayoutTestsfasttextfontweightfallbackhtml">branches/safari-603-branch/LayoutTests/fast/text/font-weight-fallback.html</a></li>
<li><a href="#branchessafari603branchLayoutTestsresourcesAhem_CJKttf">branches/safari-603-branch/LayoutTests/resources/Ahem_CJK.ttf</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari603branchLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/LayoutTests/ChangeLog (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/ChangeLog        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/LayoutTests/ChangeLog        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -1,5 +1,35 @@
</span><span class="cx"> 2017-02-16  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Merge r212513. rdar://problem/30301317
+
+    2017-02-16  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+            font-weight in @font-face can cause a font to be downloaded even when it's not used
+            https://bugs.webkit.org/show_bug.cgi?id=168114
+            &lt;rdar://problem/30301317&gt;
+
+            Reviewed by Darin Adler.
+
+            * fast/text/font-style-download-expected.txt: Added.
+            * fast/text/font-style-download.html: Added.
+            * fast/text/font-weight-download-2-expected.txt: Added.
+            * fast/text/font-weight-download-2.html: Added.
+            * fast/text/font-weight-download-expected.txt: Added.
+            * fast/text/font-weight-download.html: Added.
+            * fast/text/font-weight-fallback-expected.html: Added.
+            * fast/text/font-weight-fallback.html: Added.
+            * http/tests/webfont/fallback-font-while-loading-expected.txt: We don't want to use the
+            fallback font while an earlier font is loading because the fallback font might require
+            an extra download. This represents a policy change.
+            * http/tests/webfont/fallback-font-while-loading.html: Ditto.
+            * resources/Ahem_CJK.ttf: Added.
+            * svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg: The metrics of LastResort are different from
+            the metrics of the previous interstitial font, which means the new font causes elements
+            to intersect when they previously didn't. However, the web font isn't actually necessary
+            here, so we can just stop using it, thereby sidestepping the entire problem.
+
+2017-02-16  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
</ins><span class="cx">         Merge r212459. rdar://problem/29322051
</span><span class="cx"> 
</span><span class="cx">     2017-02-16  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span></span></pre></div>
<a id="branchessafari603branchLayoutTestsfasttextfontstyledownloadexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/fast/text/font-style-download-expected.txt (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/fast/text/font-style-download-expected.txt                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/text/font-style-download-expected.txt        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+font-style-download.html - didFinishLoading
+Ahem.ttf - willSendRequest &lt;NSURLRequest URL Ahem.ttf, main document URL font-style-download.html, http method GET&gt; redirectResponse (null)
+Ahem.ttf - didReceiveResponse &lt;NSURLResponse Ahem.ttf, http status code 0&gt;
+Ahem.ttf - didFinishLoading
+This test makes sure that unnecessary fonts aren't downloaded. The test fails if Ahem.otf is downloaded.
+Hello
</ins></span></pre></div>
<a id="branchessafari603branchLayoutTestsfasttextfontstyledownloadhtml"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/fast/text/font-style-download.html (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/fast/text/font-style-download.html                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/text/font-style-download.html        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script&gt;
+if (window.testRunner) {
+    testRunner.dumpResourceLoadCallbacks();
+    testRunner.dumpAsText();
+}
+if (window.internals) {
+    internals.invalidateFontCache();
+    internals.clearMemoryCache();
+}
+&lt;/script&gt;
+&lt;style&gt;
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-style: italic;
+    src: url(&quot;../../resources/Ahem.ttf&quot;) format(&quot;truetype&quot;);
+}
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-style: normal;
+    src: url(&quot;../../resources/Ahem.otf&quot;) format(&quot;opentype&quot;);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+This test makes sure that unnecessary fonts aren't downloaded. The test fails if Ahem.otf is downloaded.
+&lt;div style=&quot;font: italic 100px 'WebFont';&quot;&gt;Hello&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari603branchLayoutTestsfasttextfontweightdownload2expectedtxt"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-2-expected.txt (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-2-expected.txt                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-2-expected.txt        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+font-weight-download-2.html - didFinishLoading
+Ahem_CJK.ttf - willSendRequest &lt;NSURLRequest URL Ahem_CJK.ttf, main document URL font-weight-download-2.html, http method GET&gt; redirectResponse (null)
+Ahem_CJK.ttf - didReceiveResponse &lt;NSURLResponse Ahem_CJK.ttf, http status code 0&gt;
+Ahem_CJK.ttf - didFinishLoading
+This test makes sure that unnecessary fonts aren't downloaded. The test fails if Ahem.otf is downloaded.
+横
</ins></span></pre></div>
<a id="branchessafari603branchLayoutTestsfasttextfontweightdownload2html"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-2.html (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-2.html                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-2.html        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script&gt;
+if (window.testRunner) {
+    testRunner.dumpResourceLoadCallbacks();
+    testRunner.dumpAsText();
+}
+if (window.internals) {
+    internals.invalidateFontCache();
+    internals.clearMemoryCache();
+}
+&lt;/script&gt;
+&lt;style&gt;
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-weight: 100;
+    src: url(&quot;../../resources/Ahem_CJK.ttf&quot;) format(&quot;truetype&quot;);
+}
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-weight: 900;
+    src: url(&quot;../../resources/Ahem.otf&quot;) format(&quot;opentype&quot;);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+This test makes sure that unnecessary fonts aren't downloaded. The test fails if Ahem.otf is downloaded.
+&lt;div style=&quot;font: 100 100px 'WebFont';&quot;&gt;&amp;#x6A2A;&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari603branchLayoutTestsfasttextfontweightdownloadexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-expected.txt (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-expected.txt                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/text/font-weight-download-expected.txt        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+font-weight-download.html - didFinishLoading
+Ahem.ttf - willSendRequest &lt;NSURLRequest URL Ahem.ttf, main document URL font-weight-download.html, http method GET&gt; redirectResponse (null)
+Ahem.ttf - didReceiveResponse &lt;NSURLResponse Ahem.ttf, http status code 0&gt;
+Ahem.ttf - didFinishLoading
+This test makes sure that unnecessary fonts aren't downloaded. The test fails if Ahem.otf is downloaded.
+Hello
</ins></span></pre></div>
<a id="branchessafari603branchLayoutTestsfasttextfontweightdownloadhtml"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/fast/text/font-weight-download.html (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/fast/text/font-weight-download.html                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/text/font-weight-download.html        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script&gt;
+if (window.testRunner) {
+    testRunner.dumpResourceLoadCallbacks();
+    testRunner.dumpAsText();
+}
+if (window.internals) {
+    internals.invalidateFontCache();
+    internals.clearMemoryCache();
+}
+&lt;/script&gt;
+&lt;style&gt;
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-weight: 100;
+    src: url(&quot;../../resources/Ahem.ttf&quot;) format(&quot;truetype&quot;);
+}
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-weight: 900;
+    src: url(&quot;../../resources/Ahem.otf&quot;) format(&quot;opentype&quot;);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+This test makes sure that unnecessary fonts aren't downloaded. The test fails if Ahem.otf is downloaded.
+&lt;div style=&quot;font: 100 100px 'WebFont';&quot;&gt;Hello&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari603branchLayoutTestsfasttextfontweightfallbackexpectedhtml"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/fast/text/font-weight-fallback-expected.html (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/fast/text/font-weight-fallback-expected.html                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/text/font-weight-fallback-expected.html        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;style&gt;
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-weight: 100;
+    src: url(&quot;../../resources/Ahem_CJK.ttf&quot;) format(&quot;truetype&quot;);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+This test makes sure that chaining font downloads works as expected. Specifically, Ahem.otf should be downloaded, but then we should realize that it doesn't support the character below, so we should download Ahem_CJK.ttf and use it because it supports the character.
+&lt;div style=&quot;font: 100 100px 'WebFont';&quot;&gt;&amp;#x6A2A;&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari603branchLayoutTestsfasttextfontweightfallbackhtml"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/fast/text/font-weight-fallback.html (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/fast/text/font-weight-fallback.html                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/text/font-weight-fallback.html        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;style&gt;
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-weight: 100;
+    src: url(&quot;../../resources/Ahem_CJK.ttf&quot;) format(&quot;truetype&quot;);
+}
+@font-face {
+    font-family: &quot;WebFont&quot;;
+    font-weight: 300;
+    src: url(&quot;../../resources/Ahem.otf&quot;) format(&quot;opentype&quot;);
+}
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;script&gt;
+if (window.testRunner)
+    testRunner.waitUntilDone();
+
+var promises = [];
+
+document.fonts.forEach(function(f) {
+    promises.push(f.loaded);
+});
+
+Promise.all(promises).then(function() {
+    if (window.testRunner)
+        testRunner.notifyDone();
+});
+&lt;/script&gt;
+This test makes sure that chaining font downloads works as expected. Specifically, Ahem.otf should be downloaded, but then we should realize that it doesn't support the character below, so we should download Ahem_CJK.ttf and use it because it supports the character.
+&lt;div style=&quot;font: 300 100px 'WebFont';&quot;&gt;&amp;#x6A2A;&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari603branchLayoutTestshttptestswebfontfallbackfontwhileloadingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/LayoutTests/http/tests/webfont/fallback-font-while-loading-expected.txt (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/http/tests/webfont/fallback-font-while-loading-expected.txt        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/LayoutTests/http/tests/webfont/fallback-font-while-loading-expected.txt        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><del>-This test checks that the fallback font is used for layout while a webfont is loading.
</del><ins>+This test checks that the fallback font is not used for layout while a webfont is loading.
</ins><span class="cx"> 
</span><span class="cx"> Target:
</span><span class="cx"> A text to be measured.
</span><span class="cx"> Reference:
</span><span class="cx"> A text to be measured.
</span><del>-PASS: The width of target text and reference text is the same.
</del><ins>+PASS: The width of target text and reference text are different.
</ins></span></pre></div>
<a id="branchessafari603branchLayoutTestshttptestswebfontfallbackfontwhileloadinghtml"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/LayoutTests/http/tests/webfont/fallback-font-while-loading.html (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/http/tests/webfont/fallback-font-while-loading.html        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/LayoutTests/http/tests/webfont/fallback-font-while-loading.html        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx"> }
</span><span class="cx"> &lt;/style&gt;
</span><span class="cx"> &lt;p&gt;
</span><del>-This test checks that the fallback font is used for layout while a webfont is loading.
</del><ins>+This test checks that the fallback font is not used for layout while a webfont is loading.
</ins><span class="cx"> &lt;/p&gt;
</span><span class="cx"> Target:
</span><span class="cx"> &lt;div&gt;
</span><span class="lines">@@ -26,10 +26,10 @@
</span><span class="cx">     var targetWidth = document.getElementById('target').offsetWidth;
</span><span class="cx">     var referenceWidth = document.getElementById('reference').offsetWidth;
</span><span class="cx">     var result = document.getElementById('result');
</span><del>-    if (targetWidth == referenceWidth)
-        result.innerText = 'PASS: The width of target text and reference text is the same.';
</del><ins>+    if (targetWidth != referenceWidth)
+        result.innerText = 'PASS: The width of target text and reference text are different.';
</ins><span class="cx">     else
</span><del>-        result.innerText = 'FAIL: The width of target text and reference text is different: ' + targetWidth + ' != ' + referenceWidth;
</del><ins>+        result.innerText = 'FAIL: The width of target text and reference text are the same.';
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> checkSize();
</span></span></pre></div>
<a id="branchessafari603branchLayoutTestsresourcesAhem_CJKttf"></a>
<div class="addfile"><h4>Added: branches/safari-603-branch/LayoutTests/resources/Ahem_CJK.ttf (0 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/resources/Ahem_CJK.ttf                                (rev 0)
+++ branches/safari-603-branch/LayoutTests/resources/Ahem_CJK.ttf        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+ \x800OS/2sf\xF8\xBC`cmapED\xB4l$gasp        @glyf P\xF6head\xDBP͵!H6hhea
+:!\x80$hmtx$\xBE\x9D!\xA4dloca\xCCB\xD3&amp;4maxp        (&lt; nameѰ+(\,.post@\xF5\x91\xF1T\x8C\x9D\xD6\x90\xBC\x8A\x8F\xBC\x8A\xC52\x80\xAF HW3C @ \xFE\xFF \xFF8 \xC8\xFF\xFC\xFF\xFF   @@&amp;~\xA0\xA1\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCF\xD0\xD1\xD2\xD4\xD5\xD6\xD7\xD8\xD9\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEB\xEC\xED\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFC\xFD\xFE\xFF1Sx\x92\xC6\xC7\xC9\xDA\xDB\xDC\xDD\x94\xA5\xA7\xA9\xBC\xC0    +      &quot; &amp; 0 : D!&quot;!&amp;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;+&quot;H&quot;`&quot;e&quot;\xF2%\xCA00NNN        N]
 N\x8CN\x94QkQmSAV\xD7V\xDBWg(j*jkl4pk~&amp;~1~\xB5\x91\xD1\xF0\xFE\xFF\xFF\xFF (\xA0\xA1\xA2\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xD0\xD1\xD2\xD3\xD5\xD6\xD7\xD8\xD9\xDA\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEC\xED\xEE\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFD\xFE\xFF1Rx\x92\xC6\xC7\xC9\xD8\xDB\xDC\xDD\x94\xA5\xA7\xA9\xBC\xC0                    &amp; 0 9 D!&quot;!&amp;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;+&quot;H&quot;`&quot;d&quot;\xF2%\xCA00NNN        N]N\x8CN\x94QkQmSAV\xD7V\xDBWg(j*jkl4pk~&amp;~1~\xB5\x91\xD1\xF0\xFE\xFF\xFF\xFF\xFF\xE3\xFF\xE2\xFF\xF9\xFF\xF4\xFF\xE0\xFF\xFD\xFF\xE9\xFF\xDD\xFF\xE2\xFF\xDF\xFF\xE6\xFF\xEC\xFF\xEA\xFF\xD9\xFF\xD1\xFF\xDC\xFF\xD5\xFF\xDA\xFF\xCF\xF
 F\xEB+\xFF\xD7\xFF\xDD +\xFF\xD5\xFF\xDA\xFF\xE4\xFF\xE1\xFF\xD8\xFF\x9D\xFF\xC5\xFF\x9C\xFF\xDF\xFF\x9B\xFF\xDA\xFF\xDB\xFF\xDF\xFF\xDB\xFF\xEE\xFF\x94\xFF\xDC\xFF\xD9\xFF\xC7\xFF\x90\xFF\xEE\xFF\xB4\xFF\xD8\xFF\xD5\xFF\x8B\xFF\xE3\xFF\xE4\xFF\xA7\xFF\x89\xFF\x87\xFF\x88\xFF\x89\xFF\x87\xFF\x88\xFF\xAC\xFF\x87\xFF\x88\xFF\x86\xFF\x87\xFF\x88\xFF\x86\xFF\x87\xFF\xCF\xFF\x86\xFF\x87\xFF\x85\xFF\x86\xFF\x87\xFF\x85\xFF\xA8\xFF\x9B\xFF\x85\xFF\x83\xFF\x84\xFF\xC4\xFF\xC5\xFF\xA1\xFF\x81\xFF|\xFFX\xFF?\xFD\xED\xFD\xF5\xFD\xEC\xFD\xDE\xFD\xE0\xFD\xD8\xFD\xDD\xFD&gt;\xFDp\xFDk\xFD*\xFC\xD3\xFD\xE0\xF4\xE0\xF2\xE0\xF3\xDF\xFF\xE0\xC2\xE0\x85\xE0\xBD\xE0\xBC\xE0\xBB\xE0\xB8\xE0\xAF\xE0\xA7\xE0\x9E\xDF\xC1߭\xDE\xE2\xDE\xCC\xDE\xD6\xDE\xD5޲މ\xDE\xCD\xDE\xCA޾ޥފއ\xDD\xFB\xDB$\xD0\xFE\xD1\xB3\xB3\xB2\xFA\xB2\xAC\xB2v\xB2q\xAF\x9D\xAF\x99\xADɪ5\xAA)\xA9\xF2\x99\xE7\x96閩\x94ڐ\xA2\x82\xF1\x82\xE7\x82ao?\xEF\xF6
 \xFF\xFF}k 3!%!!}\xEE\xFD\x8F\xF4\xFE  \xFC\xE0}&amp;\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 
 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!
 \xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\
 xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE81!!\xE8\xFC\xC8\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \
 xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xE8 !!\xE8\xFC \xFC\xE0\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC
 \xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\x
 FF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\
 xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 
 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 
 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\
 xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\xFC \xFC\xFF8\xE8 !!\xE8\x
 FC \xFC\x90\xE8X!!\xE8\xFCX\xC8\x90\xE8X!!\xE8\xFCX\xC8\x90\xE8X!!\xE8\xFCX\xC8\xC8\xFF8\x90 3#\xC8\xC8\xC8 \xFC\xC8\xFF8\x90 3#\xC8\xC8\xC8 \xFC\xC8\xFF8\x90 3#\xC8\xC8\xC8 \xFC\xC8\xFF8\x90 3#\xC8\xC8\xC8 \xFC\x80\xFE4\x8A\xCA_&lt;\xF5        \xE8\xB3o_Y\xC4ݫ$\xFF8\xE8  \xFF8\xE8\xE8\xE8}\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\x
 E8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8
 \xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xF4\xE8M\xFA\xA7\xC8d\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xE8\xC8\xE8\xC8\xE8\xC8\xE8\xC8!.;HUbo|\x89\x96\xA3\xB0\xBD\xCA\xD7\xE4\xF1\xFE %2?LYfs\x80\x8D\x9A\xA7\xB4\xC1\xCE\xDB\xE8\xF5)6CP]jw\x84\x91\x9E\xAB\xB8\xC5\xD2\xDF\xEC\xF9 -:GTan{\x88\x95\xA2\xAF\xBC\xC9\xD6\xE3\xF0\xFD
+#0=JWdq~\x8B\x98\xA5\xB2\xBF\xCC\xD9\xE6\xF3+'4AN[hu\x82\x8F\x9C\xA9\xB6\xC3\xD0\xDD\xEA\xF7+8ER_ly\x86\x93\xA0\xAD\xBA\xC7\xD4\xE1\xEE\xFB&quot;/&lt;IVcp}\x8A\x97\xA4\xA4\xB1\xBE\xCB\xD8\xE5\xF2\xFF &amp;3@MZgt\x81\x8E\x9B\xA8\xB5\xC2\xCF\xDC\xE9\xF6                                *        7        D        Q        ^        k        x        \x85        \x92        \x9F        \xAC        \xB9        \xC6        \xD3        \xE0        \xED        \xFA
+
+
+!
+.
+;
+H
+U
+b
+o
+|
+\x89
+\x96
+\xA3
+\xB0
+\xBD
+\xCA
+\xD7
+\xE4
+\xF1
+\xFE  % 2 ? L Y f s \x80 \x8D \x9A \xA7 \xB4 \xC1 \xCE \xDB \xE8 \xF5    ) 6 C C C C C C C C C C C C C P ] j w \x84 \x91 \x9E \xAB \xB8 \xC5 \xD2 \xDF \xEC \xF9+++ +-+:+G+T+a+n+{$\xB6\xF0\xF0\xF8&quot;(0H
+\xAEP $\xFER&quot;\xF8tlpw\x88 \x8C\x98
+\x9C \x9C)\xAE\xD7\xDB\xE2        \xF0\xE6        \xD6        \xDE        &quot;\xEC                        .        
+\xAE6         $)\xE4        R*        *Z        *b        *pThe Ahem font belongs to the public domain. In jurisdictions that do not recognize public domain ownership of these files, the following Creative Commons Zero declaration applies: http://labs.creativecommons.org/licenses/zero-waive/1.0/us/legalcodeAhemRegularVersion 1.50 AhemAhemVersion 1.50AhemThe Ahem font was developed by Todd Fahrner and Myles C. Maxfield to help test writers develop predictable tests. The units per em is 1000, the advance is 800, and
  the descent is 200, thereby making the em square exactly square. The glyphs for most characters is simply a box which fills this square. The codepoints mapped to this full square with a full advance are the following ranges: U+20-U+26, U+28-U+6F, U+71-U+7E, U+A0-U+C8, U+CA-U+FF, U+131, U+152-U+153, U+178, U+192, U+2C6-U+2C7, U+2C9, U+2D8-U+2DD, U+394, U+3A5, U+3A7, U+3A9, U+3BC, U+3C0, U+2013-U+2014, U+2018-U+201A, U+201C-U+201E, U+2020-U+2022, U+2026, U+2030, U+2039-U+203A, U+2044, U+2122
 , U+2126, U+2202, U+2206, U+220F, U+2211-U+2212, U+2219-U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-U+2265, U+22F2, U+25CA, U+3007, U+4E00, U+4E03, U+4E09, U+4E5D, U+4E8C, U+4E94, U+516B, U+516D, U+5341, U+56D7, U+56DB, U+571F, U+6728, U+6C34, U+706B, U+91D1, U+F000-U+F002. The codepoints which are mapped to something else are the following: &quot; &quot; (U+20): No path but full advance; &quot;p&quot; (U+70): Path has 0 ascent but full descent; &quot;\xC9&quot; (U+C9): Path has 0 descent but full ascen
 t; Non-breaking space (U+A0): No path but full advance; Zero-width non-breaking space (U+FEFF): No path and 0 advance; En space (U+2002): No path and half advance; Em space (U+2003): No path but full advance; Three-per-em space (U+2004): No path and one third advance; Four-per-em space (U+2005): No path and one quarter advance; Six-per-em space (U+2006): No path and one sixth advance; Thin space (U+2009): No path and one fifth advance; Hair space (U+200A): No path and one tenth advance; Ze
 ro width space (U+200B): No path and no advance; Ideographic space (U+3000): No path but full advance; Zero width non-joiner (U+200C): No path and no advance; Zero width joiner (U+200D): No path and no advance; Greek capital letter Chi (U+3A7): Thin horizontal stripe and full advance; &quot;j*&quot; (U+6A2A): Thin horizontal stripe and full advance; &quot;jk&quot; (U+6A6B): Thin horizontal stripe and full advance; Greek capital letter Upsilon (U+3A5): Thin vertical stripe and full advance; &quot;~\xB5&quot; (
 U+7EB5): Thin vertical stripe and full advance;  &quot;~&amp;&quot; (U+7E26): Thin vertical stripe and full advance;  &quot;~1&quot; (U+7E31): Thin vertical stripe and full advance.http://www.w3c.orghttp://dev.w3.org/CSS/fonts/ahem/COPYING
+The Ahem font belongs to the public domain. In jurisdictions that do not recognize public domain ownership of these files, the following Creative Commons Zero declaration applies: http://labs.creativecommons.org/licenses/zero-waive/1.0/us/legalcodeAhemRegularVersion 1.50 AhemAhemVersion 1.50Ahemhttp://www.w3c.orghttp://dev.w3.org/CSS/fonts/ahem/COPYING
+AhemRegularAhemThe Ahem font belongs to the public domain. In jurisdictions that do not recognize public domain ownership of these files, the following Creative Commons Zero declaration applies: http://labs.creativecommons.org/licenses/zero-waive/1.0/us/legalcodeAhemRegularVersion 1.50 AhemAhemVersion 1.50AhemThe Ahem font was developed by Todd Fahrner and Myles C. Maxfield to help test writers develop predictable tests. The units per em is 1000, the advance is 800, and the descent is 200, thereby
  making the em square exactly square. The glyphs for most characters is simply a box which fills this square. The codepoints mapped to this full square with a full advance are the following ranges: U+20-U+26, U+28-U+6F, U+71-U+7E, U+A0-U+C8, U+CA-U+FF, U+131, U+152-U+153, U+178, U+192, U+2C6-U+2C7, U+2C9, U+2D8-U+2DD, U+394, U+3A5, U+3A7, U+3A9, U+3BC, U+3C0, U+2013-U+2014, U+2018-U+201A, U+201C-U+201E, U+2020-U+2022, U+2026, U+2030, U+2039-U+203A, U+2044, U+2122, U+2126, U+2202, U+2206, U
 +220F, U+2211-U+2212, U+2219-U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-U+2265, U+22F2, U+25CA, U+3007, U+4E00, U+4E03, U+4E09, U+4E5D, U+4E8C, U+4E94, U+516B, U+516D, U+5341, U+56D7, U+56DB, U+571F, U+6728, U+6C34, U+706B, U+91D1, U+F000-U+F002. The codepoints which are mapped to something else are the following: &quot; &quot; (U+20): No path but full advance; &quot;p&quot; (U+70): Path has 0 ascent but full descent; &quot;\xC9&quot; (U+C9): Path has 0 descent but full ascent; Non-breaking space (U+A0
 ): No path but full advance; Zero-width non-breaking space (U+FEFF): No path and 0 advance; En space (U+2002): No path and half advance; Em space (U+2003): No path but full advance; Three-per-em space (U+2004): No path and one third advance; Four-per-em space (U+2005): No path and one quarter advance; Six-per-em space (U+2006): No path and one sixth advance; Thin space (U+2009): No path and one fifth advance; Hair space (U+200A): No path and one tenth advance; Zero width space (U+200B): No 
 path and no advance; Ideographic space (U+3000): No path but full advance; Zero width non-joiner (U+200C): No path and no advance; Zero width joiner (U+200D): No path and no advance; Greek capital letter Chi (U+3A7): Thin horizontal stripe and full advance; &quot;j*&quot; (U+6A2A): Thin horizontal stripe and full advance; &quot;jk&quot; (U+6A6B): Thin horizontal stripe and full advance; Greek capital letter Upsilon (U+3A5): Thin vertical stripe and full advance; &quot;~\xB5&quot; (U+7EB5): Thin vertical strip
 e and full advance;  &quot;~&amp;&quot; (U+7E26): Thin vertical stripe and full advance;  &quot;~1&quot; (U+7E31): Thin vertical stripe and full advance.http://www.w3c.orghttp://dev.w3.org/CSS/fonts/ahem/COPYING
+AhemRegularAhem\xFF{         + !&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x80\x81\x83\x84\x85\x86\x88\x89\x8A\x8B\x8D\x8E\x90\x91\x93\x96\x97\x9D\x9E\xA0\xA1\xA2\xA3\xA4\xA9\xAA\xAC\xAD\xAE\xAF\xB6\xB7\xB8\xBA\xBD\xC3\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xB0\xB1\xBB\xA6\xA8\x9F\x9B\xB2\xB3\xC4\xB4\xB5\xC5\x82\xC2\x87\xAB\xC6\xBE\xBF\xBC\x8C\x98\x9A\x99\xA5\x92\x9C\x8F\x94\x95\xA7\xB9\xD2\xC0\xC1        
+  + !&quot;#$%&amp;'()*+NULLglyph243glyph204glyph205HTDELuniFEFFuni2002uni2003uni2004uni2005uni2006uni2009uni200Auni200Buni3000        afii61664afii301uni4E00uni4E8Cuni4E09uni56DBuni4E94uni516Duni4E03uni516Buni4E5Duni5341uni3007uni56D7uni706Buni6C34uni6728uni91D1uni571Funi03A7uni6A2Auni6A6Buni03A5uni7EB5uni7E26uni7E31
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchessafari603branchLayoutTestssvgW3CSVG11SEstructdom11fsvg"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/LayoutTests/svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/LayoutTests/svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/LayoutTests/svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">       &lt;/font-face-src&gt;
</span><span class="cx">     &lt;/font-face&gt;
</span><span class="cx">   &lt;/defs&gt;
</span><del>-  &lt;g id=&quot;test-body-content&quot; font-family=&quot;SVGFreeSansASCII,sans-serif&quot; font-size=&quot;18&quot;&gt;
</del><ins>+  &lt;g id=&quot;test-body-content&quot; font-family=&quot;sans-serif&quot; font-size=&quot;18&quot;&gt;
</ins><span class="cx"> 
</span><span class="cx">     &lt;text x='10' y='40' font-size='13'&gt;Test getIntersectionList and getEnclosureList return value liveness&lt;/text&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari603branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Source/WebCore/ChangeLog        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Source/WebCore/ChangeLog        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -1,5 +1,53 @@
</span><span class="cx"> 2017-02-16  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Merge r212513. rdar://problem/30301317
+
+    2017-02-16  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+            font-weight in @font-face can cause a font to be downloaded even when it's not used
+            https://bugs.webkit.org/show_bug.cgi?id=168114
+            &lt;rdar://problem/30301317&gt;
+
+            Reviewed by Darin Adler.
+
+            There were two problems with our font loading code.
+
+            When we are in the middle of a download, we will use a special interstitial font,
+            and this special font has a flag set which will cause it to be invisible when it is
+            drawn. However, when we start using this font during the load, we give it a
+            unicode-range of U+0-0 which means that it will never be used, and fallback will
+            happen to other weights immediately.
+
+            The second problem with the font loading code is that this interstital font is just
+            Times. Times doesn't support every character, which means that if we are trying
+            to render some exotic character, we fall back to other weights. The solution here
+            is to use LastResort as the interstitial font, because it supports all characters.
+            Because its metrics are reasonable and we don't ever actually paint this
+            interstitial font, this choice is no worse than Times.
+
+            Tests: fast/text/font-style-download.html
+                   fast/text/font-weight-download-2.html
+                   fast/text/font-weight-download.html
+                   fast/text/font-weight-fallback.html
+
+            * css/CSSFontFace.cpp:
+            (WebCore::CSSFontFace::font):
+            * css/CSSSegmentedFontFace.cpp:
+            (WebCore::appendFont):
+            (WebCore::CSSSegmentedFontFace::fontRanges):
+            (WebCore::appendFontWithInvalidUnicodeRangeIfLoading): Deleted.
+            * platform/graphics/Font.h:
+            (WebCore::Font::widthForGlyph):
+            * platform/graphics/FontCache.h:
+            * platform/graphics/freetype/FontCacheFreeType.cpp:
+            (WebCore::FontCache::lastResortFallbackFontForEveryCharacter):
+            * platform/graphics/mac/FontCacheMac.mm:
+            (WebCore::FontCache::lastResortFallbackFontForEveryCharacter):
+            * platform/graphics/win/FontCacheWin.cpp:
+            (WebCore::FontCache::lastResortFallbackFontForEveryCharacter):
+
+2017-02-16  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
</ins><span class="cx">         Merge r212441. rdar://problem/30357253
</span><span class="cx"> 
</span><span class="cx">     2017-02-16  Chris Fleizach  &lt;cfleizach@apple.com&gt;
</span></span></pre></div>
<a id="branchessafari603branchSourceWebCorecssCSSFontFacecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Source/WebCore/css/CSSFontFace.cpp (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Source/WebCore/css/CSSFontFace.cpp        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Source/WebCore/css/CSSFontFace.cpp        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -597,7 +597,7 @@
</span><span class="cx">             fontIsLoading = true;
</span><span class="cx">             if (status() == Status::TimedOut)
</span><span class="cx">                 continue;
</span><del>-            return Font::create(FontCache::singleton().lastResortFallbackFont(fontDescription)-&gt;platformData(), true, true);
</del><ins>+            return Font::create(FontCache::singleton().lastResortFallbackFontForEveryCharacter(fontDescription)-&gt;platformData(), true, true);
</ins><span class="cx">         case CSSFontFaceSource::Status::Success:
</span><span class="cx">             if (RefPtr&lt;Font&gt; result = source-&gt;font(fontDescription, syntheticBold, syntheticItalic, m_featureSettings, m_variantSettings))
</span><span class="cx">                 return result;
</span></span></pre></div>
<a id="branchessafari603branchSourceWebCorecssCSSSegmentedFontFacecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Source/WebCore/css/CSSSegmentedFontFace.cpp (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Source/WebCore/css/CSSSegmentedFontFace.cpp        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Source/WebCore/css/CSSSegmentedFontFace.cpp        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -94,13 +94,8 @@
</span><span class="cx">     bool m_syntheticItalic;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static void appendFontWithInvalidUnicodeRangeIfLoading(FontRanges&amp; ranges, Ref&lt;FontAccessor&gt;&amp;&amp; fontAccessor, const Vector&lt;CSSFontFace::UnicodeRange&gt;&amp; unicodeRanges)
</del><ins>+static void appendFont(FontRanges&amp; ranges, Ref&lt;FontAccessor&gt;&amp;&amp; fontAccessor, const Vector&lt;CSSFontFace::UnicodeRange&gt;&amp; unicodeRanges)
</ins><span class="cx"> {
</span><del>-    if (fontAccessor-&gt;isLoading()) {
-        ranges.appendRange({ 0, 0, WTFMove(fontAccessor) });
-        return;
-    }
-
</del><span class="cx">     if (unicodeRanges.isEmpty()) {
</span><span class="cx">         ranges.appendRange({ 0, 0x7FFFFFFF, WTFMove(fontAccessor) });
</span><span class="cx">         return;
</span><span class="lines">@@ -132,7 +127,7 @@
</span><span class="cx">             auto fontAccessor = CSSFontAccessor::create(face, fontDescription, syntheticBold, syntheticItalic);
</span><span class="cx">             if (result.isNull() &amp;&amp; !fontAccessor-&gt;font())
</span><span class="cx">                 continue;
</span><del>-            appendFontWithInvalidUnicodeRangeIfLoading(result, WTFMove(fontAccessor), face-&gt;ranges());
</del><ins>+            appendFont(result, WTFMove(fontAccessor), face-&gt;ranges());
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     return result;
</span></span></pre></div>
<a id="branchessafari603branchSourceWebCoreplatformgraphicsFonth"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Source/WebCore/platform/graphics/Font.h (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Source/WebCore/platform/graphics/Font.h        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Source/WebCore/platform/graphics/Font.h        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -339,7 +339,11 @@
</span><span class="cx"> 
</span><span class="cx"> ALWAYS_INLINE float Font::widthForGlyph(Glyph glyph) const
</span><span class="cx"> {
</span><del>-    if (isZeroWidthSpaceGlyph(glyph))
</del><ins>+    // The optimization of returning 0 for the zero-width-space glyph is incorrect for the LastResort font,
+    // used in place of the actual font when isLoading() is true on both macOS and iOS.
+    // The zero-width-space glyph in that font does not have a width of zero and, further, that glyph is used
+    // for many other characters and must not be zero width when used for them.
+    if (isZeroWidthSpaceGlyph(glyph) &amp;&amp; !isLoading())
</ins><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     float width = m_glyphToWidthMap.metricsForGlyph(glyph);
</span></span></pre></div>
<a id="branchessafari603branchSourceWebCoreplatformgraphicsFontCacheh"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Source/WebCore/platform/graphics/FontCache.h (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Source/WebCore/platform/graphics/FontCache.h        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Source/WebCore/platform/graphics/FontCache.h        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -204,6 +204,7 @@
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT RefPtr&lt;Font&gt; fontForFamily(const FontDescription&amp;, const AtomicString&amp;, const FontFeatureSettings* fontFaceFeatures = nullptr, const FontVariantSettings* fontFaceVariantSettings = nullptr, bool checkingAlternateName = false);
</span><span class="cx">     WEBCORE_EXPORT Ref&lt;Font&gt; lastResortFallbackFont(const FontDescription&amp;);
</span><ins>+    Ref&lt;Font&gt; lastResortFallbackFontForEveryCharacter(const FontDescription&amp;);
</ins><span class="cx">     WEBCORE_EXPORT Ref&lt;Font&gt; fontForPlatformData(const FontPlatformData&amp;);
</span><span class="cx">     RefPtr&lt;Font&gt; similarFont(const FontDescription&amp;, const AtomicString&amp; family);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari603branchSourceWebCoreplatformgraphicsfreetypeFontCacheFreeTypecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -121,6 +121,11 @@
</span><span class="cx">     return fontFamilies;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;Font&gt; FontCache::lastResortFallbackFontForEveryCharacter(const FontDescription&amp; fontDescription)
+{
+    return lastResortFallbackFont(fontDescription);
+}
+
</ins><span class="cx"> Ref&lt;Font&gt; FontCache::lastResortFallbackFont(const FontDescription&amp; fontDescription)
</span><span class="cx"> {
</span><span class="cx">     // We want to return a fallback font here, otherwise the logic preventing FontConfig
</span></span></pre></div>
<a id="branchessafari603branchSourceWebCoreplatformgraphicsmacFontCacheMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Source/WebCore/platform/graphics/mac/FontCacheMac.mm (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Source/WebCore/platform/graphics/mac/FontCacheMac.mm        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Source/WebCore/platform/graphics/mac/FontCacheMac.mm        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -30,13 +30,13 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;FontCache.h&quot;
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
-
</del><span class="cx"> #import &quot;CoreGraphicsSPI.h&quot;
</span><span class="cx"> #import &quot;CoreTextSPI.h&quot;
</span><span class="cx"> #import &quot;Font.h&quot;
</span><span class="cx"> #import &quot;FontCascade.h&quot;
</span><span class="cx"> #import &quot;FontPlatformData.h&quot;
</span><ins>+
+#if PLATFORM(MAC)
</ins><span class="cx"> #import &quot;NSFontSPI.h&quot;
</span><span class="cx"> #import &quot;WebCoreNSStringExtras.h&quot;
</span><span class="cx"> #import &quot;WebCoreSystemInterface.h&quot;
</span><span class="lines">@@ -46,9 +46,12 @@
</span><span class="cx"> #import &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #import &lt;wtf/Threading.h&gt;
</span><span class="cx"> #import &lt;wtf/text/AtomicStringHash.h&gt;
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+#if PLATFORM(MAC)
+
</ins><span class="cx"> #if !ENABLE(PLATFORM_FONT_LOOKUP)
</span><span class="cx"> 
</span><span class="cx"> #define SYNTHESIZED_FONT_TRAITS (NSBoldFontMask | NSItalicFontMask)
</span><span class="lines">@@ -404,6 +407,13 @@
</span><span class="cx">     return *fontForFamily(fontDescription, AtomicString(&quot;Lucida Grande&quot;, AtomicString::ConstructFromLiteral), nullptr, nullptr, false);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#endif // PLATFORM(MAC)
+
+Ref&lt;Font&gt; FontCache::lastResortFallbackFontForEveryCharacter(const FontDescription&amp; fontDescription)
+{
+    auto result = fontForFamily(fontDescription, AtomicString(&quot;LastResort&quot;, AtomicString::ConstructFromLiteral));
+    ASSERT(result);
+    return *result;
+}
+
</ins><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // !PLATFORM(IOS)
</del></span></pre></div>
<a id="branchessafari603branchSourceWebCoreplatformgraphicswinFontCacheWincpp"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Source/WebCore/platform/graphics/win/FontCacheWin.cpp (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Source/WebCore/platform/graphics/win/FontCacheWin.cpp        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Source/WebCore/platform/graphics/win/FontCacheWin.cpp        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -338,6 +338,11 @@
</span><span class="cx">     return fontData;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;Font&gt; FontCache::lastResortFallbackFontForEveryCharacter(const FontDescription&amp; fontDescription)
+{
+    return lastResortFallbackFont(fontDescription);
+}
+
</ins><span class="cx"> Ref&lt;Font&gt; FontCache::lastResortFallbackFont(const FontDescription&amp; fontDescription)
</span><span class="cx"> {
</span><span class="cx">     DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, fallbackFontName, ());
</span></span></pre></div>
<a id="branchessafari603branchToolsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Tools/ChangeLog (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Tools/ChangeLog        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Tools/ChangeLog        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -1,5 +1,26 @@
</span><span class="cx"> 2017-02-16  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Merge r212513. rdar://problem/30301317
+
+    2017-02-16  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+            font-weight in @font-face can cause a font to be downloaded even when it's not used
+            https://bugs.webkit.org/show_bug.cgi?id=168114
+            &lt;rdar://problem/30301317&gt;
+
+            Reviewed by Darin Adler.
+
+            LastResort needs to be usable in tests.
+
+            * DumpRenderTree/mac/DumpRenderTree.mm:
+            (allowedFontFamilySet):
+            * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
+            (WTR::allowedFontFamilySet):
+            * WebKitTestRunner/mac/TestControllerMac.mm:
+            (WTR::allowedFontFamilySet):
+
+2017-02-16  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
</ins><span class="cx">         Merge r212459. rdar://problem/29322051
</span><span class="cx"> 
</span><span class="cx">     2017-02-16  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span></span></pre></div>
<a id="branchessafari603branchToolsDumpRenderTreemacDumpRenderTreemm"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Tools/DumpRenderTree/mac/DumpRenderTree.mm (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Tools/DumpRenderTree/mac/DumpRenderTree.mm        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Tools/DumpRenderTree/mac/DumpRenderTree.mm        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -378,6 +378,7 @@
</span><span class="cx">         @&quot;Kokonor&quot;,
</span><span class="cx">         @&quot;Krungthep&quot;,
</span><span class="cx">         @&quot;KufiStandardGK&quot;,
</span><ins>+        @&quot;LastResort&quot;,
</ins><span class="cx">         @&quot;LiHei Pro&quot;,
</span><span class="cx">         @&quot;LiSong Pro&quot;,
</span><span class="cx">         @&quot;Lucida Grande&quot;,
</span></span></pre></div>
<a id="branchessafari603branchToolsWebKitTestRunnerInjectedBundlecocoaActivateFontsCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Tools/WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -123,6 +123,7 @@
</span><span class="cx">         @&quot;Kokonor&quot;,
</span><span class="cx">         @&quot;Krungthep&quot;,
</span><span class="cx">         @&quot;KufiStandardGK&quot;,
</span><ins>+        @&quot;LastResort&quot;,
</ins><span class="cx">         @&quot;LiHei Pro&quot;,
</span><span class="cx">         @&quot;LiSong Pro&quot;,
</span><span class="cx">         @&quot;Lucida Grande&quot;,
</span></span></pre></div>
<a id="branchessafari603branchToolsWebKitTestRunnermacTestControllerMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-603-branch/Tools/WebKitTestRunner/mac/TestControllerMac.mm (212539 => 212540)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-603-branch/Tools/WebKitTestRunner/mac/TestControllerMac.mm        2017-02-17 07:49:50 UTC (rev 212539)
+++ branches/safari-603-branch/Tools/WebKitTestRunner/mac/TestControllerMac.mm        2017-02-17 07:49:57 UTC (rev 212540)
</span><span class="lines">@@ -221,6 +221,7 @@
</span><span class="cx">         @&quot;Kokonor&quot;,
</span><span class="cx">         @&quot;Krungthep&quot;,
</span><span class="cx">         @&quot;KufiStandardGK&quot;,
</span><ins>+        @&quot;LastResort&quot;,
</ins><span class="cx">         @&quot;LiHei Pro&quot;,
</span><span class="cx">         @&quot;LiSong Pro&quot;,
</span><span class="cx">         @&quot;Lucida Grande&quot;,
</span></span></pre>
</div>
</div>

</body>
</html>