<?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>52044</bug_id>
          
          <creation_ts>2011-01-06 21:15:01 -0800</creation_ts>
          <short_desc>REGRESSION(r74807): No-store is ignored within a document</short_desc>
          <delta_ts>2011-01-10 10:45:16 -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>Page Loading</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>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>darin</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>330641</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-06 21:15:01 -0800</bug_when>
    <thetext>Starting with r74807 (&quot;Move loading related code from MemoryCache to CachedResourceLoader&quot;), requests for the same resource URL always return cached data, even if the resource is served as no-store.

This doesn&apos;t match Firefox, and is just wrong. I expect this to break sites, even though I do not have any examples (this change isn&apos;t even in nightlies yet).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330642</commentid>
    <comment_count>1</comment_count>
      <attachid>78207</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-06 21:22:58 -0800</bug_when>
    <thetext>Created attachment 78207
proposed fix

I&apos;m not sure if this patch is technically correct. We also had some URL checks prior to r74807, which moved them, and changed their meaning. But all HTTP regression tests pass.

Also, I don&apos;t really understand what changed in this revision to make similar code so different. It&apos;s possible that there are other regressions I don&apos;t know about. I only learned about this particular behavior change because Antti mentioned it in bug 43704 comment 23.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330690</commentid>
    <comment_count>2</comment_count>
      <attachid>78207</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-07 01:45:44 -0800</bug_when>
    <thetext>Comment on attachment 78207
proposed fix

r74807 did not introduce that test (the hash was called m_reloadedURLs before it). This is a long standing webkit behavior. You will need to provide a much better justification for changing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330709</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-07 02:40:41 -0800</bug_when>
    <thetext>Ah, there is an actual regression with no-store (that&apos;s what you are testing, the current bug title says no-cache).

The old code would never use no-store resources from cache (except when CachePolicy was CachePolicyHistoryBuffer)  due to a check in MemoryCache::requestResource(). The correct fix is to add that case to CachedResourceLoader::determineRevalidationPolicy() just before the m_validatedURLs check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330776</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-07 08:34:18 -0800</bug_when>
    <thetext>&gt; This is a long standing webkit behavior.

What exactly is the behavior? It&apos;s untested, and I can&apos;t even tell what to test for.

&gt; The correct fix is to add that case to CachedResourceLoader::determineRevalidationPolicy() just before the m_validatedURLs check.

Would you be willing to make the fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330785</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-07 08:50:38 -0800</bug_when>
    <thetext>You are right that I was confused about no-store vs. no-cache here.

However, no-cache seems to be in need of fixing, too. Firefox always revalidates these. Perhaps this should be tracked in a separate bug, but my patch takes care of both.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330793</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-07 09:03:45 -0800</bug_when>
    <thetext>The Firefox behavior is of course to re-fetch no-store resources with unconditional requests, and to revalidate no-cache ones.

Do we want to match that exactly? I think that we do. This is the same observed behavior that&apos;s achieved with my patch. It needs more extensive tests, but what do you think about the code change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330796</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-07 09:10:46 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; You are right that I was confused about no-store vs. no-cache here.
&gt; 
&gt; However, no-cache seems to be in need of fixing, too. Firefox always revalidates these. Perhaps this should be tracked in a separate bug, but my patch takes care of both.

Yeah, I can patch this for no-store. Surprised we didn&apos;t have a test for that.

Since we have managed with not revalidating no-cache resources so far I think we should stick with that behavior. If people want their loads to reach server they can use no-store. It would be good to get test cases though. Tests should also differentiate between regular page load and what happens afterwards with timer initiated loads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330815</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-07 09:41:19 -0800</bug_when>
    <thetext>There are two reasons why I would like to fix our no-cache behavior, too:
1) Practical Firefox compatibility (well, I don&apos;t have actual examples of broken sites, but matching Firefox is what we usually do for cache behavior).
2) I don&apos;t wan&apos;t to keep confusing authors about the meaning of no-cache. This is difficult for them, so sticking to the spec and to Firefox will be helpful, and may make a site or two more robust.
3) A reason why I want to eliminate this check altogether is that URL is never a sufficient resource identifier, so all code that&apos;s using it alone is wrong. A resource is identified by it URL plus request headers, plus it&apos;s considered unique per request if it&apos;s no-store, plus the server can always decide to unique it if it&apos;s no-cache. My change obviously doesn&apos;t get us there, but keeping this check just adds to general confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330816</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-07 09:41:46 -0800</bug_when>
    <thetext>&gt; There are two reasons

