<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>120173</bug_id>
          
          <creation_ts>2013-08-22 14:35:09 -0700</creation_ts>
          <short_desc>[iOS] Upstream changes to WebCore/style</short_desc>
          <delta_ts>2016-03-11 11:03:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>139946</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>919973</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-22 14:35:09 -0700</bug_when>
    <thetext>Upstream iOS-specific changes to WebCore/style. We should look to clean up and find a better place for the content observer code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919974</commentid>
    <comment_count>1</comment_count>
      <attachid>209395</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-22 14:39:37 -0700</bug_when>
    <thetext>Created attachment 209395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920249</commentid>
    <comment_count>2</comment_count>
      <attachid>209395</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-23 09:44:37 -0700</bug_when>
    <thetext>Comment on attachment 209395
Patch

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

Looks fine. The merged code isn’t great, but we can improve it later; good to have it upstreamed as a start.

&gt; Source/WebCore/style/StyleResolveTree.cpp:474
&gt; +    CheckForVisibilityChangeOnRecalcStyle checkForVisibilityChange(current, current-&gt;renderStyle());

Seems like a strange way to plug this in. Maybe we can come up with something better or at least explain why this is platform-specific.

&gt; Source/WebCore/style/StyleResolveTree.cpp:542
&gt; +            if (settings-&gt;fontFallbackPrefersPictographs() &amp;&amp; document-&gt;styleResolverIfExists())
&gt; +                documentStyle-&gt;font().update(document-&gt;styleResolverIfExists()-&gt;fontSelector());

Would be nice to put style resolver into a local rather than evaluating it twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922537</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-29 10:30:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; [...]
&gt; &gt; Source/WebCore/style/StyleResolveTree.cpp:474
&gt; &gt; +    CheckForVisibilityChangeOnRecalcStyle checkForVisibilityChange(current, current-&gt;renderStyle());
&gt; 
&gt; Seems like a strange way to plug this in. Maybe we can come up with something better or at least explain why this is platform-specific.

I agree. Filed bug #120478 to fix this issue.

&gt; 
&gt; &gt; Source/WebCore/style/StyleResolveTree.cpp:542
&gt; &gt; +            if (settings-&gt;fontFallbackPrefersPictographs() &amp;&amp; document-&gt;styleResolverIfExists())
&gt; &gt; +                documentStyle-&gt;font().update(document-&gt;styleResolverIfExists()-&gt;fontSelector());
&gt; 
&gt; Would be nice to put style resolver into a local rather than evaluating it twice.

Will fix before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922540</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-29 10:33:58 -0700</bug_when>
    <thetext>Committed r154820: &lt;http://trac.webkit.org/changeset/154820&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209395</attachid>
            <date>2013-08-22 14:39:37 -0700</date>
            <delta_ts>2013-08-23 09:44:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120173-20130822143939.patch</filename>
            <type>text/plain</type>
            <size>5006</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJiMWMyMGRlMzE1MDEz
