<?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>82099</bug_id>
          
          <creation_ts>2012-03-23 16:01:31 -0700</creation_ts>
          <short_desc>Simplify setting loading state in DocumentLoader</short_desc>
          <delta_ts>2012-03-26 13:34:22 -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>WebCore Misc.</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="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>586835</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-03-23 16:01:31 -0700</bug_when>
    <thetext>DocumentLoader::isLoading() just returns m_loading, but the logic for setting m_loading is circuitous to say the least.  It gets set consistently by some functions (e.g., addSubresourceLoader), but it also is set by updateLoading(), which sets it based on FrameLoader::isLoading(), which is based on a bunch of different DocumentLoader functions.

I&apos;ve got a patch that greatly simplifies this logic that I will post shortly.  Then again, I might be stepping on a landmine :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586853</commentid>
    <comment_count>1</comment_count>
      <attachid>133585</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-03-23 16:26:34 -0700</bug_when>
    <thetext>Created attachment 133585
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588052</commentid>
    <comment_count>2</comment_count>
      <attachid>133585</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-26 13:19:20 -0700</bug_when>
    <thetext>Comment on attachment 133585
patch

This looks great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588075</commentid>
    <comment_count>3</comment_count>
      <attachid>133585</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 13:34:18 -0700</bug_when>
    <thetext>Comment on attachment 133585
patch

Clearing flags on attachment: 133585

Committed r112144: &lt;http://trac.webkit.org/changeset/112144&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588076</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 13:34:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133585</attachid>
            <date>2012-03-23 16:26:34 -0700</date>
            <delta_ts>2012-03-26 13:34:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>isLoading.txt</filename>
            <type>text/plain</type>
            <size>10194</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTkyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTIzICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU2ltcGxpZnkgc2V0dGluZyBs