I made that three! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330821</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-07 09:45:26 -0800</bug_when>
    <thetext>&gt; If people want their loads to reach server they can use no-store.

I don&apos;t think that&apos;s a great option. With no-store, the request would be non-conditional, which is horrible for performance. So, reason #4:

4) We should fix no-cache, because that&apos;s pretty common and desirable behavior. Always get fresh data, but don&apos;t waste bandwidth if it hasn&apos;t changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331591</commentid>
    <comment_count>11</comment_count>
      <attachid>78393</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-10 05:54:54 -0800</bug_when>
    <thetext>Created attachment 78393
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331597</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-10 06:07:44 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; I don&apos;t think that&apos;s a great option. With no-store, the request would be non-conditional, which is horrible for performance. So, reason #4:
&gt; 
&gt; 4) We should fix no-cache, because that&apos;s pretty common and desirable behavior. Always get fresh data, but don&apos;t waste bandwidth if it hasn&apos;t changed.

You are probably right (though all expiration should be treated uniformly, no-cache should not be a special case) for what should happen post-load. However  we should never load a resource more than once during page loading (with this patch we may in certain cases).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331640</commentid>
    <comment_count>13</comment_count>
      <attachid>78393</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-10 08:48:25 -0800</bug_when>
    <thetext>Comment on attachment 78393
patch

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

&gt; However  we should never load a resource more than once during page loading

Definitely agreed.

Would you be willing to file a bug about no-cache?

&gt; Source/WebCore/ChangeLog:6
&gt; +        REGRESSION(r74807): No-cache is ignored within a document

No-cache?

&gt; LayoutTests/ChangeLog:10
&gt; +        * http/tests/misc/resources/random.php: Added.

I&apos;d have renamed this random-no-store.php. Maybe the .html file, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331681</commentid>
    <comment_count>14</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-10 10:33:51 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/75384</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331693</commentid>
    <comment_count>15</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-10 10:45:16 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Would you be willing to file a bug about no-cache?

Bug 52153.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:6
&gt; &gt; +        REGRESSION(r74807): No-cache is ignored within a document
&gt; 
&gt; No-cache?
&gt; 
&gt; &gt; LayoutTests/ChangeLog:10
&gt; &gt; +        * http/tests/misc/resources/random.php: Added.
&gt; 
&gt; I&apos;d have renamed this random-no-store.php. Maybe the .html file, too.

Fixed these.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78207</attachid>
            <date>2011-01-06 21:22:58 -0800</date>
            <delta_ts>2011-01-10 05:54:54 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>SameURL.txt</filename>
            <type>text/plain</type>
            <size>4662</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NTIyNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTEtMDEtMDYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyMDQ0CisgICAgICAgIFJF
