<?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>86416</bug_id>
          
          <creation_ts>2012-05-14 17:14:23 -0700</creation_ts>
          <short_desc>Use posZOrderList() / negZOrderList() everywhere to avoid querying dirtied lists</short_desc>
          <delta_ts>2012-05-15 14:33:06 -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>All</rep_platform>
          <op_sys>All</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="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>enne</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>623478</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-14 17:14:23 -0700</bug_when>
    <thetext>There is still a few places where we don&apos;t use the getters that properly ASSERTs that we do not get any dirtied lists.

I don&apos;t see a use case for getting dirtied values so let&apos;s change that!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623485</commentid>
    <comment_count>1</comment_count>
      <attachid>141823</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-14 17:23:43 -0700</bug_when>
    <thetext>Created attachment 141823
Proposed change, fixed 2 places where the ASSERTs where triggering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624231</commentid>
    <comment_count>2</comment_count>
      <attachid>141823</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-15 10:25:59 -0700</bug_when>
    <thetext>Comment on attachment 141823
Proposed change, fixed 2 places where the ASSERTs where triggering.

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:745
&gt; +        if (posZOrderList()) {
&gt; +            for (unsigned i = 0; i &lt; posZOrderList()-&gt;size(); ++i)
&gt; +                m_has3DTransformedDescendant |= posZOrderList()-&gt;at(i)-&gt;update3DTransformedDescendantStatus();

To avoid 3 calls through posZOrderList() it might be better to do if (Vector&lt;...&gt; list = postZOrderList()) { ... }

&gt; Source/WebCore/rendering/RenderLayer.cpp:751
&gt; +        if (negZOrderList()) {
&gt; +            for (unsigned i = 0; i &lt; negZOrderList()-&gt;size(); ++i)
&gt; +                m_has3DTransformedDescendant |= negZOrderList()-&gt;at(i)-&gt;update3DTransformedDescendantStatus();

Ditto.

&gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:1751
&gt; +    return layer-&gt;negZOrderList() &amp;&amp; layer-&gt;negZOrderList()-&gt;size() &gt; 0;

Can we make this an accessor on RenderLayer, like hasNegZOrderChildren() or something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624268</commentid>
    <comment_count>3</comment_count>
      <attachid>142005</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-15 10:57:31 -0700</bug_when>
    <thetext>Created attachment 142005
Proposed change 2: augmented with Simon&apos;s suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624576</commentid>
    <comment_count>4</comment_count>
      <attachid>142005</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 14:33:00 -0700</bug_when>
    <thetext>Comment on attachment 142005
Proposed change 2: augmented with Simon&apos;s suggestions.

Clearing flags on attachment: 142005

Committed r117162: &lt;http://trac.webkit.org/changeset/117162&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624577</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 14:33:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141823</attachid>
            <date>2012-05-14 17:23:43 -0700</date>
            <delta_ts>2012-05-15 10:57:28 -0700</delta_ts>
            <desc>Proposed change, fixed 2 places where the ASSERTs where triggering.</desc>
            <filename>bug-86416-20120514172342.patch</filename>
            <type>text/plain</type>
            <size>7115</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE0M2YzMWIwZDI5OWQw
ODAyZTM2OGIxYjM3YjdmOTliNjY1MjZhZi4uYTg0MmRhZDMyNmRmYzM1ODVjMGY0Y2ExNmI4MjQ4
YTVhNjBlOWQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA1LTE0ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBwb3Na
T3JkZXJMaXN0KCkgLyBuZWdaT3JkZXJMaXN0KCkgZXZlcnl3aGVyZSB0byBhdm9pZCBxdWVyeWlu
ZyBkaXJ0aWVkIGxpc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NjQxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgdGhhdCBhcmUgbm90IEFTU0VSVGluZyBh
ZnRlciB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFw
aGljc0xheWVyQ29uZmlndXJhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGUzRFRyYW5zZm9ybWVk
RGVzY2VuZGFudFN0YXR1cyk6CisgICAgICAgIEFkZGVkIGEgY2FsbCB0byB1cGRhdGVaT3JkZXJM
aXN0cygpIHRvIHRoZSBwcmV2aW91cyBzaXRlcyBhcyBub3RoaW5nIGd1YXJhbnRlZXMKKyAgICAg
ICAgdGhhdCB3ZSBoYXZlIHJlY29tcHV0ZWQgb3VyIHotb3JkZXIgbGlzdHMuCisKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcik6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNv
bXBvc2l0b3I6Om5lZWRzQ29udGVudHNDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgQ29udmVy
dGVkIHRob3NlIGZ1bmN0aW9ucyB0byB1c2UgdGhlIHNhZmUgZ2V0dGVycy4KKwogMjAxMi0wNS0x
NCAgTWlrZSBXZXN0ICA8bWlrZUBtaWtld2VzdC5vcmc+CiAKICAgICAgICAgQ29udGVudCBTZWN1
cml0eSBQb2xpY3kgY29uc29sZSBlcnJvcnMgaW5jbHVkZSB2aW9sYXRlZCBkaXJlY3RpdmUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBlMDIxYTQxMjc5Mjkz
OGZiM2I5OGI0NzZiZDNlYzE2MTg0YmQ1OWNlLi4xYWMwY2M3MmYzNDM4ZWJkOGY0NzIxNThhMzgy
Yzc1NjY4ZTI5ZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
QEAgLTczNiwxNyArNzM2LDE5IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnVwZGF0ZTNEVHJhbnNmb3Jt
ZWREZXNjZW5kYW50U3RhdHVzKCkKICAgICBpZiAobV8zRFRyYW5zZm9ybWVkRGVzY2VuZGFudFN0
YXR1c0RpcnR5KSB7CiAgICAgICAgIG1faGFzM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnQgPSBmYWxz
ZTsKIAorICAgICAgICB1cGRhdGVaT3JkZXJMaXN0cygpOworCiAgICAgICAgIC8vIFRyYW5zZm9y
bWVkIG9yIHByZXNlcnZlLTNkIGRlc2NlbmRhbnRzIGNhbiBvbmx5IGJlIGluIHRoZSB6LW9yZGVy
IGxpc3RzLCBub3QKICAgICAgICAgLy8gaW4gdGhlIG5vcm1hbCBmbG93IGxpc3QsIHNvIHdlIG9u
bHkgbmVlZCB0byBjaGVjayB0aG9zZS4KLSAgICAgICAgaWYgKG1fcG9zWk9yZGVyTGlzdCkgewot
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcG9zWk9yZGVyTGlzdC0+c2l6
ZSgpOyArK2kpCi0gICAgICAgICAgICAgICAgbV9oYXMzRFRyYW5zZm9ybWVkRGVzY2VuZGFudCB8
PSBtX3Bvc1pPcmRlckxpc3QtPmF0KGkpLT51cGRhdGUzRFRyYW5zZm9ybWVkRGVzY2VuZGFudFN0
YXR1cygpOworICAgICAgICBpZiAocG9zWk9yZGVyTGlzdCgpKSB7CisgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgcG9zWk9yZGVyTGlzdCgpLT5zaXplKCk7ICsraSkKKyAgICAg
ICAgICAgICAgICBtX2hhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50IHw9IHBvc1pPcmRlckxpc3Qo
KS0+YXQoaSktPnVwZGF0ZTNEVHJhbnNmb3JtZWREZXNjZW5kYW50U3RhdHVzKCk7CiAgICAgICAg
IH0KIAogICAgICAgICAvLyBOb3cgY2hlY2sgb3VyIG5lZ2F0aXZlIHotaW5kZXggY2hpbGRyZW4u
Ci0gICAgICAgIGlmIChtX25lZ1pPcmRlckxpc3QpIHsKLSAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtX25lZ1pPcmRlckxpc3QtPnNpemUoKTsgKytpKQotICAgICAgICAgICAg
ICAgIG1faGFzM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnQgfD0gbV9uZWdaT3JkZXJMaXN0LT5hdChp
KS0+dXBkYXRlM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRTdGF0dXMoKTsKKyAgICAgICAgaWYgKG5l
Z1pPcmRlckxpc3QoKSkgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5l
Z1pPcmRlckxpc3QoKS0+c2l6ZSgpOyArK2kpCisgICAgICAgICAgICAgICAgbV9oYXMzRFRyYW5z
Zm9ybWVkRGVzY2VuZGFudCB8PSBuZWdaT3JkZXJMaXN0KCktPmF0KGkpLT51cGRhdGUzRFRyYW5z
Zm9ybWVkRGVzY2VuZGFudFN0YXR1cygpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBt
XzNEVHJhbnNmb3JtZWREZXNjZW5kYW50U3RhdHVzRGlydHkgPSBmYWxzZTsKQEAgLTMwODIsNyAr
MzA4NCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhSZW5kZXJMYXll
ciogcm9vdExheWVyLCBHcmFwaGljc0NvbnRleHQqIGNvCiAgICAgICAgIH0KIAogICAgICAgICAv
LyBOb3cgd2FsayB0aGUgc29ydGVkIGxpc3Qgb2YgY2hpbGRyZW4gd2l0aCBuZWdhdGl2ZSB6LWlu
ZGljZXMuCi0gICAgICAgIHBhaW50TGlzdChtX25lZ1pPcmRlckxpc3QsIHJvb3RMYXllciwgY29u
dGV4dCwgcGFpbnREaXJ0eVJlY3QsIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9vdCwgcmVnaW9u
LCBvdmVybGFwVGVzdFJlcXVlc3RzLCBsb2NhbFBhaW50RmxhZ3MpOworICAgICAgICBwYWludExp
c3QobmVnWk9yZGVyTGlzdCgpLCByb290TGF5ZXIsIGNvbnRleHQsIHBhaW50RGlydHlSZWN0LCBw
YWludEJlaGF2aW9yLCBwYWludGluZ1Jvb3QsIHJlZ2lvbiwgb3ZlcmxhcFRlc3RSZXF1ZXN0cywg
bG9jYWxQYWludEZsYWdzKTsKICAgICB9CiAgICAgCiAgICAgaWYgKGxvY2FsUGFpbnRGbGFncyAm
IFBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlKSB7CkBAIC0zMTI5
LDcgKzMxMzEsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoUmVuZGVy
TGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3NDb250ZXh0KiBjbwogICAgICAgICBwYWludExpc3Qo
bV9ub3JtYWxGbG93TGlzdCwgcm9vdExheWVyLCBjb250ZXh0LCBwYWludERpcnR5UmVjdCwgcGFp
bnRCZWhhdmlvciwgcGFpbnRpbmdSb290LCByZWdpb24sIG92ZXJsYXBUZXN0UmVxdWVzdHMsIGxv
Y2FsUGFpbnRGbGFncyk7CiAgICAgCiAgICAgICAgIC8vIE5vdyB3YWxrIHRoZSBzb3J0ZWQgbGlz
dCBvZiBjaGlsZHJlbiB3aXRoIHBvc2l0aXZlIHotaW5kaWNlcy4KLSAgICAgICAgcGFpbnRMaXN0
KG1fcG9zWk9yZGVyTGlzdCwgcm9vdExheWVyLCBjb250ZXh0LCBwYWludERpcnR5UmVjdCwgcGFp
bnRCZWhhdmlvciwgcGFpbnRpbmdSb290LCByZWdpb24sIG92ZXJsYXBUZXN0UmVxdWVzdHMsIGxv
Y2FsUGFpbnRGbGFncyk7CisgICAgICAgIHBhaW50TGlzdChwb3NaT3JkZXJMaXN0KCksIHJvb3RM
YXllciwgY29udGV4dCwgcGFpbnREaXJ0eVJlY3QsIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9v
dCwgcmVnaW9uLCBvdmVybGFwVGVzdFJlcXVlc3RzLCBsb2NhbFBhaW50RmxhZ3MpOwogICAgIH0K
ICAgICAKICAgICBpZiAoKGxvY2FsUGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGluZ0NvbXBv
c2l0aW5nTWFza1BoYXNlKSAmJiBzaG91bGRQYWludENvbnRlbnQgJiYgcmVuZGVyZXIoKS0+aGFz
TWFzaygpICYmICFzZWxlY3Rpb25Pbmx5KSB7CkBAIC0zNTQ4LDcgKzM1NTAsNyBAQCBSZW5kZXJM
YXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcihSZW5kZXJMYXllciogcm9vdExheWVyLCBS
ZW5kZXJMYXllciogY29udAogICAgIFJlbmRlckxheWVyKiBjYW5kaWRhdGVMYXllciA9IDA7CiAK
ICAgICAvLyBCZWdpbiBieSB3YWxraW5nIG91ciBsaXN0IG9mIHBvc2l0aXZlIGxheWVycyBmcm9t
IGhpZ2hlc3Qgei1pbmRleCBkb3duIHRvIHRoZSBsb3dlc3Qgei1pbmRleC4KLSAgICBSZW5kZXJM
YXllciogaGl0TGF5ZXIgPSBoaXRUZXN0TGlzdChtX3Bvc1pPcmRlckxpc3QsIHJvb3RMYXllciwg
cmVxdWVzdCwgcmVzdWx0LCBoaXRUZXN0UmVjdCwgaGl0VGVzdFBvaW50LAorICAgIFJlbmRlckxh
eWVyKiBoaXRMYXllciA9IGhpdFRlc3RMaXN0KHBvc1pPcmRlckxpc3QoKSwgcm9vdExheWVyLCBy
ZXF1ZXN0LCByZXN1bHQsIGhpdFRlc3RSZWN0LCBoaXRUZXN0UG9pbnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxUcmFuc2Zvcm1TdGF0ZS5nZXQoKSwgek9m
ZnNldEZvckRlc2NlbmRhbnRzUHRyLCB6T2Zmc2V0LCB1bmZsYXR0ZW5lZFRyYW5zZm9ybVN0YXRl
LmdldCgpLCBkZXB0aFNvcnREZXNjZW5kYW50cyk7CiAgICAgaWYgKGhpdExheWVyKSB7CiAgICAg
ICAgIGlmICghZGVwdGhTb3J0RGVzY2VuZGFudHMpCkBAIC0zNTg0LDcgKzM1ODYsNyBAQCBSZW5k
ZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcihSZW5kZXJMYXllciogcm9vdExheWVy
LCBSZW5kZXJMYXllciogY29udAogICAgIH0KIAogICAgIC8vIE5vdyBjaGVjayBvdXIgbmVnYXRp
dmUgei1pbmRleCBjaGlsZHJlbi4KLSAgICBoaXRMYXllciA9IGhpdFRlc3RMaXN0KG1fbmVnWk9y
ZGVyTGlzdCwgcm9vdExheWVyLCByZXF1ZXN0LCByZXN1bHQsIGhpdFRlc3RSZWN0LCBoaXRUZXN0
UG9pbnQsCisgICAgaGl0TGF5ZXIgPSBoaXRUZXN0TGlzdChuZWdaT3JkZXJMaXN0KCksIHJvb3RM
YXllciwgcmVxdWVzdCwgcmVzdWx0LCBoaXRUZXN0UmVjdCwgaGl0VGVzdFBvaW50LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsVHJhbnNmb3JtU3RhdGUuZ2V0
KCksIHpPZmZzZXRGb3JEZXNjZW5kYW50c1B0ciwgek9mZnNldCwgdW5mbGF0dGVuZWRUcmFuc2Zv
cm1TdGF0ZS5nZXQoKSwgZGVwdGhTb3J0RGVzY2VuZGFudHMpOwogICAgIGlmIChoaXRMYXllcikg
ewogICAgICAgICBpZiAoIWRlcHRoU29ydERlc2NlbmRhbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA4OWYzYmI3N2JhZGFhMTZj
NGI5NTljNzM0ZDQzMWRiNTY2MmYwMWMzLi5lZTM5OTEyYTkyOTJhZDE0N2NkMTlhY2I5YWMyMTY5
YzRkYmYyNzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcApAQCAtMzI1LDYgKzMyNSw4IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1
cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbigpCiAgICAgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yKiBjb21wb3NpdG9yID0gdGhpcy0+Y29tcG9zaXRvcigpOwogICAgIFJlbmRlck9iamVjdCog
cmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpOwogCisgICAgbV9vd25pbmdMYXllci0+dXBkYXRl
Wk9yZGVyTGlzdHMoKTsKKwogICAgIGJvb2wgbGF5ZXJDb25maWdDaGFuZ2VkID0gZmFsc2U7CiAg
ICAgaWYgKHVwZGF0ZUZvcmVncm91bmRMYXllcihjb21wb3NpdG9yLT5uZWVkc0NvbnRlbnRzQ29t
cG9zaXRpbmdMYXllcihtX293bmluZ0xheWVyKSkpCiAgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwCmluZGV4IDFhZTBlZDQxNDE3MjUyY2U3MjlkZWM2ZTU1MzM0N2MzOGZhYmM1
OGEuLmIwZjhiNzc2NjA5MmIzMGM5NWVmYzVhOTI3NDc3YmUzY2VjODE2NmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0x
NzQ4LDcgKzE3NDgsNyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6aXNSdW5uaW5nQWNj
ZWxlcmF0ZWRUcmFuc2Zvcm1BbmltYXRpb24oUmVuZGVyT2JqZWN0KgogLy8gb2JqZWN0LgogYm9v
bCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Om5lZWRzQ29udGVudHNDb21wb3NpdGluZ0xheWVyKGNv
bnN0IFJlbmRlckxheWVyKiBsYXllcikgY29uc3QKIHsKLSAgICByZXR1cm4gKGxheWVyLT5tX25l
Z1pPcmRlckxpc3QgJiYgbGF5ZXItPm1fbmVnWk9yZGVyTGlzdC0+c2l6ZSgpID4gMCk7CisgICAg
cmV0dXJuIGxheWVyLT5uZWdaT3JkZXJMaXN0KCkgJiYgbGF5ZXItPm5lZ1pPcmRlckxpc3QoKS0+
c2l6ZSgpID4gMDsKIH0KIAogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzU2Ny
b2xsTGF5ZXIoUm9vdExheWVyQXR0YWNobWVudCBhdHRhY2htZW50KSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142005</attachid>
            <date>2012-05-15 10:57:31 -0700</date>
            <delta_ts>2012-05-15 14:33:00 -0700</delta_ts>
            <desc>Proposed change 2: augmented with Simon&apos;s suggestions.</desc>
            <filename>bug-86416-20120515105730.patch</filename>
            <type>text/plain</type>
            <size>7932</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2JiYzcyOTAyZjc2MzNj
OGI3OWNiZDMxZmRhMDk5M2Q3ZTFmYThlYi4uNTQ5NzQ3NTZmZDYxNjcwNThiNDAxYmRhM2JmZjUz
MWM1MWM5ZDkyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA1LTE1ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBwb3Na
T3JkZXJMaXN0KCkgLyBuZWdaT3JkZXJMaXN0KCkgZXZlcnl3aGVyZSB0byBhdm9pZCBxdWVyeWlu
ZyBkaXJ0aWVkIGxpc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NjQxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgdGhhdCBhcmUgbm90IEFTU0VSVGluZyBh
ZnRlciB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFw
aGljc0xheWVyQ29uZmlndXJhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGUzRFRyYW5zZm9ybWVk
RGVzY2VuZGFudFN0YXR1cyk6CisgICAgICAgIEFkZGVkIGEgY2FsbCB0byB1cGRhdGVaT3JkZXJM
aXN0cygpIHRvIHRoZSBwcmV2aW91cyBzaXRlcyBhcyBub3RoaW5nIGd1YXJhbnRlZXMKKyAgICAg
ICAgdGhhdCB3ZSBoYXZlIHJlY29tcHV0ZWQgb3VyIHotb3JkZXIgbGlzdHMuCisKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcik6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNv
bXBvc2l0b3I6Om5lZWRzQ29udGVudHNDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgQ29udmVy
dGVkIHRob3NlIGZ1bmN0aW9ucyB0byB1c2UgdGhlIHNhZmUgZ2V0dGVycy4KKworICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
Omhhc05lZ2F0aXZlWk9yZGVyTGlzdCk6CisgICAgICAgIE5ld2x5IGFkZGVkIGZ1bnRpb24gdG8g
cmV0dXJuIGlmIHdlIGhhdmUgYSBuZWdhdGl2ZSB6LW9yZGVyIGxpc3QuCisKIDIwMTItMDUtMTUg
IEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAogICAgICAg
ICBbUXRdIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtY2hlY2staGVh
ZC1yZWFkeXN0YXRlLWZvci00MDQuaHRtbCB0aW1lcyBvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE4ZmRiNjJlZmNmNmJmYzQzNDlmOWU2MWVkOGY2NWI5
MGI2NDhkNTEuLjhlOGYxNzU1NWYwY2RiZjc4YTc0ODkxZThjMzAxYjgzNzBjNWNjMzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNzQxLDE3ICs3NDEsMTkg
QEAgYm9vbCBSZW5kZXJMYXllcjo6dXBkYXRlM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRTdGF0dXMo
KQogICAgIGlmIChtXzNEVHJhbnNmb3JtZWREZXNjZW5kYW50U3RhdHVzRGlydHkpIHsKICAgICAg
ICAgbV9oYXMzRFRyYW5zZm9ybWVkRGVzY2VuZGFudCA9IGZhbHNlOwogCisgICAgICAgIHVwZGF0
ZVpPcmRlckxpc3RzKCk7CisKICAgICAgICAgLy8gVHJhbnNmb3JtZWQgb3IgcHJlc2VydmUtM2Qg
ZGVzY2VuZGFudHMgY2FuIG9ubHkgYmUgaW4gdGhlIHotb3JkZXIgbGlzdHMsIG5vdAogICAgICAg
ICAvLyBpbiB0aGUgbm9ybWFsIGZsb3cgbGlzdCwgc28gd2Ugb25seSBuZWVkIHRvIGNoZWNrIHRo
b3NlLgotICAgICAgICBpZiAobV9wb3NaT3JkZXJMaXN0KSB7Ci0gICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9wb3NaT3JkZXJMaXN0LT5zaXplKCk7ICsraSkKLSAgICAgICAg
ICAgICAgICBtX2hhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50IHw9IG1fcG9zWk9yZGVyTGlzdC0+
YXQoaSktPnVwZGF0ZTNEVHJhbnNmb3JtZWREZXNjZW5kYW50U3RhdHVzKCk7CisgICAgICAgIGlm
IChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogcG9zaXRpdmVaT3JkZXJMaXN0ID0gcG9zWk9yZGVyTGlz
dCgpKSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcG9zaXRpdmVaT3Jk
ZXJMaXN0LT5zaXplKCk7ICsraSkKKyAgICAgICAgICAgICAgICBtX2hhczNEVHJhbnNmb3JtZWRE
ZXNjZW5kYW50IHw9IHBvc2l0aXZlWk9yZGVyTGlzdC0+YXQoaSktPnVwZGF0ZTNEVHJhbnNmb3Jt
ZWREZXNjZW5kYW50U3RhdHVzKCk7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBOb3cgY2hlY2sg
b3VyIG5lZ2F0aXZlIHotaW5kZXggY2hpbGRyZW4uCi0gICAgICAgIGlmIChtX25lZ1pPcmRlckxp
c3QpIHsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX25lZ1pPcmRlckxp
c3QtPnNpemUoKTsgKytpKQotICAgICAgICAgICAgICAgIG1faGFzM0RUcmFuc2Zvcm1lZERlc2Nl
bmRhbnQgfD0gbV9uZWdaT3JkZXJMaXN0LT5hdChpKS0+dXBkYXRlM0RUcmFuc2Zvcm1lZERlc2Nl
bmRhbnRTdGF0dXMoKTsKKyAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWdhdGl2
ZVpPcmRlckxpc3QgPSBuZWdaT3JkZXJMaXN0KCkpIHsKKyAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBuZWdhdGl2ZVpPcmRlckxpc3QtPnNpemUoKTsgKytpKQorICAgICAgICAg
ICAgICAgIG1faGFzM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnQgfD0gbmVnYXRpdmVaT3JkZXJMaXN0
LT5hdChpKS0+dXBkYXRlM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRTdGF0dXMoKTsKICAgICAgICAg
fQogICAgICAgICAKICAgICAgICAgbV8zRFRyYW5zZm9ybWVkRGVzY2VuZGFudFN0YXR1c0RpcnR5
ID0gZmFsc2U7CkBAIC0zMDg3LDcgKzMwODksNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExh
eWVyQ29udGVudHMoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3NDb250ZXh0KiBjbwog
ICAgICAgICB9CiAKICAgICAgICAgLy8gTm93IHdhbGsgdGhlIHNvcnRlZCBsaXN0IG9mIGNoaWxk
cmVuIHdpdGggbmVnYXRpdmUgei1pbmRpY2VzLgotICAgICAgICBwYWludExpc3QobV9uZWdaT3Jk
ZXJMaXN0LCByb290TGF5ZXIsIGNvbnRleHQsIHBhaW50RGlydHlSZWN0LCBwYWludEJlaGF2aW9y
LCBwYWludGluZ1Jvb3QsIHJlZ2lvbiwgb3ZlcmxhcFRlc3RSZXF1ZXN0cywgbG9jYWxQYWludEZs
YWdzKTsKKyAgICAgICAgcGFpbnRMaXN0KG5lZ1pPcmRlckxpc3QoKSwgcm9vdExheWVyLCBjb250
ZXh0LCBwYWludERpcnR5UmVjdCwgcGFpbnRCZWhhdmlvciwgcGFpbnRpbmdSb290LCByZWdpb24s
IG92ZXJsYXBUZXN0UmVxdWVzdHMsIGxvY2FsUGFpbnRGbGFncyk7CiAgICAgfQogICAgIAogICAg
IGlmIChsb2NhbFBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVn
cm91bmRQaGFzZSkgewpAQCAtMzEzNCw3ICszMTM2LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFp
bnRMYXllckNvbnRlbnRzKFJlbmRlckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNzQ29udGV4dCog
Y28KICAgICAgICAgcGFpbnRMaXN0KG1fbm9ybWFsRmxvd0xpc3QsIHJvb3RMYXllciwgY29udGV4
dCwgcGFpbnREaXJ0eVJlY3QsIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9vdCwgcmVnaW9uLCBv
dmVybGFwVGVzdFJlcXVlc3RzLCBsb2NhbFBhaW50RmxhZ3MpOwogICAgIAogICAgICAgICAvLyBO
b3cgd2FsayB0aGUgc29ydGVkIGxpc3Qgb2YgY2hpbGRyZW4gd2l0aCBwb3NpdGl2ZSB6LWluZGlj
ZXMuCi0gICAgICAgIHBhaW50TGlzdChtX3Bvc1pPcmRlckxpc3QsIHJvb3RMYXllciwgY29udGV4
dCwgcGFpbnREaXJ0eVJlY3QsIHBhaW50QmVoYXZpb3IsIHBhaW50aW5nUm9vdCwgcmVnaW9uLCBv
dmVybGFwVGVzdFJlcXVlc3RzLCBsb2NhbFBhaW50RmxhZ3MpOworICAgICAgICBwYWludExpc3Qo
cG9zWk9yZGVyTGlzdCgpLCByb290TGF5ZXIsIGNvbnRleHQsIHBhaW50RGlydHlSZWN0LCBwYWlu
dEJlaGF2aW9yLCBwYWludGluZ1Jvb3QsIHJlZ2lvbiwgb3ZlcmxhcFRlc3RSZXF1ZXN0cywgbG9j
YWxQYWludEZsYWdzKTsKICAgICB9CiAgICAgCiAgICAgaWYgKChsb2NhbFBhaW50RmxhZ3MgJiBQ
YWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ01hc2tQaGFzZSkgJiYgc2hvdWxkUGFpbnRDb250
ZW50ICYmIHJlbmRlcmVyKCktPmhhc01hc2soKSAmJiAhc2VsZWN0aW9uT25seSkgewpAQCAtMzU1
Myw3ICszNTU1LDcgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIoUmVu
ZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGNvbnQKICAgICBSZW5kZXJMYXllciog
Y2FuZGlkYXRlTGF5ZXIgPSAwOwogCiAgICAgLy8gQmVnaW4gYnkgd2Fsa2luZyBvdXIgbGlzdCBv
ZiBwb3NpdGl2ZSBsYXllcnMgZnJvbSBoaWdoZXN0IHotaW5kZXggZG93biB0byB0aGUgbG93ZXN0
IHotaW5kZXguCi0gICAgUmVuZGVyTGF5ZXIqIGhpdExheWVyID0gaGl0VGVzdExpc3QobV9wb3Na
T3JkZXJMaXN0LCByb290TGF5ZXIsIHJlcXVlc3QsIHJlc3VsdCwgaGl0VGVzdFJlY3QsIGhpdFRl
c3RQb2ludCwKKyAgICBSZW5kZXJMYXllciogaGl0TGF5ZXIgPSBoaXRUZXN0TGlzdChwb3NaT3Jk
ZXJMaXN0KCksIHJvb3RMYXllciwgcmVxdWVzdCwgcmVzdWx0LCBoaXRUZXN0UmVjdCwgaGl0VGVz
dFBvaW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsVHJh
bnNmb3JtU3RhdGUuZ2V0KCksIHpPZmZzZXRGb3JEZXNjZW5kYW50c1B0ciwgek9mZnNldCwgdW5m
bGF0dGVuZWRUcmFuc2Zvcm1TdGF0ZS5nZXQoKSwgZGVwdGhTb3J0RGVzY2VuZGFudHMpOwogICAg
IGlmIChoaXRMYXllcikgewogICAgICAgICBpZiAoIWRlcHRoU29ydERlc2NlbmRhbnRzKQpAQCAt
MzU4OSw3ICszNTkxLDcgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIo
UmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGNvbnQKICAgICB9CiAKICAgICAv
LyBOb3cgY2hlY2sgb3VyIG5lZ2F0aXZlIHotaW5kZXggY2hpbGRyZW4uCi0gICAgaGl0TGF5ZXIg
PSBoaXRUZXN0TGlzdChtX25lZ1pPcmRlckxpc3QsIHJvb3RMYXllciwgcmVxdWVzdCwgcmVzdWx0
LCBoaXRUZXN0UmVjdCwgaGl0VGVzdFBvaW50LAorICAgIGhpdExheWVyID0gaGl0VGVzdExpc3Qo
bmVnWk9yZGVyTGlzdCgpLCByb290TGF5ZXIsIHJlcXVlc3QsIHJlc3VsdCwgaGl0VGVzdFJlY3Qs
IGhpdFRlc3RQb2ludCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
b2NhbFRyYW5zZm9ybVN0YXRlLmdldCgpLCB6T2Zmc2V0Rm9yRGVzY2VuZGFudHNQdHIsIHpPZmZz
ZXQsIHVuZmxhdHRlbmVkVHJhbnNmb3JtU3RhdGUuZ2V0KCksIGRlcHRoU29ydERlc2NlbmRhbnRz
KTsKICAgICBpZiAoaGl0TGF5ZXIpIHsKICAgICAgICAgaWYgKCFkZXB0aFNvcnREZXNjZW5kYW50
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZDQzYTA0MGVkYjQ3
NDdiZWVlMDRiMjI1OTQ4ODFkMzY1YzZkYmM4My4uMmI2ZDg0NjJkNGMzZTgwMTYyOTYzOGEwNDI1
YmEyODk5NjE3OTIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAg
LTM5NCw2ICszOTQsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3Bvc1pPcmRlckxpc3Q7
CiAgICAgfQogCisgICAgYm9vbCBoYXNOZWdhdGl2ZVpPcmRlckxpc3QoKSBjb25zdCB7IHJldHVy
biBuZWdaT3JkZXJMaXN0KCkgJiYgbmVnWk9yZGVyTGlzdCgpLT5zaXplKCk7IH0KKwogICAgIFZl
Y3RvcjxSZW5kZXJMYXllcio+KiBuZWdaT3JkZXJMaXN0KCkgY29uc3QKICAgICB7CiAgICAgICAg
IEFTU0VSVCghbV96T3JkZXJMaXN0c0RpcnR5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggODlmM2JiNzdiYWRhYTE2YzRiOTU5Yzcz
NGQ0MzFkYjU2NjJmMDFjMy4uZWUzOTkxMmE5MjkyYWQxNDdjZDE5YWNiOWFjMjE2OWM0ZGJmMjcx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAKQEAgLTMyNSw2ICszMjUsOCBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3Jh
cGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKQogICAgIFJlbmRlckxheWVyQ29tcG9zaXRvciogY29t
cG9zaXRvciA9IHRoaXMtPmNvbXBvc2l0b3IoKTsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVy
ID0gdGhpcy0+cmVuZGVyZXIoKTsKIAorICAgIG1fb3duaW5nTGF5ZXItPnVwZGF0ZVpPcmRlckxp
c3RzKCk7CisKICAgICBib29sIGxheWVyQ29uZmlnQ2hhbmdlZCA9IGZhbHNlOwogICAgIGlmICh1
cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoY29tcG9zaXRvci0+bmVlZHNDb250ZW50c0NvbXBvc2l0aW5n
TGF5ZXIobV9vd25pbmdMYXllcikpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAppbmRleCAxYWUwZWQ0MTQxNzI1MmNlNzI5ZGVjNmU1NTMzNDdjMzhmYWJjNThhLi43OWRm
ZWYyYTgxMzMyYmNkOGEzZjczMDc0NzZmNGFhMGEyZWJhYjczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTc0OCw3ICsx
NzQ4LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmlzUnVubmluZ0FjY2VsZXJhdGVk
VHJhbnNmb3JtQW5pbWF0aW9uKFJlbmRlck9iamVjdCoKIC8vIG9iamVjdC4KIGJvb2wgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpuZWVkc0NvbnRlbnRzQ29tcG9zaXRpbmdMYXllcihjb25zdCBSZW5k
ZXJMYXllciogbGF5ZXIpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIChsYXllci0+bV9uZWdaT3JkZXJM
aXN0ICYmIGxheWVyLT5tX25lZ1pPcmRlckxpc3QtPnNpemUoKSA+IDApOworICAgIHJldHVybiBs
YXllci0+aGFzTmVnYXRpdmVaT3JkZXJMaXN0KCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpyZXF1aXJlc1Njcm9sbExheWVyKFJvb3RMYXllckF0dGFjaG1lbnQgYXR0YWNobWVu
dCkgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>