[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdelibs/khtml
From:       Waldo Bastian <bastian () kde ! org>
Date:       2004-03-31 21:57:09
Message-ID: 20040331215709.7AC7999D0 () office ! kde ! org
[Download RAW message or body]

CVS commit by waba: 

Honour non-standard cache policies (e.g. off-line mode)
Based on patch by MG.
CCMAIL: <maps4711@gmx.de>


  M +12 -9     khtml_part.cpp   1.986
  M +1 -1      khtmlimage.cpp   1.42


--- kdelibs/khtml/khtml_part.cpp  #1.985:1.986
@@ -73,4 +73,5 @@ using namespace DOM;
 #include <kio/job.h>
 #include <kio/global.h>
+#include <kprotocolmanager.h>
 #include <kdebug.h>
 #include <kiconloader.h>
@@ -581,7 +582,7 @@ bool KHTMLPart::openURL( const KURL &url
   }
   else if (args.reload)
-     d->m_cachePolicy = KIO::CC_Refresh;
+     d->m_cachePolicy = KIO::CC_Reload;
   else
-     d->m_cachePolicy = KIO::CC_Verify;
+     d->m_cachePolicy = KProtocolManager::cacheControl();
 
   if ( args.doPost() && (m_url.protocol().startsWith("http")) )
@@ -669,5 +670,5 @@ bool KHTMLPart::closeURL()
   d->m_bComplete = true; // to avoid emitting completed() in slotFinishedParsing() \
(David)  d->m_bLoadEventEmitted = true; // don't want that one either
-  d->m_cachePolicy = KIO::CC_Verify; // reset cache policy
+  d->m_cachePolicy = KProtocolManager::cacheControl(); // reset cache policy
 
   KHTMLPageCache::self()->cancelFetch(this);
@@ -1337,5 +1338,9 @@ void KHTMLPart::slotData( KIO::Job* kio_
     d->m_job->resume();
 
+    if (d->m_cachePolicy == KIO::CC_Refresh)
+      d->m_doc->docLoader()->setCachePolicy(KIO::CC_Verify);
+    else
     d->m_doc->docLoader()->setCachePolicy(d->m_cachePolicy);
+
     d->m_workingURL = KURL();
 
@@ -1972,5 +1977,5 @@ void KHTMLPart::checkCompleted()
   // Now do what should be done when we are really completed.
   d->m_bComplete = true;
-  d->m_cachePolicy = KIO::CC_Verify; // reset cache policy
+  d->m_cachePolicy = KProtocolManager::cacheControl(); // reset cache policy
   d->m_totalObjectCount = 0;
   d->m_loadedObjects = 0;
@@ -2151,6 +2156,4 @@ void KHTMLPart::slotRedirect()
   if ( urlcmp( u, m_url.url(), true, true ) )
   {
-    if (!url.hasRef())
-       args.reload = true;
     args.metaData().insert("referrer", d->m_pageReferrer);
   }
@@ -3788,5 +3791,5 @@ bool KHTMLPart::requestObject( khtml::Ch
 
   child->m_args = args;
-  child->m_args.reload = (d->m_cachePolicy == KIO::CC_Reload) || (d->m_cachePolicy \
== KIO::CC_Refresh); +  child->m_args.reload = (d->m_cachePolicy == KIO::CC_Reload);
   child->m_serviceName = QString::null;
   if (!d->m_referrer.isEmpty() && !child->m_args.metaData().contains( "referrer" ))
@@ -3973,5 +3976,5 @@ bool KHTMLPart::processObjectRequest( kh
   }
 
-  child->m_args.reload = (d->m_cachePolicy == KIO::CC_Reload) || (d->m_cachePolicy \
== KIO::CC_Refresh); +  child->m_args.reload = (d->m_cachePolicy == KIO::CC_Reload);
 
   // make sure the part has a way to find out about the mimetype.

--- kdelibs/khtml/khtmlimage.cpp  #1.41:1.42
@@ -149,5 +149,5 @@ bool KHTMLImage::openURL( const KURL &ur
     DOM::DocumentImpl *impl = dynamic_cast<DOM::DocumentImpl *>( \
m_khtml->document().handle() ); // ### hack ;-)  if ( impl && m_ext->urlArgs().reload \
                )
-        impl->docLoader()->setCachePolicy( KIO::CC_Refresh );
+        impl->docLoader()->setCachePolicy( KIO::CC_Reload );
 
     khtml::DocLoader *dl = impl ? impl->docLoader() : 0;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic