<?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>80193</bug_id>
          
          <creation_ts>2012-03-02 14:03:18 -0800</creation_ts>
          <short_desc>PageCache shouldn&apos;t know about SQLDatabase</short_desc>
          <delta_ts>2012-03-05 14:31:48 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</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>79327</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>ap</cc>
    
    <cc>eric</cc>
    
    <cc>haraken</cc>
    
    <cc>michaeln</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>569918</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-02 14:03:18 -0800</bug_when>
    <thetext>PageCache shouldn&apos;t know about SQLDatabase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569919</commentid>
    <comment_count>1</comment_count>
      <attachid>129955</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-02 14:03:36 -0800</bug_when>
    <thetext>Created attachment 129955
work-in-progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569921</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-02 14:05:26 -0800</bug_when>
    <thetext>This patch is subtle because currently creating *any* Database will lock out PageCache forever.  The way this works for normal ActiveDOMObjects is that PageCache is locked out only while the object is still around.

I need to study the interaction with the DatabaseThread more carefully to see which of these behaviors we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571037</commentid>
    <comment_count>3</comment_count>
      <attachid>130203</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-05 14:12:16 -0800</bug_when>
    <thetext>Created attachment 130203
checkpoint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571039</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-05 14:15:08 -0800</bug_when>
    <thetext>So, it turns out that this approach doesn&apos;t work because AbstractDatabase can be destructed on either the JavaScript thread or the Database thread.  That means we can&apos;t inherit from ActiveDOMObject because the ActiveDOMObject destructor might call ScriptExecutionContext::willDestroyActiveDOMObject on the Database thread rather than the JavaScript thread.

We probably could solve these problems, if necessary, but the work involved doesn&apos;t seem worth the benefit at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571051</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2012-03-05 14:31:48 -0800</bug_when>
    <thetext>&gt; We probably could solve these problems, if necessary, but the work involved doesn&apos;t seem worth the benefit at the moment.

Yup, this comment sums up what has been a recurring theme with regard to re-factoring Database stuff to  not depend of complex objects that straddle threads (Database and SQLTransaction). Over the years there have be a few occasions where the (large) work involved may have been worth it, but at each crossroad solutions were devised that did not require it. I think the point at which we came closest to biting that bullet was when adding support for Database in workers.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129955</attachid>
            <date>2012-03-02 14:03:36 -0800</date>
            <delta_ts>2012-03-05 14:12:06 -0800</delta_ts>
            <desc>work-in-progress</desc>
            <filename>bug-80193-20120302140335.patch</filename>
            <type>text/plain</type>
            <size>3508</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTYxMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTAyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUGFnZUNhY2hlIHNob3VsZG4ndCBr
