<!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>[190754] trunk/Source/WebCore</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/190754">190754</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-10-08 15:53:51 -0700 (Thu, 08 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Revert <a href="http://trac.webkit.org/projects/webkit/changeset/187626">r187626</a> (and <a href="http://trac.webkit.org/projects/webkit/changeset/188025">r188025</a>) as it caused a PLT regression
https://bugs.webkit.org/show_bug.cgi?id=149898
&lt;rdar://problem/22657123&gt;

Reviewed by Myles Maxfield.

* css/CSSPropertyNames.in:
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueWebkitLocale):
* platform/graphics/Font.cpp:
(WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
(WebCore::CharacterFallbackMapKey::operator==):
(WebCore::CharacterFallbackMapKeyHash::hash):
(WebCore::Font::systemFallbackFontForCharacter):
* platform/graphics/FontCache.h:
(WebCore::FontDescriptionKey::operator==):
(WebCore::FontDescriptionKey::FontDescriptionKey): Deleted.
(WebCore::FontDescriptionKey::computeHash): Deleted.
* platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::traitsMask): Deleted.
(WebCore::FontCascadeDescription::FontCascadeDescription): Deleted.
* platform/graphics/FontDescription.h:
(WebCore::FontDescription::setScript):
(WebCore::FontDescription::operator==):
(WebCore::FontDescription::setFeatureSettings): Deleted.
(WebCore::FontCascadeDescription::initialVariantAlternates): Deleted.
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::systemFallbackForCharacters):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSPropertyNamesin">trunk/Source/WebCore/css/CSSPropertyNames.in</a></li>
<li><a href="#trunkSourceWebCorecssStyleBuilderCustomh">trunk/Source/WebCore/css/StyleBuilderCustom.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontcpp">trunk/Source/WebCore/platform/graphics/Font.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontCacheh">trunk/Source/WebCore/platform/graphics/FontCache.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontDescriptioncpp">trunk/Source/WebCore/platform/graphics/FontDescription.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontDescriptionh">trunk/Source/WebCore/platform/graphics/FontDescription.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaFontCacheCoreTextcpp">trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStylecpp">trunk/Source/WebCore/rendering/style/RenderStyle.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleh">trunk/Source/WebCore/rendering/style/RenderStyle.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleStyleRareInheritedDatacpp">trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleStyleRareInheritedDatah">trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h</a></li>
<li><a href="#trunkSourceWebCorestyleStyleResolveForDocumentcpp">trunk/Source/WebCore/style/StyleResolveForDocument.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/ChangeLog        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -1,3 +1,44 @@
</span><ins>+2015-10-08  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Revert r187626 (and r188025) as it caused a PLT regression
+        https://bugs.webkit.org/show_bug.cgi?id=149898
+        &lt;rdar://problem/22657123&gt;
+
+        Reviewed by Myles Maxfield.
+
+        * css/CSSPropertyNames.in:
+        * css/StyleBuilderCustom.h:
+        (WebCore::StyleBuilderCustom::applyValueWebkitLocale):
+        * platform/graphics/Font.cpp:
+        (WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
+        (WebCore::CharacterFallbackMapKey::operator==):
+        (WebCore::CharacterFallbackMapKeyHash::hash):
+        (WebCore::Font::systemFallbackFontForCharacter):
+        * platform/graphics/FontCache.h:
+        (WebCore::FontDescriptionKey::operator==):
+        (WebCore::FontDescriptionKey::FontDescriptionKey): Deleted.
+        (WebCore::FontDescriptionKey::computeHash): Deleted.
+        * platform/graphics/FontDescription.cpp:
+        (WebCore::FontDescription::FontDescription):
+        (WebCore::FontDescription::traitsMask): Deleted.
+        (WebCore::FontCascadeDescription::FontCascadeDescription): Deleted.
+        * platform/graphics/FontDescription.h:
+        (WebCore::FontDescription::setScript):
+        (WebCore::FontDescription::operator==):
+        (WebCore::FontDescription::setFeatureSettings): Deleted.
+        (WebCore::FontCascadeDescription::initialVariantAlternates): Deleted.
+        * platform/graphics/cocoa/FontCacheCoreText.cpp:
+        (WebCore::FontCache::systemFallbackForCharacters):
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::changeRequiresLayout):
+        * rendering/style/RenderStyle.h:
+        * rendering/style/StyleRareInheritedData.cpp:
+        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+        (WebCore::StyleRareInheritedData::operator==):
+        * rendering/style/StyleRareInheritedData.h:
+        * style/StyleResolveForDocument.cpp:
+        (WebCore::Style::resolveForDocument):
+
</ins><span class="cx"> 2015-10-08  Andreas Kling  &lt;akling@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Generated frame tree names should be kept reasonably long.
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPropertyNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPropertyNames.in        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx"> font-variant-numeric [Inherited, FontProperty, NameForMethods=VariantNumeric, Custom=All]
</span><span class="cx"> font-variant-alternates [Inherited, FontProperty, NameForMethods=VariantAlternates]
</span><span class="cx"> font-variant-east-asian [Inherited, FontProperty, NameForMethods=VariantEastAsian, Custom=All]
</span><del>--webkit-locale [Inherited, FontProperty, Custom=Value]
</del><ins>+-webkit-locale [Inherited, Custom=Value]
</ins><span class="cx"> -webkit-text-orientation [Inherited, Custom=Value]
</span><span class="cx"> -epub-text-orientation = -webkit-text-orientation
</span><span class="cx"> #if defined(ENABLE_IOS_TEXT_AUTOSIZING) &amp;&amp; ENABLE_IOS_TEXT_AUTOSIZING
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleBuilderCustomh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleBuilderCustom.h (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleBuilderCustom.h        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/css/StyleBuilderCustom.h        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx"> #include &quot;ElementAncestorIterator.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;HTMLElement.h&quot;
</span><ins>+#include &quot;LocaleToScriptMapping.h&quot;
</ins><span class="cx"> #include &quot;Rect.h&quot;
</span><span class="cx"> #include &quot;RenderTheme.h&quot;
</span><span class="cx"> #include &quot;SVGElement.h&quot;
</span><span class="lines">@@ -694,12 +695,13 @@
</span><span class="cx"> inline void StyleBuilderCustom::applyValueWebkitLocale(StyleResolver&amp; styleResolver, CSSValue&amp; value)
</span><span class="cx"> {
</span><span class="cx">     auto&amp; primitiveValue = downcast&lt;CSSPrimitiveValue&gt;(value);
</span><del>-    
-    auto fontDescription = styleResolver.style()-&gt;fontDescription();
</del><span class="cx">     if (primitiveValue.getValueID() == CSSValueAuto)
</span><del>-        fontDescription.setLocale(nullAtom);
</del><ins>+        styleResolver.style()-&gt;setLocale(nullAtom);
</ins><span class="cx">     else
</span><del>-        fontDescription.setLocale(primitiveValue.getStringValue());
</del><ins>+        styleResolver.style()-&gt;setLocale(primitiveValue.getStringValue());
+
+    FontCascadeDescription fontDescription = styleResolver.style()-&gt;fontDescription();
+    fontDescription.setScript(localeToScriptCodeForFontSelection(styleResolver.style()-&gt;locale()));
</ins><span class="cx">     styleResolver.setFontDescription(fontDescription);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.cpp (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.cpp        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/platform/graphics/Font.cpp        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -393,9 +393,8 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    CharacterFallbackMapKey(const AtomicString&amp; locale, UChar32 character, bool isForPlatformFont)
-        : locale(locale)
-        , character(character)
</del><ins>+    CharacterFallbackMapKey(UChar32 character, bool isForPlatformFont)
+        : character(character)
</ins><span class="cx">         , isForPlatformFont(isForPlatformFont)
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="lines">@@ -409,7 +408,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool operator==(const CharacterFallbackMapKey&amp; other) const
</span><span class="cx">     {
</span><del>-        return locale == other.locale &amp;&amp; character == other.character &amp;&amp; isForPlatformFont == other.isForPlatformFont;
</del><ins>+        return character == other.character &amp;&amp; isForPlatformFont == other.isForPlatformFont;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static const bool emptyValueIsZero = true;
</span><span class="lines">@@ -417,7 +416,6 @@
</span><span class="cx"> private:
</span><span class="cx">     friend struct CharacterFallbackMapKeyHash;
</span><span class="cx"> 
</span><del>-    AtomicString locale;
</del><span class="cx">     UChar32 character { 0 };
</span><span class="cx">     bool isForPlatformFont { false };
</span><span class="cx"> };
</span><span class="lines">@@ -425,7 +423,7 @@
</span><span class="cx"> struct CharacterFallbackMapKeyHash {
</span><span class="cx">     static unsigned hash(const CharacterFallbackMapKey&amp; key)
</span><span class="cx">     {
</span><del>-        return WTF::pairIntHash(key.locale.isNull() ? 0 : WTF::AtomicStringHash::hash(key.locale), WTF::pairIntHash(key.character, key.isForPlatformFont));
</del><ins>+        return WTF::pairIntHash(key.character, key.isForPlatformFont);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static bool equal(const CharacterFallbackMapKey&amp; a, const CharacterFallbackMapKey&amp; b)
</span><span class="lines">@@ -456,7 +454,7 @@
</span><span class="cx">         return FontCache::singleton().systemFallbackForCharacters(description, this, isForPlatformFont, &amp;codeUnit, 1);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto key = CharacterFallbackMapKey(description.locale(), character, isForPlatformFont);
</del><ins>+    auto key = CharacterFallbackMapKey(character, isForPlatformFont);
</ins><span class="cx">     auto characterAddResult = fontAddResult.iterator-&gt;value.add(WTF::move(key), nullptr);
</span><span class="cx"> 
</span><span class="cx">     Font*&amp; fallbackFont = characterAddResult.iterator-&gt;value;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontCache.h (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontCache.h        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/platform/graphics/FontCache.h        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -75,7 +75,6 @@
</span><span class="cx">         : m_size(description.computedPixelSize())
</span><span class="cx">         , m_weight(description.weight())
</span><span class="cx">         , m_flags(makeFlagsKey(description))
</span><del>-        , m_locale(description.locale())
</del><span class="cx">         , m_featureSettings(description.featureSettings())
</span><span class="cx">     { }
</span><span class="cx"> 
</span><span class="lines">@@ -85,7 +84,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool operator==(const FontDescriptionKey&amp; other) const
</span><span class="cx">     {
</span><del>-        return m_size == other.m_size &amp;&amp; m_weight == other.m_weight &amp;&amp; m_flags == other.m_flags &amp;&amp; m_locale == other.m_locale
</del><ins>+        return m_size == other.m_size &amp;&amp; m_weight == other.m_weight &amp;&amp; m_flags == other.m_flags
</ins><span class="cx">             &amp;&amp; m_featureSettings == other.m_featureSettings;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -103,7 +102,6 @@
</span><span class="cx">         hasher.add(m_weight);
</span><span class="cx">         for (unsigned flagItem : m_flags)
</span><span class="cx">             hasher.add(flagItem);
</span><del>-        hasher.add(m_locale.isNull() ? 0 : m_locale.impl()-&gt;existingHash());
</del><span class="cx">         hasher.add(m_featureSettings.hash());
</span><span class="cx">         return hasher.hash();
</span><span class="cx">     }
</span><span class="lines">@@ -144,7 +142,6 @@
</span><span class="cx">     unsigned m_size { 0 };
</span><span class="cx">     unsigned m_weight { 0 };
</span><span class="cx">     std::array&lt;unsigned, 2&gt; m_flags {{ 0, 0 }};
</span><del>-    AtomicString m_locale;
</del><span class="cx">     FontFeatureSettings m_featureSettings;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontDescriptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontDescription.cpp (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontDescription.cpp        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/platform/graphics/FontDescription.cpp        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -1,4 +1,3 @@
</span><del>-
</del><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2007 Nicholas Shanks &lt;contact@nickshanks.com&gt;
</span><span class="cx">  * Copyright (C) 2008, 2013 Apple Inc. All rights reserved.
</span><span class="lines">@@ -30,13 +29,11 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;FontDescription.h&quot;
</span><del>-#include &quot;LocaleToScriptMapping.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> struct SameSizeAsFontCascadeDescription {
</span><span class="cx">     Vector&lt;void*&gt; vector;
</span><del>-    void* string;
</del><span class="cx">     float size;
</span><span class="cx">     unsigned bitfields1;
</span><span class="cx">     unsigned bitfields2 : 22;
</span><span class="lines">@@ -56,7 +53,7 @@
</span><span class="cx">     , m_weight(FontWeightNormal)
</span><span class="cx">     , m_renderingMode(NormalRenderingMode)
</span><span class="cx">     , m_textRendering(AutoTextRendering)
</span><del>-    , m_script(localeToScriptCodeForFontSelection(m_locale))
</del><ins>+    , m_script(USCRIPT_COMMON)
</ins><span class="cx">     , m_fontSynthesis(FontSynthesisWeight | FontSynthesisStyle)
</span><span class="cx">     , m_variantCommonLigatures(static_cast&lt;unsigned&gt;(FontVariantLigatures::Normal))
</span><span class="cx">     , m_variantDiscretionaryLigatures(static_cast&lt;unsigned&gt;(FontVariantLigatures::Normal))
</span><span class="lines">@@ -76,12 +73,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FontDescription::setLocale(const AtomicString&amp; locale)
-{
-    m_locale = locale;
-    m_script = localeToScriptCodeForFontSelection(m_locale);
-}
-
</del><span class="cx"> FontTraitsMask FontDescription::traitsMask() const
</span><span class="cx"> {
</span><span class="cx">     return static_cast&lt;FontTraitsMask&gt;((m_italic ? FontStyleItalicMask : FontStyleNormalMask)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontDescriptionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontDescription.h (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontDescription.h        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/platform/graphics/FontDescription.h        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -55,7 +55,6 @@
</span><span class="cx">     FontRenderingMode renderingMode() const { return static_cast&lt;FontRenderingMode&gt;(m_renderingMode); }
</span><span class="cx">     TextRenderingMode textRenderingMode() const { return static_cast&lt;TextRenderingMode&gt;(m_textRendering); }
</span><span class="cx">     UScriptCode script() const { return static_cast&lt;UScriptCode&gt;(m_script); }
</span><del>-    const AtomicString&amp; locale() const { return m_locale; }
</del><span class="cx"> 
</span><span class="cx">     FontOrientation orientation() const { return static_cast&lt;FontOrientation&gt;(m_orientation); }
</span><span class="cx">     NonCJKGlyphOrientation nonCJKGlyphOrientation() const { return static_cast&lt;NonCJKGlyphOrientation&gt;(m_nonCJKGlyphOrientation); }
</span><span class="lines">@@ -107,7 +106,7 @@
</span><span class="cx">     void setOrientation(FontOrientation orientation) { m_orientation = orientation; }
</span><span class="cx">     void setNonCJKGlyphOrientation(NonCJKGlyphOrientation orientation) { m_nonCJKGlyphOrientation = orientation; }
</span><span class="cx">     void setWidthVariant(FontWidthVariant widthVariant) { m_widthVariant = widthVariant; } // Make sure new callers of this sync with FontPlatformData::isForTextCombine()!
</span><del>-    void setLocale(const AtomicString&amp;);
</del><ins>+    void setScript(UScriptCode s) { m_script = s; }
</ins><span class="cx">     void setFeatureSettings(FontFeatureSettings&amp;&amp; settings) { m_featureSettings = WTF::move(settings); }
</span><span class="cx">     void setFontSynthesis(FontSynthesis fontSynthesis) { m_fontSynthesis = fontSynthesis; }
</span><span class="cx">     void setVariantCommonLigatures(FontVariantLigatures variant) { m_variantCommonLigatures = static_cast&lt;unsigned&gt;(variant); }
</span><span class="lines">@@ -130,7 +129,6 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     FontFeatureSettings m_featureSettings;
</span><del>-    AtomicString m_locale;
</del><span class="cx"> 
</span><span class="cx">     float m_computedSize { 0 }; // Computed size adjusted for the minimum font size and the zoom factor.
</span><span class="cx">     unsigned m_orientation : 1; // FontOrientation - Whether the font is rendering on a horizontal line or a vertical line.
</span><span class="lines">@@ -171,7 +169,7 @@
</span><span class="cx">         &amp;&amp; m_orientation == other.m_orientation
</span><span class="cx">         &amp;&amp; m_nonCJKGlyphOrientation == other.m_nonCJKGlyphOrientation
</span><span class="cx">         &amp;&amp; m_widthVariant == other.m_widthVariant
</span><del>-        &amp;&amp; m_locale == other.m_locale
</del><ins>+        &amp;&amp; m_script == other.m_script
</ins><span class="cx">         &amp;&amp; m_featureSettings == other.m_featureSettings
</span><span class="cx">         &amp;&amp; m_fontSynthesis == other.m_fontSynthesis
</span><span class="cx">         &amp;&amp; m_variantCommonLigatures == other.m_variantCommonLigatures
</span><span class="lines">@@ -265,7 +263,6 @@
</span><span class="cx">     static FontSmoothingMode initialFontSmoothing() { return AutoSmoothing; }
</span><span class="cx">     static TextRenderingMode initialTextRenderingMode() { return AutoTextRendering; }
</span><span class="cx">     static FontSynthesis initialFontSynthesis() { return FontSynthesisWeight | FontSynthesisStyle; }
</span><del>-    static const AtomicString&amp; initialLocale() { return nullAtom; }
</del><span class="cx">     static FontVariantPosition initialVariantPosition() { return FontVariantPosition::Normal; }
</span><span class="cx">     static FontVariantCaps initialVariantCaps() { return FontVariantCaps::Normal; }
</span><span class="cx">     static FontVariantAlternates initialVariantAlternates() { return FontVariantAlternates::Normal; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscocoaFontCacheCoreTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -712,7 +712,8 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     const FontPlatformData&amp; platformData = originalFontData-&gt;platformData();
</span><del>-    RetainPtr&lt;CTFontRef&gt; result = platformLookupFallbackFont(platformData.font(), description.weight(), description.locale(), characters, length);
</del><ins>+    // FIXME: Should pass in the locale instead of nullAtom.
+    RetainPtr&lt;CTFontRef&gt; result = platformLookupFallbackFont(platformData.font(), description.weight(), nullAtom, characters, length);
</ins><span class="cx">     result = preparePlatformFont(result.get(), description.textRenderingMode(), description.featureSettings(), description.variantSettings());
</span><span class="cx">     if (!result)
</span><span class="cx">         return lastResortFallbackFont(description);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -594,6 +594,7 @@
</span><span class="cx">             || rareInheritedData-&gt;hyphenationLimitBefore != other.rareInheritedData-&gt;hyphenationLimitBefore
</span><span class="cx">             || rareInheritedData-&gt;hyphenationLimitAfter != other.rareInheritedData-&gt;hyphenationLimitAfter
</span><span class="cx">             || rareInheritedData-&gt;hyphenationString != other.rareInheritedData-&gt;hyphenationString
</span><ins>+            || rareInheritedData-&gt;locale != other.rareInheritedData-&gt;locale
</ins><span class="cx">             || rareInheritedData-&gt;m_rubyPosition != other.rareInheritedData-&gt;m_rubyPosition
</span><span class="cx">             || rareInheritedData-&gt;textEmphasisMark != other.rareInheritedData-&gt;textEmphasisMark
</span><span class="cx">             || rareInheritedData-&gt;textEmphasisPosition != other.rareInheritedData-&gt;textEmphasisPosition
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.h        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -1008,7 +1008,7 @@
</span><span class="cx">     short hyphenationLimitAfter() const { return rareInheritedData-&gt;hyphenationLimitAfter; }
</span><span class="cx">     short hyphenationLimitLines() const { return rareInheritedData-&gt;hyphenationLimitLines; }
</span><span class="cx">     const AtomicString&amp; hyphenationString() const { return rareInheritedData-&gt;hyphenationString; }
</span><del>-    const AtomicString&amp; locale() const { return fontDescription().locale(); }
</del><ins>+    const AtomicString&amp; locale() const { return rareInheritedData-&gt;locale; }
</ins><span class="cx">     EBorderFit borderFit() const { return static_cast&lt;EBorderFit&gt;(rareNonInheritedData-&gt;m_borderFit); }
</span><span class="cx">     EResize resize() const { return static_cast&lt;EResize&gt;(rareInheritedData-&gt;resize); }
</span><span class="cx">     ColumnAxis columnAxis() const { return static_cast&lt;ColumnAxis&gt;(rareNonInheritedData-&gt;m_multiCol-&gt;m_axis); }
</span><span class="lines">@@ -1583,6 +1583,7 @@
</span><span class="cx">     void setHyphenationLimitAfter(short limit) { SET_VAR(rareInheritedData, hyphenationLimitAfter, limit); }
</span><span class="cx">     void setHyphenationLimitLines(short limit) { SET_VAR(rareInheritedData, hyphenationLimitLines, limit); }
</span><span class="cx">     void setHyphenationString(const AtomicString&amp; h) { SET_VAR(rareInheritedData, hyphenationString, h); }
</span><ins>+    void setLocale(const AtomicString&amp; locale) { SET_VAR(rareInheritedData, locale, locale); }
</ins><span class="cx">     void setBorderFit(EBorderFit b) { SET_VAR(rareNonInheritedData, m_borderFit, b); }
</span><span class="cx">     void setResize(EResize r) { SET_VAR(rareInheritedData, resize, r); }
</span><span class="cx">     void setColumnAxis(ColumnAxis axis) { SET_VAR(rareNonInheritedData.access()-&gt;m_multiCol, m_axis, axis); }
</span><span class="lines">@@ -1986,6 +1987,7 @@
</span><span class="cx">     static short initialHyphenationLimitAfter() { return -1; }
</span><span class="cx">     static short initialHyphenationLimitLines() { return -1; }
</span><span class="cx">     static const AtomicString&amp; initialHyphenationString() { return nullAtom; }
</span><ins>+    static const AtomicString&amp; initialLocale() { return nullAtom; }
</ins><span class="cx">     static EBorderFit initialBorderFit() { return BorderFitBorder; }
</span><span class="cx">     static EResize initialResize() { return RESIZE_NONE; }
</span><span class="cx">     static ControlPart initialAppearance() { return NoControlPart; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleStyleRareInheritedDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -210,6 +210,7 @@
</span><span class="cx">     , hyphenationLimitBefore(o.hyphenationLimitBefore)
</span><span class="cx">     , hyphenationLimitAfter(o.hyphenationLimitAfter)
</span><span class="cx">     , hyphenationLimitLines(o.hyphenationLimitLines)
</span><ins>+    , locale(o.locale)
</ins><span class="cx">     , textEmphasisCustomMark(o.textEmphasisCustomMark)
</span><span class="cx">     , m_lineGrid(o.m_lineGrid)
</span><span class="cx">     , m_tabSize(o.m_tabSize)
</span><span class="lines">@@ -304,6 +305,7 @@
</span><span class="cx">         &amp;&amp; touchCalloutEnabled == o.touchCalloutEnabled
</span><span class="cx"> #endif
</span><span class="cx">         &amp;&amp; hyphenationString == o.hyphenationString
</span><ins>+        &amp;&amp; locale == o.locale
</ins><span class="cx">         &amp;&amp; textEmphasisCustomMark == o.textEmphasisCustomMark
</span><span class="cx">         &amp;&amp; quotesDataEquivalent(quotes.get(), o.quotes.get())
</span><span class="cx">         &amp;&amp; m_tabSize == o.m_tabSize
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleStyleRareInheritedDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -143,6 +143,8 @@
</span><span class="cx">     short hyphenationLimitAfter;
</span><span class="cx">     short hyphenationLimitLines;
</span><span class="cx"> 
</span><ins>+    AtomicString locale;
+
</ins><span class="cx">     AtomicString textEmphasisCustomMark;
</span><span class="cx">     RefPtr&lt;QuotesData&gt; quotes;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorestyleStyleResolveForDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/style/StyleResolveForDocument.cpp (190753 => 190754)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/style/StyleResolveForDocument.cpp        2015-10-08 22:53:16 UTC (rev 190753)
+++ trunk/Source/WebCore/style/StyleResolveForDocument.cpp        2015-10-08 22:53:51 UTC (rev 190754)
</span><span class="lines">@@ -59,9 +59,7 @@
</span><span class="cx">     documentStyle.get().setRTLOrdering(document.visuallyOrdered() ? VisualOrder : LogicalOrder);
</span><span class="cx">     documentStyle.get().setZoom(!document.printing() ? renderView.frame().pageZoomFactor() : 1);
</span><span class="cx">     documentStyle.get().setPageScaleTransform(renderView.frame().frameScaleFactor());
</span><del>-    auto documentFontDescription = documentStyle.get().fontDescription();
-    documentFontDescription.setLocale(document.contentLanguage());
-    documentStyle.get().setFontDescription(WTF::move(documentFontDescription));
</del><ins>+    documentStyle.get().setLocale(document.contentLanguage());
</ins><span class="cx"> 
</span><span class="cx">     // This overrides any -webkit-user-modify inherited from the parent iframe.
</span><span class="cx">     documentStyle.get().setUserModify(document.inDesignMode() ? READ_WRITE : READ_ONLY);
</span><span class="lines">@@ -99,7 +97,7 @@
</span><span class="cx">     const Settings&amp; settings = renderView.frame().settings();
</span><span class="cx"> 
</span><span class="cx">     FontCascadeDescription fontDescription;
</span><del>-    fontDescription.setLocale(document.contentLanguage());
</del><ins>+    fontDescription.setScript(localeToScriptCodeForFontSelection(documentStyle.get().locale()));
</ins><span class="cx">     fontDescription.setRenderingMode(settings.fontRenderingMode());
</span><span class="cx">     fontDescription.setOneFamily(standardFamily);
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>