R1JFU1NJT04ocjc0ODA3KTogTm8tY2FjaGUgaXMgaWdub3JlZCB3aXRoaW4gYSBkb2N1bWVudAor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbWlzYy9tdWx0aXBsZS11bmNhY2hlZC1pbnN0YW5j
ZXMuaHRtbAorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZh
bGlkYXRpb25Qb2xpY3kpOgorICAgICAgICBJZGVudGljYWwgcmVzb3VyY2UgVVJMIGhhcyBub3Ro
aW5nIHRvIGRvIHdpdGggd2hldGhlciB3ZSBzaG91bGQgdXNlIGNhY2hlZCBkYXRhLgorCiAyMDEx
LTAxLTA2ICBDaHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLgpJbmRleDogV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAkocmV2aXNpb24gNzUyMjQpCisrKyBXZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwMiwxMCArNDAyLDYgQEAgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGljeQogICAgIGlmIChleGlzdGluZ1Jl
c291cmNlLT5pc1ByZWxvYWRlZCgpKQogICAgICAgICByZXR1cm4gVXNlOwogICAgIAotICAgIC8v
IEF2b2lkIGxvYWRpbmcgdGhlIHNhbWUgcmVzb3VyY2UgbXVsdGlwbGUgdGltZXMgZm9yIGEgc2lu
Z2xlIGRvY3VtZW50LCBldmVuIGlmIHRoZSBjYWNoZSBwb2xpY2llcyB3b3VsZCB0ZWxsIHVzIHRv
LgotICAgIGlmIChtX3ZhbGlkYXRlZFVSTHMuY29udGFpbnMoZXhpc3RpbmdSZXNvdXJjZS0+dXJs
KCkpKQotICAgICAgICByZXR1cm4gVXNlOwotICAgIAogICAgIC8vIENhY2hlUG9saWN5UmVsb2Fk
IGFsd2F5cyByZWxvYWRzCiAgICAgaWYgKGNhY2hlUG9saWN5KCkgPT0gQ2FjaGVQb2xpY3lSZWxv
YWQpIHsKICAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVy
OjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGR1ZSB0byBDYWNoZVBvbGlj
eVJlbG9hZC4iKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1MjI3KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMDYgIEFsZXhl
eSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTUyMDQ0CisgICAgICAgIFJFR1JFU1NJT04ocjc0ODA3KTogTm8tY2FjaGUgaXMgaWdu
b3JlZCB3aXRoaW4gYSBkb2N1bWVudAorCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL211bHRp
cGxlLXVuY2FjaGVkLWluc3RhbmNlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbWlzYy9tdWx0aXBsZS11bmNhY2hlZC1pbnN0YW5jZXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9yYW5kb20ucGhwOiBBZGRlZC4KKwog
MjAxMS0wMS0wNiAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkOyBjaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucyB1cGRhdGUuCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbXVsdGlwbGUtdW5jYWNoZWQtaW5zdGFu
Y2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2MvbXVsdGlwbGUtdW5jYWNoZWQtaW5zdGFuY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9tdWx0aXBsZS11bmNhY2hlZC1pbnN0YW5j
ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK1BBU1MKKwoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL211bHRpcGxlLXVu
Y2FjaGVkLWluc3RhbmNlcy1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt
dHlwZQogICArIHRleHQvcGxhaW4KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbXVsdGlwbGUtdW5jYWNoZWQtaW5zdGFu
Y2VzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL211bHRp
cGxlLXVuY2FjaGVkLWluc3RhbmNlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9taXNjL211bHRpcGxlLXVuY2FjaGVkLWluc3RhbmNlcy5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDMwIEBACis8Ym9keT4KKzxzY3JpcHQ+Cit2YXIgY291bnQgPSAwOwor
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKK30KKworZnVuY3Rpb24gYWRkUmFuZG9tKCkKK3sKKyAgICB2YXIgc2NyaXB0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgi
c3JjIiwgInJlc291cmNlcy9yYW5kb20ucGhwIik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChzY3JpcHQpOworfQorKytjb3VudDsKK2FkZFJhbmRvbSgpOworCitzZXRJbnRlcnZhbChm
dW5jdGlvbigpIHsKKyAgICBpZiAoY291bnQgPT0gMSAmJiBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgicCIpLmxlbmd0aCA9PSAxKSB7CisgICAgICAgICsrY291bnQ7CisgICAgICAgIGFk
ZFJhbmRvbSgpOworICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
InAiKS5sZW5ndGggPT0gMikgeworICAgICAgICBkb2N1bWVudC53cml0ZShkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgicCIpWzBdLmlubmVySFRNTCA9PSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgicCIpWzFdLmlubmVySFRNTCA/IAorICAgICAgICAgICAgIkZBSUw8YnI+IiA6
ICJQQVNTPGJyPiIpOworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30s
IDEwKTsKKzwvc2NyaXB0PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9taXNjL211bHRpcGxlLXVuY2FjaGVkLWluc3RhbmNlcy5odG1sCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21pc2MvcmVzb3VyY2VzL3JhbmRvbS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9yYW5kb20ucGhwCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9yYW5kb20ucGhwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDkgQEAKKzw/cGhwCisgICAgaGVhZGVyKCJDYWNoZS1Db250cm9sOiBu
by1zdG9yZSIpOworPz4KK3ZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworcC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiPD9waHAKKyAgICBwcmludCByYW5k
KCk7Cis/PgorIikpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwKTsK
</data>
<flag name="review"
          id="69488"
          type_id="1"
          status="-"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78393</attachid>
            <date>2011-01-10 05:54:54 -0800</date>
            <delta_ts>2011-01-10 08:48:25 -0800</delta_ts>
            <desc>patch</desc>
            <filename>no-store.patch</filename>
            <type>text/plain</type>
            <size>5178</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1MzY2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDEtMTAgIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01MjA0NAorICAgICAgICBSRUdSRVNTSU9OKHI3NDgwNyk6IE5vLWNhY2hlIGlzIGlnbm9yZWQg