bm93IGFib3V0IFNRTERhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDE5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogaGlzdG9yeS9Q
YWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVGcmFtZURlY2lzaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6Y2FuQ2FjaGVQYWdlQ29udGFpbmluZ1Ro
aXNGcmFtZSk6CisgICAgICAgICogc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmg6CisgICAgICAg
ICogc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuaDoKKyAgICAgICAgKERhdGFiYXNlQ29udGV4dCk6
CisKIDIwMTItMDMtMDIgIFNyYXZhbkt1bWFyIFNhbmRlbGEgIDxzc2FuZGVsYUBpbm5vbWluZHMu
Y29tPgogCiAgICAgICAgIExheW91dCBpc3N1ZSB3aXRoIGZpZWxkc2V0IGxlZ2VuZCBlbGVtZW50
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCShyZXZpc2lvbiAxMDk1ODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyMCwxMiArMTIwLDYgQEAgc3RhdGljIGJvb2wgbG9nQ2FuQ2FjaGVGcmFtZURlY2lzaW9u
KEZyYQogICAgICAgICAgICAgUENMT0coIiAgIC1GcmFtZSBoYXMgYW4gdW5sb2FkIGV2ZW50IGxp
c3RlbmVyIik7CiAgICAgICAgICAgICBjYW5ub3RDYWNoZSA9IHRydWU7CiAgICAgICAgIH0KLSNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQotICAgICAgICBpZiAoRGF0YWJhc2VDb250ZXh0OjpoYXNP
cGVuRGF0YWJhc2VzKGZyYW1lLT5kb2N1bWVudCgpKSkgewotICAgICAgICAgICAgUENMT0coIiAg
IC1GcmFtZSBoYXMgb3BlbiBkYXRhYmFzZSBoYW5kbGVzIik7Ci0gICAgICAgICAgICBjYW5ub3RD
YWNoZSA9IHRydWU7Ci0gICAgICAgIH0KLSNlbmRpZgogI2lmIEVOQUJMRShTSEFSRURfV09SS0VS
UykKICAgICAgICAgaWYgKFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omhhc1NoYXJlZFdvcmtlcnMo
ZnJhbWUtPmRvY3VtZW50KCkpKSB7CiAgICAgICAgICAgICBQQ0xPRygiICAgLUZyYW1lIGhhcyBh
c3NvY2lhdGVkIFNoYXJlZFdvcmtlcnMiKTsKQEAgLTI2Myw5ICsyNTcsNiBAQCBib29sIFBhZ2VD
YWNoZTo6Y2FuQ2FjaGVQYWdlQ29udGFpbmluZ1RoCiAgICAgICAgICYmICghZnJhbWVMb2FkZXIt
PnN1YmZyYW1lTG9hZGVyKCktPmNvbnRhaW5zUGx1Z2lucygpIHx8IGZyYW1lLT5wYWdlKCktPnNl
dHRpbmdzKCktPnBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucygpKQogICAgICAgICAmJiAoIWRvY3Vt
ZW50LT51cmwoKS5wcm90b2NvbElzKCJodHRwcyIpIHx8ICghZG9jdW1lbnRMb2FkZXItPnJlc3Bv
bnNlKCkuY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkgJiYgIWRvY3VtZW50TG9hZGVyLT5y
ZXNwb25zZSgpLmNhY2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZSgpKSkKICAgICAgICAgJiYgKCFm
cmFtZS0+ZG9tV2luZG93KCkgfHwgIWZyYW1lLT5kb21XaW5kb3coKS0+aGFzRXZlbnRMaXN0ZW5l
cnMoZXZlbnROYW1lcygpLnVubG9hZEV2ZW50KSkKLSNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQot
ICAgICAgICAmJiAhRGF0YWJhc2VDb250ZXh0OjpoYXNPcGVuRGF0YWJhc2VzKGRvY3VtZW50KQot
I2VuZGlmCiAjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJTKQogICAgICAgICAmJiAhU2hhcmVkV29y
a2VyUmVwb3NpdG9yeTo6aGFzU2hhcmVkV29ya2Vycyhkb2N1bWVudCkKICNlbmRpZgpJbmRleDog
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgJKHJldmlzaW9uIDEwOTU4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCisj
aW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
ICNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBA
IC00OCw3ICs0OSw3IEBAIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogCiB0eXBlZGVmIGludCBFeGNl
cHRpb25Db2RlOwogCi1jbGFzcyBBYnN0cmFjdERhdGFiYXNlIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPEFic3RyYWN0RGF0YWJhc2U+IHsKK2NsYXNzIEFic3RyYWN0RGF0YWJhc2UgOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QWJzdHJhY3REYXRhYmFzZT4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7CiAg
ICAgc3RhdGljIHZvaWQgc2V0SXNBdmFpbGFibGUoYm9vbCBhdmFpbGFibGUpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5oCShyZXZpc2lvbiAxMDk1ODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OCw4ICs0OCw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SGFzT3BlbkRhdGFiYXNl
cygpIHsgbV9oYXNPcGVuRGF0YWJhc2VzID0gdHJ1ZTsgfQogCi0gICAgc3RhdGljIGJvb2wgaGFz
T3BlbkRhdGFiYXNlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7Ci0KICAgICAvLyBXaGVuIHRo
ZSBkYXRhYmFzZSBjbGVhbnVwIGlzIGRvbmUsIGNsZWFudXBTeW5jIHdpbGwgYmUgc2lnbmFsbGVk
LgogICAgIHN0YXRpYyB2b2lkIHN0b3BEYXRhYmFzZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IERhdGFiYXNlVGFza1N5bmNocm9uaXplciopOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130203</attachid>
            <date>2012-03-05 14:12:16 -0800</date>
            <delta_ts>2012-03-05 14:12:16 -0800</delta_ts>
            <desc>checkpoint</desc>
            <filename>bug-80193-20120305141215.patch</filename>
            <type>text/plain</type>
            <size>9625</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTc2NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTA1ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUGFnZUNhY2hlIHNob3VsZG4ndCBr
