<?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>136575</bug_id>
          
          <creation_ts>2014-09-05 07:12:17 -0700</creation_ts>
          <short_desc>[CSS Grid Layout] Do not grow tracks when the growth factor is 0</short_desc>
          <delta_ts>2014-10-15 04:44:55 -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>New Bugs</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>60731</blocked>
    
    <blocked>136940</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rego</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1033453</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-05 07:12:17 -0700</bug_when>
    <thetext>[CSS Grid Layout] Do not grow tracks when the growth factor is 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033457</commentid>
    <comment_count>1</comment_count>
      <attachid>237690</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-05 07:31:22 -0700</bug_when>
    <thetext>Created attachment 237690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034852</commentid>
    <comment_count>2</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-12 06:44:41 -0700</bug_when>
    <thetext>Ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034854</commentid>
    <comment_count>3</comment_count>
      <attachid>237690</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-12 07:24:11 -0700</bug_when>
    <thetext>Comment on attachment 237690
Patch

If this really makes such a significant difference, there are a lot of other things you should consider to make this code faster. The most obvious one would be to consider if &quot;track.m_maxBreadth - trackBreadth&quot; is usually 0 and if so, skip the availableLogicalSpaceShare computation entirely.

It seems bizarre that this would be so hot that adding the branch just to avoid some addition and subtraction operations would make a measurable difference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035188</commentid>
    <comment_count>4</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-15 02:28:54 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 237690 [details])
&gt; If this really makes such a significant difference, there are a lot of other things you should consider to make this code faster. The most obvious one would be to consider if &quot;track.m_maxBreadth - trackBreadth&quot; is usually 0 and if so, skip the availableLogicalSpaceShare computation entirely.
&gt; 
&gt; It seems bizarre that this would be so hot that adding the branch just to avoid some addition and subtraction operations would make a measurable difference.

That shocked me too, there seem no be no clear reason why the difference is so significant, but it was there when I tried the patch. I gave it another run today, and it seems that the difference is no longer there, I&apos;m not getting significant improvements (+0.6% at the most) anymore so I think I&apos;m abandoning this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035201</commentid>
    <comment_count>5</comment_count>
      <attachid>238111</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-15 03:11:38 -0700</bug_when>
    <thetext>Created attachment 238111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035229</commentid>
    <comment_count>6</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-15 05:28:25 -0700</bug_when>
    <thetext>So in the end I gave it another shot and decided to implement the improvement you suggested. That resulted in a ~4% gain which was great, but then I realized that we could avoid a lot of useless work when there is no extra space to distribute. So I got a compact patch that gives us 16% of improvement (even 22% in some machines) in the auto-grid-lots-of-data.html perf test case. Obviously for real world use cases the improvement wouldn&apos;t likely be that huge but it&apos;s a good step forward IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035254</commentid>
    <comment_count>7</comment_count>
      <attachid>238111</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-15 08:11:22 -0700</bug_when>
    <thetext>Comment on attachment 238111
Patch

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

&gt; Source/WebCore/rendering/RenderGrid.cpp:605
&gt; +            LayoutUnit growthShare = std::min(availableLogicalSpaceShare, track.m_maxBreadth - trackBreadth);

This should be obviously std::min(availableLogicalSpaceShare, trackGrowthPotential), will fix it before landing if r+&apos;ed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035397</commentid>
    <comment_count>8</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-16 01:10:32 -0700</bug_when>
    <thetext>Darin could you review the patch again please? It&apos;s finally quite different to the original one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036539</commentid>
    <comment_count>9</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-22 08:49:35 -0700</bug_when>
    <thetext>Gentle reminder...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036676</commentid>
    <comment_count>10</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-23 01:37:24 -0700</bug_when>
    <thetext>Committed r173868: &lt;http://trac.webkit.org/changeset/173868&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237690</attachid>
            <date>2014-09-05 07:31:22 -0700</date>
            <delta_ts>2014-09-15 03:11:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136575-20140905163116.patch</filename>
            <type>text/plain</type>
            <size>2493</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg2OTNjMmYzMTRjYjhl
