<?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>127135</bug_id>
          
          <creation_ts>2014-01-16 12:39:17 -0800</creation_ts>
          <short_desc>GraphicsContext::drawLineForText in PLATFORM(IOS) saves and restores graphics context state unnecessarily</short_desc>
          <delta_ts>2014-02-11 17:54:14 -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>Layout and Rendering</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>968866</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-01-16 12:39:17 -0800</bug_when>
    <thetext>GraphicsContext::drawLineForText in PLATFORM(IOS) saves and restores graphics context state unnecessarily</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973046</commentid>
    <comment_count>1</comment_count>
      <attachid>222475</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-01-28 13:03:47 -0800</bug_when>
    <thetext>Created attachment 222475
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973126</commentid>
    <comment_count>2</comment_count>
      <attachid>222475</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-01-28 14:58:02 -0800</bug_when>
    <thetext>Comment on attachment 222475
Patch

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

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:1461
&gt; +    if (m_state.shouldUseContextColors)
&gt; +#endif

I hate #ifdeffed control flow.

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:1474
&gt; +        if (fillColorIsNotEqualToStrokeColor)
&gt; +            setCGFillColor(platformContext(), fillColor(), fillColorSpace());

This indentation looks wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979697</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-02-11 17:54:14 -0800</bug_when>
    <thetext>Fixed in http://trac.webkit.org/changeset/163921</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222475</attachid>
            <date>2014-01-28 13:03:47 -0800</date>
            <delta_ts>2014-01-28 14:58:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127135-20140128130346.patch</filename>
            <type>text/plain</type>
            <size>3792</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyODUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAxNjQ3OTQ2MmYxNmVm
