<?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>98313</bug_id>
          
          <creation_ts>2012-10-03 15:52:49 -0700</creation_ts>
          <short_desc>ScrollingStateNode should keep a Vector of children instead of child pointers</short_desc>
          <delta_ts>2013-02-15 03:02:24 -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="Beth Dakin">bdakin</reporter>
          <assigned_to name="Beth Dakin">bdakin</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>jamesr</cc>
    
    <cc>rafael.lobo</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>734119</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-10-03 15:52:49 -0700</bug_when>
    <thetext>ScrollingStateNode was added with https://bugs.webkit.org/show_bug.cgi?id=97365 We can vastly simplify that class by making each node have a Vector of children instead of of keeping child and sibling pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734133</commentid>
    <comment_count>1</comment_count>
      <attachid>166983</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-10-03 16:02:44 -0700</bug_when>
    <thetext>Created attachment 166983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734143</commentid>
    <comment_count>2</comment_count>
      <attachid>166983</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-03 16:12:17 -0700</bug_when>
    <thetext>Comment on attachment 166983
Patch

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        (WebCore):

(WebCore):

&gt; Source/WebCore/page/scrolling/ScrollingStateNode.h:81
&gt; +    Vector&lt;OwnPtr&lt;ScrollingStateNode&gt; &gt; m_children;

Maybe use a Vector* since many nodes won&apos;t have children.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734176</commentid>
    <comment_count>3</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-10-03 16:36:26 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 166983 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166983&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:17
&gt; &gt; +        (WebCore):
&gt; 
&gt; (WebCore):
&gt; 
&gt; &gt; Source/WebCore/page/scrolling/ScrollingStateNode.h:81
&gt; &gt; +    Vector&lt;OwnPtr&lt;ScrollingStateNode&gt; &gt; m_children;
&gt; 
&gt; Maybe use a Vector* since many nodes won&apos;t have children.

Thanks Simon! I took care of both. http://trac.webkit.org/changeset/130342</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833839</commentid>
    <comment_count>4</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2013-02-15 03:02:24 -0800</bug_when>
    <thetext>I believe this bug is fixed. Closing it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166983</attachid>
            <date>2012-10-03 16:02:44 -0700</date>
            <delta_ts>2012-10-03 16:12:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>11107</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDMzNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEwLTAzICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTgzMTMKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlIHNob3Vs