YzM5YTMzNDdlMTYwNzgxMTk1ODFiYTVhZi4uMmQyM2JmOThjMDQ5YzcyZTM5NWRlNGRlODE4ZTQ4
OWYyYWEwMzg4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA4LTIyICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBVcHN0cmVhbSBj
aGFuZ2VzIHRvIFdlYkNvcmUvc3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyMDE3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogc3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZTo6ZWxlbWVudEltcGxpY2l0VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZTo6Q2hlY2tGb3JWaXNpYmlsaXR5Q2hhbmdlT25SZWNhbGNTdHlsZTo6Q2hlY2tG
b3JWaXNpYmlsaXR5Q2hhbmdlT25SZWNhbGNTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZTo6Q2hlY2tGb3JWaXNpYmlsaXR5Q2hhbmdlT25SZWNhbGNTdHlsZTo6fkNoZWNrRm9yVmlzaWJp
bGl0eUNoYW5nZU9uUmVjYWxjU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OnJlc29s
dmVUcmVlKToKKwogMjAxMy0wOC0yMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIGFjY2lkZW50YWwgY3J1ZnQgZnJvbSByMTU0NDQ5LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNwcAppbmRleCBmYWZlYjkwNDA0MTdjZGQ3
MDQ2NGZhZTgwOTRiODA2ZTk1NDFhMmU2Li40M2U3NWYwMmM4MWUxNzcxNmVlZWNjNDhjNGU4NmJj
MDUyOTNmYWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVU
cmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNwcApA
QCAtNDIsNiArNDIsMTEgQEAKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAi
VGV4dC5oIgogCisjaWYgUExBVEZPUk0oSU9TKQorI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5o
IgorI2luY2x1ZGUgIldLQ29udGVudE9ic2VydmF0aW9uLmgiCisjZW5kaWYKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBuYW1lc3BhY2UgU3R5bGUgewpAQCAtMzk4LDYgKzQwMyw2MCBAQCBzdGF0
aWMgdm9pZCByZXNvbHZlU2hhZG93VHJlZShTaGFkb3dSb290KiBzaGFkb3dSb290LCBSZW5kZXJT
dHlsZSogcGFyZW50RWxlbWVudAogICAgIHNoYWRvd1Jvb3QtPmNsZWFyQ2hpbGROZWVkc1N0eWxl
UmVjYWxjKCk7CiB9CiAKKyNpZiBQTEFURk9STShJT1MpCitzdGF0aWMgRVZpc2liaWxpdHkgZWxl
bWVudEltcGxpY2l0VmlzaWJpbGl0eShjb25zdCBFbGVtZW50KiBlbGVtZW50KQoreworICAgIFJl
bmRlck9iamVjdCogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5kZXJlcigpOworICAgIGlmICghcmVu
ZGVyZXIpCisgICAgICAgIHJldHVybiBWSVNJQkxFOworCisgICAgUmVuZGVyU3R5bGUqIHN0eWxl
ID0gcmVuZGVyZXItPnN0eWxlKCk7CisgICAgaWYgKCFzdHlsZSkKKyAgICAgICAgcmV0dXJuIFZJ
U0lCTEU7CisKKyAgICBMZW5ndGggd2lkdGgoc3R5bGUtPndpZHRoKCkpOworICAgIExlbmd0aCBo
ZWlnaHQoc3R5bGUtPmhlaWdodCgpKTsKKyAgICBpZiAoKHdpZHRoLmlzRml4ZWQoKSAmJiB3aWR0
aC52YWx1ZSgpIDw9IDApIHx8IChoZWlnaHQuaXNGaXhlZCgpICYmIGhlaWdodC52YWx1ZSgpIDw9
IDApKQorICAgICAgICByZXR1cm4gSElEREVOOworCisgICAgTGVuZ3RoIHRvcChzdHlsZS0+dG9w
KCkpOworICAgIExlbmd0aCBsZWZ0KHN0eWxlLT5sZWZ0KCkpOworICAgIGlmIChsZWZ0LmlzRml4
ZWQoKSAmJiB3aWR0aC5pc0ZpeGVkKCkgJiYgLWxlZnQudmFsdWUoKSA+PSB3aWR0aC52YWx1ZSgp
KQorICAgICAgICByZXR1cm4gSElEREVOOworCisgICAgaWYgKHRvcC5pc0ZpeGVkKCkgJiYgaGVp
Z2h0LmlzRml4ZWQoKSAmJiAtdG9wLnZhbHVlKCkgPj0gaGVpZ2h0LnZhbHVlKCkpCisgICAgICAg
IHJldHVybiBISURERU47CisgICAgcmV0dXJuIFZJU0lCTEU7Cit9CisKK2NsYXNzIENoZWNrRm9y
VmlzaWJpbGl0eUNoYW5nZU9uUmVjYWxjU3R5bGUgeworcHVibGljOgorICAgIENoZWNrRm9yVmlz
aWJpbGl0eUNoYW5nZU9uUmVjYWxjU3R5bGUoRWxlbWVudCogZWxlbWVudCwgUmVuZGVyU3R5bGUq
IGN1cnJlbnRTdHlsZSkKKyAgICAgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKKyAgICAgICAgLCBt
X3ByZXZpb3VzRGlzcGxheShjdXJyZW50U3R5bGUgPyBjdXJyZW50U3R5bGUtPmRpc3BsYXkoKSA6
IE5PTkUpCisgICAgICAgICwgbV9wcmV2aW91c1Zpc2liaWxpdHkoY3VycmVudFN0eWxlID8gY3Vy
cmVudFN0eWxlLT52aXNpYmlsaXR5KCkgOiBISURERU4pCisgICAgICAgICwgbV9wcmV2aW91c0lt
cGxpY2l0VmlzaWJpbGl0eShXS09ic2VydmluZ0NvbnRlbnRDaGFuZ2VzKCkgJiYgV0tDb250ZW50
Q2hhbmdlKCkgIT0gV0tDb250ZW50VmlzaWJpbGl0eUNoYW5nZSA/IGVsZW1lbnRJbXBsaWNpdFZp
c2liaWxpdHkoZWxlbWVudCkgOiBWSVNJQkxFKQorICAgIHsKKyAgICB9CisgICAgfkNoZWNrRm9y
VmlzaWJpbGl0eUNoYW5nZU9uUmVjYWxjU3R5bGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFXS09i
c2VydmluZ0NvbnRlbnRDaGFuZ2VzKCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIFJl
bmRlclN0eWxlKiBzdHlsZSA9IG1fZWxlbWVudC0+cmVuZGVyU3R5bGUoKTsKKyAgICAgICAgaWYg
KCFzdHlsZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKChtX3ByZXZpb3VzRGlz
cGxheSA9PSBOT05FICYmIHN0eWxlLT5kaXNwbGF5KCkgIT0gTk9ORSkgfHwgKG1fcHJldmlvdXNW
aXNpYmlsaXR5ID09IEhJRERFTiAmJiBzdHlsZS0+dmlzaWJpbGl0eSgpICE9IEhJRERFTikKKyAg
ICAgICAgICAgIHx8IChtX3ByZXZpb3VzSW1wbGljaXRWaXNpYmlsaXR5ID09IEhJRERFTiAmJiBl
bGVtZW50SW1wbGljaXRWaXNpYmlsaXR5KG1fZWxlbWVudC5nZXQoKSkgPT0gVklTSUJMRSkpCisg
ICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShXS0NvbnRlbnRWaXNpYmlsaXR5
Q2hhbmdlKTsKKyAgICB9Citwcml2YXRlOgorICAgIFJlZlB0cjxFbGVtZW50PiBtX2VsZW1lbnQ7
CisgICAgRURpc3BsYXkgbV9wcmV2aW91c0Rpc3BsYXk7CisgICAgRVZpc2liaWxpdHkgbV9wcmV2
aW91c1Zpc2liaWxpdHk7CisgICAgRVZpc2liaWxpdHkgbV9wcmV2aW91c0ltcGxpY2l0VmlzaWJp
bGl0eTsKK307CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorCiB2b2lkIHJlc29sdmVUcmVlKEVs
ZW1lbnQqIGN1cnJlbnQsIENoYW5nZSBjaGFuZ2UpCiB7CiAgICAgQVNTRVJUKGNoYW5nZSAhPSBE
ZXRhY2gpOwpAQCAtNDExLDYgKzQ3MCwxMCBAQCB2b2lkIHJlc29sdmVUcmVlKEVsZW1lbnQqIGN1
cnJlbnQsIENoYW5nZSBjaGFuZ2UpCiAgICAgYm9vbCBoYXNEaXJlY3RBZGphY2VudFJ1bGVzID0g
Y3VycmVudC0+Y2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNlbnRSdWxlcygpOwogICAgIGJv
b2wgaGFzSW5kaXJlY3RBZGphY2VudFJ1bGVzID0gY3VycmVudC0+Y2hpbGRyZW5BZmZlY3RlZEJ5
Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcygpOwogCisjaWYgUExBVEZPUk0oSU9TKQorICAgIENoZWNr
Rm9yVmlzaWJpbGl0eUNoYW5nZU9uUmVjYWxjU3R5bGUgY2hlY2tGb3JWaXNpYmlsaXR5Q2hhbmdl
KGN1cnJlbnQsIGN1cnJlbnQtPnJlbmRlclN0eWxlKCkpOworI2VuZGlmCisKICAgICBpZiAoY2hh
bmdlID4gTm9DaGFuZ2UgfHwgY3VycmVudC0+bmVlZHNTdHlsZVJlY2FsYygpKQogICAgICAgICBj
dXJyZW50LT5yZXNldENvbXB1dGVkU3R5bGUoKTsKIApAQCAtNDcxLDYgKzUzNCwxNSBAQCB2b2lk
IHJlc29sdmVUcmVlKERvY3VtZW50KiBkb2N1bWVudCwgQ2hhbmdlIGNoYW5nZSkKICAgICBpZiAo
cmVzb2x2ZVJvb3RTdHlsZSkgewogICAgICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IGRvY3VtZW50
U3R5bGUgPSByZXNvbHZlRm9yRG9jdW1lbnQoZG9jdW1lbnQpOwogCisjaWYgUExBVEZPUk0oSU9T
KQorICAgICAgICAvLyBJbnNlcnRpbmcgdGhlIHBpY3RvZ3JhcGggZm9udCBhdCB0aGUgZW5kIG9m
IHRoZSBmb250IGZhbGxiYWNrIGxpc3QgaXMgZG9uZSBieSB0aGUKKyAgICAgICAgLy8gZm9udCBz
ZWxlY3Rvciwgc28gc2V0IGEgZm9udCBzZWxlY3RvciBpZiBuZWVkZWQuCisgICAgICAgIGlmIChT
ZXR0aW5ncyogc2V0dGluZ3MgPSBkb2N1bWVudC0+c2V0dGluZ3MoKSkgeworICAgICAgICAgICAg
aWYgKHNldHRpbmdzLT5mb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMoKSAmJiBkb2N1bWVu
dC0+c3R5bGVSZXNvbHZlcklmRXhpc3RzKCkpCisgICAgICAgICAgICAgICAgZG9jdW1lbnRTdHls
ZS0+Zm9udCgpLnVwZGF0ZShkb2N1bWVudC0+c3R5bGVSZXNvbHZlcklmRXhpc3RzKCktPmZvbnRT
ZWxlY3RvcigpKTsKKyAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgU3R5bGU6OkNoYW5nZSBk
b2N1bWVudENoYW5nZSA9IGRldGVybWluZUNoYW5nZShkb2N1bWVudFN0eWxlLmdldCgpLCBkb2N1
bWVudC0+cmVuZGVyZXIoKS0+c3R5bGUoKSwgZG9jdW1lbnQtPnNldHRpbmdzKCkpOwogICAgICAg
ICBpZiAoZG9jdW1lbnRDaGFuZ2UgIT0gTm9DaGFuZ2UpCiAgICAgICAgICAgICBkb2N1bWVudC0+
cmVuZGVyZXIoKS0+c2V0U3R5bGUoZG9jdW1lbnRTdHlsZS5yZWxlYXNlKCkpOwo=
</data>
<flag name="review"
          id="231400"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>