Y2VhOGZjMDg0ZTc4MTIyMWE3ZWJiZmRmYi4uMDYyMGZiZDc5Mjk3NDRjN2M3ZDM3NDYyNzk1MDNj
MDQ1OGU0YWM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAxLTI4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3ND
b250ZXh0OjpkcmF3TGluZUZvclRleHQgaW4gUExBVEZPUk0oSU9TKSBzYXZlcyBhbmQgcmVzdG9y
ZXMgZ3JhcGhpY3MgY29udGV4dCBzdGF0ZSB1bm5lY2Vzc2FyaWx5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcxMzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgb25seSBzdGF0ZSB0aGF0IGlzIGNo
YW5nZWQgaXMgdGhlIGZpbGwgY29sb3IsIHdoaWNoIGNhbiBiZQorICAgICAgICByZXN0b3JlZCB3
aXRob3V0IGEgZ2xvYmFsIHNhdmUvcmVzdG9yZQorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcmUg
bmVlZGVkIGJlY2F1c2UgdGhlcmUgc2hvdWxkIGJlIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0KToKKwogMjAxNC0wMS0y
NyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbQ1NTIFNo
YXBlc10gaW5zZXQoKSBmdW5jdGlvbiB3aXRoIG11bHRpcGxlIHNwYWNlcyBvbiBlbGVtZW50IHN0
eWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFw
aGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9H
cmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggZjExZGI2ZTVmYjI5MzE4M2ViZWI2OTJjMTgxNWM4
NDIwYjRlMWJjMS4uMTRhMWE0ZTI4ZDJiM2UwZWIwYzhkMDYxOWJmZjYzMzNjNTMyMTVkNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBo
aWNzQ29udGV4dENHLmNwcApAQCAtMTQ0MSw0MSArMTQ0MSwzNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0
aCwgYm9vbAogICAgIGlmICh3aWR0aCA8PSAwKQogICAgICAgICByZXR1cm47CiAKLSNpZiAhUExB
VEZPUk0oSU9TKQorICAgIENvbG9yIGxvY2FsU3Ryb2tlQ29sb3Ioc3Ryb2tlQ29sb3IoKSk7CisK
ICAgICBib29sIHNob3VsZEFudGlhbGlhc0xpbmU7CisjaWYgIVBMQVRGT1JNKElPUykKICAgICBG
bG9hdFJlY3QgYm91bmRzID0gY29tcHV0ZUxpbmVCb3VuZHNBbmRBbnRpYWxpYXNpbmdNb2RlRm9y
VGV4dCgqdGhpcywgcG9pbnQsIHdpZHRoLCBwcmludGluZywgc2hvdWxkQW50aWFsaWFzTGluZSk7
CisgICAgYm9vbCBmaWxsQ29sb3JJc05vdEVxdWFsVG9TdHJva2VDb2xvciA9IGZpbGxDb2xvcigp
ICE9IGxvY2FsU3Ryb2tlQ29sb3I7CiAKICAgICBib29sIHNhdmVkU2hvdWxkQW50aWFsaWFzID0g
c2hvdWxkQW50aWFsaWFzKCk7CiAgICAgYm9vbCByZXN0b3JlQW50aWFsaWFzTW9kZSA9IHNhdmVk
U2hvdWxkQW50aWFsaWFzICE9IHNob3VsZEFudGlhbGlhc0xpbmU7CiAKICAgICBpZiAocmVzdG9y
ZUFudGlhbGlhc01vZGUpCiAgICAgICAgIENHQ29udGV4dFNldFNob3VsZEFudGlhbGlhcyhwbGF0
Zm9ybUNvbnRleHQoKSwgc2hvdWxkQW50aWFsaWFzTGluZSk7CisjZWxzZQorICAgIEZsb2F0UmVj
dCBib3VuZHMgPSBjb21wdXRlTGluZUJvdW5kc0FuZEFudGlhbGlhc2luZ01vZGVGb3JUZXh0KCp0
aGlzLCBwb2ludCwgd2lkdGgsIHByaW50aW5nLCBzaG91bGRBbnRpYWxpYXNMaW5lLCBsb2NhbFN0
cm9rZUNvbG9yKTsKKyAgICBib29sIGZpbGxDb2xvcklzTm90RXF1YWxUb1N0cm9rZUNvbG9yID0g
ZmlsbENvbG9yKCkgIT0gbG9jYWxTdHJva2VDb2xvcjsKKworICAgIGlmIChtX3N0YXRlLnNob3Vs
ZFVzZUNvbnRleHRDb2xvcnMpCisjZW5kaWYKKyAgICAgICAgaWYgKGZpbGxDb2xvcklzTm90RXF1
YWxUb1N0cm9rZUNvbG9yKQorICAgICAgICAgICAgc2V0Q0dGaWxsQ29sb3IocGxhdGZvcm1Db250
ZXh0KCksIGxvY2FsU3Ryb2tlQ29sb3IsIHN0cm9rZUNvbG9yU3BhY2UoKSk7CiAKLSAgICBib29s
IGZpbGxDb2xvcklzTm90RXF1YWxUb1N0cm9rZUNvbG9yID0gZmlsbENvbG9yKCkgIT0gc3Ryb2tl
Q29sb3IoKTsKLSAgICBpZiAoZmlsbENvbG9ySXNOb3RFcXVhbFRvU3Ryb2tlQ29sb3IpCi0gICAg
ICAgIHNldENHRmlsbENvbG9yKHBsYXRmb3JtQ29udGV4dCgpLCBzdHJva2VDb2xvcigpLCBzdHJv
a2VDb2xvclNwYWNlKCkpOwogICAgIENHQ29udGV4dEZpbGxSZWN0KHBsYXRmb3JtQ29udGV4dCgp
LCBib3VuZHMpOwotICAgIGlmIChmaWxsQ29sb3JJc05vdEVxdWFsVG9TdHJva2VDb2xvcikKLSAg
ICAgICAgc2V0Q0dGaWxsQ29sb3IocGxhdGZvcm1Db250ZXh0KCksIGZpbGxDb2xvcigpLCBmaWxs
Q29sb3JTcGFjZSgpKTsKLSAgICBDR0NvbnRleHRTZXRTaG91bGRBbnRpYWxpYXMocGxhdGZvcm1D
b250ZXh0KCksIHNhdmVkU2hvdWxkQW50aWFsaWFzKTsKIAorI2lmICFQTEFURk9STShJT1MpCiAg
ICAgaWYgKHJlc3RvcmVBbnRpYWxpYXNNb2RlKQotICAgICAgICBDR0NvbnRleHRTZXRTaG91bGRB
bnRpYWxpYXMocGxhdGZvcm1Db250ZXh0KCksIHRydWUpOworICAgICAgICBDR0NvbnRleHRTZXRT
aG91bGRBbnRpYWxpYXMocGxhdGZvcm1Db250ZXh0KCksIHNhdmVkU2hvdWxkQW50aWFsaWFzKTsK
ICNlbHNlCi0gICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBwbGF0Zm9ybUNvbnRleHQoKTsKLSAg
ICBDR0NvbnRleHRTYXZlR1N0YXRlKGNvbnRleHQpOwotCi0gICAgQ29sb3IgY29sb3Ioc3Ryb2tl
Q29sb3IoKSk7Ci0gICAgCi0gICAgYm9vbCBzaG91bGRBbnRpYWxpYXNMaW5lOwotICAgIEZsb2F0
UmVjdCByZWN0ID0gY29tcHV0ZUxpbmVCb3VuZHNBbmRBbnRpYWxpYXNpbmdNb2RlRm9yVGV4dCgq
dGhpcywgcG9pbnQsIHdpZHRoLCBwcmludGluZywgc2hvdWxkQW50aWFsaWFzTGluZSwgY29sb3Ip
OwotCiAgICAgaWYgKG1fc3RhdGUuc2hvdWxkVXNlQ29udGV4dENvbG9ycykKLSAgICAgICAgc2V0
Q0dGaWxsQ29sb3IoY29udGV4dCwgY29sb3IsIHN0cm9rZUNvbG9yU3BhY2UoKSk7Ci0gICAgQ0dD
b250ZXh0RmlsbFJlY3QoY29udGV4dCwgcmVjdCk7Ci0KLSAgICBDR0NvbnRleHRSZXN0b3JlR1N0
YXRlKGNvbnRleHQpOwogI2VuZGlmCisgICAgICAgIGlmIChmaWxsQ29sb3JJc05vdEVxdWFsVG9T
dHJva2VDb2xvcikKKyAgICAgICAgICAgIHNldENHRmlsbENvbG9yKHBsYXRmb3JtQ29udGV4dCgp
LCBmaWxsQ29sb3IoKSwgZmlsbENvbG9yU3BhY2UoKSk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3TGluZXNGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBjb25zdCBEYXNo
QXJyYXkmIHdpZHRocywgYm9vbCBwcmludGluZykK
</data>
<flag name="review"
          id="246467"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>