NmI3NGQ3ZDQ4NWU2ZWZlMDg1MGU1YmQzZi4uYzM3OWEyMDU2MjI4NWYyNDdjOWQyOGY0MTAyYmYx
NzZiODA2NmY4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTA5LTA1ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIERvIG5vdCBncm93IHRyYWNrcyB3aGVuIHRoZSBncm93dGggZmFjdG9yIGlzIDAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjU3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZyb20gQmxp
bmsgcjE2NDY4NSBieSA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVuZGVyR3JpZDo6
ZGlzdHJpYnV0ZVNwYWNlVG9UcmFja3MoKSBpcyBieSBmYXIgdGhlIGhvdHRlc3QgbWV0aG9kCisg
ICAgICAgIGluIHRoZSBhdXRvLWdyaWQtbG90cy1vZi1kYXRhLmh0bWwgcGVyZm9ybWFuY2UgdGVz
dC4gQnkgcmVkdWNpbmcKKyAgICAgICAgdXNlbGVzcyAiZ3Jvd2luZyIgb2YgZ3JpZCB0cmFja3Mg
d2hlbiB0aGUgZ3Jvd3RoIGZhY3RvciBpcyB6ZXJvIHdlCisgICAgICAgIGNhbiBpbXByb3ZlIHRo
ZSB0ZXN0IHRpbWUgYnkgfjMuNSUgKDIyNSBydW5zL3MgLT4gMjMzIHJ1bnMvcykuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIGFzIHRoZXJlIGlzIG5vIGNoYW5nZSBpbiB0aGUgZnVuY3Rpb25hbGl0
eS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckdyaWQ6OmRpc3RyaWJ1dGVTcGFjZVRvVHJhY2tzKToKKwogMjAxNC0wOS0wNCAg
R3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIGJ1aWxkIGZpeCBmb3IgRUZMIGFuZCBHVEsgcG9ydHMgc2luY2UgcjE3MzI3Mi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCA5NTdmZWVjNTZkN2YxZDc5
ZmVlNGM4MGYyMWRmMDkxZDE3NmVkNzQyLi4zMzYxYjIzZDE0NmNkZTRhNzdlZmZkZTkwNmRhZDgw
NDRhOGM5NjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC01
OTUsMTAgKzU5NSwxMyBAQCB2b2lkIFJlbmRlckdyaWQ6OmRpc3RyaWJ1dGVTcGFjZVRvVHJhY2tz
KFZlY3RvcjxHcmlkVHJhY2sqPiYgdHJhY2tzLCBWZWN0b3I8R3JpZAogICAgICAgICBHcmlkVHJh
Y2smIHRyYWNrID0gKnRyYWNrc1tpXTsKICAgICAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dp
Y2FsU3BhY2VTaGFyZSA9IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSAvICh0cmFja3NTaXplIC0gaSk7
CiAgICAgICAgIExheW91dFVuaXQgdHJhY2tCcmVhZHRoID0gKHRyYWNrc1tpXS0+KnRyYWNrR2V0
dGVyKSgpOwotICAgICAgICBMYXlvdXRVbml0IGdyb3d0aFNoYXJlID0gc3RkOjptYXgoTGF5b3V0
VW5pdCgpLCBzdGQ6Om1pbihhdmFpbGFibGVMb2dpY2FsU3BhY2VTaGFyZSwgdHJhY2subV9tYXhC
cmVhZHRoIC0gdHJhY2tCcmVhZHRoKSk7CisgICAgICAgIExheW91dFVuaXQgZ3Jvd3RoU2hhcmUg
PSBzdGQ6Om1pbihhdmFpbGFibGVMb2dpY2FsU3BhY2VTaGFyZSwgdHJhY2subV9tYXhCcmVhZHRo
IC0gdHJhY2tCcmVhZHRoKTsKKyAgICAgICAgc2l6aW5nRGF0YS5kaXN0cmlidXRlVHJhY2tWZWN0
b3JbaV0gPSB0cmFja0JyZWFkdGg7CiAgICAgICAgIC8vIFdlIHNob3VsZCBuZXZlciBzaHJpbmsg
YW55IGdyaWQgdHJhY2sgb3IgZWxzZSB3ZSBjYW4ndCBndWFyYW50ZWUgd2UgYWJpZGUgYnkgb3Vy
IG1pbi1zaXppbmcgZnVuY3Rpb24uCi0gICAgICAgIHNpemluZ0RhdGEuZGlzdHJpYnV0ZVRyYWNr
VmVjdG9yW2ldID0gdHJhY2tCcmVhZHRoICsgZ3Jvd3RoU2hhcmU7Ci0gICAgICAgIGF2YWlsYWJs
ZUxvZ2ljYWxTcGFjZSAtPSBncm93dGhTaGFyZTsKKyAgICAgICAgaWYgKGdyb3d0aFNoYXJlID4g
MCkgeworICAgICAgICAgICAgc2l6aW5nRGF0YS5kaXN0cmlidXRlVHJhY2tWZWN0b3JbaV0gKz0g
Z3Jvd3RoU2hhcmU7CisgICAgICAgICAgICBhdmFpbGFibGVMb2dpY2FsU3BhY2UgLT0gZ3Jvd3Ro
U2hhcmU7CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoYXZhaWxhYmxlTG9naWNhbFNwYWNl
ID4gMCAmJiB0cmFja3NGb3JHcm93dGhBYm92ZU1heEJyZWFkdGgpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238111</attachid>
            <date>2014-09-15 03:11:38 -0700</date>
            <delta_ts>2014-09-22 15:20:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136575-20140915121134.patch</filename>
            <type>text/plain</type>
            <size>4516</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA4ODhmMTc2MjI5NjU3
