<?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>144351</bug_id>
          
          <creation_ts>2015-04-28 13:11:38 -0700</creation_ts>
          <short_desc>Checkboxes on bugs.webkit.org are painted with stripes at some zoom levels.</short_desc>
          <delta_ts>2015-05-01 12:26:43 -0700</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1089702</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-04-28 13:11:38 -0700</bug_when>
    <thetext>1. Load a bugs.webkit.org with checkboxes.
2. Zoom in and out until the checkboxes appear striped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089703</commentid>
    <comment_count>1</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-04-28 13:12:01 -0700</bug_when>
    <thetext>rdar://problem/19726362</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089712</commentid>
    <comment_count>2</comment_count>
      <attachid>251883</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-04-28 13:28:21 -0700</bug_when>
    <thetext>Created attachment 251883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089713</commentid>
    <comment_count>3</comment_count>
      <attachid>251883</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-28 13:31:35 -0700</bug_when>
    <thetext>Comment on attachment 251883
Patch

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

&gt; LayoutTests/fast/forms/checkbox-painting-with-hr.html:8
&gt; +	    margin-top: -10px;
&gt; +		border: 1px dashed white;

Whitespace!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089716</commentid>
    <comment_count>4</comment_count>
      <attachid>251884</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-04-28 13:38:29 -0700</bug_when>
    <thetext>Created attachment 251884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089727</commentid>
    <comment_count>5</comment_count>
      <attachid>251884</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-04-28 13:48:00 -0700</bug_when>
    <thetext>Comment on attachment 251884
Patch

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

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:300
&gt; +        CGContextSaveGState(context);

Can&apos;t we have a smart CG SaverRestorer class instead? So we do not have we worry about restoring the CG before every return statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089731</commentid>
    <comment_count>6</comment_count>
      <attachid>251884</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-04-28 13:58:34 -0700</bug_when>
    <thetext>Comment on attachment 251884
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:300
&gt;&gt; +        CGContextSaveGState(context);
&gt; 
&gt; Can&apos;t we have a smart CG SaverRestorer class instead? So we do not have we worry about restoring the CG before every return statement.

Yes, it&apos;d be great to have one, but since GraphicsContextCG is pretty static, the risk of missing a restore is extremely low.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089754</commentid>
    <comment_count>7</comment_count>
      <attachid>251884</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-28 15:22:39 -0700</bug_when>
    <thetext>Comment on attachment 251884
Patch

Clearing flags on attachment: 251884

Committed r183511: &lt;http://trac.webkit.org/changeset/183511&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089755</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-28 15:22:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090853</commentid>
    <comment_count>9</comment_count>
      <attachid>251884</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-05-01 12:26:43 -0700</bug_when>
    <thetext>Comment on attachment 251884
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:300
&gt;&gt;&gt; +        CGContextSaveGState(context);
&gt;&gt; 
&gt;&gt; Can&apos;t we have a smart CG SaverRestorer class instead? So we do not have we worry about restoring the CG before every return statement.
&gt; 
&gt; Yes, it&apos;d be great to have one, but since GraphicsContextCG is pretty static, the risk of missing a restore is extremely low.

Actually we do have one. I just found it. Its name is GraphicsContextStateSaver. So the above code can be something like this:

GraphicsContextStateSaver saver(*this, false);
if (drawsDashedLine) {
    saver.save();

And there is no need for the other restoring code. The disadvantage of using it here might be it is not platform specific. So it does more than just calling CGContextSaveGState()/CGContextRestoreGState().</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251883</attachid>
            <date>2015-04-28 13:28:21 -0700</date>
            <delta_ts>2015-04-28 13:38:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144351-20150428132713.patch</filename>
            <type>text/plain</type>
            <size>5576</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU4OGY2Nzg2YzJkZmY5
Nzc5ZTQ5Nzg1OTlkNTY4ZWUwYjNmMzcxZC4uZmM5NWEyMjc0ZDM0OWEyZTQ2ZGNiNjk4OGFjMTMx
ZTdlZjQxNzg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA0LTI4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlY2tib3hlcyBvbiBidWdz
LndlYmtpdC5vcmcgYXJlIHBhaW50ZWQgd2l0aCBzdHJpcGVzIGF0IHNvbWUgem9vbSBsZXZlbHMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQzNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIGVuc3VyZXMgdGhhdCBDRyBjb250ZXh0IGlzIHByb3Blcmx5IHJlc3RvcmVkIGFmdGVyIHBh
aW50aW5nIGRhc2hlZC9kb3R0ZWQgbGluZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9j
aGVja2JveC1wYWludGluZy13aXRoLWhyLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6ZHJhd0xpbmUpOgorCiAyMDE1LTA0LTI3ICBYYWJpZXIgUm9kcmlndWV6IENhbHZh
ciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxl
dEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJXSBSZWFkYWJsZVN0cmVhbSBj
b25zdHJ1Y3RvciBzdGFydCBmdW5jdGlvbiBzaG91bGQgYmUgYWJsZSB0byBjbG9zZSB0aGUgc3Ry
ZWFtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFw
aGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9H
cmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggYmFiMTYzNGQ4MzgyOGQ2YmFlMDg1YTEzMmVlYmIw
Njk0Y2VjZmEyMi4uMDgwZjcyZjQzODYzNWFhOTZkZDNiMWNhMWFiNWE5N2U3YWUzMzIyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBo
aWNzQ29udGV4dENHLmNwcApAQCAtMjk0LDExICsyOTQsMTIgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50MSwgY29uc3QgRmxvYXRQb2ludCYg
cG9pbnQKICAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHBsYXRmb3JtQ29udGV4dCgpOwogICAg
IFN0cm9rZVN0eWxlIHN0cm9rZVN0eWxlID0gdGhpcy0+c3Ryb2tlU3R5bGUoKTsKICAgICBmbG9h
dCBjb3JuZXJXaWR0aCA9IDA7CisgICAgYm9vbCBkcmF3c0Rhc2hlZExpbmUgPSBzdHJva2VTdHls
ZSA9PSBEb3R0ZWRTdHJva2UgfHwgc3Ryb2tlU3R5bGUgPT0gRGFzaGVkU3Ryb2tlOwogCi0gICAg
aWYgKHN0cm9rZVN0eWxlID09IERvdHRlZFN0cm9rZSB8fCBzdHJva2VTdHlsZSA9PSBEYXNoZWRT
dHJva2UpIHsKKyAgICBpZiAoZHJhd3NEYXNoZWRMaW5lKSB7CisgICAgICAgIENHQ29udGV4dFNh
dmVHU3RhdGUoY29udGV4dCk7CiAgICAgICAgIC8vIEZpZ3VyZSBvdXQgZW5kIHBvaW50cyB0byBl
bnN1cmUgd2UgYWx3YXlzIHBhaW50IGNvcm5lcnMuCiAgICAgICAgIGNvcm5lcldpZHRoID0gc3Ry
b2tlU3R5bGUgPT0gRG90dGVkU3Ryb2tlID8gdGhpY2tuZXNzIDogc3RkOjptaW4oMiAqIHRoaWNr
bmVzcywgc3RkOjptYXgodGhpY2tuZXNzLCBzdHJva2VXaWR0aCAvIDMpKTsKLSAgICAgICAgQ0dD
b250ZXh0U2F2ZUdTdGF0ZShjb250ZXh0KTsKICAgICAgICAgc2V0Q0dGaWxsQ29sb3IoY29udGV4
dCwgc3Ryb2tlQ29sb3IoKSwgc3Ryb2tlQ29sb3JTcGFjZSgpKTsKICAgICAgICAgaWYgKGlzVmVy
dGljYWxMaW5lKSB7CiAgICAgICAgICAgICBDR0NvbnRleHRGaWxsUmVjdChjb250ZXh0LCBGbG9h
dFJlY3QocG9pbnQxLngoKSwgcG9pbnQxLnkoKSwgdGhpY2tuZXNzLCBjb3JuZXJXaWR0aCkpOwpA
QCAtMzA3LDEyICszMDgsMTMgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lKGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50MSwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQKICAgICAgICAgICAg
IENHQ29udGV4dEZpbGxSZWN0KGNvbnRleHQsIEZsb2F0UmVjdChwb2ludDEueCgpLCBwb2ludDEu
eSgpLCBjb3JuZXJXaWR0aCwgdGhpY2tuZXNzKSk7CiAgICAgICAgICAgICBDR0NvbnRleHRGaWxs
UmVjdChjb250ZXh0LCBGbG9hdFJlY3QocG9pbnQyLngoKSAtIGNvcm5lcldpZHRoLCBwb2ludDEu
eSgpLCBjb3JuZXJXaWR0aCwgdGhpY2tuZXNzKSk7CiAgICAgICAgIH0KLSAgICAgICAgQ0dDb250
ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKICAgICAgICAgc3Ryb2tlV2lkdGggLT0gMiAqIGNv
cm5lcldpZHRoOwogICAgICAgICBmbG9hdCBwYXR0ZXJuV2lkdGggPSBzdHJva2VTdHlsZSA9PSBE
b3R0ZWRTdHJva2UgPyB0aGlja25lc3MgOiBzdGQ6Om1pbigzICogdGhpY2tuZXNzLCBzdGQ6Om1h
eCh0aGlja25lc3MsIHN0cm9rZVdpZHRoIC8gMykpOwogICAgICAgICAvLyBDaGVjayBpZiBjb3Ju
ZXIgZHJhd2luZyBzdWZmaWNpZW50bHkgY292ZXJzIHRoZSBsaW5lLgotICAgICAgICBpZiAoc3Ry
b2tlV2lkdGggPD0gcGF0dGVybldpZHRoICsgMSkKKyAgICAgICAgaWYgKHN0cm9rZVdpZHRoIDw9
IHBhdHRlcm5XaWR0aCArIDEpIHsKKyAgICAgICAgICAgIENHQ29udGV4dFJlc3RvcmVHU3RhdGUo
Y29udGV4dCk7CiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAogICAgICAgICAvLyBQ
YXR0ZXJuIHN0YXJ0cyB3aXRoIGZ1bGwgZmlsbCBhbmQgZW5kcyB3aXRoIHRoZSBlbXB0eSBmaWxs
LgogICAgICAgICAvLyAxLiBMZXQncyBzdGFydCB3aXRoIHRoZSBlbXB0eSBwaGFzZSBhZnRlciB0
aGUgY29ybmVyLgpAQCAtMzYwLDYgKzM2Miw4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3
TGluZShjb25zdCBGbG9hdFBvaW50JiBwb2ludDEsIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50CiAg
ICAgQ0dDb250ZXh0TW92ZVRvUG9pbnQoY29udGV4dCwgcDEueCgpLCBwMS55KCkpOwogICAgIENH
Q29udGV4dEFkZExpbmVUb1BvaW50KGNvbnRleHQsIHAyLngoKSwgcDIueSgpKTsKICAgICBDR0Nv
bnRleHRTdHJva2VQYXRoKGNvbnRleHQpOworICAgIGlmIChkcmF3c0Rhc2hlZExpbmUpCisgICAg
ICAgIENHQ29udGV4dFJlc3RvcmVHU3RhdGUoY29udGV4dCk7CiAgICAgaWYgKHNob3VsZEFudGlh
bGlhcygpKQogICAgICAgICBDR0NvbnRleHRTZXRTaG91bGRBbnRpYWxpYXMoY29udGV4dCwgdHJ1
ZSk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggN2M2NzlkNzBiZjhhYjI3MjMyYzVlNWQ3MzJjZjFiZjRhMzgxM2U4MC4u
OTkzY2IzY2NjMWI2MTAwMzFmZTRiY2RiMmNmMjBiZDk5OWZjZjVkOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE1LTA0LTI4ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgQ2hlY2tib3hlcyBvbiBidWdzLndlYmtpdC5vcmcgYXJlIHBhaW50ZWQgd2l0aCBzdHJp
cGVzIGF0IHNvbWUgem9vbSBsZXZlbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDQzNTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGVuc3VyZXMgdGhhdCBDRyBjb250ZXh0IGlzIHBy
b3Blcmx5IHJlc3RvcmVkIGFmdGVyIHBhaW50aW5nIGRhc2hlZC9kb3R0ZWQgbGluZXMuCisKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2NoZWNrYm94LXBhaW50aW5nLXdpdGgtaHItZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9jaGVja2JveC1wYWludGluZy13aXRoLWhy
Lmh0bWw6IEFkZGVkLgorCiAyMDE1LTA0LTI3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxl
dEBjcmYuY2Fub24uZnI+IGFuZCBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGln
YWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvY2hlY2tib3gtcGFpbnRpbmctd2l0aC1oci1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGVja2JveC1wYWludGluZy13aXRoLWhyLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjFlOGZjYWNkYjRkODA5NjVhOTUzZWYxNzMwNTk2YzRiMGEyMmJhMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hlY2tib3gtcGFpbnRp
bmctd2l0aC1oci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhhdCBjaGVja2JveGVzIGFyZSBw
YWludGVkIHByb3Blcmx5IHdoZW4gZGFzaGVkL2RvdHRlZCBob3Jpem9udGFsIHJ1bGUgaXMgcHJl
c2VudC48L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+CisJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBj
aGVja2VkPSJjaGVja2VkIj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvY2hlY2tib3gtcGFpbnRpbmctd2l0aC1oci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9jaGVja2JveC1wYWludGluZy13aXRoLWhyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjdmZDlhZWY4OThhYWZjZjJkZTBjNzhlNDc2NTkwOTI1MGJmYjE4ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hlY2tib3gtcGFpbnRpbmctd2l0aC1oci5odG1s
CkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5UaGlzIHRlc3RzIHRoYXQgY2hlY2tib3hlcyBhcmUgcGFpbnRlZCBwcm9wZXJseSB3aGVuIGRh
c2hlZC9kb3R0ZWQgaG9yaXpvbnRhbCBydWxlIGlzIHByZXNlbnQuPC90aXRsZT4KKzxzdHlsZT4K
KwlociB7CisJICAgIG1hcmdpbi10b3A6IC0xMHB4OworCQlib3JkZXI6IDFweCBkYXNoZWQgd2hp
dGU7CisJfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCTxocj4KKwk8aW5wdXQgdHlwZT0i
Y2hlY2tib3giIGNoZWNrZWQ9ImNoZWNrZWQiPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251884</attachid>
            <date>2015-04-28 13:38:29 -0700</date>
            <delta_ts>2015-04-28 15:22:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144351-20150428133720.patch</filename>
            <type>text/plain</type>
            <size>5581</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU4OGY2Nzg2YzJkZmY5
Nzc5ZTQ5Nzg1OTlkNTY4ZWUwYjNmMzcxZC4uNGY3OWM3NDJhN2QyMGFlMzU2NzM0OTA5YzY5NGJj
MmYxMWVkMGIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA0LTI4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlY2tib3hlcyBvbiBidWdz
LndlYmtpdC5vcmcgYXJlIHBhaW50ZWQgd2l0aCBzdHJpcGVzIGF0IHNvbWUgem9vbSBsZXZlbHMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQzNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBlbnN1cmVzIHRoYXQgQ0cgY29udGV4dCBpcyBwcm9wZXJseSByZXN0b3JlZCBhZnRlciBwYWlu
dGluZyBkYXNoZWQvZG90dGVkIGxpbmVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvY2hl
Y2tib3gtcGFpbnRpbmctd2l0aC1oci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQ6OmRyYXdMaW5lKToKKwogMjAxNS0wNC0yNyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIg
IDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRA
Y3JmLmNhbm9uLmZyPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gUmVhZGFibGVTdHJlYW0gY29u
c3RydWN0b3Igc3RhcnQgZnVuY3Rpb24gc2hvdWxkIGJlIGFibGUgdG8gY2xvc2UgdGhlIHN0cmVh
bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IGJhYjE2MzRkODM4MjhkNmJhZTA4NWExMzJlZWJiMDY5
NGNlY2ZhMjIuLjA4MGY3MmY0Mzg2MzVhYTk2ZGQzYjFjYTFhYjVhOTdlN2FlMzMyMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGlj
c0NvbnRleHRDRy5jcHAKQEAgLTI5NCwxMSArMjk0LDEyIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZShjb25zdCBGbG9hdFBvaW50JiBwb2ludDEsIGNvbnN0IEZsb2F0UG9pbnQmIHBv
aW50CiAgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBwbGF0Zm9ybUNvbnRleHQoKTsKICAgICBT
dHJva2VTdHlsZSBzdHJva2VTdHlsZSA9IHRoaXMtPnN0cm9rZVN0eWxlKCk7CiAgICAgZmxvYXQg
Y29ybmVyV2lkdGggPSAwOworICAgIGJvb2wgZHJhd3NEYXNoZWRMaW5lID0gc3Ryb2tlU3R5bGUg
PT0gRG90dGVkU3Ryb2tlIHx8IHN0cm9rZVN0eWxlID09IERhc2hlZFN0cm9rZTsKIAotICAgIGlm
IChzdHJva2VTdHlsZSA9PSBEb3R0ZWRTdHJva2UgfHwgc3Ryb2tlU3R5bGUgPT0gRGFzaGVkU3Ry
b2tlKSB7CisgICAgaWYgKGRyYXdzRGFzaGVkTGluZSkgeworICAgICAgICBDR0NvbnRleHRTYXZl
R1N0YXRlKGNvbnRleHQpOwogICAgICAgICAvLyBGaWd1cmUgb3V0IGVuZCBwb2ludHMgdG8gZW5z
dXJlIHdlIGFsd2F5cyBwYWludCBjb3JuZXJzLgogICAgICAgICBjb3JuZXJXaWR0aCA9IHN0cm9r
ZVN0eWxlID09IERvdHRlZFN0cm9rZSA/IHRoaWNrbmVzcyA6IHN0ZDo6bWluKDIgKiB0aGlja25l
c3MsIHN0ZDo6bWF4KHRoaWNrbmVzcywgc3Ryb2tlV2lkdGggLyAzKSk7Ci0gICAgICAgIENHQ29u
dGV4dFNhdmVHU3RhdGUoY29udGV4dCk7CiAgICAgICAgIHNldENHRmlsbENvbG9yKGNvbnRleHQs
IHN0cm9rZUNvbG9yKCksIHN0cm9rZUNvbG9yU3BhY2UoKSk7CiAgICAgICAgIGlmIChpc1ZlcnRp
Y2FsTGluZSkgewogICAgICAgICAgICAgQ0dDb250ZXh0RmlsbFJlY3QoY29udGV4dCwgRmxvYXRS
ZWN0KHBvaW50MS54KCksIHBvaW50MS55KCksIHRoaWNrbmVzcywgY29ybmVyV2lkdGgpKTsKQEAg
LTMwNywxMiArMzA4LDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZShjb25zdCBG
bG9hdFBvaW50JiBwb2ludDEsIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50CiAgICAgICAgICAgICBD
R0NvbnRleHRGaWxsUmVjdChjb250ZXh0LCBGbG9hdFJlY3QocG9pbnQxLngoKSwgcG9pbnQxLnko
KSwgY29ybmVyV2lkdGgsIHRoaWNrbmVzcykpOwogICAgICAgICAgICAgQ0dDb250ZXh0RmlsbFJl
Y3QoY29udGV4dCwgRmxvYXRSZWN0KHBvaW50Mi54KCkgLSBjb3JuZXJXaWR0aCwgcG9pbnQxLnko
KSwgY29ybmVyV2lkdGgsIHRoaWNrbmVzcykpOwogICAgICAgICB9Ci0gICAgICAgIENHQ29udGV4
dFJlc3RvcmVHU3RhdGUoY29udGV4dCk7CiAgICAgICAgIHN0cm9rZVdpZHRoIC09IDIgKiBjb3Ju
ZXJXaWR0aDsKICAgICAgICAgZmxvYXQgcGF0dGVybldpZHRoID0gc3Ryb2tlU3R5bGUgPT0gRG90
dGVkU3Ryb2tlID8gdGhpY2tuZXNzIDogc3RkOjptaW4oMyAqIHRoaWNrbmVzcywgc3RkOjptYXgo
dGhpY2tuZXNzLCBzdHJva2VXaWR0aCAvIDMpKTsKICAgICAgICAgLy8gQ2hlY2sgaWYgY29ybmVy
IGRyYXdpbmcgc3VmZmljaWVudGx5IGNvdmVycyB0aGUgbGluZS4KLSAgICAgICAgaWYgKHN0cm9r
ZVdpZHRoIDw9IHBhdHRlcm5XaWR0aCArIDEpCisgICAgICAgIGlmIChzdHJva2VXaWR0aCA8PSBw
YXR0ZXJuV2lkdGggKyAxKSB7CisgICAgICAgICAgICBDR0NvbnRleHRSZXN0b3JlR1N0YXRlKGNv
bnRleHQpOwogICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKICAgICAgICAgLy8gUGF0
dGVybiBzdGFydHMgd2l0aCBmdWxsIGZpbGwgYW5kIGVuZHMgd2l0aCB0aGUgZW1wdHkgZmlsbC4K
ICAgICAgICAgLy8gMS4gTGV0J3Mgc3RhcnQgd2l0aCB0aGUgZW1wdHkgcGhhc2UgYWZ0ZXIgdGhl
IGNvcm5lci4KQEAgLTM2MCw2ICszNjIsOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xp
bmUoY29uc3QgRmxvYXRQb2ludCYgcG9pbnQxLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludAogICAg
IENHQ29udGV4dE1vdmVUb1BvaW50KGNvbnRleHQsIHAxLngoKSwgcDEueSgpKTsKICAgICBDR0Nv
bnRleHRBZGRMaW5lVG9Qb2ludChjb250ZXh0LCBwMi54KCksIHAyLnkoKSk7CiAgICAgQ0dDb250
ZXh0U3Ryb2tlUGF0aChjb250ZXh0KTsKKyAgICBpZiAoZHJhd3NEYXNoZWRMaW5lKQorICAgICAg
ICBDR0NvbnRleHRSZXN0b3JlR1N0YXRlKGNvbnRleHQpOwogICAgIGlmIChzaG91bGRBbnRpYWxp
YXMoKSkKICAgICAgICAgQ0dDb250ZXh0U2V0U2hvdWxkQW50aWFsaWFzKGNvbnRleHQsIHRydWUp
OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDdjNjc5ZDcwYmY4YWIyNzIzMmM1ZTVkNzMyY2YxYmY0YTM4MTNlODAuLmEx
Zjc2MDkxNWQ5MzFjM2JmOWUyY2IzZjJmMTU0OWUyMWYyNTg5ODUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxNS0wNC0yOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIENoZWNrYm94ZXMgb24gYnVncy53ZWJraXQub3JnIGFyZSBwYWludGVkIHdpdGggc3RyaXBl
cyBhdCBzb21lIHpvb20gbGV2ZWxzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ0MzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2Vy
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0IENHIGNvbnRleHQgaXMgcHJvcGVy
bHkgcmVzdG9yZWQgYWZ0ZXIgcGFpbnRpbmcgZGFzaGVkL2RvdHRlZCBsaW5lcy4KKworICAgICAg
ICAqIGZhc3QvZm9ybXMvY2hlY2tib3gtcGFpbnRpbmctd2l0aC1oci1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2NoZWNrYm94LXBhaW50aW5nLXdpdGgtaHIuaHRt
bDogQWRkZWQuCisKIDIwMTUtMDQtMjcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNy
Zi5jYW5vbi5mcj4gYW5kIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9jaGVja2JveC1wYWludGluZy13aXRoLWhyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2NoZWNrYm94LXBhaW50aW5nLXdpdGgtaHItZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMWU4ZmNhY2RiNGQ4MDk2NWE5NTNlZjE3MzA1OTZjNGIwYTIyYmExCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGVja2JveC1wYWludGluZy13
aXRoLWhyLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0cyB0aGF0IGNoZWNrYm94ZXMgYXJlIHBhaW50
ZWQgcHJvcGVybHkgd2hlbiBkYXNoZWQvZG90dGVkIGhvcml6b250YWwgcnVsZSBpcyBwcmVzZW50
LjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKwk8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNoZWNr
ZWQ9ImNoZWNrZWQiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9jaGVja2JveC1wYWludGluZy13aXRoLWhyLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2NoZWNrYm94LXBhaW50aW5nLXdpdGgtaHIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Zk
YzMzMThiZDUwNDRkZjhiOTc3NDFiN2RhZGFiNDVmNWIzY2YzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGVja2JveC1wYWludGluZy13aXRoLWhyLmh0bWwKQEAg
LTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRo
aXMgdGVzdHMgdGhhdCBjaGVja2JveGVzIGFyZSBwYWludGVkIHByb3Blcmx5IHdoZW4gZGFzaGVk
L2RvdHRlZCBob3Jpem9udGFsIHJ1bGUgaXMgcHJlc2VudC48L3RpdGxlPgorPHN0eWxlPgorCWhy
IHsKKyAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IGRhc2hl
ZCB3aGl0ZTsKKwl9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisJPGhyPgorCTxpbnB1dCB0
eXBlPSJjaGVja2JveCIgY2hlY2tlZD0iY2hlY2tlZCI+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>