<?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>26848</bug_id>
          
          <creation_ts>2009-06-30 11:26:58 -0700</creation_ts>
          <short_desc>[Qt] ResourceHandle::willLoadFromCache needs to be implmeneted QtWebKit.</short_desc>
          <delta_ts>2009-07-29 03:33:29 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yongjun Zhang">yongjun.zhang</reporter>
          <assigned_to name="Yongjun Zhang">yongjun.zhang</assigned_to>
          <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>129111</commentid>
    <comment_count>0</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-06-30 11:26:58 -0700</bug_when>
    <thetext>When disk cache is enabled, WebCore can figure out if the next main load could be loaded from cache by calling willLoadFromCache when do form repost (FrameLoader.cpp:4530).  willLoadFromCache in QtWebKit is currently not implemented and always returns false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129115</commentid>
    <comment_count>1</comment_count>
      <attachid>32079</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-06-30 11:32:39 -0700</bug_when>
    <thetext>Created attachment 32079
Implement willLoadFromCache for QtWebKit.

Implement ResouceHandler::willLoadFromCache in QtWebKit, add Frame* argument to generic willLoadFromCache because it is needed to figure out the right QNetworkAccessManager from QWebPage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129179</commentid>
    <comment_count>2</comment_count>
      <attachid>32079</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-30 14:39:18 -0700</bug_when>
    <thetext>Comment on attachment 32079
Implement willLoadFromCache for QtWebKit.

Why does Qt need the frame and no other port does?

Isn&apos;t there a global &quot;network manager&quot;?
+    QNetworkAccessManager* manager = QWebFramePrivate::kit(frame)-&gt;page()-&gt;networkAccessManager();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129278</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-07-01 01:53:02 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 32079 [review])
&gt; Why does Qt need the frame and no other port does?
&gt; 
&gt; Isn&apos;t there a global &quot;network manager&quot;?
&gt; +    QNetworkAccessManager* manager =
&gt; QWebFramePrivate::kit(frame)-&gt;page()-&gt;networkAccessManager();
&gt; 

I think the Qt port is the only one that allows that kind of sandboxing, where there is a per page (or page group) specific network manager and similar things. From an application developer&apos;s point of view that&apos;s very convenient.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129945</commentid>
    <comment_count>4</comment_count>
      <attachid>32079</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-07-06 07:33:20 -0700</bug_when>
    <thetext>Comment on attachment 32079
Implement willLoadFromCache for QtWebKit.


&gt; -bool ResourceHandle::willLoadFromCache(ResourceRequest&amp; request)
&gt; +bool ResourceHandle::willLoadFromCache(ResourceRequest&amp; request, Frame* frame)

this will break the mac build... remove the unused parameter


&gt; +#if QT_VERSION &gt;= 0x040400
&gt; +    QNetworkAccessManager* manager = QWebFramePrivate::kit(frame)-&gt;page()-&gt;networkAccessManager();
&gt; +    QAbstractNetworkCache* cache = manager-&gt;cache();


this will not work on Qt4.4... the cache got added in Qt 4.5...

please revise the patch, it looks good otherwise!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129946</commentid>
    <comment_count>5</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-07-06 07:37:40 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 32079 [details])
&gt; Why does Qt need the frame and no other port does?
&gt; 
&gt; Isn&apos;t there a global &quot;network manager&quot;?
&gt; +    QNetworkAccessManager* manager =
&gt; QWebFramePrivate::kit(frame)-&gt;page()-&gt;networkAccessManager();

Qt has a network manager instance per QWebPage. E.g. different parts of the app (think of the help system) have different policies for networking access... anyway this was just a quick example.

Prior changes due this included the static/synchronous XMLHttpRequest implementation and cookies. Back then we have added the Frame*/Document* to the signature with Apple&apos;s review, I think it is the same case here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133199</commentid>
    <comment_count>6</comment_count>
      <attachid>33100</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-07-20 12:40:39 -0700</bug_when>
    <thetext>Created attachment 33100
modify the patch to include Zecke&apos;s review comments.

Incorporate Zeke&apos;s comments:

1. leave Frame* argument empty to be able to  build in mac.
2. enable the feature in QT_VERSION 4.5, where disk cache was first introduced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135553</commentid>
    <comment_count>7</comment_count>
      <attachid>33100</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-07-29 03:32:47 -0700</bug_when>
    <thetext>Comment on attachment 33100
modify the patch to include Zecke&apos;s review comments.

