<?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>24897</bug_id>
          
          <creation_ts>2009-03-27 14:21:01 -0700</creation_ts>
          <short_desc>Chromium&apos;s ResourceRequest and ResourceResponse structs need some new data members.</short_desc>
          <delta_ts>2009-04-02 13:00:37 -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>Platform</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="Michael Nordman">michaeln</reporter>
          <assigned_to name="Michael Nordman">michaeln</assigned_to>
          <cc>fishd</cc>
    
    <cc>michaeln</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>115597</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-27 14:21:01 -0700</bug_when>
    <thetext>Chromium&apos;s ResponseRequest and ResourceResponse structs need some new data members... patch soon to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115598</commentid>
    <comment_count>1</comment_count>
      <attachid>29024</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-27 14:25:11 -0700</bug_when>
    <thetext>Created attachment 29024
A simple patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115600</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-27 14:31:26 -0700</bug_when>
    <thetext>Oh... this has a companion CL in chromium...
http://codereview.chromium.org/9712/show</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115605</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-03-27 14:37:19 -0700</bug_when>
    <thetext>Can you add a comment here explaining why these members are needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115611</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-27 14:48:14 -0700</bug_when>
    <thetext>Sure...

These fields are needed to facilitate Chromium&apos;s implementation of the HTML5 ApplicationCache feature. We need to know what frame(or context) is doing the requesting, and from what cache the resulting resource was retrieved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115631</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-03-27 15:40:07 -0700</bug_when>
    <thetext>Misc style notes:

1. Don&apos;t fill in the requestee field unless only that person can do the review.
2. Do this &quot;&lt;set EMAIL_ADDRESS environment variable&gt;&quot; and fix that in the changelog.
3. Add some explanation of the change to the ChangeLog.
4. Add a link to the bug in the ChangeLog.
5. Remove WARNING: NO TEST CASES ADDED OR CHANGED from the change log and add a test or explain why there shouldn&apos;t be one.  (For example, if there is no change in functionality, then &quot;No change in functionality, so no test.&quot; usually suffices.)
6. Format  C++ initializers like this:

MyClass::MyClass(Document* doc)
    : MySuperClass()
    , m_myMember(0)
    , m_doc(doc)
{
}

7. Function definitions: place each brace on its own line.
8. The indent size is 4 spaces.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115635</commentid>
    <comment_count>6</comment_count>
      <attachid>29030</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-27 15:55:57 -0700</bug_when>
    <thetext>Created attachment 29030
new patch snapshot #2

Thnx David, new snapshot uploaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115869</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-03-30 12:59:14 -0700</bug_when>
    <thetext>&gt; These fields are needed to facilitate Chromium&apos;s implementation of the HTML5
&gt; ApplicationCache feature. We need to know what frame(or context) is doing the
&gt; requesting, and from what cache the resulting resource was retrieved.

How come the other ports don&apos;t need this?  I&apos;m trying to understand why we need to be divergent here.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115874</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-30 13:39:19 -0700</bug_when>
    <thetext>&gt; How come the other ports don&apos;t need this?  I&apos;m trying to understand why we need
&gt; to be divergent here.

AFAIK, no other port implements the AppCache functionality in the embedder side of things.
Please refer to the companion CL for chromium.
http://codereview.chromium.org/9712/show
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116092</commentid>
    <comment_count>9</comment_count>
      <attachid>29030</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-03-31 16:18:28 -0700</bug_when>
    <thetext>Comment on attachment 29030
new patch snapshot #2

OK.  Thanks for adding the reference to the Chromium CL here.  That helps
others understand this design as well :)


&gt;Index: WebCore/ChangeLog

&gt;+        Chromium&apos;s ResourceRequest and ResourceResponse structs need some new data members.
&gt;+
&gt;+        These fields are needed to facilitate Chromium&apos;s implementation of the HTML5
&gt;+        ApplicationCache feature. We need to know what frame(or context) is doing the

nit: Need a space after &quot;frame&quot;


&gt;+        requesting, and from what cache the resulting resource was retrieved.
&gt;+
&gt;+        No change in functionality, so no tests.

Please include a bug link in your ChangeLog entry.


&gt;Index: WebCore/platform/network/chromium/ResourceResponse.h

&gt;+        // The id of the appcache this response was retrieved from,
&gt;+        // or kNoAppCacheID (0)
&gt;+        int64 m_appCacheID;

Where is kNoAppCacheID defined?  also, how come the contextID is 32-bits but
the CacheID is 64-bits?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116093</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-31 16:26:48 -0700</bug_when>
    <thetext>&gt;+        // The id of the appcache this response was retrieved from,
&gt;+        // or kNoAppCacheID (0)
&gt;+        int64 m_appCacheID;

Where is kNoAppCacheID defined?  also, how come the contextID is 32-bits but
the CacheID is 64-bits?

The kNoAppCacheID constant is defined in chromium&apos;s webkit glue, webappcachecontext.h. This id corresponds with a sqlite rowid, its 64 bits to keep full fidelity with how sqlite rowids are defined.

&gt;+ ChangeLog edits

