<?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>102538</bug_id>
          
          <creation_ts>2012-11-16 11:02:13 -0800</creation_ts>
          <short_desc>Introduce a new renderer for grid areas</short_desc>
          <delta_ts>2012-11-30 18:25:00 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>donggwan.kim</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>769463</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-16 11:02:13 -0800</bug_when>
    <thetext>Per the editor&apos;s draft (section 6.3 anonymous Grid Areas):

Each Grid item is contained by a Grid area, i.e. the Grid area serves as the containing block for the Grid item. The dimensions of an anonymous Grid area are determined by naming the starting and ending Grid lines using the ‘grid-row’ and ‘grid-column’ properties on the Grid item which the Grid area surrounds. 

In order to implement that part of the specification, we need to add a new (anonymous) renderer that represents a grid area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769500</commentid>
    <comment_count>1</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-16 11:27:51 -0800</bug_when>
    <thetext>I&apos;ve thought about this more since we last talked about it and I think we probably don&apos;t want anonymous grid areas. Before, I was confused and thought containing block implied it would also be a positioning root. But, since you can&apos;t style the grid area, it can never be a positioning root.

I think we&apos;ll end up with something easier to manage that uses less memory and performs better if we avoid creating grid area renderers since they are only there for positioning/sizing the grid items.

The only complexity here is that we need to make sure to resolve percentage/calc values using the grid-area as the containing block. We will already need to do this calculation for the margins, width and height. So, I think the only complexity added by not having grid area renderers is that we&apos;ll also need to do so for percentage paddings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769702</commentid>
    <comment_count>2</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-16 15:07:09 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; I&apos;ve thought about this more since we last talked about it and I think we probably don&apos;t want anonymous grid areas. Before, I was confused and thought containing block implied it would also be a positioning root. But, since you can&apos;t style the grid area, it can never be a positioning root.

You are right, they don&apos;t impact positioned elements.

&gt; I think we&apos;ll end up with something easier to manage that uses less memory and performs better if we avoid creating grid area renderers since they are only there for positioning/sizing the grid items.
&gt; 
&gt; The only complexity here is that we need to make sure to resolve percentage/calc values using the grid-area as the containing block. We will already need to do this calculation for the margins, width and height. So, I think the only complexity added by not having grid area renderers is that we&apos;ll also need to do so for percentage paddings.

I will have to think / prototype your idea to see if I agree. My main concern with that is that your proposal could end up peppering grid knowledge all over the render tree or force us to do horrible hacks in RenderGrid (the grid items&apos; containing block per your proposal) to properly resolve our sizes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772201</commentid>
    <comment_count>3</comment_count>
      <attachid>175285</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-20 15:08:30 -0800</bug_when>
    <thetext>Created attachment 175285
Prototype, RFC: Patch that adds support for percent resolution without grid areas

It turns out that we don&apos;t need to hack around too much as most elements fall back to RenderBox. This matches table cells FWIW.

The nasty side of this patch is that you have to override RenderGrid&apos;s size in order to properly lay out the grid items (RenderGrid pretends to have the grid area&apos;s size).

All in all, it should be OK and I can&apos;t think of other issues with this approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780607</commentid>
    <comment_count>4</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-11-30 18:25:00 -0800</bug_when>
    <thetext>This was fixed differently without the need for a new renderer. See bug 102968.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175285</attachid>
            <date>2012-11-20 15:08:30 -0800</date>
            <delta_ts>2012-11-20 15:08:30 -0800</delta_ts>
            <desc>Prototype, RFC: Patch that adds support for percent resolution without grid areas</desc>
            <filename>support-percent-logical-width-grid.diff</filename>
            <type>text/plain</type>
            <size>10951</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L3BlcmNlbnQtcmVz
