<?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>103907</bug_id>
          
          <creation_ts>2012-12-03 09:36:11 -0800</creation_ts>
          <short_desc>Make MainResourceLoader not use m_frame directly</short_desc>
          <delta_ts>2012-12-03 10:24:54 -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>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>
          
          <blocked>49246</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>abarth</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>781544</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-03 09:36:11 -0800</bug_when>
    <thetext>MainResourceLoader will soon cease to be a ResourceLoader subclass.  It currently makes extensively use of both m_documentLoader and m_frame from ResourceLoader.  By moving everything over to going through m_documentLoader, we reduce the number of members we have to add to MainResourceLoader in https://bugs.webkit.org/show_bug.cgi?id=49246.

Post-49246, MainResourceLoader will be nearly owned by DocumentLoader, so hopefully this change will make that relationship more clear.

This patch also removes all accesses of FrameLoader::activeDocumentLoader().  The activeDocumentLoader() should always be MainResourceLoader&apos;s m_documentLoader, so it seems silly to reach through the FrameLoader to get at it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781546</commentid>
    <comment_count>1</comment_count>
      <attachid>177275</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-03 09:41:03 -0800</bug_when>
    <thetext>Created attachment 177275
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781592</commentid>
    <comment_count>2</comment_count>
      <attachid>177275</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-12-03 10:20:29 -0800</bug_when>
    <thetext>Comment on attachment 177275
patch

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

Great!

&gt; Source/WebCore/loader/MainResourceLoader.h:54
&gt; -    static PassRefPtr&lt;MainResourceLoader&gt; create(Frame*);
&gt; +    static PassRefPtr&lt;MainResourceLoader&gt; create(DocumentLoader*);

Even though it’s not a common pattern in our code today, we might consider using references rather than pointers in cases like this if the pointer is not allowed to be zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781596</commentid>
    <comment_count>3</comment_count>
      <attachid>177275</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 10:24:51 -0800</bug_when>
    <thetext>Comment on attachment 177275
patch

Clearing flags on attachment: 177275

Committed r136412: &lt;http://trac.webkit.org/changeset/136412&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781597</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 10:24:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177275</attachid>
            <date>2012-12-03 09:41:03 -0800</date>
            <delta_ts>2012-12-03 10:24:51 -0800</delta_ts>
            <desc>patch</desc>
            <filename>dl.txt</filename>
            <type>text/plain</type>
            <size>10718</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjQwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEyLTAzICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTWFrZSBNYWluUmVzb3VyY2VM