WIll do... will upload a new patch with changelog mods once we gotten to final edits on the .h file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116099</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-03-31 17:04:18 -0700</bug_when>
    <thetext>&gt; The kNoAppCacheID constant is defined in chromium&apos;s webkit glue,
&gt; webappcachecontext.h. This id corresponds with a sqlite rowid, its 64 bits to
&gt; keep full fidelity with how sqlite rowids are defined.

Ah, OK.  So that violates dependencies.  glue can depend on webcore, but webcore cannot depend directly on glue.  In other words, webcore (even the chromium port of webcore) needs to stand on its own.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116103</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-31 17:13:55 -0700</bug_when>
    <thetext>Yes, this is why the symbol kNoAppCacheID does not appear in the ctor of this struct. The value 0 is used directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116106</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-03-31 17:20:51 -0700</bug_when>
    <thetext>How &apos;bout I remove the reference to kNoAppCacheID in the comment.

I don&apos;t see how is this any different than having a requestorID data member that is initialized to zero?  What does requestorID mean in webcore (sans chromium) speak?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116326</commentid>
    <comment_count>14</comment_count>
      <attachid>29202</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2009-04-02 11:23:43 -0700</bug_when>
    <thetext>Created attachment 29202
take 3

New patch uploaded
* added bug link the the changelog
* removed reference to kNoAppCacheID from comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116333</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-02 12:51:27 -0700</bug_when>
    <thetext>&gt; I don&apos;t see how is this any different than having a requestorID data member
&gt; that is initialized to zero?  What does requestorID mean in webcore (sans
&gt; chromium) speak?

It is an identifier that the requestor is free to define.  What it means in Chrome-land doesn&apos;t matter.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116335</commentid>
    <comment_count>16</comment_count>
      <attachid>29202</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-02 12:59:12 -0700</bug_when>
    <thetext>Comment on attachment 29202
take 3

&gt;+2009-03-27  michaeln  &lt;michaeln@google.com&gt;

For future changes, please be sure to have the REAL_NAME environment
variable defined so that the ChangeLog includes your full name.  It
is WebKit convention to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116336</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-02 13:00:37 -0700</bug_when>
    <thetext>Landed as:  http://trac.webkit.org/changeset/42180</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29024</attachid>
            <date>2009-03-27 14:25:11 -0700</date>
            <delta_ts>2009-03-27 15:55:57 -0700</delta_ts>
            <desc>A simple patch</desc>
            <filename>AppCachePlumbing.patch.txt</filename>
            <type>text/plain</type>
            <size>5090</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjA0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMDMtMjcgIG1pY2hhZWxuICA8c2V0IEVNQUlMX0FERFJFU1Mg