b2x1dGlvbi1ncmlkLWl0ZW0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvcGVyY2VudC1yZXNvbHV0aW9uLWdyaWQtaXRlbS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I0MjI3NQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L3BlcmNlbnQtcmVzb2x1dGlvbi1ncmlk
LWl0ZW0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKK1Rlc3QgdGhhdCByZXNvbHZpbmcg
cGVyY2VudCBsZW5ndGhzIG9uIGdyaWQgaXRlbXMgd29ya3MgcHJvcGVybHkgb24gYSBmaXhlZCBn
cmlkIHdpdGggZGlmZmVyZW50IHdyaXRpbmcgbW9kZXMuCisKK1BBU1MKK1BBU1MKK0ZBSUw6CitF
eHBlY3RlZCA1MCBmb3IgaGVpZ2h0LCBidXQgZ290IDIwMC4gCitFeHBlY3RlZCAxNTAgZm9yIGhl
aWdodCwgYnV0IGdvdCAyMDAuIAorRXhwZWN0ZWQgMTUwIGZvciBoZWlnaHQsIGJ1dCBnb3QgMjAw
LiAKKworPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBpZD0iYSIgY2xhc3M9InBlcmNlbnRX
aWR0aCB2ZXJ0aWNhbFJMIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIxNSI+PC9kaXY+CisgICAgPGRpdiBpZD0iYiIgY2xhc3M9InBlcmNlbnRIZWlnaHQg
dmVydGljYWxSTCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTUiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSI1MCI+PC9kaXY+CisgICAgPGRpdiBpZD0iYyIgY2xhc3M9InBlcmNlbnRIZWlnaHRBbmRXaWR0
aCB2ZXJ0aWNhbFJMIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIxNTAiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImQiIGNsYXNzPSJwZXJjZW50SGVpZ2h0QW5k
V2lkdGggdmVydGljYWxSTCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMTUwIj48L2Rpdj4KKzwvZGl2PgorRkFJTDoKK0V4cGVjdGVkIDE1MCBmb3IgaGVp
Z2h0LCBidXQgZ290IDIwMC4gCisKKzxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgaWQ9ImEi
IGNsYXNzPSJwZXJjZW50V2lkdGggdmVydGljYWxSTCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTUiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImIiIGNsYXNz
PSJwZXJjZW50SGVpZ2h0IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxNSIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjIiBjbGFzcz0icGVyY2VudEhlaWdodEFu
ZFdpZHRoIHZlcnRpY2FsUkwiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjE1MCI+PC9kaXY+CisgICAgPGRpdiBpZD0iZCIgY2xhc3M9InBlcmNlbnRIZWln
aHRBbmRXaWR0aCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMTUwIj48L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvcGVyY2VudC1yZXNvbHV0aW9uLWdyaWQtaXRlbS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcGVyY2VudC1yZXNvbHV0aW9uLWdyaWQtaXRlbS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZTFlNTkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9wZXJjZW50LXJlc29sdXRp
b24tZ3JpZC1pdGVtLmh0bWwKQEAgLTAsMCArMSw5MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdENTU0dyaWRMYXlvdXRFbmFibGVkIiwgMSk7Cis8L3Njcmlw
dD4KKzxzdHlsZT4KKy5ncmlkIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWdyaWQ7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogZ3JleTsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uczogMTAwcHggMzAw
cHg7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDUwcHggMTUwcHg7CisgICAgaGVpZ2h0OiAyMDBw
eDsKKyAgICB3aWR0aDogNDAwcHg7Cit9CisKKyNhIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBi
bHVlOworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW46IDE7CisgICAgLXdlYmtpdC1ncmlkLXJvdzog
MTsKK30KKworI2IgeworICAgIGJhY2tncm91bmQtY29sb3I6IGxpbWU7CisgICAgLXdlYmtpdC1n
cmlkLWNvbHVtbjogMjsKKyAgICAtd2Via2l0LWdyaWQtcm93OiAxOworfQorCisjYyB7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogcHVycGxlOworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW46IDE7Cisg
ICAgLXdlYmtpdC1ncmlkLXJvdzogMjsKK30KKworI2QgeworICAgIGJhY2tncm91bmQtY29sb3I6
IG9yYW5nZTsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uOiAyOworICAgIC13ZWJraXQtZ3JpZC1y
b3c6IDI7Cit9CisKKy5wZXJjZW50V2lkdGggeworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdo
dDogMTVweDsKK30KKworLnBlcmNlbnRIZWlnaHQgeworICAgIHdpZHRoOiAxNXB4OworICAgIGhl
aWdodDogMTAwJTsKK30KKworLnBlcmNlbnRIZWlnaHRBbmRXaWR0aCB7CisgICAgd2lkdGg6IDEw
MCU7CisgICAgaGVpZ2h0OiAxMDAlOworfQorCisudmVydGljYWxSTCB7CisgICAgLXdlYmtpdC13
cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KKzxib2R5IG9ubG9hZD0iY2hl
Y2tMYXlvdXQoJy5ncmlkJykiPgorCis8cD5UZXN0IHRoYXQgcmVzb2x2aW5nIHBlcmNlbnQgbGVu
Z3RocyBvbiBncmlkIGl0ZW1zIHdvcmtzIHByb3Blcmx5IG9uIGEgZml4ZWQgZ3JpZCB3aXRoIGRp
ZmZlcmVudCB3cml0aW5nIG1vZGVzLjwvcD4KKworPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRp
diBpZD0iYSIgY2xhc3M9InBlcmNlbnRXaWR0aCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMTUiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImIiIGNsYXNzPSJw
ZXJjZW50SGVpZ2h0IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxNSIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjUwIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjIiBjbGFzcz0icGVyY2VudEhlaWdodEFuZFdp
ZHRoIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxNTAi
PjwvZGl2PgorICAgIDxkaXYgaWQ9ImQiIGNsYXNzPSJwZXJjZW50SGVpZ2h0QW5kV2lkdGgiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjE1MCI+PC9kaXY+
Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iZ3JpZCB2ZXJ0aWNhbFJMIj4KKyAgICA8ZGl2IGlkPSJh
IiBjbGFzcz0icGVyY2VudFdpZHRoIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjE1Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJiIiBjbGFzcz0icGVyY2VudEhl
aWdodCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTUiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIzMDAi
PjwvZGl2PgorICAgIDxkaXYgaWQ9ImMiIGNsYXNzPSJwZXJjZW50SGVpZ2h0QW5kV2lkdGgiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjE1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCI+PC9kaXY+
CisgICAgPGRpdiBpZD0iZCIgY2xhc3M9InBlcmNlbnRIZWlnaHRBbmRXaWR0aCIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMTUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMzAwIj48L2Rpdj4KKzwvZGl2
PgorCis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGlkPSJhIiBjbGFzcz0icGVyY2VudFdp
ZHRoIHZlcnRpY2FsUkwiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjE1Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJiIiBjbGFzcz0icGVyY2VudEhlaWdodCB2
ZXJ0aWNhbFJMIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxNSIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjUwIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjIiBjbGFzcz0icGVyY2VudEhlaWdodEFuZFdpZHRo
IHZlcnRpY2FsUkwiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjE1MCI+PC9kaXY+CisgICAgPGRpdiBpZD0iZCIgY2xhc3M9InBlcmNlbnRIZWlnaHRBbmRX
aWR0aCB2ZXJ0aWNhbFJMIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIxNTAiPjwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxk
aXYgaWQ9ImEiIGNsYXNzPSJwZXJjZW50V2lkdGggdmVydGljYWxSTCIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTUiPjwvZGl2PgorICAgIDxkaXYgaWQ9
ImIiIGNsYXNzPSJwZXJjZW50SGVpZ2h0IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxNSIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjUwIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjIiBjbGFzcz0icGVyY2Vu
dEhlaWdodEFuZFdpZHRoIHZlcnRpY2FsUkwiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjE1MCI+PC9kaXY+CisgICAgPGRpdiBpZD0iZCIgY2xhc3M9InBl
cmNlbnRIZWlnaHRBbmRXaWR0aCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMTUwIj48L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA2NTRkNWZmLi5kNTVlNDJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2lu
Y2x1ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyRmxvd1RocmVhZC5o
IgogI2luY2x1ZGUgIlJlbmRlckdlb21ldHJ5TWFwLmgiCisjaW5jbHVkZSAiUmVuZGVyR3JpZC5o
IgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAj
aW5jbHVkZSAiUmVuZGVyUGFydC5oIgpAQCAtMjIwOCw2ICsyMjA5LDggQEAgTGF5b3V0VW5pdCBS
ZW5kZXJCb3g6OmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChjb25zdCBMZW5ndGgmIGhl
aWdodCkgY29uc3QKIAogICAgIGlmIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpICE9IGNiLT5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICBhdmFpbGFibGVIZWlnaHQgPSBjYi0+
Y29udGVudExvZ2ljYWxXaWR0aCgpOworICAgIGVsc2UgaWYgKGNiLT5pc1JlbmRlckdyaWQoKSkK
KyAgICAgICAgYXZhaWxhYmxlSGVpZ2h0ID0gdG9SZW5kZXJHcmlkKGNiKS0+YXZhaWxhYmxlSGVp
Z2h0Rm9yR3JpZEl0ZW0odGhpcyk7CiAgICAgZWxzZSBpZiAoY2ItPmlzVGFibGVDZWxsKCkgJiYg
IXNraXBwZWRBdXRvSGVpZ2h0Q29udGFpbmluZ0Jsb2NrKSB7CiAgICAgICAgIC8vIFRhYmxlIGNl
bGxzIHZpb2xhdGUgd2hhdCB0aGUgQ1NTIHNwZWMgc2F5cyB0byBkbyB3aXRoIGhlaWdodHMuIEJh
c2ljYWxseSB3ZQogICAgICAgICAvLyBkb24ndCBjYXJlIGlmIHRoZSBjZWxsIHNwZWNpZmllZCBh
IGhlaWdodCBvciBub3QuIFdlIGp1c3QgYWx3YXlzIG1ha2Ugb3Vyc2VsdmVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggZTUyMDU4MS4uMzQ5ZWFiMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtMTUwLDYgKzE1MCwxNiBAQCB2
b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVkVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoVHJhY2tTaXpp
bmdEaXJlY3Rpb24gZGlyZWN0aW9uLAogICAgIH0KIH0KIAorTGF5b3V0VW5pdCBSZW5kZXJHcmlk
OjphdmFpbGFibGVIZWlnaHRGb3JHcmlkSXRlbShjb25zdCBSZW5kZXJCb3gqIGdyaWRJdGVtKQor
eworICAgIC8vIEZJWE1FOiBEb24ndCByZXNvbHZlIGV2ZXJ5dGhpbmcgYWdhaW4uCisgICAgVmVj
dG9yPEdyaWRUcmFjaz4gcm93VHJhY2tzOworICAgIGNvbXB1dGVkVXNlZEJyZWFkdGhPZkdyaWRU
cmFja3MoRm9yUm93cywgcm93VHJhY2tzKTsKKworICAgIHNpemVfdCByb3dUcmFjayA9IHJlc29s
dmVHcmlkUG9zaXRpb24oZ3JpZEl0ZW0tPnN0eWxlKCktPmdyaWRJdGVtUm93KCkpOworICAgIHJl
dHVybiByb3dUcmFja3Nbcm93VHJhY2tdLm1fdXNlZEJyZWFkdGg7Cit9CisKIHZvaWQgUmVuZGVy
R3JpZDo6bGF5b3V0R3JpZEl0ZW1zKCkKIHsKICAgICBWZWN0b3I8R3JpZFRyYWNrPiBjb2x1bW5U
cmFja3MsIHJvd1RyYWNrczsKQEAgLTE1OSw4ICsxNjksMTYgQEAgdm9pZCBSZW5kZXJHcmlkOjps
YXlvdXRHcmlkSXRlbXMoKQogICAgIC8vIHRoZWlyIHJlcXVpcmVkIGhlaWdodC4gV2Ugd2lsbCBw
cm9iYWJseSBuZWVkIHRvIHBhc3MgY29sdW1ucyB0aHJvdWdoLgogICAgIGNvbXB1dGVkVXNlZEJy
ZWFkdGhPZkdyaWRUcmFja3MoRm9yUm93cywgcm93VHJhY2tzKTsKIAorICAgIExheW91dFVuaXQg
Y3VycmVudExvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxXaWR0aCgpOworICAgIExheW91dFVuaXQgY3Vy
cmVudExvZ2ljYWxIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CiAgICAgZm9yIChSZW5kZXJCb3gq
IGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxp
bmdCb3goKSkgewotICAgICAgICBMYXlvdXRQb2ludCBjaGlsZFBvc2l0aW9uID0gZmluZENoaWxk
TG9naWNhbFBvc2l0aW9uKGNoaWxkLCBjb2x1bW5UcmFja3MsIHJvd1RyYWNrcyk7CisgICAgICAg
IHNpemVfdCBjb2x1bW5UcmFjayA9IHJlc29sdmVHcmlkUG9zaXRpb24oY2hpbGQtPnN0eWxlKCkt
PmdyaWRJdGVtQ29sdW1uKCkpOworICAgICAgICBzaXplX3Qgcm93VHJhY2sgPSByZXNvbHZlR3Jp
ZFBvc2l0aW9uKGNoaWxkLT5zdHlsZSgpLT5ncmlkSXRlbVJvdygpKTsKKworICAgICAgICBzZXRM
b2dpY2FsV2lkdGgoY29sdW1uVHJhY2tzW2NvbHVtblRyYWNrXS5tX3VzZWRCcmVhZHRoKTsKKyAg
ICAgICAgc2V0TG9naWNhbEhlaWdodChyb3dUcmFja3Nbcm93VHJhY2tdLm1fdXNlZEJyZWFkdGgp
OworCisgICAgICAgIExheW91dFBvaW50IGNoaWxkUG9zaXRpb24gPSBmaW5kQ2hpbGRMb2dpY2Fs
UG9zaXRpb24oY29sdW1uVHJhY2ssIHJvd1RyYWNrLCBjb2x1bW5UcmFja3MsIHJvd1RyYWNrcyk7
CiAgICAgICAgIC8vIEZJWE1FOiBHcmlkIGl0ZW1zIHNob3VsZCBzdHJldGNoIHRvIGZpbGwgdGhl
aXIgY2VsbHMuIE9uY2Ugd2UKICAgICAgICAgLy8gaW1wbGVtZW50IGdyaWQte2NvbHVtbixyb3d9
LWFsaWduLCB3ZSBjYW4gYWxzbyBzaHJpbmsgdG8gZml0LiBGb3IKICAgICAgICAgLy8gbm93LCBq
dXN0IHNpemUgYXMgaWYgd2Ugd2VyZSBhIHJlZ3VsYXIgY2hpbGQuCkBAIC0xNjksNiArMTg3LDgg
QEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRHcmlkSXRlbXMoKQogICAgICAgICAvLyBGSVhNRTog
SGFuZGxlIGJvcmRlciAmIHBhZGRpbmcgb24gdGhlIGdyaWQgZWxlbWVudC4KICAgICAgICAgY2hp
bGQtPnNldExvZ2ljYWxMb2NhdGlvbihjaGlsZFBvc2l0aW9uKTsKICAgICB9CisgICAgc2V0TG9n
aWNhbFdpZHRoKGN1cnJlbnRMb2dpY2FsV2lkdGgpOworICAgIHNldExvZ2ljYWxIZWlnaHQoY3Vy
cmVudExvZ2ljYWxIZWlnaHQpOwogCiAgICAgLy8gRklYTUU6IEhhbmRsZSBib3JkZXIgJiBwYWRk
aW5nIG9uIHRoZSBncmlkIGVsZW1lbnQuCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByb3dU
cmFja3Muc2l6ZSgpOyArK2kpCkBAIC0xOTUsMTEgKzIxNSw4IEBAIHNpemVfdCBSZW5kZXJHcmlk
OjpyZXNvbHZlR3JpZFBvc2l0aW9uKGNvbnN0IEdyaWRQb3NpdGlvbiYgcG9zaXRpb24pIGNvbnN0
CiAgICAgcmV0dXJuIDA7CiB9CiAKLUxheW91dFBvaW50IFJlbmRlckdyaWQ6OmZpbmRDaGlsZExv
Z2ljYWxQb3NpdGlvbihSZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYg
Y29sdW1uVHJhY2tzLCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYgcm93VHJhY2tzKQorTGF5b3V0
UG9pbnQgUmVuZGVyR3JpZDo6ZmluZENoaWxkTG9naWNhbFBvc2l0aW9uKHNpemVfdCBjb2x1bW5U
cmFjaywgc2l6ZV90IHJvd1RyYWNrLCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYgY29sdW1uVHJh
Y2tzLCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYgcm93VHJhY2tzKQogewotICAgIHNpemVfdCBj
b2x1bW5UcmFjayA9IHJlc29sdmVHcmlkUG9zaXRpb24oY2hpbGQtPnN0eWxlKCktPmdyaWRJdGVt
Q29sdW1uKCkpOwotICAgIHNpemVfdCByb3dUcmFjayA9IHJlc29sdmVHcmlkUG9zaXRpb24oY2hp
bGQtPnN0eWxlKCktPmdyaWRJdGVtUm93KCkpOwotCiAgICAgTGF5b3V0UG9pbnQgb2Zmc2V0Owog
ICAgIC8vIEZJWE1FOiB8Y29sdW1uVHJhY2t8IGFuZCB8cm93VHJhY2t8IHNob3VsZCBiZSBzbWFs
bGVyIHRoYW4gb3VyIGNvbHVtbiAvIHJvdyBjb3VudC4KICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGNvbHVtblRyYWNrICYmIGkgPCBjb2x1bW5UcmFja3Muc2l6ZSgpOyArK2kpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAppbmRleCAzNDBjNjQ4Li40OWJjYTY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTQzLDE2ICs0MywzNSBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIGF2b2lkc0Zsb2F0cygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgY2FuQ29sbGFwc2VBbm9ueW1vdXNCbG9ja0NoaWxk
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIExheW91dFVuaXQgYXZh
aWxhYmxlSGVpZ2h0Rm9yR3JpZEl0ZW0oY29uc3QgUmVuZGVyQm94KiBncmlkSXRlbSk7CisKIHBy
aXZhdGU6CisgICAgdmlydHVhbCBib29sIGlzUmVuZGVyR3JpZCgpIGNvbnN0IE9WRVJSSURFIHsg
cmV0dXJuIHRydWU7IH0KKwogICAgIGNsYXNzIEdyaWRUcmFjazsKICAgICBlbnVtIFRyYWNrU2l6
aW5nRGlyZWN0aW9uIHsgRm9yQ29sdW1ucywgRm9yUm93cyB9OwogICAgIHZvaWQgY29tcHV0ZWRV
c2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhUcmFja1NpemluZ0RpcmVjdGlvbiwgVmVjdG9yPEdyaWRU
cmFjaz4mKTsKICAgICB2b2lkIGxheW91dEdyaWRJdGVtcygpOwogCi0gICAgTGF5b3V0UG9pbnQg
ZmluZENoaWxkTG9naWNhbFBvc2l0aW9uKFJlbmRlckJveCosIGNvbnN0IFZlY3RvcjxHcmlkVHJh
Y2s+JiBjb2x1bW5UcmFja3MsIGNvbnN0IFZlY3RvcjxHcmlkVHJhY2s+JiByb3dUcmFja3MpOwor
ICAgIExheW91dFBvaW50IGZpbmRDaGlsZExvZ2ljYWxQb3NpdGlvbihzaXplX3QgY29sdW1uVHJh
Y2ssIHNpemVfdCByb3dUcmFjaywgY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNr
cywgY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIHJvd1RyYWNrcyk7CiAgICAgc2l6ZV90IHJlc29s
dmVHcmlkUG9zaXRpb24oY29uc3QgR3JpZFBvc2l0aW9uJikgY29uc3Q7CiB9OwogCitpbmxpbmUg
UmVuZGVyR3JpZCogdG9SZW5kZXJHcmlkKFJlbmRlck9iamVjdCogbykKK3sKKyAgICBBU1NFUlQo
by0+aXNSZW5kZXJHcmlkKCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJHcmlkKj4o
byk7Cit9CisKK2lubGluZSBjb25zdCBSZW5kZXJHcmlkKiB0b1JlbmRlckdyaWQoY29uc3QgUmVu
ZGVyT2JqZWN0KiBvKQoreworICAgIEFTU0VSVChvLT5pc1JlbmRlckdyaWQoKSk7CisgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlckdyaWQqPihvKTsKK30KKworLy8gQ2F0Y2ggdW5u
ZWVkZWQgY29udmVyc2lvbi4KK3ZvaWQgdG9SZW5kZXJHcmlkKGNvbnN0IFJlbmRlckdyaWQqKTsK
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUmVuZGVyR3JpZF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggMTE4YTk5Ni4uNGYzOTc5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMzk5LDYgKzM5OSw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJGdWxsU2NyZWVuUGxhY2Vob2xk
ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIGJvb2wg
aXNSZW5kZXJHcmlkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIHZpcnR1YWwgYm9v
bCBpc1JlbmRlckZsb3dUaHJlYWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgYm9vbCBpc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>