diff options
Diffstat (limited to 'WebCore/loader/icon/IconRecord.h')
-rw-r--r-- | WebCore/loader/icon/IconRecord.h | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/WebCore/loader/icon/IconRecord.h b/WebCore/loader/icon/IconRecord.h deleted file mode 100644 index aaea787..0000000 --- a/WebCore/loader/icon/IconRecord.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2007 Apple Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef IconRecord_h -#define IconRecord_h - -#include "PageURLRecord.h" -#include <wtf/RefCounted.h> -#include "SharedBuffer.h" - -#include <wtf/HashSet.h> -#include <wtf/OwnPtr.h> -#include "PlatformString.h" -#include "StringHash.h" - -namespace WebCore { - -class IconDataSnapshot; -class Image; -class IntSize; -class SQLDatabase; - -enum ImageDataStatus { - ImageDataStatusPresent, ImageDataStatusMissing, ImageDataStatusUnknown -}; - -class IconSnapshot { -public: - IconSnapshot() : timestamp(0) { } - - IconSnapshot(const String& url, int stamp, SharedBuffer* theData) - : iconURL(url) - , timestamp(stamp) - , data(theData) - { } - - String iconURL; - int timestamp; - RefPtr<SharedBuffer> data; -}; - -class IconRecord : public RefCounted<IconRecord> { - friend class PageURLRecord; -public: - static PassRefPtr<IconRecord> create(const String& url) - { - return adoptRef(new IconRecord(url)); - } - ~IconRecord(); - - time_t getTimestamp() { return m_stamp; } - void setTimestamp(time_t stamp) { m_stamp = stamp; } - - void setImageData(PassRefPtr<SharedBuffer> data); - Image* image(const IntSize&); - - String iconURL() { return m_iconURL; } - - void loadImageFromResource(const char*); - - ImageDataStatus imageDataStatus(); - - const HashSet<String>& retainingPageURLs() { return m_retainingPageURLs; } - - IconSnapshot snapshot(bool forDeletion = false) const; - -private: - IconRecord(const String& url); - - String m_iconURL; - time_t m_stamp; - RefPtr<Image> m_image; - - HashSet<String> m_retainingPageURLs; - - // This allows us to cache whether or not a SiteIcon has had its data set yet - // This helps the IconDatabase know if it has to set the data on a new object or not, - // and also to determine if the icon is missing data or if it just hasn't been brought - // in from the DB yet - bool m_dataSet; - - // FIXME - Right now WebCore::Image doesn't have a very good API for accessing multiple representations - // Even the NSImage way of doing things that we do in WebKit isn't very clean... once we come up with a - // better way of handling that, we'll likely have a map of size-to-images similar to below - // typedef HashMap<IntSize, Image*> SizeImageMap; - // SizeImageMap m_images; -}; - - -} //namespace WebCore - -#endif |