ZW52aXJvbm1lbnQgdmFyaWFibGU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV0FSTklORzogTk8gVEVTVCBDQVNFUyBBRERFRCBPUiBDSEFOR0VECisK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVxdWVzdC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpSZXNvdXJjZVJlcXVlc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjphcHBDYWNoZUNvbnRleHRJRCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNldEFwcENhY2hlQ29udGV4dElEKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6Z2V0QXBwQ2FjaGVJRCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRBcHBDYWNoZUlEKToKKwogMjAwOS0wMy0y
NyAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jl
c291cmNlUmVxdWVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
aHJvbWl1bS9SZXNvdXJjZVJlcXVlc3QuaAkocmV2aXNpb24gNDIwMTYpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgOiBSZXNv
dXJjZVJlcXVlc3RCYXNlKEtVUkwodXJsKSwgVXNlUHJvdG9jb2xDYWNoZVBvbGljeSkKICAgICAg
ICAgICAgICwgbV9yZXF1ZXN0b3JJRCgwKQogICAgICAgICAgICAgLCBtX3JlcXVlc3RvclByb2Nl
c3NJRCgwKQorICAgICAgICAgICAgLCBtX2FwcENhY2hlQ29udGV4dElEKDApCiAgICAgICAgICAg
ICAsIG1fdGFyZ2V0VHlwZShUYXJnZXRJc1N1YlJlc291cmNlKQogICAgICAgICB7CiAgICAgICAg
IH0KQEAgLTU3LDYgKzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgOiBS
ZXNvdXJjZVJlcXVlc3RCYXNlKHVybCwgVXNlUHJvdG9jb2xDYWNoZVBvbGljeSkKICAgICAgICAg
ICAgICwgbV9yZXF1ZXN0b3JJRCgwKQogICAgICAgICAgICAgLCBtX3JlcXVlc3RvclByb2Nlc3NJ
RCgwKQorICAgICAgICAgICAgLCBtX2FwcENhY2hlQ29udGV4dElEKDApCiAgICAgICAgICAgICAs
IG1fdGFyZ2V0VHlwZShUYXJnZXRJc1N1YlJlc291cmNlKQogICAgICAgICAgICAgLCBtX3NlY3Vy
aXR5SW5mbyhzZWN1cml0eUluZm8pCiAgICAgICAgIHsKQEAgLTY2LDYgKzY4LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKHVybCwgVXNl
UHJvdG9jb2xDYWNoZVBvbGljeSkKICAgICAgICAgICAgICwgbV9yZXF1ZXN0b3JJRCgwKQogICAg
ICAgICAgICAgLCBtX3JlcXVlc3RvclByb2Nlc3NJRCgwKQorICAgICAgICAgICAgLCBtX2FwcENh
Y2hlQ29udGV4dElEKDApCiAgICAgICAgICAgICAsIG1fdGFyZ2V0VHlwZShUYXJnZXRJc1N1YlJl
c291cmNlKQogICAgICAgICB7CiAgICAgICAgIH0KQEAgLTc0LDYgKzc3LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKHVybCwgcG9saWN5
KQogICAgICAgICAgICAgLCBtX3JlcXVlc3RvcklEKDApCiAgICAgICAgICAgICAsIG1fcmVxdWVz
dG9yUHJvY2Vzc0lEKDApCisgICAgICAgICAgICAsIG1fYXBwQ2FjaGVDb250ZXh0SUQoMCkKICAg
ICAgICAgICAgICwgbV90YXJnZXRUeXBlKFRhcmdldElzU3ViUmVzb3VyY2UpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIHNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CkBAIC04Myw2ICs4Nyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZShL
VVJMKCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fcmVxdWVzdG9y
SUQoMCkKICAgICAgICAgICAgICwgbV9yZXF1ZXN0b3JQcm9jZXNzSUQoMCkKKyAgICAgICAgICAg
ICwgbV9hcHBDYWNoZUNvbnRleHRJRCgwKQogICAgICAgICAgICAgLCBtX3RhcmdldFR5cGUoVGFy
Z2V0SXNTdWJSZXNvdXJjZSkKICAgICAgICAgewogICAgICAgICB9CkBAIC0xMDYsNiArMTExLDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgaW50IHJlcXVlc3RvclByb2Nlc3NJRCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdG9yUHJvY2Vzc0lEOyB9CiAgICAgICAgIHZvaWQgc2V0
UmVxdWVzdG9yUHJvY2Vzc0lEKGludCByZXF1ZXN0b3JQcm9jZXNzSUQpIHsgbV9yZXF1ZXN0b3JQ
cm9jZXNzSUQgPSByZXF1ZXN0b3JQcm9jZXNzSUQ7IH0KIAorICAgICAgICAvLyBBbGxvd3MgdGhl
IHJlcXVlc3QgdG8gYmUgbWF0Y2hlZCB1cCB3aXRoIGl0cyBhcHAgY2FjaGUgY29udGV4dC4KKyAg
ICAgICAgaW50IGFwcENhY2hlQ29udGV4dElEKCkgY29uc3QgeyByZXR1cm4gbV9hcHBDYWNoZUNv
bnRleHRJRDsgfQorICAgICAgICB2b2lkIHNldEFwcENhY2hlQ29udGV4dElEKGludCBpZCkgeyBt
X2FwcENhY2hlQ29udGV4dElEID0gaWQ7IH0KKwogICAgICAgICAvLyBPcGFxdWUgYnVmZmVyIHRo
YXQgZGVzY3JpYmVzIHRoZSBzZWN1cml0eSBzdGF0ZSAoaW5jbHVkaW5nIFNTTAogICAgICAgICAv
LyBjb25uZWN0aW9uIHN0YXRlKSBmb3IgdGhlIHJlc291cmNlIHRoYXQgc2hvdWxkIGJlIHJlcG9y
dGVkIHdoZW4gdGhlCiAgICAgICAgIC8vIHJlc291cmNlIGhhcyBiZWVuIGxvYWRlZC4gIFRoaXMg
aXMgdXNlZCB0byBzaW11bGF0ZSBzZWN1cmUKQEAgLTEyMyw2ICsxMzIsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgaW50IG1fcmVxdWVzdG9ySUQ7CiAgICAgICAgIGludCBtX3Jl
cXVlc3RvclByb2Nlc3NJRDsKKyAgICAgICAgaW50IG1fYXBwQ2FjaGVDb250ZXh0SUQ7CiAgICAg
ICAgIFRhcmdldFR5cGUgbV90YXJnZXRUeXBlOwogICAgICAgICBDU3RyaW5nIG1fc2VjdXJpdHlJ
bmZvOwogICAgICAgICBLVVJMIG1fcG9saWN5VVJMOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVzcG9uc2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXNwb25zZS5oCShyZXZpc2lvbiA0
MjAxNikKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlc3Bv
bnNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDEzICszNiwxMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZSA6IHB1YmxpYyBSZXNvdXJjZVJlc3BvbnNl
QmFzZSB7CiAgICAgcHVibGljOgogICAgICAgICBSZXNvdXJjZVJlc3BvbnNlKCkKLSAgICAgICAg
ICAgIDogbV9pc0NvbnRlbnRGaWx0ZXJlZChmYWxzZSkKKyAgICAgICAgICAgIDogbV9pc0NvbnRl
bnRGaWx0ZXJlZChmYWxzZSksIG1fYXBwQ2FjaGVJRCgwKQogICAgICAgICB7CiAgICAgICAgIH0K
IAogICAgICAgICBSZXNvdXJjZVJlc3BvbnNlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHRleHRF
bmNvZGluZ05hbWUsIGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpCiAgICAgICAgICAgICA6IFJlc291
cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2Rp
bmdOYW1lLCBmaWxlbmFtZSksCi0gICAgICAgICAgICAgIG1faXNDb250ZW50RmlsdGVyZWQoZmFs
c2UpCisgICAgICAgICAgICAgIG1faXNDb250ZW50RmlsdGVyZWQoZmFsc2UpLCBtX2FwcENhY2hl
SUQoMCkKICAgICAgICAgewogICAgICAgICB9CiAKQEAgLTU4LDYgKzU4LDExIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgICAgIG1faXNDb250ZW50RmlsdGVyZWQgPSBpc0NvbnRlbnRG
aWx0ZXJlZDsKICAgICAgICAgfQogCisgICAgICAgIGludDY0IGdldEFwcENhY2hlSUQoKSBjb25z
dCB7IHJldHVybiBtX2FwcENhY2hlSUQ7IH0KKyAgICAgICAgdm9pZCBzZXRBcHBDYWNoZUlEKGlu
dDY0IGlkKSB7CisgICAgICAgICAgbV9hcHBDYWNoZUlEID0gaWQ7CisgICAgICAgIH0KKwogICAg
IHByaXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZTsKIApA
QCAtNzQsNiArNzksMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBXaGV0aGVy
IHRoZSBjb250ZW50cyBmb3IgdGhpcyByZXNwb25zZSBoYXMgYmVlbiBhbHRlcmVkL2Jsb2NrZWQg
KHVzdWFsbHkKICAgICAgICAgLy8gZm9yIHNlY3VyaXR5IHJlYXNvbnMuCiAgICAgICAgIGJvb2wg
bV9pc0NvbnRlbnRGaWx0ZXJlZDsKKworICAgICAgICAvLyBUaGUgaWQgb2YgdGhlIGFwcGNhY2hl
IHRoaXMgcmVzcG9uc2Ugd2FzIHJldHJpZXZlZCBmcm9tLAorICAgICAgICAvLyBvciBrTm9BcHBD
YWNoZUlEICgwKQorICAgICAgICBpbnQ2NCBtX2FwcENhY2hlSUQ7CiAgICAgfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29030</attachid>
            <date>2009-03-27 15:55:57 -0700</date>
            <delta_ts>2009-04-02 11:23:43 -0700</delta_ts>
            <desc>new patch snapshot #2</desc>
            <filename>AppCachePlumbing.patch2.txt</filename>
            <type>text/plain</type>
            <size>5453</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjA0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMDktMDMtMjcgIG1pY2hhZWxuICA8bWljaGFlbG5AZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaHJv
bWl1bSdzIFJlc291cmNlUmVxdWVzdCBhbmQgUmVzb3VyY2VSZXNwb25zZSBzdHJ1Y3RzIG5lZWQg
c29tZSBuZXcgZGF0YSBtZW1iZXJzLgorCisgICAgICAgIFRoZXNlIGZpZWxkcyBhcmUgbmVlZGVk
IHRvIGZhY2lsaXRhdGUgQ2hyb21pdW0ncyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgSFRNTDUKKyAg
ICAgICAgQXBwbGljYXRpb25DYWNoZSBmZWF0dXJlLiBXZSBuZWVkIHRvIGtub3cgd2hhdCBmcmFt
ZShvciBjb250ZXh0KSBpcyBkb2luZyB0aGUKKyAgICAgICAgcmVxdWVzdGluZywgYW5kIGZyb20g
d2hhdCBjYWNoZSB0aGUgcmVzdWx0aW5nIHJlc291cmNlIHdhcyByZXRyaWV2ZWQuCisKKyAgICAg
ICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHksIHNvIG5vIHRlc3RzLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdDo6UmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdDo6YXBwQ2FjaGVDb250ZXh0SUQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRBcHBDYWNoZUNvbnRleHRJRCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlc3BvbnNlLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpSZXNvdXJjZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OmdldEFwcENhY2hlSUQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZTo6c2V0QXBwQ2FjaGVJRCk6CisKIDIwMDktMDMtMjcgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlcXVl
c3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVz
b3VyY2VSZXF1ZXN0LmgJKHJldmlzaW9uIDQyMDE2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2Nocm9taXVtL1Jlc291cmNlUmVxdWVzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0
QmFzZShLVVJMKHVybCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1f
cmVxdWVzdG9ySUQoMCkKICAgICAgICAgICAgICwgbV9yZXF1ZXN0b3JQcm9jZXNzSUQoMCkKKyAg
ICAgICAgICAgICwgbV9hcHBDYWNoZUNvbnRleHRJRCgwKQogICAgICAgICAgICAgLCBtX3Rhcmdl
dFR5cGUoVGFyZ2V0SXNTdWJSZXNvdXJjZSkKICAgICAgICAgewogICAgICAgICB9CkBAIC01Nyw2
ICs1OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1
ZXN0QmFzZSh1cmwsIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fcmVx
dWVzdG9ySUQoMCkKICAgICAgICAgICAgICwgbV9yZXF1ZXN0b3JQcm9jZXNzSUQoMCkKKyAgICAg
ICAgICAgICwgbV9hcHBDYWNoZUNvbnRleHRJRCgwKQogICAgICAgICAgICAgLCBtX3RhcmdldFR5
cGUoVGFyZ2V0SXNTdWJSZXNvdXJjZSkKICAgICAgICAgICAgICwgbV9zZWN1cml0eUluZm8oc2Vj
dXJpdHlJbmZvKQogICAgICAgICB7CkBAIC02Niw2ICs2OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZSh1cmwsIFVzZVByb3RvY29sQ2Fj
aGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fcmVxdWVzdG9ySUQoMCkKICAgICAgICAgICAgICwg
bV9yZXF1ZXN0b3JQcm9jZXNzSUQoMCkKKyAgICAgICAgICAgICwgbV9hcHBDYWNoZUNvbnRleHRJ
RCgwKQogICAgICAgICAgICAgLCBtX3RhcmdldFR5cGUoVGFyZ2V0SXNTdWJSZXNvdXJjZSkKICAg
ICAgICAgewogICAgICAgICB9CkBAIC03NCw2ICs3Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZSh1cmwsIHBvbGljeSkKICAgICAgICAg
ICAgICwgbV9yZXF1ZXN0b3JJRCgwKQogICAgICAgICAgICAgLCBtX3JlcXVlc3RvclByb2Nlc3NJ
RCgwKQorICAgICAgICAgICAgLCBtX2FwcENhY2hlQ29udGV4dElEKDApCiAgICAgICAgICAgICAs
IG1fdGFyZ2V0VHlwZShUYXJnZXRJc1N1YlJlc291cmNlKQogICAgICAgICB7CiAgICAgICAgICAg
ICBzZXRIVFRQUmVmZXJyZXIocmVmZXJyZXIpOwpAQCAtODMsNiArODcsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICA6IFJlc291cmNlUmVxdWVzdEJhc2UoS1VSTCgpLCBVc2VQ
cm90b2NvbENhY2hlUG9saWN5KQogICAgICAgICAgICAgLCBtX3JlcXVlc3RvcklEKDApCiAgICAg
ICAgICAgICAsIG1fcmVxdWVzdG9yUHJvY2Vzc0lEKDApCisgICAgICAgICAgICAsIG1fYXBwQ2Fj
aGVDb250ZXh0SUQoMCkKICAgICAgICAgICAgICwgbV90YXJnZXRUeXBlKFRhcmdldElzU3ViUmVz
b3VyY2UpCiAgICAgICAgIHsKICAgICAgICAgfQpAQCAtMTA2LDYgKzExMSwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIGludCByZXF1ZXN0b3JQcm9jZXNzSUQoKSBjb25zdCB7IHJl
dHVybiBtX3JlcXVlc3RvclByb2Nlc3NJRDsgfQogICAgICAgICB2b2lkIHNldFJlcXVlc3RvclBy
b2Nlc3NJRChpbnQgcmVxdWVzdG9yUHJvY2Vzc0lEKSB7IG1fcmVxdWVzdG9yUHJvY2Vzc0lEID0g
cmVxdWVzdG9yUHJvY2Vzc0lEOyB9CiAKKyAgICAgICAgLy8gQWxsb3dzIHRoZSByZXF1ZXN0IHRv
IGJlIG1hdGNoZWQgdXAgd2l0aCBpdHMgYXBwIGNhY2hlIGNvbnRleHQuCisgICAgICAgIGludCBh
cHBDYWNoZUNvbnRleHRJRCgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwQ2FjaGVDb250ZXh0SUQ7IH0K
KyAgICAgICAgdm9pZCBzZXRBcHBDYWNoZUNvbnRleHRJRChpbnQgaWQpIHsgbV9hcHBDYWNoZUNv
bnRleHRJRCA9IGlkOyB9CisKICAgICAgICAgLy8gT3BhcXVlIGJ1ZmZlciB0aGF0IGRlc2NyaWJl
cyB0aGUgc2VjdXJpdHkgc3RhdGUgKGluY2x1ZGluZyBTU0wKICAgICAgICAgLy8gY29ubmVjdGlv
biBzdGF0ZSkgZm9yIHRoZSByZXNvdXJjZSB0aGF0IHNob3VsZCBiZSByZXBvcnRlZCB3aGVuIHRo
ZQogICAgICAgICAvLyByZXNvdXJjZSBoYXMgYmVlbiBsb2FkZWQuICBUaGlzIGlzIHVzZWQgdG8g
c2ltdWxhdGUgc2VjdXJlCkBAIC0xMjMsNiArMTMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgICAgIGludCBtX3JlcXVlc3RvcklEOwogICAgICAgICBpbnQgbV9yZXF1ZXN0b3JQcm9j
ZXNzSUQ7CisgICAgICAgIGludCBtX2FwcENhY2hlQ29udGV4dElEOwogICAgICAgICBUYXJnZXRU
eXBlIG1fdGFyZ2V0VHlwZTsKICAgICAgICAgQ1N0cmluZyBtX3NlY3VyaXR5SW5mbzsKICAgICAg
ICAgS1VSTCBtX3BvbGljeVVSTDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJv
bWl1bS9SZXNvdXJjZVJlc3BvbnNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVzcG9uc2UuaAkocmV2aXNpb24gNDIwMTYpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXNwb25zZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNywxMiArMzcsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHB1
YmxpYzoKICAgICAgICAgUmVzb3VyY2VSZXNwb25zZSgpCiAgICAgICAgICAgICA6IG1faXNDb250
ZW50RmlsdGVyZWQoZmFsc2UpCisgICAgICAgICAgICAsIG1fYXBwQ2FjaGVJRCgwKQogICAgICAg
ICB7CiAgICAgICAgIH0KIAogICAgICAgICBSZXNvdXJjZVJlc3BvbnNlKGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkTGVuZ3RoLCBjb25z
dCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpCi0gICAg
ICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVu
Z3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSksCi0gICAgICAgICAgICAgIG1faXNDb250
ZW50RmlsdGVyZWQoZmFsc2UpCisgICAgICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKHVy
bCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2RpbmdOYW1lLCBmaWxlbmFtZSkK
KyAgICAgICAgICAgICwgbV9pc0NvbnRlbnRGaWx0ZXJlZChmYWxzZSkKKyAgICAgICAgICAgICwg
bV9hcHBDYWNoZUlEKDApCiAgICAgICAgIHsKICAgICAgICAgfQogCkBAIC01OCw2ICs2MCwxMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBtX2lzQ29udGVudEZpbHRlcmVkID0g
aXNDb250ZW50RmlsdGVyZWQ7CiAgICAgICAgIH0KIAorICAgICAgICBpbnQ2NCBnZXRBcHBDYWNo
ZUlEKCkgY29uc3QgeyByZXR1cm4gbV9hcHBDYWNoZUlEOyB9CisgICAgICAgIHZvaWQgc2V0QXBw
Q2FjaGVJRChpbnQ2NCBpZCkKKyAgICAgICAgeworICAgICAgICAgICAgbV9hcHBDYWNoZUlEID0g
aWQ7CisgICAgICAgIH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlQmFzZTsKIApAQCAtNzQsNiArODIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAvLyBXaGV0aGVyIHRoZSBjb250ZW50cyBmb3IgdGhpcyByZXNwb25zZSBoYXMg
YmVlbiBhbHRlcmVkL2Jsb2NrZWQgKHVzdWFsbHkKICAgICAgICAgLy8gZm9yIHNlY3VyaXR5IHJl
YXNvbnMuCiAgICAgICAgIGJvb2wgbV9pc0NvbnRlbnRGaWx0ZXJlZDsKKworICAgICAgICAvLyBU
aGUgaWQgb2YgdGhlIGFwcGNhY2hlIHRoaXMgcmVzcG9uc2Ugd2FzIHJldHJpZXZlZCBmcm9tLAor
ICAgICAgICAvLyBvciBrTm9BcHBDYWNoZUlEICgwKQorICAgICAgICBpbnQ2NCBtX2FwcENhY2hl
SUQ7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="14371"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29202</attachid>
            <date>2009-04-02 11:23:43 -0700</date>
            <delta_ts>2009-04-02 12:52:52 -0700</delta_ts>
            <desc>take 3</desc>
            <filename>AppCachePlumbing.patch3.txt</filename>
            <type>text/plain</type>
            <size>5548</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjA0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDMtMjcgIG1pY2hhZWxuICA8bWljaGFlbG5AZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaHJv
bWl1bSdzIFJlc291cmNlUmVxdWVzdCBhbmQgUmVzb3VyY2VSZXNwb25zZSBzdHJ1Y3RzIG5lZWQg
c29tZSBuZXcgZGF0YSBtZW1iZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjQ4OTcKKworICAgICAgICBUaGVzZSBmaWVsZHMgYXJlIG5lZWRlZCB0
byBmYWNpbGl0YXRlIENocm9taXVtJ3MgaW1wbGVtZW50YXRpb24gb2YgdGhlIEhUTUw1CisgICAg
ICAgIEFwcGxpY2F0aW9uQ2FjaGUgZmVhdHVyZS4gV2UgbmVlZCB0byBrbm93IHdoYXQgZnJhbWUg
KG9yIGNvbnRleHQpIGlzIGRvaW5nIHRoZQorICAgICAgICByZXF1ZXN0aW5nLCBhbmQgZnJvbSB3
aGF0IGNhY2hlIHRoZSByZXN1bHRpbmcgcmVzb3VyY2Ugd2FzIHJldHJpZXZlZC4KKworICAgICAg
ICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eSwgc28gbm8gdGVzdHMuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0OjphcHBDYWNoZUNvbnRleHRJRCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3Q6OnNldEFwcENhY2hlQ29udGV4dElEKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZTo6Z2V0QXBwQ2FjaGVJRCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlOjpzZXRBcHBDYWNoZUlEKToKKwogMjAwOS0wMy0yNyAgRGlyayBTY2h1
bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVs
LgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVxdWVz
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNv
dXJjZVJlcXVlc3QuaAkocmV2aXNpb24gNDIwMTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RC
YXNlKEtVUkwodXJsKSwgVXNlUHJvdG9jb2xDYWNoZVBvbGljeSkKICAgICAgICAgICAgICwgbV9y
ZXF1ZXN0b3JJRCgwKQogICAgICAgICAgICAgLCBtX3JlcXVlc3RvclByb2Nlc3NJRCgwKQorICAg
ICAgICAgICAgLCBtX2FwcENhY2hlQ29udGV4dElEKDApCiAgICAgICAgICAgICAsIG1fdGFyZ2V0
VHlwZShUYXJnZXRJc1N1YlJlc291cmNlKQogICAgICAgICB7CiAgICAgICAgIH0KQEAgLTU3LDYg
KzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVl
c3RCYXNlKHVybCwgVXNlUHJvdG9jb2xDYWNoZVBvbGljeSkKICAgICAgICAgICAgICwgbV9yZXF1
ZXN0b3JJRCgwKQogICAgICAgICAgICAgLCBtX3JlcXVlc3RvclByb2Nlc3NJRCgwKQorICAgICAg
ICAgICAgLCBtX2FwcENhY2hlQ29udGV4dElEKDApCiAgICAgICAgICAgICAsIG1fdGFyZ2V0VHlw
ZShUYXJnZXRJc1N1YlJlc291cmNlKQogICAgICAgICAgICAgLCBtX3NlY3VyaXR5SW5mbyhzZWN1
cml0eUluZm8pCiAgICAgICAgIHsKQEAgLTY2LDYgKzY4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKHVybCwgVXNlUHJvdG9jb2xDYWNo
ZVBvbGljeSkKICAgICAgICAgICAgICwgbV9yZXF1ZXN0b3JJRCgwKQogICAgICAgICAgICAgLCBt
X3JlcXVlc3RvclByb2Nlc3NJRCgwKQorICAgICAgICAgICAgLCBtX2FwcENhY2hlQ29udGV4dElE
KDApCiAgICAgICAgICAgICAsIG1fdGFyZ2V0VHlwZShUYXJnZXRJc1N1YlJlc291cmNlKQogICAg
ICAgICB7CiAgICAgICAgIH0KQEAgLTc0LDYgKzc3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKHVybCwgcG9saWN5KQogICAgICAgICAg
ICAgLCBtX3JlcXVlc3RvcklEKDApCiAgICAgICAgICAgICAsIG1fcmVxdWVzdG9yUHJvY2Vzc0lE
KDApCisgICAgICAgICAgICAsIG1fYXBwQ2FjaGVDb250ZXh0SUQoMCkKICAgICAgICAgICAgICwg
bV90YXJnZXRUeXBlKFRhcmdldElzU3ViUmVzb3VyY2UpCiAgICAgICAgIHsKICAgICAgICAgICAg
IHNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CkBAIC04Myw2ICs4Nyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZShLVVJMKCksIFVzZVBy
b3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fcmVxdWVzdG9ySUQoMCkKICAgICAg
ICAgICAgICwgbV9yZXF1ZXN0b3JQcm9jZXNzSUQoMCkKKyAgICAgICAgICAgICwgbV9hcHBDYWNo
ZUNvbnRleHRJRCgwKQogICAgICAgICAgICAgLCBtX3RhcmdldFR5cGUoVGFyZ2V0SXNTdWJSZXNv
dXJjZSkKICAgICAgICAgewogICAgICAgICB9CkBAIC0xMDYsNiArMTExLDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgaW50IHJlcXVlc3RvclByb2Nlc3NJRCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVxdWVzdG9yUHJvY2Vzc0lEOyB9CiAgICAgICAgIHZvaWQgc2V0UmVxdWVzdG9yUHJv
Y2Vzc0lEKGludCByZXF1ZXN0b3JQcm9jZXNzSUQpIHsgbV9yZXF1ZXN0b3JQcm9jZXNzSUQgPSBy
ZXF1ZXN0b3JQcm9jZXNzSUQ7IH0KIAorICAgICAgICAvLyBBbGxvd3MgdGhlIHJlcXVlc3QgdG8g
YmUgbWF0Y2hlZCB1cCB3aXRoIGl0cyBhcHAgY2FjaGUgY29udGV4dC4KKyAgICAgICAgaW50IGFw
cENhY2hlQ29udGV4dElEKCkgY29uc3QgeyByZXR1cm4gbV9hcHBDYWNoZUNvbnRleHRJRDsgfQor
ICAgICAgICB2b2lkIHNldEFwcENhY2hlQ29udGV4dElEKGludCBpZCkgeyBtX2FwcENhY2hlQ29u
dGV4dElEID0gaWQ7IH0KKwogICAgICAgICAvLyBPcGFxdWUgYnVmZmVyIHRoYXQgZGVzY3JpYmVz
IHRoZSBzZWN1cml0eSBzdGF0ZSAoaW5jbHVkaW5nIFNTTAogICAgICAgICAvLyBjb25uZWN0aW9u
IHN0YXRlKSBmb3IgdGhlIHJlc291cmNlIHRoYXQgc2hvdWxkIGJlIHJlcG9ydGVkIHdoZW4gdGhl
CiAgICAgICAgIC8vIHJlc291cmNlIGhhcyBiZWVuIGxvYWRlZC4gIFRoaXMgaXMgdXNlZCB0byBz
aW11bGF0ZSBzZWN1cmUKQEAgLTEyMyw2ICsxMzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgaW50IG1fcmVxdWVzdG9ySUQ7CiAgICAgICAgIGludCBtX3JlcXVlc3RvclByb2Nl
c3NJRDsKKyAgICAgICAgaW50IG1fYXBwQ2FjaGVDb250ZXh0SUQ7CiAgICAgICAgIFRhcmdldFR5
cGUgbV90YXJnZXRUeXBlOwogICAgICAgICBDU3RyaW5nIG1fc2VjdXJpdHlJbmZvOwogICAgICAg
ICBLVVJMIG1fcG9saWN5VVJMOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9t
aXVtL1Jlc291cmNlUmVzcG9uc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXNwb25zZS5oCShyZXZpc2lvbiA0MjAxNikKKysrIFdl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlc3BvbnNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM3LDEyICszNywxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBSZXNvdXJjZVJlc3BvbnNlKCkKICAgICAgICAgICAgIDogbV9pc0NvbnRl
bnRGaWx0ZXJlZChmYWxzZSkKKyAgICAgICAgICAgICwgbV9hcHBDYWNoZUlEKDApCiAgICAgICAg
IHsKICAgICAgICAgfQogCiAgICAgICAgIFJlc291cmNlUmVzcG9uc2UoY29uc3QgS1VSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBsb25nIGxvbmcgZXhwZWN0ZWRMZW5ndGgsIGNvbnN0
IFN0cmluZyYgdGV4dEVuY29kaW5nTmFtZSwgY29uc3QgU3RyaW5nJiBmaWxlbmFtZSkKLSAgICAg
ICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UodXJsLCBtaW1lVHlwZSwgZXhwZWN0ZWRMZW5n
dGgsIHRleHRFbmNvZGluZ05hbWUsIGZpbGVuYW1lKSwKLSAgICAgICAgICAgICAgbV9pc0NvbnRl
bnRGaWx0ZXJlZChmYWxzZSkKKyAgICAgICAgICAgIDogUmVzb3VyY2VSZXNwb25zZUJhc2UodXJs
LCBtaW1lVHlwZSwgZXhwZWN0ZWRMZW5ndGgsIHRleHRFbmNvZGluZ05hbWUsIGZpbGVuYW1lKQor
ICAgICAgICAgICAgLCBtX2lzQ29udGVudEZpbHRlcmVkKGZhbHNlKQorICAgICAgICAgICAgLCBt
X2FwcENhY2hlSUQoMCkKICAgICAgICAgewogICAgICAgICB9CiAKQEAgLTU4LDYgKzYwLDEyIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIG1faXNDb250ZW50RmlsdGVyZWQgPSBp
c0NvbnRlbnRGaWx0ZXJlZDsKICAgICAgICAgfQogCisgICAgICAgIGludDY0IGdldEFwcENhY2hl
SUQoKSBjb25zdCB7IHJldHVybiBtX2FwcENhY2hlSUQ7IH0KKyAgICAgICAgdm9pZCBzZXRBcHBD
YWNoZUlEKGludDY0IGlkKQorICAgICAgICB7CisgICAgICAgICAgICBtX2FwcENhY2hlSUQgPSBp
ZDsKKyAgICAgICAgfQorCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIFJlc291
cmNlUmVzcG9uc2VCYXNlOwogCkBAIC03NCw2ICs4MiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIC8vIFdoZXRoZXIgdGhlIGNvbnRlbnRzIGZvciB0aGlzIHJlc3BvbnNlIGhhcyBi
ZWVuIGFsdGVyZWQvYmxvY2tlZCAodXN1YWxseQogICAgICAgICAvLyBmb3Igc2VjdXJpdHkgcmVh
c29ucy4KICAgICAgICAgYm9vbCBtX2lzQ29udGVudEZpbHRlcmVkOworCisgICAgICAgIC8vIFRo
ZSBpZCBvZiB0aGUgYXBwY2FjaGUgdGhpcyByZXNwb25zZSB3YXMgcmV0cmlldmVkIGZyb20sIG9y
IHplcm8gaWYKKyAgICAgICAgLy8gdGhlIHJlc3BvbnNlIHdhcyBub3QgcmV0cmlldmVkIGZyb20g
YW4gYXBwY2FjaGUuCisgICAgICAgIGludDY0IG1fYXBwQ2FjaGVJRDsKICAgICB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="14484"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>