ZTEwNjdjZTBhYTlhNjNhNjNiODBmYjY5MS4uNGRmMmI1MzEwY2I1MTExNjJmYWIyYzE0MGFmMzMy
N2Q3YzVhYmFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA5LTE1ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIERvIG5vdCBncm93IHRyYWNrcyB3aGVuIHRoZSBncm93dGggZmFjdG9yIGlzIDAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjU3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgY291cGxl
IG9mIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbnMgZm9yIHRoZSB0cmFjayBzaXppbmcKKyAgICAg
ICAgYWxnb3JpdGhtLiBPbiB0aGUgb25lIGhhbmQgd2UgYXZvaWQgdGhlIGNvbXB1dGF0aW9uIG9m
IHRoZQorICAgICAgICBhdmFpbGFibGUgbG9naWNhbCBzcGFjZSBzaGFyZSBpZiB0aGUgdHJhY2sg
aGFzIG5vIGdyb3d0aCBwb3RlbnRpYWwKKyAgICAgICAgKHRoZSBjdXJyZW50IGJyZWFkdGggaXMg
dGhlIG1heGltdW0gYnJlYWR0aCkgYW5kIG9uIHRoZSBvdGhlcgorICAgICAgICBoYW5kLCB3ZSBh
dm9pZCBjYWxsaW5nIFJlbmRlckdyaWQ6OmRpc3RyaWJ1dGVTcGFjZVRvVHJhY2tzKCkgaWYKKyAg
ICAgICAgdGhlIGF2YWlsYWJsZSBsb2dpY2FsIHNwYWNlIGlzIG5vdCBncmVhdGVyIHRoYW4gMC4K
KworICAgICAgICBUaGUgY29tYmluZWQgZWZmZWN0IG9mIHRoZXNlIHR3byBjaGFuZ2VzIGlzIGFu
IGltcHJlc3NpdmUgKzE2JQorICAgICAgICBpbXByb3ZlbWVudCBpbiBhdXRvLWdyaWQtbG90cy1v
Zi1kYXRhLmh0bWwgcGVyZm9ybWFuY2UgdGVzdC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMg
dGhlcmUgaXMgbm8gY2hhbmdlIGluIHRoZSBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cmVz
b2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9ySXRlbXMpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyR3JpZDo6ZGlzdHJpYnV0ZVNwYWNlVG9UcmFja3MpOgorCiAyMDE0LTA5
LTEyICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtDU1MgR3JpZCBMYXlvdXRdIENyYXNoIGF0IENTU1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGVS
b3dzQW5kQXJlYXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCA0
OTNkMWQwNTMzOGIzZGI4YmMxN2QwODNjYzNmMjIzZGE2YzYxOGQ0Li4xNWI4Zjc1ZmE4Y2NhMjkw
ODNmYzNlMWE5OTFjNmEyYTU4NWVlOWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckdyaWQuY3BwCkBAIC01NzYsNyArNTc2LDEwIEBAIHZvaWQgUmVuZGVyR3JpZDo6cmVzb2x2ZUNv
bnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9ySXRlbXMoR3JpZFRyYWNrU2l6aW5nCiAg
ICAgfQogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwYXNzIGRpZmZlcmVudCB2YWx1ZXMgZm9y
IHx0cmFja3NGb3JHcm93dGhBYm92ZU1heEJyZWFkdGh8LgotICAgIGRpc3RyaWJ1dGVTcGFjZVRv
VHJhY2tzKHNpemluZ0RhdGEuZmlsdGVyZWRUcmFja3MsICZzaXppbmdEYXRhLmZpbHRlcmVkVHJh
Y2tzLCB0cmFja0dldHRlciwgdHJhY2tHcm93dGhGdW5jdGlvbiwgc2l6aW5nRGF0YSwgYWRkaXRp
b25hbEJyZWFkdGhTcGFjZSk7CisgICAgLy8gU3BlY3MgbWFuZGF0ZSB0byBmbG9vciBhZGRpdGlv
bmFsQnJlYWR0aFNwYWNlIChleHRyYS1zcGFjZSBpbiBzcGVjcykgdG8gMC4gSW5zdGVhZCB3ZSBk
aXJlY3RseSBhdm9pZCB0aGUgZnVuY3Rpb24KKyAgICAvLyBjYWxsIGluIHRob3NlIGNhc2VzIGFz
IGl0IHdpbGwgYmUgYSBub29wIGluIHRlcm1zIG9mIHRyYWNrIHNpemluZy4KKyAgICBpZiAoYWRk
aXRpb25hbEJyZWFkdGhTcGFjZSA+IDApCisgICAgICAgIGRpc3RyaWJ1dGVTcGFjZVRvVHJhY2tz
KHNpemluZ0RhdGEuZmlsdGVyZWRUcmFja3MsICZzaXppbmdEYXRhLmZpbHRlcmVkVHJhY2tzLCB0
cmFja0dldHRlciwgdHJhY2tHcm93dGhGdW5jdGlvbiwgc2l6aW5nRGF0YSwgYWRkaXRpb25hbEJy
ZWFkdGhTcGFjZSk7CiB9CiAKIHN0YXRpYyBib29sIHNvcnRCeUdyaWRUcmFja0dyb3d0aFBvdGVu
dGlhbChjb25zdCBHcmlkVHJhY2sqIHRyYWNrMSwgY29uc3QgR3JpZFRyYWNrKiB0cmFjazIpCkBA
IC01ODYsNiArNTg5LDcgQEAgc3RhdGljIGJvb2wgc29ydEJ5R3JpZFRyYWNrR3Jvd3RoUG90ZW50
aWFsKGNvbnN0IEdyaWRUcmFjayogdHJhY2sxLCBjb25zdCBHcmlkVHIKIAogdm9pZCBSZW5kZXJH
cmlkOjpkaXN0cmlidXRlU3BhY2VUb1RyYWNrcyhWZWN0b3I8R3JpZFRyYWNrKj4mIHRyYWNrcywg
VmVjdG9yPEdyaWRUcmFjayo+KiB0cmFja3NGb3JHcm93dGhBYm92ZU1heEJyZWFkdGgsIEFjY3Vt
dWxhdG9yR2V0dGVyIHRyYWNrR2V0dGVyLCBBY2N1bXVsYXRvckdyb3dGdW5jdGlvbiB0cmFja0dy
b3d0aEZ1bmN0aW9uLCBHcmlkU2l6aW5nRGF0YSYgc2l6aW5nRGF0YSwgTGF5b3V0VW5pdCYgYXZh
aWxhYmxlTG9naWNhbFNwYWNlKQogeworICAgIEFTU0VSVChhdmFpbGFibGVMb2dpY2FsU3BhY2Ug
PiAwKTsKICAgICBzdGQ6OnNvcnQodHJhY2tzLmJlZ2luKCksIHRyYWNrcy5lbmQoKSwgc29ydEJ5
R3JpZFRyYWNrR3Jvd3RoUG90ZW50aWFsKTsKIAogICAgIHNpemVfdCB0cmFja3NTaXplID0gdHJh
Y2tzLnNpemUoKTsKQEAgLTU5MywxMiArNTk3LDE2IEBAIHZvaWQgUmVuZGVyR3JpZDo6ZGlzdHJp
YnV0ZVNwYWNlVG9UcmFja3MoVmVjdG9yPEdyaWRUcmFjayo+JiB0cmFja3MsIFZlY3RvcjxHcmlk
CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHRyYWNrc1NpemU7ICsraSkgewogICAgICAg
ICBHcmlkVHJhY2smIHRyYWNrID0gKnRyYWNrc1tpXTsKLSAgICAgICAgTGF5b3V0VW5pdCBhdmFp
bGFibGVMb2dpY2FsU3BhY2VTaGFyZSA9IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSAvICh0cmFja3NT
aXplIC0gaSk7CiAgICAgICAgIExheW91dFVuaXQgdHJhY2tCcmVhZHRoID0gKHRyYWNrc1tpXS0+
KnRyYWNrR2V0dGVyKSgpOwotICAgICAgICBMYXlvdXRVbml0IGdyb3d0aFNoYXJlID0gc3RkOjpt
YXgoTGF5b3V0VW5pdCgpLCBzdGQ6Om1pbihhdmFpbGFibGVMb2dpY2FsU3BhY2VTaGFyZSwgdHJh
Y2subV9tYXhCcmVhZHRoIC0gdHJhY2tCcmVhZHRoKSk7Ci0gICAgICAgIC8vIFdlIHNob3VsZCBu
ZXZlciBzaHJpbmsgYW55IGdyaWQgdHJhY2sgb3IgZWxzZSB3ZSBjYW4ndCBndWFyYW50ZWUgd2Ug
YWJpZGUgYnkgb3VyIG1pbi1zaXppbmcgZnVuY3Rpb24uCi0gICAgICAgIHNpemluZ0RhdGEuZGlz
dHJpYnV0ZVRyYWNrVmVjdG9yW2ldID0gdHJhY2tCcmVhZHRoICsgZ3Jvd3RoU2hhcmU7Ci0gICAg
ICAgIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSAtPSBncm93dGhTaGFyZTsKKyAgICAgICAgTGF5b3V0
VW5pdCB0cmFja0dyb3d0aFBvdGVudGlhbCA9IHRyYWNrLm1fbWF4QnJlYWR0aCAtIHRyYWNrQnJl
YWR0aDsKKyAgICAgICAgc2l6aW5nRGF0YS5kaXN0cmlidXRlVHJhY2tWZWN0b3JbaV0gPSB0cmFj
a0JyZWFkdGg7CisgICAgICAgIGlmICh0cmFja0dyb3d0aFBvdGVudGlhbCA+IDApIHsKKyAgICAg
ICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbFNwYWNlU2hhcmUgPSBhdmFpbGFibGVM
b2dpY2FsU3BhY2UgLyAodHJhY2tzU2l6ZSAtIGkpOworICAgICAgICAgICAgTGF5b3V0VW5pdCBn
cm93dGhTaGFyZSA9IHN0ZDo6bWluKGF2YWlsYWJsZUxvZ2ljYWxTcGFjZVNoYXJlLCB0cmFjay5t
X21heEJyZWFkdGggLSB0cmFja0JyZWFkdGgpOworICAgICAgICAgICAgLy8gV2Ugc2hvdWxkIG5l
dmVyIHNocmluayBhbnkgZ3JpZCB0cmFjayBvciBlbHNlIHdlIGNhbid0IGd1YXJhbnRlZSB3ZSBh
YmlkZSBieSBvdXIgbWluLXNpemluZyBmdW5jdGlvbi4KKyAgICAgICAgICAgIHNpemluZ0RhdGEu
ZGlzdHJpYnV0ZVRyYWNrVmVjdG9yW2ldICs9IGdyb3d0aFNoYXJlOworICAgICAgICAgICAgYXZh
aWxhYmxlTG9naWNhbFNwYWNlIC09IGdyb3d0aFNoYXJlOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgaWYgKGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSA+IDAgJiYgdHJhY2tzRm9yR3Jvd3RoQWJvdmVN
YXhCcmVhZHRoKSB7Cg==
</data>
<flag name="review"
          id="262874"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>