b2FkaW5nIHN0YXRlIGluIERvY3VtZW50TG9hZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjA5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBsb2dpYyBmb3IgZGVjaWRpbmcgd2hhdCB0byByZXR1
cm4gZm9yIERvY3VtZW50TG9hZGVyOjppc0xvYWRpbmcoKQorICAgICAgICBpcyBjcmF6eS4gSXQn
cyBpbmRpcmVjdGx5IGJhc2VkIG9uIHRoZSBSZXNvdXJjZUxvYWRlcnMgdGhhdCBoYXZlCisgICAg
ICAgIHJlZ2lzdGVyZWQgdGhlbXNlbHZlcyB3aXRoIHRoZSBEb2N1bWVudExvYWRlciwgYnV0IHdl
IGNhbiBtYWtlIHRoYXQKKyAgICAgICAgcmVsYXRpb25zaGlwIG1vcmUgZGlyZWN0LgorCisgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZSk6IFJlbmFtZWQgZnJvbSB1cGRhdGVMb2FkaW5n
LCBzaW5jZSBpdCdzIG5vdCBhY3R1YWxseQorICAgICAgICAgICAgdXBkYXRpbmcgYW55dGhpbmcg
YW55bW9yZS4gSXQgbm93IGNhbGxzIERPTVdpbmRvdzo6ZmluaXNoZWRMb2FkaW5nKCkgaWYgbG9h
ZGluZyBpcyBpbiBmYWN0IGRvbmUuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKTogVGhlIG9ubHkgcmVhc29uIHRoaXMgaGFkIGEgcmV0
dXJuIHZhbHVlIHdhcyB0byBjYWxsCisgICAgICAgICAgICB1cGRhdGVMb2FkaW5nKCkgaWYgbG9h
ZGluZyBmYWlsZWQuIEp1c3QgY2FsbCBjaGVja0xvYWRDb21wbGV0ZSgpIGRpcmVjdGx5ICh0aGlz
IGFsbG93cyBpdCB0bworICAgICAgICAgICAgYmUgcHJpdmF0ZSwgd2hlcmVhcyB1cGRhdGVMb2Fk
aW5nKCkgd2FzIHB1YmxpYykuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3Vi
cmVzb3VyY2VMb2FkZXJGaW5pc2hlZExvYWRpbmdPbmVQYXJ0KToKKyAgICAgICAgKiBsb2FkZXIv
RG9jdW1lbnRMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjppc0xv
YWRpbmcpOiBSYXRoZXIgdGhhbiBob2xkaW5nIGEgc2VwYXJhdGUgYm9vbCwgcmV0dXJuIGJhc2Vk
IG9uIHRoZSBwcmVzZW5jZQorICAgICAgICAgICAgb2Ygbm9uLW11bHRpcGFydCBSZXNvdXJjZUxv
YWRlcnMgZGlyZWN0bHkuCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjppc0xvYWRpbmcpOiBEZXBlbmQgb24gRG9jdW1lbnRM
b2FkZXI6OmlzTG9hZGluZygpIGZvciB0aGUgYWN0aXZlRG9jdW1lbnRMb2FkZXIoKSwKKyAgICAg
ICAgICAgIHJhdGhlciB0aGFuIGluZGlyZWN0bHkgdGhlIG90aGVyIHdheSBhcm91bmQuCisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWUp
OiBSZW1vdmUgc2V2ZXJhbCBhc3NlcnRpb25zIHRoYXQgc2hvdWxkIG5vdyBiZQorICAgICAgICAg
ICAgYWJzb2x1dGVseSBpZGVudGljYWwgdG8gdGhlIHJlbWFpbmluZyAhcGRsLT5pc0xvYWRpbmco
KS4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlcldpbGxT
dWJtaXRGb3JtKToKKwogMjAxMi0wMy0yMyAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBNYXRjaCBET000IHNwZWMgd2l0aCByZXNwZWN0IHRvIERvY3VtZW50RnJh
Z21lbnQgaW5zZXJ0aW9uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJ
KHJldmlzaW9uIDExMTg4MCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MzgsNyArMTYzOCw3IEBACiAgICAgRG9jdW1lbnRMb2Fk
ZXIqIGRvY0xvYWRlciA9IGFjdGl2ZURvY3VtZW50TG9hZGVyKCk7CiAgICAgaWYgKCFkb2NMb2Fk
ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gZG9jTG9hZGVyLT5pc0xvYWRp
bmdNYWluUmVzb3VyY2UoKSB8fCBkb2NMb2FkZXItPmlzTG9hZGluZ1N1YnJlc291cmNlcygpIHx8
IGRvY0xvYWRlci0+aXNMb2FkaW5nUGx1Z0lucygpOworICAgIHJldHVybiBkb2NMb2FkZXItPmlz
TG9hZGluZygpOwogfQogCiBib29sIEZyYW1lTG9hZGVyOjpmcmFtZUhhc0xvYWRlZCgpIGNvbnN0
CkBAIC0yMjEwLDkgKzIyMTAsNiBAQAogICAgICAgICAgICAgICAgIG1fZGVsZWdhdGVJc0hhbmRs
aW5nUHJvdmlzaW9uYWxMb2FkRXJyb3IgPSBmYWxzZTsKIAogICAgICAgICAgICAgICAgIEFTU0VS
VCghcGRsLT5pc0xvYWRpbmcoKSk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKCFwZGwtPmlzTG9h
ZGluZ01haW5SZXNvdXJjZSgpKTsKLSAgICAgICAgICAgICAgICBBU1NFUlQoIXBkbC0+aXNMb2Fk
aW5nU3VicmVzb3VyY2VzKCkpOwotICAgICAgICAgICAgICAgIEFTU0VSVCghcGRsLT5pc0xvYWRp
bmdQbHVnSW5zKCkpOwogCiAgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgaW4gdGhlIG1pZGRs
ZSBvZiBsb2FkaW5nIG11bHRpcGFydCBkYXRhLCB3ZSBuZWVkIHRvIHJlc3RvcmUgdGhlIGRvY3Vt
ZW50IGxvYWRlci4KICAgICAgICAgICAgICAgICBpZiAoaXNSZXBsYWNpbmcoKSAmJiAhbV9kb2N1
bWVudExvYWRlci5nZXQoKSkKQEAgLTIzMTQsOSArMjMxMSw3IEBACiAgICAgfQogCiAgICAgbV9w
cm92aXNpb25hbERvY3VtZW50TG9hZGVyLT50aW1pbmcoKS0+bWFya05hdmlnYXRpb25TdGFydChm
cmFtZSgpKTsKLQotICAgIGlmICghbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLT5zdGFydExv
YWRpbmdNYWluUmVzb3VyY2UoaWRlbnRpZmllcikpCi0gICAgICAgIG1fcHJvdmlzaW9uYWxEb2N1
bWVudExvYWRlci0+dXBkYXRlTG9hZGluZygpOworICAgIG1fcHJvdmlzaW9uYWxEb2N1bWVudExv
YWRlci0+c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKGlkZW50aWZpZXIpOwogfQogCiBzdGF0aWMg
S1VSTCBvcmlnaW5hdGluZ1VSTEZyb21CYWNrRm9yd2FyZExpc3QoUGFnZSogcGFnZSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCShyZXZpc2lvbiAxMTE4ODApCisr
KyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMTEwLDkgKzExMCw3IEBACiAgICAgICAgIHZvaWQgc3RvcExvYWRpbmcoKTsKICAgICAgICAg
dm9pZCBzZXRDb21taXR0ZWQoYm9vbCBjb21taXR0ZWQpIHsgbV9jb21taXR0ZWQgPSBjb21taXR0
ZWQ7IH0KICAgICAgICAgYm9vbCBpc0NvbW1pdHRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29tbWl0
dGVkOyB9Ci0gICAgICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkaW5n
OyB9Ci0gICAgICAgIHZvaWQgc2V0TG9hZGluZyhib29sIGxvYWRpbmcpIHsgbV9sb2FkaW5nID0g
bG9hZGluZzsgfQotICAgICAgICB2b2lkIHVwZGF0ZUxvYWRpbmcoKTsKKyAgICAgICAgYm9vbCBp
c0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiBpc0xvYWRpbmdNYWluUmVzb3VyY2UoKSB8fCAhbV9z
dWJyZXNvdXJjZUxvYWRlcnMuaXNFbXB0eSgpIHx8ICFtX3BsdWdJblN0cmVhbUxvYWRlcnMuaXNF
bXB0eSgpOyB9CiAgICAgICAgIHZvaWQgcmVjZWl2ZWREYXRhKGNvbnN0IGNoYXIqLCBpbnQpOwog
ICAgICAgICB2b2lkIHNldHVwRm9yUmVwbGFjZUJ5TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBuZXdN
SU1FVHlwZSk7CiAgICAgICAgIHZvaWQgZmluaXNoZWRMb2FkaW5nKCk7CkBAIC0xOTUsNyArMTkz
LDcgQEAKICAgICAgICAgCiAgICAgICAgIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhib29sKTsKIAot
ICAgICAgICBib29sIHN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSh1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIpOworICAgICAgICB2b2lkIHN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIpOwogICAgICAgICB2b2lkIGNhbmNlbE1haW5SZXNvdXJjZUxvYWQoY29u
c3QgUmVzb3VyY2VFcnJvciYpOwogICAgICAgICAKICAgICAgICAgLy8gU3VwcG9ydCBpY29uRGF0
YWJhc2UgaW4gc3luY2hyb25vdXMgbW9kZS4KQEAgLTIwNyw4ICsyMDUsNiBAQAogICAgICAgICB2
b2lkIGdldEljb25EYXRhRm9ySWNvblVSTChjb25zdCBTdHJpbmcmKTsKICAgICAgICAgCiAgICAg
ICAgIGJvb2wgaXNMb2FkaW5nTWFpblJlc291cmNlKCkgY29uc3Q7Ci0gICAgICAgIGJvb2wgaXNM
b2FkaW5nU3VicmVzb3VyY2VzKCkgY29uc3Q7Ci0gICAgICAgIGJvb2wgaXNMb2FkaW5nUGx1Z0lu
cygpIGNvbnN0OwogICAgICAgICBib29sIGlzTG9hZGluZ011bHRpcGFydENvbnRlbnQoKSBjb25z
dDsKIAogICAgICAgICB2b2lkIHN0b3BMb2FkaW5nUGx1Z0lucygpOwpAQCAtMjYyLDYgKzI1OCw3
IEBACiAgICAgICAgIHZvaWQgc2V0TWFpbkRvY3VtZW50RXJyb3IoY29uc3QgUmVzb3VyY2VFcnJv
ciYpOwogICAgICAgICB2b2lkIGNvbW1pdExvYWQoY29uc3QgY2hhciosIGludCk7CiAgICAgICAg
IGJvb2wgZG9lc1Byb2dyZXNzaXZlTG9hZChjb25zdCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdDsK
KyAgICAgICAgdm9pZCBjaGVja0xvYWRDb21wbGV0ZSgpOwogCiAgICAgICAgIHZvaWQgZGVsaXZl
clN1YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KCk7CiAgICAgICAgIHZvaWQgc3Vic3RpdHV0
ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50TG9hZGVyPiopOwpAQCAt
MzAwLDcgKzI5Nyw2IEBACiAKICAgICAgICAgYm9vbCBtX2NvbW1pdHRlZDsKICAgICAgICAgYm9v
bCBtX2lzU3RvcHBpbmc7Ci0gICAgICAgIGJvb2wgbV9sb2FkaW5nOwogICAgICAgICBib29sIG1f
Z290Rmlyc3RCeXRlOwogICAgICAgICBib29sIG1fcHJpbWFyeUxvYWRDb21wbGV0ZTsKICAgICAg
ICAgYm9vbCBtX2lzQ2xpZW50UmVkaXJlY3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAJKHJldmlzaW9uIDExMTg4MCkKKysrIFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwLDcgKzkwLDYgQEAK
ICAgICAsIG1fcmVxdWVzdChyZXEpCiAgICAgLCBtX2NvbW1pdHRlZChmYWxzZSkKICAgICAsIG1f
aXNTdG9wcGluZyhmYWxzZSkKLSAgICAsIG1fbG9hZGluZyhmYWxzZSkKICAgICAsIG1fZ290Rmly
c3RCeXRlKGZhbHNlKQogICAgICwgbV9wcmltYXJ5TG9hZENvbXBsZXRlKGZhbHNlKQogICAgICwg
bV9pc0NsaWVudFJlZGlyZWN0KGZhbHNlKQpAQCAtMjEzLDEwICsyMTIsMTAgQEAKIC8vIGJ1dCBu
b3QgbG9hZHMgaW5pdGlhdGVkIGJ5IGNoaWxkIGZyYW1lcycgZGF0YSBzb3VyY2VzIC0tIHRoYXQn
cyB0aGUgV2ViRnJhbWUncyBqb2IuCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZygp
CiB7Ci0gICAgLy8gSW4gc29tZSByYXJlIGNhc2VzLCBjYWxsaW5nIEZyYW1lTG9hZGVyOjpzdG9w
TG9hZGluZyBjb3VsZCBzZXQgbV9sb2FkaW5nIHRvIGZhbHNlLgorICAgIC8vIEluIHNvbWUgcmFy
ZSBjYXNlcywgY2FsbGluZyBGcmFtZUxvYWRlcjo6c3RvcExvYWRpbmcgY291bGQgY2F1c2UgaXNM
b2FkaW5nKCkgdG8gcmV0dXJuIGZhbHNlLgogICAgIC8vIChUaGlzIGNhbiBoYXBwZW4gd2hlbiB0
aGVyZSdzIGEgc2luZ2xlIFhNTEh0dHBSZXF1ZXN0IGN1cnJlbnRseSBsb2FkaW5nIGFuZCBzdG9w
TG9hZGluZyBjYXVzZXMgaXQKICAgICAvLyB0byBzdG9wIGxvYWRpbmcuIEJlY2F1c2Ugb2YgdGhp
cywgd2UgbmVlZCB0byBzYXZlIGl0IHNvIHdlIGRvbid0IHJldHVybiBlYXJseS4KLSAgICBib29s
IGxvYWRpbmcgPSBtX2xvYWRpbmc7CisgICAgYm9vbCBsb2FkaW5nID0gaXNMb2FkaW5nKCk7CiAg
ICAgCiAgICAgaWYgKG1fY29tbWl0dGVkKSB7CiAgICAgICAgIC8vIEF0dGVtcHQgdG8gc3RvcCB0
aGUgZnJhbWUgaWYgdGhlIGRvY3VtZW50IGxvYWRlciBpcyBsb2FkaW5nLCBvciBpZiBpdCBpcyBk
b25lIGxvYWRpbmcgYnV0CkBAIC0yMzYsNyArMjM1LDcgQEAKICAgICBpZiAoIWxvYWRpbmcpIHsK
ICAgICAgICAgLy8gSWYgc29tZXRoaW5nIGFib3ZlIHJlc3RhcnRlZCBsb2FkaW5nIHdlIG1pZ2h0
IHJ1biBpbnRvIG15c3RlcmlvdXMgY3Jhc2hlcyBsaWtlIAogICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3NjQgYW5kIDxyZGFyOi8vcHJvYmxlbS85
MzI4Njg0PgotICAgICAgICBBU1NFUlQoIW1fbG9hZGluZyk7CisgICAgICAgIEFTU0VSVCghaXNM
b2FkaW5nKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zNzEsMjAgKzM3MCwxNCBA
QAogI2VuZGlmCiB9CiAKLXZvaWQgRG9jdW1lbnRMb2FkZXI6OnVwZGF0ZUxvYWRpbmcoKQordm9p
ZCBEb2N1bWVudExvYWRlcjo6Y2hlY2tMb2FkQ29tcGxldGUoKQogewotICAgIGlmICghbV9mcmFt
ZSkgewotICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTsKKyAgICBpZiAoIW1fZnJhbWUgfHwgaXNM
b2FkaW5nKCkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgQVNTRVJUKHRoaXMgPT0gZnJh
bWVMb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKSk7Ci0gICAgYm9vbCB3YXNMb2FkaW5n
ID0gbV9sb2FkaW5nOwotICAgIHNldExvYWRpbmcoZnJhbWVMb2FkZXIoKS0+aXNMb2FkaW5nKCkp
OwogCi0gICAgaWYgKHdhc0xvYWRpbmcgJiYgIW1fbG9hZGluZykgewotICAgICAgICBpZiAoRE9N
V2luZG93KiB3aW5kb3cgPSBtX2ZyYW1lLT5leGlzdGluZ0RPTVdpbmRvdygpKQotICAgICAgICAg
ICAgd2luZG93LT5maW5pc2hlZExvYWRpbmcoKTsKLSAgICB9CisgICAgaWYgKERPTVdpbmRvdyog
d2luZG93ID0gbV9mcmFtZS0+ZXhpc3RpbmdET01XaW5kb3coKSkKKyAgICAgICAgd2luZG93LT5m
aW5pc2hlZExvYWRpbmcoKTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c2V0RnJhbWUoRnJh
bWUqIGZyYW1lKQpAQCAtNDIzLDkgKzQxNiw2IEBACiAgICAgc2V0UHJpbWFyeUxvYWRDb21wbGV0
ZShmYWxzZSk7CiAgICAgQVNTRVJUKGZyYW1lTG9hZGVyKCkpOwogICAgIGNsZWFyRXJyb3JzKCk7
Ci0gICAgCi0gICAgc2V0TG9hZGluZyh0cnVlKTsKLSAgICAKICAgICBmcmFtZUxvYWRlcigpLT5w
cmVwYXJlRm9yTG9hZFN0YXJ0KCk7CiB9CiAKQEAgLTQzOSw3ICs0MjksNyBAQAogICAgICAgICB9
CiAKICAgICAgICAgaWYgKHRoaXMgPT0gZnJhbWVMb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2Fk
ZXIoKSkKLSAgICAgICAgICAgIHVwZGF0ZUxvYWRpbmcoKTsKKyAgICAgICAgICAgIGNoZWNrTG9h
ZENvbXBsZXRlKCk7CiAgICAgfQogfQogCkBAIC03NzAsMTMgKzc2MCwxMiBAQAogdm9pZCBEb2N1
bWVudExvYWRlcjo6YWRkU3VicmVzb3VyY2VMb2FkZXIoUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikK
IHsKICAgICBtX3N1YnJlc291cmNlTG9hZGVycy5hZGQobG9hZGVyKTsKLSAgICBzZXRMb2FkaW5n
KHRydWUpOwogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpyZW1vdmVTdWJyZXNvdXJjZUxvYWRl
cihSZXNvdXJjZUxvYWRlciogbG9hZGVyKQogewogICAgIG1fc3VicmVzb3VyY2VMb2FkZXJzLnJl
bW92ZShsb2FkZXIpOwotICAgIHVwZGF0ZUxvYWRpbmcoKTsKKyAgICBjaGVja0xvYWRDb21wbGV0
ZSgpOwogICAgIGlmIChGcmFtZSogZnJhbWUgPSBtX2ZyYW1lKQogICAgICAgICBmcmFtZS0+bG9h
ZGVyKCktPmNoZWNrTG9hZENvbXBsZXRlKCk7CiB9CkBAIC03ODQsMTMgKzc3MywxMiBAQAogdm9p
ZCBEb2N1bWVudExvYWRlcjo6YWRkUGx1Z0luU3RyZWFtTG9hZGVyKFJlc291cmNlTG9hZGVyKiBs
b2FkZXIpCiB7CiAgICAgbV9wbHVnSW5TdHJlYW1Mb2FkZXJzLmFkZChsb2FkZXIpOwotICAgIHNl
dExvYWRpbmcodHJ1ZSk7CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlbW92ZVBsdWdJblN0
cmVhbUxvYWRlcihSZXNvdXJjZUxvYWRlciogbG9hZGVyKQogewogICAgIG1fcGx1Z0luU3RyZWFt
TG9hZGVycy5yZW1vdmUobG9hZGVyKTsKLSAgICB1cGRhdGVMb2FkaW5nKCk7CisgICAgY2hlY2tM
b2FkQ29tcGxldGUoKTsKIH0KIAogYm9vbCBEb2N1bWVudExvYWRlcjo6aXNMb2FkaW5nTWFpblJl
c291cmNlKCkgY29uc3QKQEAgLTc5OCwyMiArNzg2LDEyIEBACiAgICAgcmV0dXJuICEhbV9tYWlu
UmVzb3VyY2VMb2FkZXI7CiB9CiAKLWJvb2wgRG9jdW1lbnRMb2FkZXI6OmlzTG9hZGluZ1N1YnJl
c291cmNlcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICFtX3N1YnJlc291cmNlTG9hZGVycy5pc0Vt
cHR5KCk7Ci19Ci0KLWJvb2wgRG9jdW1lbnRMb2FkZXI6OmlzTG9hZGluZ1BsdWdJbnMoKSBjb25z
dAotewotICAgIHJldHVybiAhbV9wbHVnSW5TdHJlYW1Mb2FkZXJzLmlzRW1wdHkoKTsKLX0KLQog
Ym9vbCBEb2N1bWVudExvYWRlcjo6aXNMb2FkaW5nTXVsdGlwYXJ0Q29udGVudCgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIG1fbWFpblJlc291cmNlTG9hZGVyICYmIG1fbWFpblJlc291cmNlTG9hZGVy
LT5pc0xvYWRpbmdNdWx0aXBhcnRDb250ZW50KCk7CiB9CiAKLWJvb2wgRG9jdW1lbnRMb2FkZXI6
OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCit2b2lk
IERvY3VtZW50TG9hZGVyOjpzdGFydExvYWRpbmdNYWluUmVzb3VyY2UodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyKQogewogICAgIEFTU0VSVCghbV9tYWluUmVzb3VyY2VMb2FkZXIpOwogICAgIG1f
bWFpblJlc291cmNlTG9hZGVyID0gTWFpblJlc291cmNlTG9hZGVyOjpjcmVhdGUobV9mcmFtZSk7
CkBAIC04MzAsMTAgKzgwOCw5IEBACiAgICAgICAgIC8vIHNob3VsZCBpdCBiZSBjYXVnaHQgYnkg
b3RoZXIgcGFydHMgb2YgV2ViS2l0IG9yIG90aGVyIHBhcnRzIG9mIHRoZSBhcHA/CiAgICAgICAg
IExPR19FUlJPUigiY291bGQgbm90IGNyZWF0ZSBXZWJSZXNvdXJjZUhhbmRsZSBmb3IgVVJMICVz
IC0tIHNob3VsZCBiZSBjYXVnaHQgYnkgcG9saWN5IGhhbmRsZXIgbGV2ZWwiLCBtX3JlcXVlc3Qu
dXJsKCkuc3RyaW5nKCkuYXNjaWkoKS5kYXRhKCkpOwogICAgICAgICBtX21haW5SZXNvdXJjZUxv
YWRlciA9IDA7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgQVNTRVJUKCFpc0xvYWRp
bmcoKSk7CisgICAgICAgIGNoZWNrTG9hZENvbXBsZXRlKCk7CiAgICAgfQotCi0gICAgcmV0dXJu
IHRydWU7CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNhbmNlbE1haW5SZXNvdXJjZUxvYWQo
Y29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCkBAIC04NDUsNyArODIyLDcgQEAKIHsKICAgICBt
X211bHRpcGFydFN1YnJlc291cmNlTG9hZGVycy5hZGQobG9hZGVyKTsKICAgICBtX3N1YnJlc291
cmNlTG9hZGVycy5yZW1vdmUobG9hZGVyKTsKLSAgICB1cGRhdGVMb2FkaW5nKCk7CisgICAgY2hl
Y2tMb2FkQ29tcGxldGUoKTsKICAgICBpZiAoRnJhbWUqIGZyYW1lID0gbV9mcmFtZSkKICAgICAg
ICAgZnJhbWUtPmxvYWRlcigpLT5jaGVja0xvYWRDb21wbGV0ZSgpOyAgICAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>