diff options
author | dglazkov@google.com <dglazkov@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-06 19:48:07 +0000 |
---|---|---|
committer | dglazkov@google.com <dglazkov@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-06 19:48:07 +0000 |
commit | 9b814d9a263d92030e9be424c223f6f3cfa7b67a (patch) | |
tree | 50e4877d65acaffafa9e99f59e6a0c85980c407e /webkit/pending/CachedResource.h | |
parent | 757449ab8a47562b490588e0e05e826fc8aceeeb (diff) | |
download | chromium_src-9b814d9a263d92030e9be424c223f6f3cfa7b67a.zip chromium_src-9b814d9a263d92030e9be424c223f6f3cfa7b67a.tar.gz chromium_src-9b814d9a263d92030e9be424c223f6f3cfa7b67a.tar.bz2 |
Cleaning up the unfork
Removing files from pending
Review URL: http://codereview.chromium.org/6500
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2892 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/pending/CachedResource.h')
-rw-r--r-- | webkit/pending/CachedResource.h | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/webkit/pending/CachedResource.h b/webkit/pending/CachedResource.h deleted file mode 100644 index bcd03e0..0000000 --- a/webkit/pending/CachedResource.h +++ /dev/null @@ -1,211 +0,0 @@ -/* - Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) - Copyright (C) 2001 Dirk Mueller <mueller@kde.org> - Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) - Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef CachedResource_h -#define CachedResource_h - -#include "PlatformString.h" -#include "ResourceResponse.h" -#include "SharedBuffer.h" -#include <wtf/HashCountedSet.h> -#include <wtf/Vector.h> -#include <time.h> - -namespace WebCore { - -class Cache; -class CachedResourceClient; -class CacheHandleBase; -class DocLoader; -class Request; - -// A resource that is held in the cache. Classes who want to use this object should derive -// from CachedResourceClient, to get the function calls in case the requested data has arrived. -// This class also does the actual communication with the loader to obtain the resource from the network. -class CachedResource { - friend class Cache; - -public: - enum Type { - ImageResource, - CSSStyleSheet, - Script, - FontResource -#if ENABLE(XSLT) - , XSLStyleSheet -#endif -#if ENABLE(XBL) - , XBL -#endif - }; - - enum Status { - NotCached, // this URL is not cached - Unknown, // let cache decide what to do with it - New, // inserting new item - Pending, // only partially loaded - Cached // regular case - }; - - CachedResource(const String& url, Type); - virtual ~CachedResource(); - - virtual void load(DocLoader* docLoader) { load(docLoader, false, false, true); } - void load(DocLoader*, bool incremental, bool skipCanLoadCheck, bool sendResourceLoadCallbacks); - - virtual void setEncoding(const String&) { } - virtual String encoding() const { return String(); } - virtual void data(PassRefPtr<SharedBuffer> data, bool allDataReceived) = 0; - virtual void error() = 0; - - const String &url() const { return m_url; } - Type type() const { return m_type; } - - virtual void addClient(CachedResourceClient*); - void removeClient(CachedResourceClient*); - bool hasClients() const { return !m_clients.isEmpty(); } - - enum PreloadResult { - PreloadNotReferenced, - PreloadReferenced, - PreloadReferencedWhileLoading, - PreloadReferencedWhileComplete - }; - PreloadResult preloadResult() const { return m_preloadResult; } - void setRequestedFromNetworkingLayer() { m_requestedFromNetworkingLayer = true; } - - virtual void allClientsRemoved() { }; - - unsigned count() const { return m_clients.size(); } - - Status status() const { return m_status; } - - unsigned size() const { return encodedSize() + decodedSize(); } - unsigned encodedSize() const { return m_encodedSize; } - unsigned decodedSize() const { return m_decodedSize; } - - bool isLoaded() const { return !m_loading; } - void setLoading(bool b) { m_loading = b; } - - virtual bool isImage() const { return false; } - - unsigned accessCount() const { return m_accessCount; } - void increaseAccessCount() { m_accessCount++; } - - // Computes the status of an object after loading. - // Updates the expire date on the cache entry file - void finish(); - - // Called by the cache if the object has been removed from the cache - // while still being referenced. This means the object should delete itself - // if the number of clients observing it ever drops to 0. - void setInCache(bool b) { m_inCache = b; } - bool inCache() const { return m_inCache; } - - void setInLiveDecodedResourcesList(bool b) { m_inLiveDecodedResourcesList = b; } - bool inLiveDecodedResourcesList() { return m_inLiveDecodedResourcesList; } - - void setRequest(Request*); - - void setResponse(const ResourceResponse& response) { m_response = response; } - const ResourceResponse& response() const { return m_response; } - - bool canDelete() const { return !hasClients() && !m_request && !m_preloadCount; } - - bool isExpired() const; - - virtual bool schedule() const { return false; } - - // List of acceptable MIME types seperated by ",". - // A MIME type may contain a wildcard, e.g. "text/*". - String accept() const { return m_accept; } - void setAccept(const String& accept) { m_accept = accept; } - - bool errorOccurred() const { return m_errorOccurred; } - bool sendResourceLoadCallbacks() const { return m_sendResourceLoadCallbacks; } - - virtual void destroyDecodedData() {}; - - void setDocLoader(DocLoader* docLoader) { m_docLoader = docLoader; } - -#if PLATFORM(MAC) - SharedBuffer* data() const { return m_data.get(); } -#endif - - bool isPreloaded() const { return m_preloadCount; } - void increasePreloadCount() { ++m_preloadCount; } - void decreasePreloadCount() { ASSERT(m_preloadCount); --m_preloadCount; } - -protected: - void setEncodedSize(unsigned); - void setDecodedSize(unsigned); - void didAccessDecodedData(double timeStamp); - - HashCountedSet<CachedResourceClient*> m_clients; - - String m_url; - String m_accept; - Request* m_request; - - ResourceResponse m_response; - RefPtr<SharedBuffer> m_data; - - Type m_type; - Status m_status; - - bool m_errorOccurred; - -private: - unsigned m_encodedSize; - unsigned m_decodedSize; - unsigned m_accessCount; - unsigned m_inLiveDecodedResourcesList; - double m_lastDecodedAccessTime; // Used as a "thrash guard" in the cache - - bool m_sendResourceLoadCallbacks; - - unsigned m_preloadCount; - PreloadResult m_preloadResult; - bool m_requestedFromNetworkingLayer; - -protected: - bool m_inCache; - bool m_loading; - bool m_expireDateChanged; -#ifndef NDEBUG - bool m_deleted; - unsigned m_lruIndex; -#endif - -private: - CachedResource* m_nextInAllResourcesList; - CachedResource* m_prevInAllResourcesList; - - CachedResource* m_nextInLiveResourcesList; - CachedResource* m_prevInLiveResourcesList; - - DocLoader* m_docLoader; // only non-0 for resources that are not in the cache -}; - -} - -#endif |