b2FkZXIgbm90IHVzZSBtX2ZyYW1lIGRpcmVjdGx5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzOTA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWFpblJlc291cmNlTG9hZGVyIHdpbGwgc29vbiBjZWFz
ZSB0byBiZSBhIFJlc291cmNlTG9hZGVyIHN1YmNsYXNzLiAgSXQgY3VycmVudGx5CisgICAgICAg
IG1ha2VzIGV4dGVuc2l2ZWx5IHVzZSBvZiBib3RoIG1fZG9jdW1lbnRMb2FkZXIgYW5kIG1fZnJh
bWUgZnJvbSBSZXNvdXJjZUxvYWRlci4KKyAgICAgICAgQnkgbW92aW5nIGV2ZXJ5dGhpbmcgb3Zl
ciB0byBnb2luZyB0aHJvdWdoIG1fZG9jdW1lbnRMb2FkZXIsIHdlIHJlZHVjZSB0aGUgbnVtYmVy
CisgICAgICAgIG9mIG1lbWJlcnMgd2UgaGF2ZSB0byBhZGQgdG8gTWFpblJlc291cmNlTG9hZGVy
IGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTI0Ni4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9yIG9ubHkuCisKKyAgICAgICAgKiBsb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0
TG9hZGluZ01haW5SZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6Ok1haW5SZXNvdXJj
ZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OnJlY2VpdmVkRXJyb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjpjb250aW51ZUFmdGVyQ29udGVu
dFBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJl
Y2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6c3RhcnRE
YXRhTG9hZFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmg6Cisg
ICAgICAgIChNYWluUmVzb3VyY2VMb2FkZXIpOgorCiAyMDEyLTEyLTAzICBIYWppbWUgTW9ycml0
YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBDb3JydXB0ZWQgRE9NIHRyZWUgZHVy
aW5nIGFwcGVuZENoaWxkL2luc2VydEJlZm9yZQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVy
L01haW5SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuaAkocmV2aXNpb24gMTM2NDA0KQorKysgU291cmNlL1dlYkNv
cmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSw3ICs1
MSw3IEBACiAKIGNsYXNzIE1haW5SZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUxvYWRl
ciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWFpblJlc291cmNlTG9hZGVyPiBj
cmVhdGUoRnJhbWUqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNYWluUmVzb3VyY2VMb2FkZXI+
IGNyZWF0ZShEb2N1bWVudExvYWRlciopOwogICAgIHZpcnR1YWwgfk1haW5SZXNvdXJjZUxvYWRl
cigpOwogCiAgICAgdm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0
aXR1dGVEYXRhJik7CkBAIC03Niw3ICs3Niw3IEBACiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKIAogcHJpdmF0ZToK
LSAgICBleHBsaWNpdCBNYWluUmVzb3VyY2VMb2FkZXIoRnJhbWUqKTsKKyAgICBleHBsaWNpdCBN
YWluUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRMb2FkZXIqKTsKIAogICAgIHZpcnR1YWwgdm9pZCB3
aWxsQ2FuY2VsKGNvbnN0IFJlc291cmNlRXJyb3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2FuY2VsKGNvbnN0IFJlc291cmNlRXJyb3ImKSBPVkVSUklERTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxMzY0
MDQpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjcsOCArNjcsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLU1h
aW5SZXNvdXJjZUxvYWRlcjo6TWFpblJlc291cmNlTG9hZGVyKEZyYW1lKiBmcmFtZSkKLSAgICA6
IFJlc291cmNlTG9hZGVyKGZyYW1lLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNr
cywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tD
bGllbnRGb3JDcm9zc09yaWdpbkNyZWRlbnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaykpCitNYWlu
UmVzb3VyY2VMb2FkZXI6Ok1haW5SZXNvdXJjZUxvYWRlcihEb2N1bWVudExvYWRlciogZG9jdW1l
bnRMb2FkZXIpCisgICAgOiBSZXNvdXJjZUxvYWRlcihkb2N1bWVudExvYWRlci0+ZnJhbWUoKSwg
UmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVy
RGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVk
ZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2spKQogICAgICwgbV9kYXRhTG9hZFRpbWVyKHRoaXMs
ICZNYWluUmVzb3VyY2VMb2FkZXI6OmhhbmRsZVN1YnN0aXR1dGVEYXRhTG9hZE5vdykKICAgICAs
IG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQoZmFsc2UpCiAgICAgLCBtX3dhaXRpbmdGb3JDb250
ZW50UG9saWN5KGZhbHNlKQpAQCAtODYsMTYgKzg2LDE2IEBACiAjZW5kaWYKIH0KIAotUGFzc1Jl
ZlB0cjxNYWluUmVzb3VyY2VMb2FkZXI+IE1haW5SZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKEZyYW1l
KiBmcmFtZSkKK1Bhc3NSZWZQdHI8TWFpblJlc291cmNlTG9hZGVyPiBNYWluUmVzb3VyY2VMb2Fk
ZXI6OmNyZWF0ZShEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBNYWluUmVzb3VyY2VMb2FkZXIoZnJhbWUpKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IE1haW5SZXNvdXJjZUxvYWRlcihkb2N1bWVudExvYWRlcikpOwogfQogCiB2b2lk
IE1haW5SZXNvdXJjZUxvYWRlcjo6cmVjZWl2ZWRFcnJvcihjb25zdCBSZXNvdXJjZUVycm9yJiBl
cnJvcikKIHsKICAgICAvLyBDYWxsaW5nIHJlY2VpdmVkTWFpblJlc291cmNlRXJyb3Igd2lsbCBs
aWtlbHkgcmVzdWx0IGluIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdCB0byBnbyBh
d2F5LgogICAgIFJlZlB0cjxNYWluUmVzb3VyY2VMb2FkZXI+IHByb3RlY3QodGhpcyk7Ci0gICAg
UmVmUHRyPEZyYW1lPiBwcm90ZWN0RnJhbWUobV9mcmFtZSk7CisgICAgUmVmUHRyPEZyYW1lPiBw
cm90ZWN0RnJhbWUobV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKSk7CiAKICAgICAvLyBJdCBpcyBp
bXBvcnRhbnQgdGhhdCB3ZSBjYWxsIERvY3VtZW50TG9hZGVyOjptYWluUmVjZWl2ZWRFcnJvciBi
ZWZvcmUgY2FsbGluZyAKICAgICAvLyBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlkRmFpbFRvTG9h
ZCBiZWNhdXNlIG1haW5SZWNlaXZlZEVycm9yIGNsZWFycyBvdXQgdGhlIHJlbGV2YW50CkBAIC0y
MTIsNyArMjEyLDcgQEAKICAgICAgICAgLy8gdGhlbiBibG9jayB0aGUgcmVkaXJlY3QuCiAgICAg
ICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gcmVkaXJlY3RpbmdPcmlnaW4gPSBTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlKHJlZGlyZWN0UmVzcG9uc2UudXJsKCkpOwogICAgICAgICBpZiAoIXJlZGly
ZWN0aW5nT3JpZ2luLT5jYW5EaXNwbGF5KG5ld1JlcXVlc3QudXJsKCkpKSB7Ci0gICAgICAgICAg
ICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKG1fZnJhbWUuZ2V0KCksIG5ld1Jl
cXVlc3QudXJsKCkuc3RyaW5nKCkpOworICAgICAgICAgICAgRnJhbWVMb2FkZXI6OnJlcG9ydExv
Y2FsTG9hZEZhaWxlZChtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpLCBuZXdSZXF1ZXN0LnVybCgp
LnN0cmluZygpKTsKICAgICAgICAgICAgIGNhbmNlbCgpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CkBAIC0yMzEsOCArMjMxLDggQEAKICAgICBpZiAobmV3UmVxdWVzdC5jYWNoZVBv
bGljeSgpID09IFVzZVByb3RvY29sQ2FjaGVQb2xpY3kgJiYgaXNQb3N0T3JSZWRpcmVjdEFmdGVy
UG9zdChuZXdSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKSkKICAgICAgICAgbmV3UmVxdWVzdC5z
ZXRDYWNoZVBvbGljeShSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSk7CiAKLSAgICBGcmFtZSogdG9w
ID0gbV9mcmFtZS0+dHJlZSgpLT50b3AoKTsKLSAgICBpZiAodG9wICE9IG1fZnJhbWUpIHsKKyAg
ICBGcmFtZSogdG9wID0gbV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKS0+dHJlZSgpLT50b3AoKTsK
KyAgICBpZiAodG9wICE9IG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCkpIHsKICAgICAgICAgaWYg
KCFmcmFtZUxvYWRlcigpLT5taXhlZENvbnRlbnRDaGVja2VyKCktPmNhbkRpc3BsYXlJbnNlY3Vy
ZUNvbnRlbnQodG9wLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBuZXdSZXF1ZXN0LnVy
bCgpKSkgewogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0y
OTAsNyArMjkwLDcgQEAKICAgICAgICAgICAgIHJlY2VpdmVkRXJyb3IoY2Fubm90U2hvd1VSTEVy
cm9yKCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6Y29udGludWVXaXRoUG9saWN5RG93bmxvYWQobV9mcmFtZS5nZXQo
KSwgZG9jdW1lbnRMb2FkZXIoKSwgaWRlbnRpZmllcigpLCByKTsKKyAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZVdpdGhQb2xpY3lEb3dubG9hZChtX2RvY3VtZW50TG9h
ZGVyLT5mcmFtZSgpLCBkb2N1bWVudExvYWRlcigpLCBpZGVudGlmaWVyKCksIHIpOwogCiAgICAg
ICAgIC8vIFdoZW4gc3RhcnRpbmcgdGhlIHJlcXVlc3QsIHdlIGRpZG4ndCBrbm93IHRoYXQgaXQg
d291bGQgcmVzdWx0IGluIGRvd25sb2FkIGFuZCBub3QgbmF2aWdhdGlvbi4gTm93IHdlIGtub3cg
dGhhdCBtYWluIGRvY3VtZW50IFVSTCBkaWRuJ3QgY2hhbmdlLgogICAgICAgICAvLyBEb3dubG9h
ZCBtYXkgdXNlIHRoaXMga25vd2xlZGdlIGZvciBwdXJwb3NlcyB1bnJlbGF0ZWQgdG8gY29va2ll
cywgbm90YWJseSBmb3Igc2V0dGluZyBmaWxlIHF1YXJhbnRpbmUgZGF0YS4KQEAgLTMwNSw3ICsz
MDUsNyBAQAogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc2UgUG9saWN5SWdub3JlOgot
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlV2l0aFBvbGljeUlnbm9y
ZShtX2ZyYW1lLmdldCgpLCBkb2N1bWVudExvYWRlcigpLCBpZGVudGlmaWVyKCksIHIpOworICAg
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlV2l0aFBvbGljeUlnbm9yZSht
X2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpLCBkb2N1bWVudExvYWRlcigpLCBpZGVudGlmaWVyKCks
IHIpOwogICAgICAgICBzdG9wTG9hZGluZ0ZvclBvbGljeUNoYW5nZSgpOwogICAgICAgICByZXR1
cm47CiAgICAgCkBAIC0zMzMsMTAgKzMzMywxMCBAQAogICAgIGlmICghcmVhY2hlZFRlcm1pbmFs
U3RhdGUoKSkKICAgICAgICAgUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShyKTsK
IAotICAgIGlmIChmcmFtZUxvYWRlcigpICYmICFmcmFtZUxvYWRlcigpLT5hY3RpdmVEb2N1bWVu
dExvYWRlcigpLT5pc1N0b3BwaW5nKCkgJiYgbV9zdWJzdGl0dXRlRGF0YS5pc1ZhbGlkKCkpIHsK
KyAgICBpZiAobV9kb2N1bWVudExvYWRlciAmJiAhbV9kb2N1bWVudExvYWRlci0+aXNTdG9wcGlu
ZygpICYmIG1fc3Vic3RpdHV0ZURhdGEuaXNWYWxpZCgpKSB7CiAgICAgICAgIGlmIChtX3N1YnN0
aXR1dGVEYXRhLmNvbnRlbnQoKS0+c2l6ZSgpKQogICAgICAgICAgICAgZGlkUmVjZWl2ZURhdGEo
bV9zdWJzdGl0dXRlRGF0YS5jb250ZW50KCktPmRhdGEoKSwgbV9zdWJzdGl0dXRlRGF0YS5jb250
ZW50KCktPnNpemUoKSwgbV9zdWJzdGl0dXRlRGF0YS5jb250ZW50KCktPnNpemUoKSwgdHJ1ZSk7
Ci0gICAgICAgIGlmIChmcmFtZUxvYWRlcigpICYmICFmcmFtZUxvYWRlcigpLT5hY3RpdmVEb2N1
bWVudExvYWRlcigpLT5pc1N0b3BwaW5nKCkpIAorICAgICAgICBpZiAoIW1fZG9jdW1lbnRMb2Fk
ZXItPmlzU3RvcHBpbmcoKSkKICAgICAgICAgICAgIGRpZEZpbmlzaExvYWRpbmcoMCk7CiAgICAg
fQogfQpAQCAtMzUwLDcgKzM1MCw3IEBACiB7CiAgICAgQVNTRVJUKG1fd2FpdGluZ0ZvckNvbnRl
bnRQb2xpY3kpOwogICAgIG1fd2FpdGluZ0ZvckNvbnRlbnRQb2xpY3kgPSBmYWxzZTsKLSAgICBp
ZiAoZnJhbWVMb2FkZXIoKSAmJiAhZnJhbWVMb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIo
KS0+aXNTdG9wcGluZygpKQorICAgIGlmICghbV9kb2N1bWVudExvYWRlci0+aXNTdG9wcGluZygp
KQogICAgICAgICBjb250aW51ZUFmdGVyQ29udGVudFBvbGljeShwb2xpY3ksIG1fcmVzcG9uc2Up
OwogICAgIGRlcmVmKCk7IC8vIGJhbGFuY2VzIHJlZiBpbiBkaWRSZWNlaXZlUmVzcG9uc2UKIH0K
QEAgLTM2NCwxMCArMzY0LDEwIEBACiAgICAgSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3Ig
aXQgPSByLmh0dHBIZWFkZXJGaWVsZHMoKS5maW5kKHhGcmFtZU9wdGlvbkhlYWRlcik7CiAgICAg
aWYgKGl0ICE9IHIuaHR0cEhlYWRlckZpZWxkcygpLmVuZCgpKSB7CiAgICAgICAgIFN0cmluZyBj
b250ZW50ID0gaXQtPnZhbHVlOwotICAgICAgICBpZiAobV9mcmFtZS0+bG9hZGVyKCktPnNob3Vs
ZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnRlbnQsIHIudXJsKCksIGlkZW50aWZp
ZXIoKSkpIHsKLSAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVB
ZnRlclhGcmFtZU9wdGlvbnNEZW5pZWQobV9mcmFtZS5nZXQoKSwgZG9jdW1lbnRMb2FkZXIoKSwg
aWRlbnRpZmllcigpLCByKTsKKyAgICAgICAgaWYgKGZyYW1lTG9hZGVyKCktPnNob3VsZEludGVy
cnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnRlbnQsIHIudXJsKCksIGlkZW50aWZpZXIoKSkp
IHsKKyAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhG
cmFtZU9wdGlvbnNEZW5pZWQobV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKSwgZG9jdW1lbnRMb2Fk
ZXIoKSwgaWRlbnRpZmllcigpLCByKTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJl
ZnVzZWQgdG8gZGlzcGxheSAnIiArIHIudXJsKCkuc3RyaW5nKCkgKyAiJyBpbiBhIGZyYW1lIGJl
Y2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICciICsgY29udGVudCArICInLiI7Ci0g
ICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgci51
cmwoKS5zdHJpbmcoKSwgMCwgMCwgaWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIG1fZG9jdW1l
bnRMb2FkZXItPmZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCByLnVy
bCgpLnN0cmluZygpLCAwLCAwLCBpZGVudGlmaWVyKCkpOwogCiAgICAgICAgICAgICBjYW5jZWwo
KTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQwMCwxNyArNDAwLDE1IEBACiAgICAgbV93YWl0
aW5nRm9yQ29udGVudFBvbGljeSA9IHRydWU7CiAgICAgcmVmKCk7IC8vIGJhbGFuY2VkIGJ5IGRl
cmVmIGluIGNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5IGFuZCBkaWRDYW5jZWwKIAotICAgIEFT
U0VSVChmcmFtZUxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpKTsKLQogICAgIC8vIEFs
d2F5cyBzaG93IGNvbnRlbnQgd2l0aCB2YWxpZCBzdWJzdGl0dXRlIGRhdGEuCi0gICAgaWYgKGZy
YW1lTG9hZGVyKCktPmFjdGl2ZURvY3VtZW50TG9hZGVyKCktPnN1YnN0aXR1dGVEYXRhKCkuaXNW
YWxpZCgpKSB7CisgICAgaWYgKG1fZG9jdW1lbnRMb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuaXNW
YWxpZCgpKSB7CiAgICAgICAgIGNhbGxDb250aW51ZUFmdGVyQ29udGVudFBvbGljeSh0aGlzLCBQ
b2xpY3lVc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAjaWYgRU5BQkxFKEZUUERJUikK
ICAgICAvLyBSZXNwZWN0IHRoZSBoaWRkZW4gRlRQIERpcmVjdG9yeSBMaXN0aW5nIHByZWYgc28g
aXQgY2FuIGJlIHRlc3RlZCBldmVuIGlmIHRoZSBwb2xpY3kgZGVsZWdhdGUgbWlnaHQgb3RoZXJ3
aXNlIGRpc2FsbG93IGl0Ci0gICAgU2V0dGluZ3MqIHNldHRpbmdzID0gbV9mcmFtZS0+c2V0dGlu
Z3MoKTsKKyAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgp
LT5zZXR0aW5ncygpOwogICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+Zm9yY2VGVFBEaXJl
Y3RvcnlMaXN0aW5ncygpICYmIG1fcmVzcG9uc2UubWltZVR5cGUoKSA9PSAiYXBwbGljYXRpb24v
eC1mdHAtZGlyZWN0b3J5IikgewogICAgICAgICBjYWxsQ29udGludWVBZnRlckNvbnRlbnRQb2xp
Y3kodGhpcywgUG9saWN5VXNlKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDM2LDcgKzQzNCw3IEBA
CiAgICAgLy8gV29ya2Fyb3VuZCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzYwNjA3ODI+CiAgICAgaWYg
KG1fcmVzcG9uc2UuaXNOdWxsKCkpIHsKICAgICAgICAgbV9yZXNwb25zZSA9IFJlc291cmNlUmVz
cG9uc2UoS1VSTCgpLCAidGV4dC9odG1sIiwgMCwgU3RyaW5nKCksIFN0cmluZygpKTsKLSAgICAg
ICAgaWYgKERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlciA9IGZyYW1lTG9hZGVyKCktPmFj
dGl2ZURvY3VtZW50TG9hZGVyKCkpCisgICAgICAgIGlmIChEb2N1bWVudExvYWRlciogZG9jdW1l
bnRMb2FkZXIgPSBtX2RvY3VtZW50TG9hZGVyLmdldCgpKQogICAgICAgICAgICAgZG9jdW1lbnRM
b2FkZXItPnNldFJlc3BvbnNlKG1fcmVzcG9uc2UpOwogICAgIH0KICNlbmRpZgpAQCAtNTc0LDcg
KzU3Miw3IEBACiAgICAgbV9kYXRhTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIAogI2lmIEhB
VkUoUlVOTE9PUF9USU1FUikKLSAgICBpZiAoU2NoZWR1bGVQYWlySGFzaFNldCogc2NoZWR1bGVk
UGFpcnMgPSBtX2ZyYW1lLT5wYWdlKCktPnNjaGVkdWxlZFJ1bkxvb3BQYWlycygpKQorICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZG9jdW1lbnRMb2FkZXIt
PmZyYW1lKCktPnBhZ2UoKS0+c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCiAgICAgICAgIG1fZGF0
YUxvYWRUaW1lci5zY2hlZHVsZSgqc2NoZWR1bGVkUGFpcnMpOwogI2VuZGlmCiB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAJKHJldmlzaW9uIDEzNjQwNCkK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg3Miw3ICs4NzIsNyBAQAogICAgIGlmIChtYXliZUxvYWRFbXB0eSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX21haW5SZXNvdXJjZUxvYWRlciA9IE1haW5SZXNvdXJjZUxvYWRl
cjo6Y3JlYXRlKG1fZnJhbWUpOworICAgIG1fbWFpblJlc291cmNlTG9hZGVyID0gTWFpblJlc291
cmNlTG9hZGVyOjpjcmVhdGUodGhpcyk7CiAKICAgICAvLyBGSVhNRTogSXMgdGhlcmUgYW55IHdh
eSB0aGUgZXh0cmEgZmllbGRzIGNvdWxkIGhhdmUgbm90IGJlZW4gYWRkZWQgYnkgbm93PwogICAg
IC8vIElmIG5vdCwgaXQgd291bGQgYmUgZ3JlYXQgdG8gcmVtb3ZlIHRoaXMgbGluZSBvZiBjb2Rl
Lgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>