<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[20706] branches/Safari-522/WebCore</title>
</head>
<body>
<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/20706">20706</a></dd>
<dt>Author</dt> <dd>sfalken</dd>
<dt>Date</dt> <dd>2007-04-04 13:39:00 -0700 (Wed, 04 Apr 2007)</dd>
</dl>
<h3>Log Message</h3>
<pre>Roll out r20705,r20701</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#branchesSafari522WebCoreChangeLog">branches/Safari-522/WebCore/ChangeLog</a></li>
<li><a href="#branchesSafari522WebCoredomDocumentcpp">branches/Safari-522/WebCore/dom/Document.cpp</a></li>
<li><a href="#branchesSafari522WebCorehtmlHTMLImageLoadercpp">branches/Safari-522/WebCore/html/HTMLImageLoader.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachecpp">branches/Safari-522/WebCore/loader/Cache.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderCacheh">branches/Safari-522/WebCore/loader/Cache.h</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedCSSStyleSheetcpp">branches/Safari-522/WebCore/loader/CachedCSSStyleSheet.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedCSSStyleSheeth">branches/Safari-522/WebCore/loader/CachedCSSStyleSheet.h</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedImagecpp">branches/Safari-522/WebCore/loader/CachedImage.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedImageh">branches/Safari-522/WebCore/loader/CachedImage.h</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedResourcecpp">branches/Safari-522/WebCore/loader/CachedResource.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedResourceh">branches/Safari-522/WebCore/loader/CachedResource.h</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedScriptcpp">branches/Safari-522/WebCore/loader/CachedScript.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedScripth">branches/Safari-522/WebCore/loader/CachedScript.h</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedXBLDocumentcpp">branches/Safari-522/WebCore/loader/CachedXBLDocument.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedXBLDocumenth">branches/Safari-522/WebCore/loader/CachedXBLDocument.h</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedXSLStyleSheetcpp">branches/Safari-522/WebCore/loader/CachedXSLStyleSheet.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderCachedXSLStyleSheeth">branches/Safari-522/WebCore/loader/CachedXSLStyleSheet.h</a></li>
<li><a href="#branchesSafari522WebCoreloaderDocLoadercpp">branches/Safari-522/WebCore/loader/DocLoader.cpp</a></li>
<li><a href="#branchesSafari522WebCoreloaderDocLoaderh">branches/Safari-522/WebCore/loader/DocLoader.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchesSafari522WebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/ChangeLog (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/ChangeLog        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/ChangeLog        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -1,43 +1,3 @@
</span><del>-2007-04-02 David Hyatt <hyatt@apple.com>
-
- Fix for <rdar://problem/5105784>, assertion failure in cache. Encoded sizes were being set to
- garbage by accident because of a mismatch between derived class and base class constructors. This
- patch cleans all of this up and gets rid of expiration date as a concept separate from the response.
-
- Reviewed by anders
-
- * dom/Document.cpp:
- (WebCore::Document::processHttpEquiv):
- * html/HTMLImageLoader.cpp:
- (WebCore::HTMLImageLoader::updateFromElement):
- * loader/Cache.cpp:
- (WebCore::createResource):
- (WebCore::Cache::requestResource):
- * loader/Cache.h:
- * loader/CachedCSSStyleSheet.cpp:
- (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
- * loader/CachedCSSStyleSheet.h:
- * loader/CachedImage.cpp:
- (WebCore::CachedImage::CachedImage):
- * loader/CachedImage.h:
- * loader/CachedResource.cpp:
- (WebCore::CachedResource::CachedResource):
- (WebCore::CachedResource::finish):
- * loader/CachedResource.h:
- * loader/CachedScript.cpp:
- (WebCore::CachedScript::CachedScript):
- * loader/CachedScript.h:
- * loader/CachedXBLDocument.cpp:
- (WebCore::CachedXBLDocument::CachedXBLDocument):
- * loader/CachedXBLDocument.h:
- * loader/CachedXSLStyleSheet.cpp:
- (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
- * loader/CachedXSLStyleSheet.h:
- * loader/DocLoader.cpp:
- (WebCore::DocLoader::DocLoader):
- (WebCore::DocLoader::requestResource):
- * loader/DocLoader.h:
-
</del><span class="cx"> 2007-04-02 Ada Chan <adachan@apple.com>
</span><span class="cx">
</span><span class="cx"> Reviewed by Adele.
</span></span></pre></div>
<a id="branchesSafari522WebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/dom/Document.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/dom/Document.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/dom/Document.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -1752,6 +1752,10 @@
</span><span class="cx"> // We want a new history item if the refresh timeout > 1 second
</span><span class="cx"> frame->loader()->scheduleRedirection(delay, completeURL(url), delay <= 1);
</span><span class="cx"> }
</span><ins>+ } else if (equalIgnoringCase(equiv, "expires")) {
+ String str = content.stripWhiteSpace();
+ time_t expire_date = str.toInt();
+ m_docLoader->setExpireDate(expire_date);
</ins><span class="cx"> } else if (equalIgnoringCase(equiv, "set-cookie")) {
</span><span class="cx"> // FIXME: make setCookie work on XML documents too; e.g. in case of <html:meta .....>
</span><span class="cx"> if (isHTMLDocument())
</span></span></pre></div>
<a id="branchesSafari522WebCorehtmlHTMLImageLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/html/HTMLImageLoader.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/html/HTMLImageLoader.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/html/HTMLImageLoader.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx"> if (!attr.isEmpty()) {
</span><span class="cx"> if (m_loadManually) {
</span><span class="cx"> doc->docLoader()->setAutoLoadImages(false);
</span><del>- newImage = new CachedImage(doc->docLoader(), parseURL(attr));
</del><ins>+ newImage = new CachedImage(doc->docLoader(), parseURL(attr), CachePolicyVerify, 0);
</ins><span class="cx"> newImage->setLoading(true);
</span><span class="cx"> doc->docLoader()->m_docResources.set(newImage->url(), newImage);
</span><span class="cx"> } else
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachecpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/Cache.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/Cache.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/Cache.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -58,23 +58,23 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static CachedResource* createResource(CachedResource::Type type, DocLoader* docLoader, const KURL& url, const String* charset, bool skipCanLoadCheck = false)
</del><ins>+static CachedResource* createResource(CachedResource::Type type, DocLoader* docLoader, const KURL& url, time_t expireDate, const String* charset, bool skipCanLoadCheck = false)
</ins><span class="cx"> {
</span><span class="cx"> switch (type) {
</span><span class="cx"> case CachedResource::ImageResource:
</span><span class="cx"> // User agent images need to null check the docloader. No other resources need to.
</span><del>- return new CachedImage(docLoader, url.url());
</del><ins>+ return new CachedImage(docLoader, url.url(), docLoader ? docLoader->cachePolicy() : CachePolicyCache, expireDate);
</ins><span class="cx"> case CachedResource::CSSStyleSheet:
</span><del>- return new CachedCSSStyleSheet(docLoader, url.url(), *charset, skipCanLoadCheck);
</del><ins>+ return new CachedCSSStyleSheet(docLoader, url.url(), docLoader->cachePolicy(), expireDate, *charset, skipCanLoadCheck);
</ins><span class="cx"> case CachedResource::Script:
</span><del>- return new CachedScript(docLoader, url.url(), *charset);
</del><ins>+ return new CachedScript(docLoader, url.url(), docLoader->cachePolicy(), expireDate, *charset);
</ins><span class="cx"> #if ENABLE(XSLT)
</span><span class="cx"> case CachedResource::XSLStyleSheet:
</span><del>- return new CachedXSLStyleSheet(docLoader, url.url());
</del><ins>+ return new CachedXSLStyleSheet(docLoader, url.url(), docLoader->cachePolicy(), expireDate);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(XBL)
</span><span class="cx"> case CachedResource::XBLStyleSheet:
</span><del>- return new CachedXBLDocument(docLoader, url.url());
</del><ins>+ return new CachedXBLDocument(docLoader, url.url(), docLoader->cachePolicy(), expireDate);
</ins><span class="cx"> #endif
</span><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> return 0;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-CachedResource* Cache::requestResource(DocLoader* docLoader, CachedResource::Type type, const KURL& url, const String* charset, bool skipCanLoadCheck)
</del><ins>+CachedResource* Cache::requestResource(DocLoader* docLoader, CachedResource::Type type, const KURL& url, time_t expireDate, const String* charset, bool skipCanLoadCheck)
</ins><span class="cx"> {
</span><span class="cx"> // Look up the resource in our map.
</span><span class="cx"> CachedResource* resource = m_resources.get(url.url());
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="cx"> // The resource does not exist. Create it.
</span><del>- resource = createResource(type, docLoader, url, charset, skipCanLoadCheck);
</del><ins>+ resource = createResource(type, docLoader, url, expireDate, charset, skipCanLoadCheck);
</ins><span class="cx"> ASSERT(resource);
</span><span class="cx"> resource->setInCache(!disabled());
</span><span class="cx"> if (!disabled())
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCacheh"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/Cache.h (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/Cache.h        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/Cache.h        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">
</span><span class="cx"> // Request resources from the cache. A load will be initiated and a cache object created if the object is not
</span><span class="cx"> // found in the cache.
</span><del>- CachedResource* requestResource(DocLoader*, CachedResource::Type, const KURL& url, const String* charset = 0, bool skipCanLoadCheck = false);
</del><ins>+ CachedResource* requestResource(DocLoader*, CachedResource::Type, const KURL& url, time_t expireDate = 0, const String* charset = 0, bool skipCanLoadCheck = false);
</ins><span class="cx">
</span><span class="cx"> // Set/retreive the size of the cache. This will only hold approximately, since the size some
</span><span class="cx"> // cached objects (like stylesheets) take up in memory is not exactly known.
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedCSSStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedCSSStyleSheet.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedCSSStyleSheet.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedCSSStyleSheet.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -39,8 +39,8 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-CachedCSSStyleSheet::CachedCSSStyleSheet(DocLoader* dl, const String& url, const String& charset, bool skipCanLoadCheck)
- : CachedResource(url, CSSStyleSheet)
</del><ins>+CachedCSSStyleSheet::CachedCSSStyleSheet(DocLoader* dl, const String& url, CachePolicy cachePolicy, time_t _expireDate, const String& charset, bool skipCanLoadCheck)
+ : CachedResource(url, CSSStyleSheet, cachePolicy, _expireDate)
</ins><span class="cx"> , m_decoder(new TextResourceDecoder("text/css", charset))
</span><span class="cx"> {
</span><span class="cx"> // Prefer text/css but accept any type (dell.com serves a stylesheet
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedCSSStyleSheeth"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedCSSStyleSheet.h (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedCSSStyleSheet.h        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedCSSStyleSheet.h        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">
</span><span class="cx"> class CachedCSSStyleSheet : public CachedResource {
</span><span class="cx"> public:
</span><del>- CachedCSSStyleSheet(DocLoader*, const String& URL, const String& charset, bool skipCanLoadCheck = false);
</del><ins>+ CachedCSSStyleSheet(DocLoader*, const String& URL, CachePolicy, time_t expireDate, const String& charset, bool skipCanLoadCheck = false);
</ins><span class="cx"> virtual ~CachedCSSStyleSheet();
</span><span class="cx">
</span><span class="cx"> const String& sheet() const { return m_sheet; }
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedImagecpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedImage.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedImage.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedImage.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -51,8 +51,8 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-CachedImage::CachedImage(DocLoader* docLoader, const String& url)
- : CachedResource(url, ImageResource)
</del><ins>+CachedImage::CachedImage(DocLoader* docLoader, const String& url, CachePolicy cachePolicy, time_t _expireDate)
+ : CachedResource(url, ImageResource, cachePolicy, _expireDate)
</ins><span class="cx"> {
</span><span class="cx"> m_image = 0;
</span><span class="cx"> m_status = Unknown;
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> CachedImage::CachedImage(Image* image)
</span><del>- : CachedResource(String(), ImageResource)
</del><ins>+ : CachedResource(String(), ImageResource, CachePolicyCache, 0)
</ins><span class="cx"> {
</span><span class="cx"> m_image = image;
</span><span class="cx"> m_status = Cached;
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedImageh"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedImage.h (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedImage.h        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedImage.h        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx">
</span><span class="cx"> class CachedImage : public CachedResource, public ImageObserver {
</span><span class="cx"> public:
</span><del>- CachedImage(DocLoader*, const String& url);
</del><ins>+ CachedImage(DocLoader*, const String& url, CachePolicy, time_t expireDate);
</ins><span class="cx"> CachedImage(Image*);
</span><span class="cx"> virtual ~CachedImage();
</span><span class="cx">
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedResourcecpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedResource.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedResource.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedResource.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -37,15 +37,16 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-CachedResource::CachedResource(const String& URL, Type type)
</del><ins>+CachedResource::CachedResource(const String& URL, Type type, CachePolicy cachePolicy, unsigned size)
</ins><span class="cx"> {
</span><span class="cx"> m_url = URL;
</span><span class="cx"> m_type = type;
</span><span class="cx"> m_status = Pending;
</span><del>- m_encodedSize = 0;
</del><ins>+ m_encodedSize = size;
</ins><span class="cx"> m_inCache = false;
</span><span class="cx"> m_cachePolicy = cachePolicy;
</span><span class="cx"> m_request = 0;
</span><ins>+ m_expireDateChanged = false;
</ins><span class="cx"> m_accessCount = 0;
</span><span class="cx"> m_nextInLRUList = 0;
</span><span class="cx"> m_prevInLRUList = 0;
</span><span class="lines">@@ -69,6 +70,9 @@
</span><span class="cx"> void CachedResource::finish()
</span><span class="cx"> {
</span><span class="cx"> m_status = Cached;
</span><ins>+ KURL url(m_url.deprecatedString());
+ if (m_expireDateChanged && url.protocol().startsWith("http"))
+ m_expireDateChanged = false;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool CachedResource::isExpired() const
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedResourceh"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedResource.h (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedResource.h        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedResource.h        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> Cached // regular case
</span><span class="cx"> };
</span><span class="cx">
</span><del>- CachedResource(const String& URL, Type type);
</del><ins>+ CachedResource(const String& URL, Type type, CachePolicy cachePolicy, unsigned encodedSize = 0);
</ins><span class="cx"> virtual ~CachedResource();
</span><span class="cx">
</span><span class="cx"> virtual void setEncoding(const String&) { }
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedScriptcpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedScript.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedScript.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedScript.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-CachedScript::CachedScript(DocLoader* dl, const String& url, const String& charset)
- : CachedResource(url, Script)
</del><ins>+CachedScript::CachedScript(DocLoader* dl, const String& url, CachePolicy cachePolicy, time_t _expireDate, const String& charset)
+ : CachedResource(url, Script, cachePolicy, _expireDate)
</ins><span class="cx"> , m_encoding(charset)
</span><span class="cx"> {
</span><span class="cx"> // It's javascript we want.
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedScripth"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedScript.h (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedScript.h        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedScript.h        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">
</span><span class="cx"> class CachedScript : public CachedResource {
</span><span class="cx"> public:
</span><del>- CachedScript(DocLoader*, const String& URL, const String& charset);
</del><ins>+ CachedScript(DocLoader*, const String& URL, CachePolicy, time_t expireDate, const String& charset);
</ins><span class="cx"> virtual ~CachedScript();
</span><span class="cx">
</span><span class="cx"> const String& script() const { return m_script; }
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedXBLDocumentcpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedXBLDocument.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedXBLDocument.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedXBLDocument.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -40,8 +40,8 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-CachedXBLDocument::CachedXBLDocument(DocLoader* dl, const String &url)
-: CachedResource(url, XBL), m_document(0)
</del><ins>+CachedXBLDocument::CachedXBLDocument(DocLoader* dl, const String &url, CachePolicy cachePolicy, time_t _expireDate)
+: CachedResource(url, XBL, cachePolicy, _expireDate), m_document(0)
</ins><span class="cx"> {
</span><span class="cx"> // It's XML we want.
</span><span class="cx"> setAccept("text/xml, application/xml, application/xhtml+xml, text/xsl, application/rss+xml, application/atom+xml");
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedXBLDocumenth"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedXBLDocument.h (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedXBLDocument.h        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedXBLDocument.h        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> #if ENABLE(XBL)
</span><span class="cx"> class CachedXBLDocument : public CachedResource {
</span><span class="cx"> public:
</span><del>- CachedXBLDocument(DocLoader*, const String& url);
</del><ins>+ CachedXBLDocument(DocLoader*, const String& url, CachePolicy, time_t expireDate);
</ins><span class="cx"> virtual ~CachedXBLDocument();
</span><span class="cx">
</span><span class="cx"> XBL::XBLDocument* document() const { return m_document; }
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedXSLStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedXSLStyleSheet.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedXSLStyleSheet.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedXSLStyleSheet.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -40,8 +40,8 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(XSLT)
</span><span class="cx">
</span><del>-CachedXSLStyleSheet::CachedXSLStyleSheet(DocLoader* dl, const String &url)
- : CachedResource(url, XSLStyleSheet)
</del><ins>+CachedXSLStyleSheet::CachedXSLStyleSheet(DocLoader* dl, const String &url, CachePolicy cachePolicy, time_t _expireDate)
+ : CachedResource(url, XSLStyleSheet, cachePolicy, _expireDate)
</ins><span class="cx"> , m_decoder(new TextResourceDecoder("text/xsl"))
</span><span class="cx"> {
</span><span class="cx"> // It's XML we want.
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderCachedXSLStyleSheeth"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/CachedXSLStyleSheet.h (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/CachedXSLStyleSheet.h        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/CachedXSLStyleSheet.h        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> #if ENABLE(XSLT)
</span><span class="cx"> class CachedXSLStyleSheet : public CachedResource {
</span><span class="cx"> public:
</span><del>- CachedXSLStyleSheet(DocLoader*, const String& url);
</del><ins>+ CachedXSLStyleSheet(DocLoader*, const String& url, CachePolicy, time_t expireDate);
</ins><span class="cx">
</span><span class="cx"> const String& sheet() const { return m_sheet; }
</span><span class="cx">
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderDocLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/DocLoader.cpp (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/DocLoader.cpp        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/DocLoader.cpp        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -41,14 +41,15 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> DocLoader::DocLoader(Frame *frame, Document* doc)
</span><del>- : m_cache(cache())
- , m_cachePolicy(CachePolicyVerify)
- , m_frame(frame)
- , m_doc(doc)
- , m_autoLoadImages(true)
- , m_loadInProgress(false)
- , m_allowStaleResources(false)
</del><ins>+: m_cache(cache())
</ins><span class="cx"> {
</span><ins>+ m_cachePolicy = CachePolicyVerify;
+ m_expireDate = 0;
+ m_autoLoadImages = true;
+ m_frame = frame;
+ m_doc = doc;
+ m_loadInProgress = false;
+
</ins><span class="cx"> m_cache->addDocLoader(this);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -57,6 +58,11 @@
</span><span class="cx"> m_cache->removeDocLoader(this);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void DocLoader::setExpireDate(time_t _expireDate)
+{
+ m_expireDate = _expireDate;
+}
+
</ins><span class="cx"> void DocLoader::checkForReload(const KURL& fullURL)
</span><span class="cx"> {
</span><span class="cx"> if (m_cachePolicy == CachePolicyVerify) {
</span><span class="lines">@@ -125,7 +131,7 @@
</span><span class="cx">
</span><span class="cx"> checkForReload(fullURL);
</span><span class="cx">
</span><del>- CachedResource* resource = cache()->requestResource(this, type, fullURL, charset, skipCanLoadCheck);
</del><ins>+ CachedResource* resource = cache()->requestResource(this, type, fullURL, m_expireDate, charset, skipCanLoadCheck);
</ins><span class="cx"> if (resource) {
</span><span class="cx"> m_docResources.set(resource->url(), resource);
</span><span class="cx"> checkCacheObjectStatus(resource);
</span></span></pre></div>
<a id="branchesSafari522WebCoreloaderDocLoaderh"></a>
<div class="modfile"><h4>Modified: branches/Safari-522/WebCore/loader/DocLoader.h (20705 => 20706)</h4>
<pre class="diff"><span>
<span class="info">--- branches/Safari-522/WebCore/loader/DocLoader.h        2007-04-04 18:24:12 UTC (rev 20705)
+++ branches/Safari-522/WebCore/loader/DocLoader.h        2007-04-04 20:39:00 UTC (rev 20706)
</span><span class="lines">@@ -76,6 +76,9 @@
</span><span class="cx"> CachePolicy cachePolicy() const { return m_cachePolicy; }
</span><span class="cx"> void setCachePolicy(CachePolicy);
</span><span class="cx">
</span><ins>+ time_t expireDate() const { return m_expireDate; }
+ void setExpireDate(time_t);
+
</ins><span class="cx"> Frame* frame() const { return m_frame; }
</span><span class="cx"> Document* doc() const { return m_doc; }
</span><span class="cx">
</span><span class="lines">@@ -93,6 +96,7 @@
</span><span class="cx"> Cache* m_cache;
</span><span class="cx"> HashSet<String> m_reloadedURLs;
</span><span class="cx"> mutable HashMap<String, CachedResource*> m_docResources;
</span><ins>+ time_t m_expireDate;
</ins><span class="cx"> CachePolicy m_cachePolicy;
</span><span class="cx"> bool m_autoLoadImages : 1;
</span><span class="cx"> Frame* m_frame;
</span></span></pre>
</div>
</div>
</body>
</html>