bm93IGFib3V0IFNRTERhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDE5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogaGlzdG9yeS9Q
YWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVGcmFtZURlY2lzaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6Y2FuQ2FjaGVQYWdlQ29udGFpbmluZ1Ro
aXNGcmFtZSk6CisgICAgICAgICogc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmg6CisgICAgICAg
ICogc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuaDoKKyAgICAgICAgKERhdGFiYXNlQ29udGV4dCk6
CisKIDIwMTItMDMtMDUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBHZW9sb2NhdGlvbiBzaG91bGQgdXNlIGEgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBhcyBpdHMg
Y29udGV4dCBvYmplY3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAxMDk3Njcp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzMs
OCArNzMsNiBAQCBjbGFzcyBDb21tZW50OwogY2xhc3MgRE9NSW1wbGVtZW50YXRpb247CiBjbGFz
cyBET01TZWxlY3Rpb247CiBjbGFzcyBET01XaW5kb3c7Ci1jbGFzcyBEYXRhYmFzZTsKLWNsYXNz
IERhdGFiYXNlVGhyZWFkOwogY2xhc3MgRG9jdW1lbnRGcmFnbWVudDsKIGNsYXNzIERvY3VtZW50
TG9hZGVyOwogY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOwpJbmRleDogU291cmNlL1dl
YkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gMTA5NzY3KQorKysgU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsMTIgKzEwNCw2
IEBAIHN0YXRpYyBib29sIGxvZ0NhbkNhY2hlRnJhbWVEZWNpc2lvbihGcmEKICAgICAgICAgICAg
IFBDTE9HKCIgICAtRnJhbWUgaGFzIGFuIHVubG9hZCBldmVudCBsaXN0ZW5lciIpOwogICAgICAg
ICAgICAgY2Fubm90Q2FjaGUgPSB0cnVlOwogICAgICAgICB9Ci0jaWYgRU5BQkxFKFNRTF9EQVRB
QkFTRSkKLSAgICAgICAgaWYgKERhdGFiYXNlQ29udGV4dDo6aGFzT3BlbkRhdGFiYXNlcyhmcmFt
ZS0+ZG9jdW1lbnQoKSkpIHsKLSAgICAgICAgICAgIFBDTE9HKCIgICAtRnJhbWUgaGFzIG9wZW4g
ZGF0YWJhc2UgaGFuZGxlcyIpOwotICAgICAgICAgICAgY2Fubm90Q2FjaGUgPSB0cnVlOwotICAg
ICAgICB9Ci0jZW5kaWYKICNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUlMpCiAgICAgICAgIGlmIChT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5OjpoYXNTaGFyZWRXb3JrZXJzKGZyYW1lLT5kb2N1bWVudCgp
KSkgewogICAgICAgICAgICAgUENMT0coIiAgIC1GcmFtZSBoYXMgYXNzb2NpYXRlZCBTaGFyZWRX
b3JrZXJzIik7CkBAIC0yNDMsOSArMjM3LDYgQEAgYm9vbCBQYWdlQ2FjaGU6OmNhbkNhY2hlUGFn
ZUNvbnRhaW5pbmdUaAogICAgICAgICAmJiAoIWZyYW1lTG9hZGVyLT5zdWJmcmFtZUxvYWRlcigp
LT5jb250YWluc1BsdWdpbnMoKSB8fCBmcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpLT5wYWdlQ2Fj
aGVTdXBwb3J0c1BsdWdpbnMoKSkKICAgICAgICAgJiYgKCFkb2N1bWVudC0+dXJsKCkucHJvdG9j
b2xJcygiaHR0cHMiKSB8fCAoIWRvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLmNhY2hlQ29udHJv
bENvbnRhaW5zTm9DYWNoZSgpICYmICFkb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5jYWNoZUNv
bnRyb2xDb250YWluc05vU3RvcmUoKSkpCiAgICAgICAgICYmICghZnJhbWUtPmRvbVdpbmRvdygp
IHx8ICFmcmFtZS0+ZG9tV2luZG93KCktPmhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS51
bmxvYWRFdmVudCkpCi0jaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLSAgICAgICAgJiYgIURhdGFi
YXNlQ29udGV4dDo6aGFzT3BlbkRhdGFiYXNlcyhkb2N1bWVudCkKLSNlbmRpZgogI2lmIEVOQUJM
RShTSEFSRURfV09SS0VSUykKICAgICAgICAgJiYgIVNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omhh
c1NoYXJlZFdvcmtlcnMoZG9jdW1lbnQpCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcAkocmV2aXNpb24gMTA5NzY3KQorKysgU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTg4LDcgKzE4OCw4IEBAIGNvbnN0IGNoYXIqIEFic3RyYWN0RGF0YWJhc2U6OmRhdGFiYXNlSW4K
IAogQWJzdHJhY3REYXRhYmFzZTo6QWJzdHJhY3REYXRhYmFzZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRW
ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcm
IGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIERhdGFiYXNlVHlwZSBk
YXRhYmFzZVR5cGUpCi0gICAgOiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKKyAg
ICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQorICAgICwgbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0UHJvdGVjdG9yKGNvbnRleHQpCiAgICAgLCBtX2RhdGFiYXNlQ29udGV4dChEYXRh
YmFzZUNvbnRleHQ6OmZyb20oY29udGV4dCkpCiAgICAgLCBtX25hbWUobmFtZS5pc29sYXRlZENv
cHkoKSkKICAgICAsIG1fZXhwZWN0ZWRWZXJzaW9uKGV4cGVjdGVkVmVyc2lvbi5pc29sYXRlZENv
cHkoKSkKQEAgLTM4MSwxMSArMzgyLDYgQEAgYm9vbCBBYnN0cmFjdERhdGFiYXNlOjpwZXJmb3Jt
T3BlbkFuZFZlcgogICAgIHJldHVybiB0cnVlOwogfQogCi1TY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBBYnN0cmFjdERhdGFiYXNlOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LmdldCgpOwotfQotCiBTZWN1cml0eU9y
aWdpbiogQWJzdHJhY3REYXRhYmFzZTo6c2VjdXJpdHlPcmlnaW4oKSBjb25zdAogewogICAgIHJl
dHVybiBtX2NvbnRleHRUaHJlYWRTZWN1cml0eU9yaWdpbi5nZXQoKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5oCShyZXZpc2lvbiAxMDk3NjcpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMzEsNiArMzEsNyBAQAogCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAorI2luY2x1ZGUg
IkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiU1FMaXRlRGF0YWJhc2UuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtNDgsNyAr
NDksNyBAQCBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29k
ZTsKIAotY2xhc3MgQWJzdHJhY3REYXRhYmFzZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxBYnN0cmFjdERhdGFiYXNlPiB7CitjbGFzcyBBYnN0cmFjdERhdGFiYXNlIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPEFic3RyYWN0RGF0YWJhc2U+LCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogICAgIHN0YXRp
YyB2b2lkIHNldElzQXZhaWxhYmxlKGJvb2wgYXZhaWxhYmxlKTsKQEAgLTYxLDcgKzYyLDYgQEAg
cHVibGljOgogICAgIGJvb2wgaXNOZXcoKSBjb25zdCB7IHJldHVybiBtX25ldzsgfQogICAgIGJv
b2wgaXNTeW5jRGF0YWJhc2UoKSBjb25zdCB7IHJldHVybiBtX2lzU3luY0RhdGFiYXNlOyB9CiAK
LSAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbigp
IGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIHN0cmluZ0lkZW50aWZpZXIoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIFN0cmluZyBkaXNwbGF5TmFtZSgpIGNvbnN0OwpAQCAtMTI4LDcgKzEyOCw5IEBA
IHByb3RlY3RlZDoKICAgICBzdGF0aWMgY29uc3QgY2hhciogZGF0YWJhc2VJbmZvVGFibGVOYW1l
KCk7CiAKICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG1fY29udGV4dFRocmVhZFNlY3VyaXR5
T3JpZ2luOwotICAgIFJlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CisgICAgLy8gV2Uga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCB0byBhdm9pZCBhbnkgc2h1dGRvd24gcmFjZXMuIFdlIG1ha2Ugc3VyZSB0
bworICAgIC8vIHJlbGVhc2UgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgb24gdGhlIEphdmFT
Y3JpcHQgdGhyZWFkLCBhZnRlciB3ZSd2ZSBzdWNjZXNzZnVsbHkgc2h1dCBkb3duLgorICAgIFJl
ZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHRQcm90
ZWN0b3I7CiAgICAgRGF0YWJhc2VDb250ZXh0KiBtX2RhdGFiYXNlQ29udGV4dDsgLy8gT3duZWQg
YnkgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LgogCiAgICAgU3RyaW5nIG1fbmFtZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuY3BwCShyZXZpc2lvbiAxMDk3NjcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEwLDgg
KzExMCw2IEBAIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERhdGFiYXNlOjpvcGVuRGF0YWIKIAogICAg
IERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnNldERhdGFiYXNlRGV0YWlscyhjb250ZXh0LT5z
ZWN1cml0eU9yaWdpbigpLCBuYW1lLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSk7CiAKLSAg
ICBEYXRhYmFzZUNvbnRleHQ6OmZyb20oY29udGV4dCktPnNldEhhc09wZW5EYXRhYmFzZXMoKTsK
LQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlKGNvbnRleHQs
IGRhdGFiYXNlLCBjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT5ob3N0KCksIG5hbWUsIGV4cGVj
dGVkVmVyc2lvbik7CiAKICAgICBpZiAoZGF0YWJhc2UtPmlzTmV3KCkgJiYgY3JlYXRpb25DYWxs
YmFjay5nZXQoKSkgewpAQCAtMTYyLDExICsxNjAsNyBAQCBEYXRhYmFzZTo6fkRhdGFiYXNlKCkK
IHsKICAgICAvLyBUaGUgcmVmZXJlbmNlIHRvIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IG5l
ZWRzIHRvIGJlIGNsZWFyZWQgb24gdGhlIEphdmFTY3JpcHQgdGhyZWFkLiAgSWYgd2UncmUgb24g
dGhhdCB0aHJlYWQgYWxyZWFkeSwgd2UgY2FuIGp1c3QgbGV0IHRoZSBSZWZQdHIncyBkZXN0cnVj
dGlvbiBkbyB0aGUgZGVyZWZmaW5nLgogICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5pc0NvbnRleHRUaHJlYWQoKSkgewotICAgICAgICAvLyBHcmFiIGEgcG9pbnRlciB0byB0aGUg
c2NyaXB0IGV4ZWN1dGlvbiBoZXJlIGJlY2F1c2Ugd2UncmUgcmVsZWFzaW5nIGl0IHdoZW4gd2Ug
cGFzcyBpdCB0bwotICAgICAgICAvLyBEZXJlZkNvbnRleHRUYXNrOjpjcmVhdGUuCi0gICAgICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgPSBtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuZ2V0KCk7Ci0gICAgICAgIAotICAgICAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LT5wb3N0VGFzayhEZXJlZkNvbnRleHRUYXNrOjpjcmVhdGUobV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0LnJlbGVhc2UoKSkpOworICAgICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQtPnBvc3RUYXNrKERlcmVmQ29udGV4dFRhc2s6OmNyZWF0ZShtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHRQcm90ZWN0b3IucmVsZWFzZSgpKSk7CiAgICAgfQogfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuY3BwCShyZXZpc2lvbiAxMDk3NjcpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUxLDcgKzUxLDcgQEAgc3RhdGljIERhdGFiYXNlQ29udGV4dCogZXhpc3RpbmdEYXRhYmFz
ZQogCiBEYXRhYmFzZUNvbnRleHQ6OkRhdGFiYXNlQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0KQogICAgIDogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KGNvbnRleHQpCi0g
ICAgLCBtX2hhc09wZW5EYXRhYmFzZXMoZmFsc2UpCisgICAgLCBtX2hhdmVUcmllZFRvQ3JlYXRl
RGF0YWJhc2VUaHJlYWQoZmFsc2UpCiB7CiB9CiAKQEAgLTc2LDkgKzc2LDggQEAgRGF0YWJhc2VD
b250ZXh0KiBEYXRhYmFzZUNvbnRleHQ6OmZyb20oUwogCiBEYXRhYmFzZVRocmVhZCogRGF0YWJh
c2VDb250ZXh0OjpkYXRhYmFzZVRocmVhZCgpCiB7Ci0gICAgaWYgKCFtX2RhdGFiYXNlVGhyZWFk
ICYmICFtX2hhc09wZW5EYXRhYmFzZXMpIHsKLSAgICAgICAgLy8gQ3JlYXRlIHRoZSBkYXRhYmFz
ZSB0aHJlYWQgb24gZmlyc3QgcmVxdWVzdCAtIGJ1dCBub3QgaWYgYXQgbGVhc3Qgb25lIGRhdGFi
YXNlIHdhcyBhbHJlYWR5IG9wZW5lZCwKLSAgICAgICAgLy8gYmVjYXVzZSBpbiB0aGF0IGNhc2Ug
d2UgYWxyZWFkeSBoYWQgYSBkYXRhYmFzZSB0aHJlYWQgYW5kIHRlcm1pbmF0ZWQgaXQgYW5kIHNo
b3VsZCBub3QgY3JlYXRlIGFub3RoZXIuCisgICAgaWYgKCFtX2RhdGFiYXNlVGhyZWFkICYmICFt
X2hhdmVUcmllZFRvQ3JlYXRlRGF0YWJhc2VUaHJlYWQpIHsKKyAgICAgICAgbV9oYXZlVHJpZWRU
b0NyZWF0ZURhdGFiYXNlVGhyZWFkID0gdHJ1ZTsKICAgICAgICAgbV9kYXRhYmFzZVRocmVhZCA9
IERhdGFiYXNlVGhyZWFkOjpjcmVhdGUoKTsKICAgICAgICAgaWYgKCFtX2RhdGFiYXNlVGhyZWFk
LT5zdGFydCgpKQogICAgICAgICAgICAgbV9kYXRhYmFzZVRocmVhZCA9IDA7CkBAIC04NywxNiAr
ODYsNiBAQCBEYXRhYmFzZVRocmVhZCogRGF0YWJhc2VDb250ZXh0OjpkYXRhYmFzCiAgICAgcmV0
dXJuIG1fZGF0YWJhc2VUaHJlYWQuZ2V0KCk7CiB9CiAKLWJvb2wgRGF0YWJhc2VDb250ZXh0Ojpo
YXNPcGVuRGF0YWJhc2VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCi17Ci0gICAg
Ly8gV2UgZG9uJ3QgdXNlIERhdGFiYXNlQ29udGV4dDo6ZnJvbSBiZWNhdXNlIHdlIGRvbid0IHdh
bnQgdG8gY2F1c2UKLSAgICAvLyBEYXRhYmFzZUNvbnRleHQgdG8gYmUgYWxsb2NhdGVkIGlmIHdl
IGRvbid0IGhhdmUgb25lIGFscmVhZHkuCi0gICAgRGF0YWJhc2VDb250ZXh0KiBkYXRhYmFzZUNv
bnRleHQgPSBleGlzdGluZ0RhdGFiYXNlQ29udGV4dEZyb20oY29udGV4dCk7Ci0gICAgaWYgKCFk
YXRhYmFzZUNvbnRleHQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gZGF0YWJh
c2VDb250ZXh0LT5tX2hhc09wZW5EYXRhYmFzZXM7Ci19Ci0KIHZvaWQgRGF0YWJhc2VDb250ZXh0
OjpzdG9wRGF0YWJhc2VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIERhdGFiYXNl
VGFza1N5bmNocm9uaXplciogY2xlYW51cFN5bmMpCiB7CiAgICAgLy8gV2UgZG9uJ3QgdXNlIERh
dGFiYXNlQ29udGV4dDo6ZnJvbSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gY2F1c2UKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDb250ZXh0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuaAkocmV2aXNpb24gMTA5NzY3
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuaAkod29ya2luZyBj
b3B5KQpAQCAtNDYsMTAgKzQ2LDYgQEAgcHVibGljOgogCiAgICAgRGF0YWJhc2VUaHJlYWQqIGRh
dGFiYXNlVGhyZWFkKCk7CiAKLSAgICB2b2lkIHNldEhhc09wZW5EYXRhYmFzZXMoKSB7IG1faGFz
T3BlbkRhdGFiYXNlcyA9IHRydWU7IH0KLQotICAgIHN0YXRpYyBib29sIGhhc09wZW5EYXRhYmFz
ZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotCiAgICAgLy8gV2hlbiB0aGUgZGF0YWJhc2Ug
Y2xlYW51cCBpcyBkb25lLCBjbGVhbnVwU3luYyB3aWxsIGJlIHNpZ25hbGxlZC4KICAgICBzdGF0
aWMgdm9pZCBzdG9wRGF0YWJhc2VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBEYXRhYmFzZVRh
c2tTeW5jaHJvbml6ZXIqKTsKIApAQCAtNjEsNyArNTcsNyBAQCBwcml2YXRlOgogCiAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFJlZlB0
cjxEYXRhYmFzZVRocmVhZD4gbV9kYXRhYmFzZVRocmVhZDsKLSAgICBib29sIG1faGFzT3BlbkRh
dGFiYXNlczsgLy8gVGhpcyBuZXZlciBjaGFuZ2VzIGJhY2sgdG8gZmFsc2UsIGV2ZW4gYWZ0ZXIg
dGhlIGRhdGFiYXNlIHRocmVhZCBpcyBjbG9zZWQuCisgICAgYm9vbCBtX2hhdmVUcmllZFRvQ3Jl
YXRlRGF0YWJhc2VUaHJlYWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>