<?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>218630</bug_id>
          
          <creation_ts>2020-11-05 11:25:45 -0800</creation_ts>
          <short_desc>[css-grid] IndefiniteSizeStrategy::findUsedFlexFraction can iterate the same item multiple times</short_desc>
          <delta_ts>2020-11-06 06:10:23 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.chromium.org/p/chromium/issues/detail?id=1026275</see_also>
          <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="Oriol Brufau">obrufau</reporter>
          <assigned_to name="Oriol Brufau">obrufau</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1704951</commentid>
    <comment_count>0</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-11-05 11:25:45 -0800</bug_when>
    <thetext>IndefiniteSizeStrategy::findUsedFlexFraction needs to iterate all grid items that cross a flexible track. To do so it, takes the indices of the flex tracks, and for each one it uses GridIterator to iterate the items in that track.

Then, to avoid processing the same item multiple times, it checks that the item started in the current flex track, not in a previous one.

However, this is insufficient: it&apos;s not taking into account that an item can be in a single flex track, but span multiple tracks in the other axis.

This can make it very slow. Testcase: https://jsbin.com/hefajukaxo/1/edit?html,css,js,output

Chromium has been fixed in https://crbug.com/1026275</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704957</commentid>
    <comment_count>1</comment_count>
      <attachid>413335</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-11-05 11:36:41 -0800</bug_when>
    <thetext>Created attachment 413335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705185</commentid>
    <comment_count>2</comment_count>
      <attachid>413335</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2020-11-06 03:39:05 -0800</bug_when>
    <thetext>Comment on attachment 413335
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705210</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-06 06:09:52 -0800</bug_when>
    <thetext>Committed r269509: &lt;https://trac.webkit.org/changeset/269509&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413335.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705211</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-06 06:10:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/71117312&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413335</attachid>
            <date>2020-11-05 11:36:41 -0800</date>
            <delta_ts>2020-11-06 06:09:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218630-20201105203639.patch</filename>
            <type>text/plain</type>
            <size>3365</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2UyZDFlODEwMzIyZDFl