d2l0aGluIGEgZG9jdW1lbnQKKyAgICAgICAgCisgICAgICAgIERvbid0IHVzZSBjYWNoZWQgcmVz
b3VyY2VzIHdpdGggQ2FjaGUtY29udHJvbDogbm8tc3RvcmUgKHVubGVzcyBjYWNoZSBwb2xpY3kg
aXMgQ2FjaGVQb2xpY3lIaXN0b3J5QnVmZmVyKS4KKyAgICAgICAgVGhpcyBtYXRjaGVzIGEgYmVo
YXZpb3IgdGhhdCBnb3QgbG9zdCBpbiByNzQ4MDcuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0
cy9taXNjL211bHRpcGxlLXVuY2FjaGVkLWluc3RhbmNlcy5odG1sCisgICAgICAgIChieSBBbGV4
ZXkgUHJvc2t1cnlha292KQorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRl
cm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kpOgorCiAyMDExLTAxLTEwICBJbHlhIFRpa2hvbm92c2t5
ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxk
bWFuLgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiA3NTM2NikKKysrIFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQw
Miw2ICs0MDIsMTYgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGljeQog
ICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT5pc1ByZWxvYWRlZCgpKQogICAgICAgICByZXR1cm4g
VXNlOwogICAgIAorICAgIC8vIENhY2hlUG9saWN5SGlzdG9yeUJ1ZmZlciB1c2VzIHRoZSBjYWNo
ZSBubyBtYXR0ZXIgd2hhdC4KKyAgICBpZiAoY2FjaGVQb2xpY3koKSA9PSBDYWNoZVBvbGljeUhp
c3RvcnlCdWZmZXIpCisgICAgICAgIHJldHVybiBVc2U7CisKKyAgICAvLyBOZXZlciByZXVzZSBy
ZXNvdXJjZXMgd2l0aCBDYWNoZS1jb250cm9sOiBuby1zdG9yZS4KKyAgICBpZiAoZXhpc3RpbmdS
ZXNvdXJjZS0+cmVzcG9uc2UoKS5jYWNoZUNvbnRyb2xDb250YWluc05vU3RvcmUoKSkgeworICAg
ICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWlu
ZVJldmFsaWRhdGlvblBvbGljeSByZWxvYWRpbmcgZHVlIHRvIENhY2hlLWNvbnRyb2w6IG5vLXN0
b3JlLiIpOworICAgICAgICByZXR1cm4gUmVsb2FkOworICAgIH0KKwogICAgIC8vIEF2b2lkIGxv
YWRpbmcgdGhlIHNhbWUgcmVzb3VyY2UgbXVsdGlwbGUgdGltZXMgZm9yIGEgc2luZ2xlIGRvY3Vt
ZW50LCBldmVuIGlmIHRoZSBjYWNoZSBwb2xpY2llcyB3b3VsZCB0ZWxsIHVzIHRvLgogICAgIGlm
IChtX3ZhbGlkYXRlZFVSTHMuY29udGFpbnMoZXhpc3RpbmdSZXNvdXJjZS0+dXJsKCkpKQogICAg
ICAgICByZXR1cm4gVXNlOwpAQCAtNDEyLDEwICs0MjIsNiBAQCBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6UmV2YWxpZGF0aW9uUG9saWN5CiAgICAgICAgIHJldHVybiBSZWxvYWQ7CiAgICAgfQogICAg
IAotICAgIC8vIENhY2hlUG9saWN5SGlzdG9yeUJ1ZmZlciB1c2VzIHRoZSBjYWNoZSBubyBtYXR0
ZXIgd2hhdC4KLSAgICBpZiAoY2FjaGVQb2xpY3koKSA9PSBDYWNoZVBvbGljeUhpc3RvcnlCdWZm
ZXIpCi0gICAgICAgIHJldHVybiBVc2U7Ci0gICAgCiAgICAgLy8gV2UnbGwgdHJ5IHRvIHJlbG9h
ZCB0aGUgcmVzb3VyY2UgaWYgaXQgZmFpbGVkIGxhc3QgdGltZS4KICAgICBpZiAoZXhpc3RpbmdS
ZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpKSB7CiAgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcs
ICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5ZSByZWxv
YWRpbmcgZHVlIHRvIHJlc291cmNlIGJlaW5nIGluIHRoZSBlcnJvciBzdGF0ZSIpOwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNzUzNjYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0xMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyMDQ0CisgICAgICAg
IFJFR1JFU1NJT04ocjc0ODA3KTogTm8tY2FjaGUgaXMgaWdub3JlZCB3aXRoaW4gYSBkb2N1bWVu
dAorCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL211bHRpcGxlLXVuY2FjaGVkLWluc3RhbmNl
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9tdWx0aXBs
ZS11bmNhY2hlZC1pbnN0YW5jZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9t
aXNjL3Jlc291cmNlcy9yYW5kb20ucGhwOiBBZGRlZC4KKwogMjAxMS0wMS0wOSAgSnVzdGluIEdh
cmNpYSAgPGp1c3Rpbi5nYXJjaWFAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBB
ZGRpbmcgc3ZnL3RleHQvY2FyZXQtaW4tc3ZnLXRleHQueGh0bWwgdG8gU2tpcHBlZCBsaXN0IGZv
ciBndGssIHdoZXJlIHRoZXJlIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL211
bHRpcGxlLXVuY2FjaGVkLWluc3RhbmNlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL211bHRpcGxlLXVuY2FjaGVkLWluc3RhbmNlcy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbXVs
dGlwbGUtdW5jYWNoZWQtaW5zdGFuY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyIEBACitQQVNTCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9tdWx0
aXBsZS11bmNhY2hlZC1pbnN0YW5jZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2MvbXVsdGlwbGUtdW5jYWNoZWQtaW5zdGFuY2VzLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvbXVsdGlwbGUtdW5jYWNoZWQtaW5z
dGFuY2VzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKKzxib2R5PgorPHNjcmlw
dD4KK3ZhciBjb3VudCA9IDA7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBhZGRSYW5kb20oKQorewor
ICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgICBz
Y3JpcHQuc2V0QXR0cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL3JhbmRvbS5waHAiKTsKKyAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7Cit9CisrK2NvdW50OworYWRkUmFuZG9t
KCk7CisKK3NldEludGVydmFsKGZ1bmN0aW9uKCkgeworICAgIGlmIChjb3VudCA9PSAxICYmIGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIikubGVuZ3RoID09IDEpIHsKKyAgICAgICAg
Kytjb3VudDsKKyAgICAgICAgYWRkUmFuZG9tKCk7CisgICAgfSBlbHNlIGlmIChkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgicCIpLmxlbmd0aCA9PSAyKSB7CisgICAgICAgIGRvY3VtZW50
LndyaXRlKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIilbMF0uaW5uZXJIVE1MID09
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIilbMV0uaW5uZXJIVE1MID8gCisgICAg
ICAgICAgICAiRkFJTDxicj4iIDogIlBBU1M8YnI+Iik7CisgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgfQorfSwgMTApOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3JhbmRvbS5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9yYW5kb20ucGhwCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9yYW5kb20ucGhwCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKKzw/cGhwCisgICAgaGVhZGVyKCJDYWNoZS1Db250cm9s
OiBuby1zdG9yZSIpOworPz4KK3ZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOwor
cC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiPD9waHAKKyAgICBwcmludCBy
YW5kKCk7Cis/PgorIikpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwKTsK
</data>
<flag name="review"
          id="69701"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>