r=me. There&apos;s a typo in the ChangeLog and the &quot;No new tests&quot; line shouldn&apos;t be there, but I&apos;ll remove that when landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135554</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-07-29 03:33:29 -0700</bug_when>
    <thetext>Landed in r46535</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32079</attachid>
            <date>2009-06-30 11:32:39 -0700</date>
            <delta_ts>2009-07-20 12:40:39 -0700</delta_ts>
            <desc>Implement willLoadFromCache for QtWebKit.</desc>
            <filename>willLoadFromCache_qt.patch</filename>
            <type>text/plain</type>
            <size>6538</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTM4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMDktMDYtMzAgIFlvbmdqdW4gWmhhbmcgIDx5b25nanVuLnpoYW5n
QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY4NDgKKyAgICAg
ICAgW1F0XSBSZXNvdXJjZUhhbmRsZTo6d2lsbExvYWRGcm9tQ2FjaGUgbmVlZHMgdG8gYmUgaW1w
bG1lbmV0ZWQgUXRXZWJLaXQuCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRJdGVtKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
SGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9j
dXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6d2lsbExvYWRGcm9tQ2FjaGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1Jlc291cmNlSGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OndpbGxMb2FkRnJvbUNhY2hlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1Jlc291
cmNlSGFuZGxlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OndpbGxM
b2FkRnJvbUNhY2hlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjp3aWxsTG9h
ZEZyb21DYWNoZSk6CisKIDIwMDktMDYtMzAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA0NTM4MCkKKysrIFdlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUyNyw3ICs0NTI3LDcgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6bG9hZEl0ZW0oSGlzdG9yeUl0ZW0qIAogICAgICAgICAgICAgICAgIC8vIGhhdmUg
dGhlIGl0ZW0gdmFuaXNoIHdoZW4gd2UgdHJ5IHRvIHVzZSBpdCBpbiB0aGUgZW5zdWluZyBuYXYu
ICBUaGlzIHNob3VsZCBiZQogICAgICAgICAgICAgICAgIC8vIGV4dHJlbWVseSByYXJlLCBidXQg
aW4gdGhhdCBjYXNlIHRoZSB1c2VyIHdpbGwgZ2V0IGFuIGVycm9yIG9uIHRoZSBuYXZpZ2F0aW9u
LgogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChSZXNvdXJjZUhhbmRsZTo6
d2lsbExvYWRGcm9tQ2FjaGUocmVxdWVzdCkpCisgICAgICAgICAgICAgICAgaWYgKFJlc291cmNl
SGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShyZXF1ZXN0LCBtX2ZyYW1lKSkKICAgICAgICAgICAg
ICAgICAgICAgYWN0aW9uID0gTmF2aWdhdGlvbkFjdGlvbihpdGVtVVJMLCBsb2FkVHlwZSwgZmFs
c2UpOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICByZXF1ZXN0
LnNldENhY2hlUG9saWN5KFJlbG9hZElnbm9yaW5nQ2FjaGVEYXRhKTsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCShyZXZpc2lvbiA0NTM4MCkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDUsNyArMTA1LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlc291cmNl
SGFuZGxlPiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VIYW5kbGVDbGll
bnQqLCBGcmFtZSosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYs
IGJvb2wgbWlnaHREb3dubG9hZEZyb21IYW5kbGUgPSBmYWxzZSk7CiAKICAgICBzdGF0aWMgdm9p
ZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0b3Jl
ZENyZWRlbnRpYWxzLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3Rvcjxj
aGFyPiYgZGF0YSwgRnJhbWUqIGZyYW1lKTsKLSAgICBzdGF0aWMgYm9vbCB3aWxsTG9hZEZyb21D
YWNoZShSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBzdGF0aWMgYm9vbCB3aWxsTG9hZEZyb21DYWNo
ZShSZXNvdXJjZVJlcXVlc3QmLCBGcmFtZSopOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0
aWMgYm9vbCBkaWRTZW5kQm9keURhdGFEZWxlZ2F0ZUV4aXN0cygpOwogI2VuZGlmCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQu
Y3BwCShyZXZpc2lvbiA0NTM4MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZUhhbmRsZUNGTmV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTU0LDcgKzU1NCw3IEBAIGJv
b2wgUmVzb3VyY2VIYW5kbGU6OmxvYWRzQmxvY2tlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1ib29sIFJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QpCitib29sIFJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIEZyYW1lKiBmcmFtZSkKIHsKICAgICByZXF1ZXN0LnNldENhY2hl
UG9saWN5KFJldHVybkNhY2hlRGF0YURvbnRMb2FkKTsKICAgICAKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcAkocmV2
aXNpb24gNDUzODApCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhh
bmRsZUN1cmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgdm9pZCBSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhibwogI2VuZGlmCiB9CiAKLWJvb2wgUmVzb3Vy
Y2VIYW5kbGU6OndpbGxMb2FkRnJvbUNhY2hlKFJlc291cmNlUmVxdWVzdCYpCitib29sIFJlc291
cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVlc3QmLCBGcmFtZSopCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHJldmlz
aW9uIDQ1MzgwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRs
ZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQ4LDcgKzM0OCw3IEBAIGJvb2wgUmVzb3VyY2VI
YW5kbGU6OmxvYWRzQmxvY2tlZCgpCiAjZW5kaWYKIH0KIAotYm9vbCBSZXNvdXJjZUhhbmRsZTo6
d2lsbExvYWRGcm9tQ2FjaGUoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorYm9vbCBSZXNvdXJj
ZUhhbmRsZTo6d2lsbExvYWRGcm9tQ2FjaGUoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBGcmFt
ZSopCiB7CiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCiAgICAgcmVxdWVzdC5zZXRDYWNoZVBv
bGljeShSZXR1cm5DYWNoZURhdGFEb250TG9hZCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvcXQvUmVzb3VyY2VIYW5kbGVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3F0L1Jlc291cmNlSGFuZGxlUXQuY3BwCShyZXZpc2lvbiA0NTM4MCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZUhhbmRsZVF0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgInF3ZWJw
YWdlX3AuaCIKKyNpbmNsdWRlICJxd2ViZnJhbWVfcC5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVu
dFF0LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRRdC5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKQEAgLTQ4LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxRTmV0d29ya0FjY2Vzc01hbmFnZXI+CiAj
aW5jbHVkZSA8UU5ldHdvcmtSZXF1ZXN0PgogI2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+CisjaW5j
bHVkZSA8UUFic3RyYWN0TmV0d29ya0NhY2hlPgogI2Vsc2UKICNpbmNsdWRlICJxd2VibmV0d29y
a2ludGVyZmFjZV9wLmgiCiAjZW5kaWYKQEAgLTE1NCwxMCArMTU2LDI4IEBAIGJvb2wgUmVzb3Vy
Y2VIYW5kbGU6OmxvYWRzQmxvY2tlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFJl
c291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qp
Citib29sIFJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIEZyYW1lKiBmcmFtZSkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlm
ICghZnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworI2lmIFFUX1ZFUlNJT04gPj0gMHgw
NDA0MDAKKyAgICBRTmV0d29ya0FjY2Vzc01hbmFnZXIqIG1hbmFnZXIgPSBRV2ViRnJhbWVQcml2
YXRlOjpraXQoZnJhbWUpLT5wYWdlKCktPm5ldHdvcmtBY2Nlc3NNYW5hZ2VyKCk7CisgICAgUUFi
c3RyYWN0TmV0d29ya0NhY2hlKiBjYWNoZSA9IG1hbmFnZXItPmNhY2hlKCk7CisKKyAgICBpZiAo
IWNhY2hlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBRTmV0d29ya0NhY2hlTWV0YURh
dGEgZGF0YSA9IGNhY2hlLT5tZXRhRGF0YShyZXF1ZXN0LnVybCgpKTsKKyAgICBpZiAoZGF0YS5p
c1ZhbGlkKCkpIHsKKyAgICAgICAgcmVxdWVzdC5zZXRDYWNoZVBvbGljeShSZXR1cm5DYWNoZURh
dGFEb250TG9hZCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIHJldHVybiBm
YWxzZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIGJvb2wgUmVzb3Vy
Y2VIYW5kbGU6OnN1cHBvcnRzQnVmZmVyZWREYXRhKCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAkocmV2aXNpb24g
NDUzODApCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNv
dXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MjAsNyArNjIwLDcgQEAgYm9vbCBSZXNvdXJjZUhh
bmRsZTo6bG9hZHNCbG9ja2VkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgUmVzb3Vy
Y2VIYW5kbGU6OndpbGxMb2FkRnJvbUNhY2hlKFJlc291cmNlUmVxdWVzdCYpCitib29sIFJlc291
cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVlc3QmLCBGcmFtZSopCiB7
CiAgICAgLy8gTm90IGhhdmluZyB0aGlzIGZ1bmN0aW9uIG1lYW5zIHRoYXQgd2UnbGwgYXNrIHRo
ZSB1c2VyIGFib3V0IHJlLXBvc3RpbmcgYSBmb3JtCiAgICAgLy8gZXZlbiB3aGVuIHdlIGdvIGJh
Y2sgdG8gYSBwYWdlIHRoYXQncyBzdGlsbCBpbiB0aGUgY2FjaGUuCg==
</data>
<flag name="review"
          id="16599"
          type_id="1"
          status="-"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33100</attachid>
            <date>2009-07-20 12:40:39 -0700</date>
            <delta_ts>2009-07-29 03:32:46 -0700</delta_ts>
            <desc>modify the patch to include Zecke&apos;s review comments.</desc>
            <filename>willLoadFromCache.patch</filename>
            <type>text/plain</type>
            <size>6541</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjEyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDctMjAgIFlvbmdqdW4gWmhhbmcgIDx5b25nanVuLnpoYW5n
QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY4NDgKKyAgICAg
ICAgW1F0XSBSZXNvdXJjZUhhbmRsZTo6d2lsbExvYWRGcm9tQ2FjaGUgbmVlZHMgdG8gYmUgaW1w
bG1lbmV0ZWQgUXRXZWJLaXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmxvYWRJdGVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNo
ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6d2lsbExvYWRGcm9tQ2FjaGUp
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OndpbGxMb2FkRnJvbUNhY2hlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1Jlc291cmNlSGFuZGxlUXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OndpbGxMb2FkRnJvbUNhY2hlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Oik6CisKIDIwMDktMDctMjAgIER1bWl0cnUgRGFuaWxpdWMgIDxkdW1pQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBX
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA0NjEyNSkKKysrIFdlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUxMCw3ICs0NTEwLDcgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6bG9hZEl0ZW0oSGlzdG9yeUl0ZW0qIAogICAgICAgICAgICAgICAgIC8vIGhh
dmUgdGhlIGl0ZW0gdmFuaXNoIHdoZW4gd2UgdHJ5IHRvIHVzZSBpdCBpbiB0aGUgZW5zdWluZyBu
YXYuICBUaGlzIHNob3VsZCBiZQogICAgICAgICAgICAgICAgIC8vIGV4dHJlbWVseSByYXJlLCBi
dXQgaW4gdGhhdCBjYXNlIHRoZSB1c2VyIHdpbGwgZ2V0IGFuIGVycm9yIG9uIHRoZSBuYXZpZ2F0
aW9uLgogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChSZXNvdXJjZUhhbmRs
ZTo6d2lsbExvYWRGcm9tQ2FjaGUocmVxdWVzdCkpCisgICAgICAgICAgICAgICAgaWYgKFJlc291
cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShyZXF1ZXN0LCBtX2ZyYW1lKSkKICAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uID0gTmF2aWdhdGlvbkFjdGlvbihpdGVtVVJMLCBsb2FkVHlwZSwg
ZmFsc2UpOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICByZXF1
ZXN0LnNldENhY2hlUG9saWN5KFJlbG9hZElnbm9yaW5nQ2FjaGVEYXRhKTsKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCShyZXZpc2lvbiA0NjEyNSkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDUsNyArMTA1LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlc291
cmNlSGFuZGxlPiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VIYW5kbGVD
bGllbnQqLCBGcmFtZSosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25p
ZmYsIGJvb2wgbWlnaHREb3dubG9hZEZyb21IYW5kbGUgPSBmYWxzZSk7CiAKICAgICBzdGF0aWMg
dm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0
b3JlZENyZWRlbnRpYWxzLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3Rv
cjxjaGFyPiYgZGF0YSwgRnJhbWUqIGZyYW1lKTsKLSAgICBzdGF0aWMgYm9vbCB3aWxsTG9hZEZy
b21DYWNoZShSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBzdGF0aWMgYm9vbCB3aWxsTG9hZEZyb21D
YWNoZShSZXNvdXJjZVJlcXVlc3QmLCBGcmFtZSopOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBz
dGF0aWMgYm9vbCBkaWRTZW5kQm9keURhdGFEZWxlZ2F0ZUV4aXN0cygpOwogI2VuZGlmCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZO
ZXQuY3BwCShyZXZpc2lvbiA0NjEyNSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZUhhbmRsZUNGTmV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTU0LDcgKzU1NCw3IEBA
IGJvb2wgUmVzb3VyY2VIYW5kbGU6OmxvYWRzQmxvY2tlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1ib29sIFJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QpCitib29sIFJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIEZyYW1lKiBmcmFtZSkKIHsKICAgICByZXF1ZXN0LnNldENh
Y2hlUG9saWN5KFJldHVybkNhY2hlRGF0YURvbnRMb2FkKTsKICAgICAKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcAko
cmV2aXNpb24gNDYxMjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJj
ZUhhbmRsZUN1cmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgdm9pZCBS
ZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhibwogI2VuZGlmCiB9CiAKLWJvb2wgUmVz
b3VyY2VIYW5kbGU6OndpbGxMb2FkRnJvbUNhY2hlKFJlc291cmNlUmVxdWVzdCYpCitib29sIFJl
c291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVlc3QmLCBGcmFtZSop
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0JKHJl
dmlzaW9uIDQ2MTI1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQ4LDcgKzM0OCw3IEBAIGJvb2wgUmVzb3Vy
Y2VIYW5kbGU6OmxvYWRzQmxvY2tlZCgpCiAjZW5kaWYKIH0KIAotYm9vbCBSZXNvdXJjZUhhbmRs
ZTo6d2lsbExvYWRGcm9tQ2FjaGUoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorYm9vbCBSZXNv
dXJjZUhhbmRsZTo6d2lsbExvYWRGcm9tQ2FjaGUoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBG
cmFtZSopCiB7CiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCiAgICAgcmVxdWVzdC5zZXRDYWNo
ZVBvbGljeShSZXR1cm5DYWNoZURhdGFEb250TG9hZCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvcXQvUmVzb3VyY2VIYW5kbGVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3F0L1Jlc291cmNlSGFuZGxlUXQuY3BwCShyZXZpc2lvbiA0NjEyNSkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZUhhbmRsZVF0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgInF3
ZWJwYWdlX3AuaCIKKyNpbmNsdWRlICJxd2ViZnJhbWVfcC5oIgogI2luY2x1ZGUgIkNocm9tZUNs
aWVudFF0LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRRdC5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKQEAgLTQ4LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxRTmV0d29ya0FjY2Vzc01hbmFnZXI+
CiAjaW5jbHVkZSA8UU5ldHdvcmtSZXF1ZXN0PgogI2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+Cisj
aW5jbHVkZSA8UUFic3RyYWN0TmV0d29ya0NhY2hlPgogI2Vsc2UKICNpbmNsdWRlICJxd2VibmV0
d29ya2ludGVyZmFjZV9wLmgiCiAjZW5kaWYKQEAgLTE1NCwxMCArMTU2LDI4IEBAIGJvb2wgUmVz
b3VyY2VIYW5kbGU6OmxvYWRzQmxvY2tlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29s
IFJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QpCitib29sIFJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIEZyYW1lKiBmcmFtZSkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IGlmICghZnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworI2lmIFFUX1ZFUlNJT04gPj0g
MHgwNDA1MDAKKyAgICBRTmV0d29ya0FjY2Vzc01hbmFnZXIqIG1hbmFnZXIgPSBRV2ViRnJhbWVQ
cml2YXRlOjpraXQoZnJhbWUpLT5wYWdlKCktPm5ldHdvcmtBY2Nlc3NNYW5hZ2VyKCk7CisgICAg
UUFic3RyYWN0TmV0d29ya0NhY2hlKiBjYWNoZSA9IG1hbmFnZXItPmNhY2hlKCk7CisKKyAgICBp
ZiAoIWNhY2hlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBRTmV0d29ya0NhY2hlTWV0
YURhdGEgZGF0YSA9IGNhY2hlLT5tZXRhRGF0YShyZXF1ZXN0LnVybCgpKTsKKyAgICBpZiAoZGF0
YS5pc1ZhbGlkKCkpIHsKKyAgICAgICAgcmVxdWVzdC5zZXRDYWNoZVBvbGljeShSZXR1cm5DYWNo
ZURhdGFEb250TG9hZCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIHJldHVy
biBmYWxzZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIGJvb2wgUmVz
b3VyY2VIYW5kbGU6OnN1cHBvcnRzQnVmZmVyZWREYXRhKCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAkocmV2aXNp
b24gNDYxMjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MzEsNyArNjMxLDcgQEAgYm9vbCBSZXNvdXJj
ZUhhbmRsZTo6bG9hZHNCbG9ja2VkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgUmVz
b3VyY2VIYW5kbGU6OndpbGxMb2FkRnJvbUNhY2hlKFJlc291cmNlUmVxdWVzdCYpCitib29sIFJl
c291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZShSZXNvdXJjZVJlcXVlc3QmLCBGcmFtZSop
CiB7CiAgICAgLy8gTm90IGhhdmluZyB0aGlzIGZ1bmN0aW9uIG1lYW5zIHRoYXQgd2UnbGwgYXNr
IHRoZSB1c2VyIGFib3V0IHJlLXBvc3RpbmcgYSBmb3JtCiAgICAgLy8gZXZlbiB3aGVuIHdlIGdv
IGJhY2sgdG8gYSBwYWdlIHRoYXQncyBzdGlsbCBpbiB0aGUgY2FjaGUuCg==
</data>
<flag name="review"
          id="17428"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>