MWI4NWZiMTZkNWQwZjQ1ZGY4NmI5MjZjMS4uMDQ3NmEwZGMwZTBlYzhkMTVmYWE1NjQ1ZGRhMjU5
ZmM1MzY4Y2U1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTExLTA1ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBQcmV2
ZW50IEZpbmRVc2VkRmxleEZyYWN0aW9uIGZyb20gaXRlcmF0aW5nIGl0ZW1zIHR3aWNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2MzAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmRlZmluaXRlU2l6
ZVN0cmF0ZWd5OjpmaW5kVXNlZEZsZXhGcmFjdGlvbiBuZWVkcyB0byBpdGVyYXRlIGFsbCBncmlk
CisgICAgICAgIGl0ZW1zIHRoYXQgY3Jvc3MgYSBmbGV4aWJsZSB0cmFjay4gVG8gZG8gc28gaXQs
IHRha2VzIHRoZSBpbmRpY2VzIG9mIHRoZQorICAgICAgICBmbGV4IHRyYWNrcywgYW5kIGZvciBl
YWNoIG9uZSBpdCB1c2VzIEdyaWRJdGVyYXRvciB0byBpdGVyYXRlIHRoZSBpdGVtcworICAgICAg
ICBpbiB0aGF0IHRyYWNrLgorCisgICAgICAgIFRoZW4sIHRvIGF2b2lkIHByb2Nlc3NpbmcgdGhl
IHNhbWUgaXRlbSBtdWx0aXBsZSB0aW1lcywgaXQgdXNlZCB0byBjaGVjaworICAgICAgICB0aGF0
IHRoZSBpdGVtIHN0YXJ0ZWQgaW4gdGhlIGN1cnJlbnQgZmxleCB0cmFjaywgbm90IGluIGEgcHJl
dmlvdXMgb25lLgorCisgICAgICAgIEhvd2V2ZXIsIHRoaXMgd2FzIGluc3VmZmljaWVudDogaXQg
d2Fzbid0IHRha2luZyBpbnRvIGFjY291bnQgdGhhdCBhbgorICAgICAgICBpdGVtIGNhbiBiZSBp
biBhIHNpbmdsZSBmbGV4IHRyYWNrLCBidXQgc3BhbiBtdWx0aXBsZSB0cmFja3MgaW4gdGhlCisg
ICAgICAgIG90aGVyIGF4aXMuCisKKyAgICAgICAgVGhlcmVmb3JlLCB0aGlzIHBhdGNoIGNoYW5n
ZXMgaXQgdG8gdXNlIHRoZSBzYW1lIGFwcHJvYWNoIGFzIGluCisgICAgICAgIEdyaWRUcmFja1Np
emluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMsIGkuZS4gY3JlYXRlcyBh
CisgICAgICAgIEhhc2hTZXQgb3V0c2lkZSBvZiB0aGUgbG9vcCwgYW5kIGluc2VydHMgZWFjaCBn
aXZlbiBncmlkIGl0ZW0gdG8gaXQsCisgICAgICAgIGNoZWNraW5nIHdoZXRoZXIgaXQncyBhIG5l
dyBlbnRyeSBvciBub3QuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvcnQgb2YgaHR0cHM6Ly9jcnJl
di5jb20vODIxOTEwIGZyb20gQ2hyb21pdW0uCisKKyAgICAgICAgKiByZW5kZXJpbmcvR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluZGVmaW5pdGVTaXpl
U3RyYXRlZ3k6OmZpbmRVc2VkRmxleEZyYWN0aW9uIGNvbnN0KToKKwogMjAyMC0xMC0xOSAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIHJlbWFpbmlu
ZyBXZWIgQW5pbWF0aW9ucyBydW50aW1lLWVuYWJsZWQgZmVhdHVyZXMgdG8gc2V0dGluZ3MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0
aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRo
bS5jcHAKaW5kZXggZjkwMjM5YjcxZWVjZmFlMjJjZDQ3YjA2NGY1ZGE5Nzg4NTZhZGNkNC4uNjBl
YTc4NGNjNzFmYzgwOTFjMjQ2ZDdjZTJkNGYzZjhmNGY2NGVmNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAgLTk3
MiwxNSArOTcyLDE2IEBAIGRvdWJsZSBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpmaW5kVXNlZEZs
ZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpCiAgICAgaWYgKCFncmlkLmhh
c0dyaWRJdGVtcygpKQogICAgICAgICByZXR1cm4gZmxleEZyYWN0aW9uOwogCi0gICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleC5zaXplKCk7ICsraSkg
ewotICAgICAgICBHcmlkSXRlcmF0b3IgaXRlcmF0b3IoZ3JpZCwgZGlyZWN0aW9uLCBmbGV4aWJs
ZVNpemVkVHJhY2tzSW5kZXhbaV0pOworICAgIEhhc2hTZXQ8UmVuZGVyQm94Kj4gaXRlbXNTZXQ7
CisgICAgZm9yIChjb25zdCBhdXRvJiB0cmFja0luZGV4IDogZmxleGlibGVTaXplZFRyYWNrc0lu
ZGV4KSB7CisgICAgICAgIEdyaWRJdGVyYXRvciBpdGVyYXRvcihncmlkLCBkaXJlY3Rpb24sIHRy
YWNrSW5kZXgpOwogICAgICAgICB3aGlsZSAoYXV0byogZ3JpZEl0ZW0gPSBpdGVyYXRvci5uZXh0
R3JpZEl0ZW0oKSkgewotICAgICAgICAgICAgY29uc3QgR3JpZFNwYW4mIHNwYW4gPSBncmlkLmdy
aWRJdGVtU3BhbigqZ3JpZEl0ZW0sIGRpcmVjdGlvbik7Ci0KICAgICAgICAgICAgIC8vIERvIG5v
dCBpbmNsdWRlIGFscmVhZHkgcHJvY2Vzc2VkIGl0ZW1zLgotICAgICAgICAgICAgaWYgKGkgPiAw
ICYmIHNwYW4uc3RhcnRMaW5lKCkgPD0gZmxleGlibGVTaXplZFRyYWNrc0luZGV4W2kgLSAxXSkK
KyAgICAgICAgICAgIGlmICghaXRlbXNTZXQuYWRkKGdyaWRJdGVtKS5pc05ld0VudHJ5KQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgICAgICBjb25zdCBHcmlkU3BhbiYgc3Bh
biA9IGdyaWQuZ3JpZEl0ZW1TcGFuKCpncmlkSXRlbSwgZGlyZWN0aW9uKTsKKwogICAgICAgICAg
ICAgLy8gUmVtb3ZpbmcgZ3V0dGVycyBmcm9tIHRoZSBtYXgtY29udGVudCBjb250cmlidXRpb24g
b2YgdGhlIGl0ZW0sIHNvIHRoZXkgYXJlIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgaW4gRmluZEZy
VW5pdFNpemUoKS4KICAgICAgICAgICAgIExheW91dFVuaXQgbGVmdE92ZXJTcGFjZSA9IG1heENv
bnRlbnRGb3JDaGlsZCgqZ3JpZEl0ZW0pIC0gcmVuZGVyR3JpZCgpLT5ndXR0ZXJzU2l6ZShtX2Fs
Z29yaXRobS5ncmlkKCksIGRpcmVjdGlvbiwgc3Bhbi5zdGFydExpbmUoKSwgc3Bhbi5pbnRlZ2Vy
U3BhbigpLCBhdmFpbGFibGVTcGFjZSgpKTsKICAgICAgICAgICAgIGZsZXhGcmFjdGlvbiA9IHN0
ZDo6bWF4KGZsZXhGcmFjdGlvbiwgZmluZEZyVW5pdFNpemUoc3BhbiwgbGVmdE92ZXJTcGFjZSkp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>