ZCBrZWVwIGEgVmVjdG9yIG9mIGNoaWxkcmVuIGluc3RlYWQgb2YgY2hpbGQgCisgICAgICAgIHBv
aW50ZXJzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCByZS1uYW1lcyBTY3JvbGxpbmdTdGF0ZU5vZGU6OmNsb25lTm9kZSgpIHRvIAor
ICAgICAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OmNsb25lQW5kUmVzZXROb2RlKCkuIFRoZSBuZXcg
ZnVuY3Rpb24gcmVzZXRzIHRoZSAKKyAgICAgICAgY2hhbmdlIHByb3BlcnRpZXMgb2YgdGhlIGN1
cnJlbnQgbm9kZSBhZnRlciBjbG9uaW5nIGl0LCBhbmQgaXQgYWxzbyAKKyAgICAgICAgdGFrZXMg
Y2FyZSBvZiBjbG9uaW5nIGNoaWxkcmVuLCB3aGljaCB0aGUgb2xkIGZ1bmN0aW9uIGRpZCBub3Qg
ZG8uCisKKyAgICAgICAgbV9maXJzdENoaWxkIGFuZCBtX25leHRTaWJsaW5nIGFyZSBnb25lLiBV
c2UgdGhlIG1fY2hpbGRyZW4gVmVjdG9yIAorICAgICAgICBpbnN0ZWFkLgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZTo6Y2xvbmVBbmRSZXNldENoaWxk
Tm9kZXMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlOjphcHBlbmRDaGls
ZCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmg6CisgICAg
ICAgIChTY3JvbGxpbmdTdGF0ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3Rh
dGVOb2RlOjpwYXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlOjpz
ZXRQYXJlbnQpOgorCisgICAgICAgIFJlc2V0IHRoZSBjaGFuZ2UgcHJvcGVydGllcyBhbmQgY2xv
bmUgY2hpbGRyZW4gaW4gY2xvbmVBbmRSZXNldE5vZGUoKQorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OmNsb25lQW5kUmVzZXROb2RlKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaDoKKworICAgICAg
ICBZYXksIHRoaXMgZnVuY3Rpb24gY2FuIGJlIHZhc3RseSBzaW1wbGlmaWVkIG5vdyB0aGF0IHdl
IGRvbid0IGhhdmUgCisgICAgICAgIHRob3NlIG1lc3N5IGNoaWxkIGFuZCBzaWJsaW5nIHBvaW50
ZXJzLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWU6OmNvbW1pdCk6CisKIDIwMTItMTAt
MDMgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIGJv
Z3VzIEZJWE1FIGZyb20gRG9jdW1lbnQuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAJKHJldmlzaW9uIDEzMDE4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgU2Nyb2xsaW5nU3RhdGVOb2RlOjpT
Y3JvbGxpbmdTdGF0ZU5vZGUoUwogfQogCiAvLyBUaGlzIGNvcHkgY29uc3RydWN0b3IgaXMgdXNl
ZCBmb3IgY2xvbmluZyBub2RlcyBpbiB0aGUgdHJlZSwgYW5kIGl0IGRvZXNuJ3QgbWFrZSBzZW5z
ZQotLy8gdG8gY2xvbmUgdGhlIHJlbGF0aW9uc2hpcCBwb2ludGVycywgc28gZG9uJ3QgY29weSB0
aGF0IGluZm9ybWF0aW9uIGZyb20gdGhlIG9yaWdpbmFsCisvLyB0byBjbG9uZSB0aGUgY2hpbGRy
ZW4gcG9pbnRlcnMsIHNvIGRvbid0IGNvcHkgdGhhdCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBvcmln
aW5hbAogLy8gbm9kZS4KIFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsaW5nU3RhdGVOb2RlKFNj
cm9sbGluZ1N0YXRlTm9kZSogc3RhdGVOb2RlKQogICAgIDogbV9zY3JvbGxpbmdTdGF0ZVRyZWUo
MCkKQEAgLTU0LDQ3ICs1NCwxNyBAQCBTY3JvbGxpbmdTdGF0ZU5vZGU6On5TY3JvbGxpbmdTdGF0
ZU5vZGUoCiB7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVOb2RlOjphcHBlbmRDaGlsZChQYXNz
T3duUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2hpbGROb2RlKQordm9pZCBTY3JvbGxpbmdTdGF0
ZU5vZGU6OmNsb25lQW5kUmVzZXRDaGlsZE5vZGVzKFNjcm9sbGluZ1N0YXRlTm9kZSogY2xvbmUp
CiB7Ci0gICAgY2hpbGROb2RlLT5zZXRQYXJlbnQodGhpcyk7Ci0gICAgCi0gICAgaWYgKCFtX2Zp
cnN0Q2hpbGQpIHsKLSAgICAgICAgbV9maXJzdENoaWxkID0gY2hpbGROb2RlOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgZm9yIChTY3JvbGxpbmdTdGF0ZU5vZGUqIGV4aXN0aW5nQ2hp
bGQgPSBmaXJzdENoaWxkKCk7IGV4aXN0aW5nQ2hpbGQ7IGV4aXN0aW5nQ2hpbGQgPSBleGlzdGlu
Z0NoaWxkLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGlmICghZXhpc3RpbmdDaGlsZC0+bmV4
dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgZXhpc3RpbmdDaGlsZC0+c2V0TmV4dFNpYmxpbmco
Y2hpbGROb2RlKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHNpemVfdCBzaXplID0gbV9jaGlsZHJlbi5zaXpl
KCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpCisgICAgICAgIGNsb25l
LT5hcHBlbmRDaGlsZChtX2NoaWxkcmVuW2ldLT5jbG9uZUFuZFJlc2V0Tm9kZSgpKTsKIH0KIAot
U2Nyb2xsaW5nU3RhdGVOb2RlKiBTY3JvbGxpbmdTdGF0ZU5vZGU6OnRyYXZlcnNlTmV4dCgpIGNv
bnN0Cit2b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6YXBwZW5kQ2hpbGQoUGFzc093blB0cjxTY3Jv
bGxpbmdTdGF0ZU5vZGU+IGNoaWxkTm9kZSkKIHsKLSAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIGNo
aWxkID0gZmlyc3RDaGlsZCgpOwotICAgIGlmIChjaGlsZCkKLSAgICAgICAgcmV0dXJuIGNoaWxk
OwotCi0gICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBzaWJsaW5nID0gbmV4dFNpYmxpbmcoKTsKLSAg
ICBpZiAoc2libGluZykKLSAgICAgICAgcmV0dXJuIHNpYmxpbmc7Ci0KLSAgICBjb25zdCBTY3Jv
bGxpbmdTdGF0ZU5vZGUqIHN0YXRlTm9kZSA9IHRoaXM7Ci0gICAgd2hpbGUgKCFzaWJsaW5nKSB7
Ci0gICAgICAgIHN0YXRlTm9kZSA9IHN0YXRlTm9kZS0+cGFyZW50KCk7Ci0gICAgICAgIGlmICgh
c3RhdGVOb2RlKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHNpYmxpbmcgPSBzdGF0
ZU5vZGUtPm5leHRTaWJsaW5nKCk7Ci0gICAgfQotCi0gICAgaWYgKHN0YXRlTm9kZSkKLSAgICAg
ICAgcmV0dXJuIHNpYmxpbmc7Ci0KLSAgICByZXR1cm4gMDsKKyAgICBjaGlsZE5vZGUtPnNldFBh
cmVudCh0aGlzKTsKKyAgICBtX2NoaWxkcmVuLmFwcGVuZChjaGlsZE5vZGUpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZU5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAkocmV2aXNpb24gMTMwMTg0KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KQEAgLTQ3LDcgKzQ4LDggQEAgcHVibGljOgogICAgIFNjcm9sbGluZ1N0YXRlTm9kZShT
Y3JvbGxpbmdTdGF0ZVRyZWUqKTsKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdTdGF0ZU5vZGUoKTsK
IAotICAgIHZpcnR1YWwgUGFzc093blB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lTm9kZSgp
ID0gMDsKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZUFu
ZFJlc2V0Tm9kZSgpID0gMDsKKyAgICB2b2lkIGNsb25lQW5kUmVzZXRDaGlsZE5vZGVzKFNjcm9s
bGluZ1N0YXRlTm9kZSopOwogCiAgICAgdmlydHVhbCBib29sIGhhc0NoYW5nZWRQcm9wZXJ0aWVz
KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdW5zaWduZWQgY2hhbmdlZFByb3BlcnRpZXMoKSBj
b25zdCA9IDA7CkBAIC02NCwxNSArNjYsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTY3JvbGxp
bmdTdGF0ZVRyZWUoU2Nyb2xsaW5nU3RhdGVUcmVlKiB0cmVlKSB7IG1fc2Nyb2xsaW5nU3RhdGVU
cmVlID0gdHJlZTsgfQogCiAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBwYXJlbnQoKSBjb25zdCB7
IHJldHVybiBtX3BhcmVudDsgfQotICAgIFNjcm9sbGluZ1N0YXRlTm9kZSogZmlyc3RDaGlsZCgp
IGNvbnN0IHsgcmV0dXJuIG1fZmlyc3RDaGlsZC5nZXQoKTsgfQotICAgIFNjcm9sbGluZ1N0YXRl
Tm9kZSogbmV4dFNpYmxpbmcoKSBjb25zdCB7IHJldHVybiBtX25leHRTaWJsaW5nLmdldCgpOyB9
CiAKICAgICB2b2lkIHNldFBhcmVudChTY3JvbGxpbmdTdGF0ZU5vZGUqIHBhcmVudCkgeyBtX3Bh
cmVudCA9IHBhcmVudDsgfQotICAgIHZvaWQgc2V0Rmlyc3RDaGlsZChQYXNzT3duUHRyPFNjcm9s
bGluZ1N0YXRlTm9kZT4gZmlyc3RDaGlsZCkgeyBtX2ZpcnN0Q2hpbGQgPSBmaXJzdENoaWxkOyB9
Ci0gICAgdm9pZCBzZXROZXh0U2libGluZyhQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4g
bmV4dFNpYmxpbmcpIHsgbV9uZXh0U2libGluZyA9IG5leHRTaWJsaW5nOyB9Ci0KICAgICB2b2lk
IGFwcGVuZENoaWxkKFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPik7Ci0gICAgU2Nyb2xs
aW5nU3RhdGVOb2RlKiB0cmF2ZXJzZU5leHQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgogICAgIFNj
cm9sbGluZ1N0YXRlTm9kZShTY3JvbGxpbmdTdGF0ZU5vZGUqKTsKQEAgLTgxLDggKzc3LDggQEAg
cHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIFNjcm9sbGluZ1N0YXRlTm9kZSogbV9wYXJlbnQ7
Ci0gICAgT3duUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gbV9maXJzdENoaWxkOwotICAgIE93blB0
cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IG1fbmV4dFNpYmxpbmc7CisKKyAgICBWZWN0b3I8T3duUHRy
PFNjcm9sbGluZ1N0YXRlTm9kZT4gPiBtX2NoaWxkcmVuOwogCiAgICAgYm9vbCBtX3Njcm9sbExh
eWVyRGlkQ2hhbmdlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAJKHJldmlzaW9u
IDEzMDIyOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDkgKzc3LDE1IEBAIFNjcm9s
bGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6flNjcm9sbGluZ1MKIHsKIH0KIAotUGFzc093blB0cjxT
Y3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6Y2xvbmVOb2Rl
KCkKK1Bhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGU6OmNsb25lQW5kUmVzZXROb2RlKCkKIHsKICAgICBPd25QdHI8U2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlPiBjbG9uZSA9IGFkb3B0UHRyKG5ldyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUodGhpcykpOworCisgICAgLy8gTm93IHRoYXQgdGhpcyBub2RlIGlzIGNsb25lZCwgcmVz
ZXQgb3VyIGNoYW5nZSBwcm9wZXJ0aWVzLgorICAgIHNldFNjcm9sbExheWVyRGlkQ2hhbmdlKGZh
bHNlKTsKKyAgICByZXNldENoYW5nZWRQcm9wZXJ0aWVzKCk7CisKKyAgICBjbG9uZUFuZFJlc2V0
Q2hpbGROb2RlcyhjbG9uZS5nZXQoKSk7CiAgICAgcmV0dXJuIGNsb25lLnJlbGVhc2UoKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgJKHJldmlzaW9uIDEzMDE4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICAgICAgUmVxdWVzdGVk
U2Nyb2xsUG9zaXRpb24gPSAxIDw8IDEyLAogICAgIH07CiAKLSAgICB2aXJ0dWFsIFBhc3NPd25Q
dHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZU5vZGUoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZUFuZFJlc2V0Tm9kZSgpIE9WRVJS
SURFOwogCiAgICAgdmlydHVhbCBib29sIGhhc0NoYW5nZWRQcm9wZXJ0aWVzKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gbV9jaGFuZ2VkUHJvcGVydGllczsgfQogICAgIHZpcnR1YWwgdW5zaWdu
ZWQgY2hhbmdlZFByb3BlcnRpZXMoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX2NoYW5nZWRQ
cm9wZXJ0aWVzOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVRyZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAJKHJldmlzaW9uIDEzMDE4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDcyICs0Nyw4IEBAIFNjcm9sbGluZ1N0YXRlVHJlZTo6flNjcm9sbGluZ1N0YXRl
VHJlZSgKIAogUGFzc093blB0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IFNjcm9sbGluZ1N0YXRlVHJl
ZTo6Y29tbWl0KCkKIHsKLSAgICAvLyBUaGlzIGZ1bmN0aW9uIGNsb25lcyB0aGUgZW50aXJlIFNj
cm9sbGluZ1N0YXRlVHJlZS4KICAgICBPd25QdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiB0cmVlU3Rh
dGUgPSBTY3JvbGxpbmdTdGF0ZVRyZWU6OmNyZWF0ZSgpOwotCi0gICAgLy8gY3VycmVudE5vZGUg
aXMgdGhlIG5vZGUgdGhhdCB3ZSBhcmUgY3VycmVudGx5IGNsb25pbmcuCi0gICAgU2Nyb2xsaW5n
U3RhdGVOb2RlKiBjdXJyZW50Tm9kZSA9IG1fcm9vdFN0YXRlTm9kZS5nZXQoKTsKLQotICAgIC8v
IG5leHROb2RlIHJlcHJlc2VudHMgdGhlIG5leHROb2RlIHdlIHdpbGwgY2xvbmUuIFNvbWUgdHJl
ZSB0cmF2ZXJzYWwgaXMgcmVxdWlyZWQgdG8gZmluZCBpdC4KLSAgICBTY3JvbGxpbmdTdGF0ZU5v
ZGUqIG5leHROb2RlID0gMDsKLQotICAgIC8vIEFzIHdlIGNsb25lIGVhY2ggbm9kZSwgd2Ugd2Fu
dCB0byBzZXQgdGhlIGNsb25lZCBub2RlcyByZWxhdGlvbnNoaXAgcG9pbnRlcnMgdG8gdGhlIGNv
cnJlc3BvbmRpbmcKLSAgICAvLyBjbG9uZWQgbm9kZXMgaW4gdGhlIGNsb25lIHRyZWUuIEluIG9y
ZGVyIHRvIGRvIHRoYXQsIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgYXBwcm9wcmlhdGUK
LSAgICAvLyBub2Rlcy4KLSAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIGNsb25lUGFyZW50ID0gMDsK
LSAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIGNsb25lUHJldmlvdXNTaWJsaW5nID0gMDsKLQotICAg
IC8vIE5vdyB0cmF2ZXJzZSB0aGUgdHJlZSBhbmQgY2xvbmUgZWFjaCBub2RlLgotICAgIHdoaWxl
IChjdXJyZW50Tm9kZSkgewotICAgICAgICBQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4g
Y2xvbmVOb2RlID0gY3VycmVudE5vZGUtPmNsb25lTm9kZSgpOwotCi0gICAgICAgIC8vIFNldCBy
ZWxhdGlvbnNoaXBzIGZvciB0aGUgbmV3bHkgY2xvbmVkIG5vZGUuCi0gICAgICAgIGNsb25lTm9k
ZS0+c2V0U2Nyb2xsaW5nU3RhdGVUcmVlKHRyZWVTdGF0ZS5nZXQoKSk7Ci0gICAgICAgIGNsb25l
Tm9kZS0+c2V0UGFyZW50KGNsb25lUGFyZW50KTsKLSAgICAgICAgaWYgKGNsb25lUGFyZW50KSB7
Ci0gICAgICAgICAgICBpZiAoIWNsb25lUGFyZW50LT5maXJzdENoaWxkKCkpCi0gICAgICAgICAg
ICAgICAgY2xvbmVQYXJlbnQtPnNldEZpcnN0Q2hpbGQoY2xvbmVOb2RlKTsKLSAgICAgICAgICAg
IGlmIChjbG9uZVByZXZpb3VzU2libGluZykKLSAgICAgICAgICAgICAgICBjbG9uZVByZXZpb3Vz
U2libGluZy0+c2V0TmV4dFNpYmxpbmcoY2xvbmVOb2RlKTsKLSAgICAgICAgfQotCi0gICAgICAg
IC8vIE5vdyBmaW5kIHRoZSBuZXh0IG5vZGUsIGFuZCBzZXQgdXAgdGhlIGNsb25lUGFyZW50IGFu
ZCBjbG9uZVByZXZpb3VzU2libGluZyBwb2ludGVyIGFwcHJvcHJpYXRlbHkuCi0gICAgICAgIGlm
IChjdXJyZW50Tm9kZS0+Zmlyc3RDaGlsZCgpKSB7Ci0gICAgICAgICAgICBuZXh0Tm9kZSA9IGN1
cnJlbnROb2RlLT5maXJzdENoaWxkKCk7Ci0gICAgICAgICAgICBjbG9uZVBhcmVudCA9IGNsb25l
Tm9kZS5nZXQoKTsKLSAgICAgICAgICAgIGNsb25lUHJldmlvdXNTaWJsaW5nID0gMDsKLSAgICAg
ICAgfSBlbHNlIGlmIChjdXJyZW50Tm9kZS0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAg
bmV4dE5vZGUgPSBjdXJyZW50Tm9kZS0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgIGNsb25l
UGFyZW50ID0gY2xvbmVOb2RlLT5wYXJlbnQoKTsKLSAgICAgICAgICAgIGNsb25lUHJldmlvdXNT
aWJsaW5nID0gY2xvbmVOb2RlLmdldCgpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
Ly8gSWYgdGhlcmUgaXMgbm8gZmlyc3QgY2hpbGQgYW5kIG5vIG5leHQgc2libGluZywgdGhlbiB3
ZSBoYXZlIHRvIHRyYXZlcnNlIHVwIGFuZCBvdmVyIGluIHRoZSB0cmVlLgotICAgICAgICAgICAg
bmV4dE5vZGUgPSAwOwotICAgICAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiB0cmF2ZXJzYWxO
b2RlID0gY3VycmVudE5vZGU7Ci0gICAgICAgICAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIGNsb25l
VHJhdmVyc2FsTm9kZSA9IGNsb25lTm9kZS5nZXQoKTsKLSAgICAgICAgICAgIGNsb25lUHJldmlv
dXNTaWJsaW5nID0gMDsKLSAgICAgICAgICAgIHdoaWxlICghbmV4dE5vZGUpIHsKLSAgICAgICAg
ICAgICAgICB0cmF2ZXJzYWxOb2RlID0gdHJhdmVyc2FsTm9kZS0+cGFyZW50KCk7Ci0gICAgICAg
ICAgICAgICAgY2xvbmVUcmF2ZXJzYWxOb2RlID0gY2xvbmVUcmF2ZXJzYWxOb2RlLT5wYXJlbnQo
KTsKLSAgICAgICAgICAgICAgICBpZiAoIXRyYXZlcnNhbE5vZGUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgbmV4dE5vZGUgPSAwOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgbmV4dE5vZGUgPSB0cmF2ZXJzYWxOb2RlLT5uZXh0
U2libGluZygpOwotICAgICAgICAgICAgICAgIGNsb25lUHJldmlvdXNTaWJsaW5nID0gY2xvbmVU
cmF2ZXJzYWxOb2RlOwotICAgICAgICAgICAgICAgIGNsb25lUGFyZW50ID0gY2xvbmVQcmV2aW91
c1NpYmxpbmcgPyBjbG9uZVByZXZpb3VzU2libGluZy0+cGFyZW50KCkgOiAwOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGN1cnJlbnROb2RlID09IG1fcm9vdFN0YXRl
Tm9kZSkKLSAgICAgICAgICAgIHRyZWVTdGF0ZS0+c2V0Um9vdFN0YXRlTm9kZShzdGF0aWNfcG9p
bnRlcl9jYXN0PFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZT4oY2xvbmVOb2RlKSk7Ci0KLSAg
ICAgICAgLy8gQmVmb3JlIHdlIG1vdmUgb24sIHJlc2V0IGFsbCBvZiBvdXIgaW5kaWNhdG9ycyB0
aGF0IHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkIG9uIHRoZSBvcmlnaW5hbCB0cmVlLgotICAgICAg
ICBjdXJyZW50Tm9kZS0+c2V0U2Nyb2xsTGF5ZXJEaWRDaGFuZ2UoZmFsc2UpOwotICAgICAgICBj
dXJyZW50Tm9kZS0+cmVzZXRDaGFuZ2VkUHJvcGVydGllcygpOwotCi0gICAgICAgIGN1cnJlbnRO
b2RlID0gbmV4dE5vZGU7Ci0gICAgfQorICAgIHRyZWVTdGF0ZS0+c2V0Um9vdFN0YXRlTm9kZShz
dGF0aWNfcG9pbnRlcl9jYXN0PFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZT4obV9yb290U3Rh
dGVOb2RlLT5jbG9uZUFuZFJlc2V0Tm9kZSgpKSk7CiAKICAgICAvLyBOb3cgdGhlIGNsb25lIHRy
ZWUgaGFzIGNoYW5nZWQgcHJvcGVydGllcywgYW5kIHRoZSBvcmlnaW5hbCB0cmVlIGRvZXMgbm90
LgogICAgIHRyZWVTdGF0ZS0+c2V0SGFzQ2hhbmdlZFByb3BlcnRpZXModHJ1ZSk7Cg==
</data>
<flag name="review"
          id="179515"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>