diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/loader/icon/IconDatabaseBase.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/loader/icon/IconDatabaseBase.h')
-rw-r--r-- | Source/WebCore/loader/icon/IconDatabaseBase.h | 76 |
1 files changed, 33 insertions, 43 deletions
diff --git a/Source/WebCore/loader/icon/IconDatabaseBase.h b/Source/WebCore/loader/icon/IconDatabaseBase.h index e1f63af94..d4051b936 100644 --- a/Source/WebCore/loader/icon/IconDatabaseBase.h +++ b/Source/WebCore/loader/icon/IconDatabaseBase.h @@ -10,10 +10,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * 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 @@ -23,15 +23,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef IconDatabaseBase_h -#define IconDatabaseBase_h - -#include "ImageSource.h" -#include "SharedBuffer.h" +#pragma once +#include "NativeImage.h" #include <wtf/Forward.h> #include <wtf/Noncopyable.h> -#include <wtf/PassRefPtr.h> +#include <wtf/RefCounted.h> namespace WebCore { @@ -39,12 +36,9 @@ class DocumentLoader; class IconDatabaseClient; class Image; class IntSize; +class SharedBuffer; -enum IconLoadDecision { - IconLoadYes, - IconLoadNo, - IconLoadUnknown -}; +enum IconLoadDecision { IconLoadYes, IconLoadNo, IconLoadUnknown }; class CallbackBase : public RefCounted<CallbackBase> { public: @@ -79,9 +73,9 @@ class EnumCallback : public CallbackBase { public: typedef void (*CallbackFunction)(EnumType, void*); - static PassRefPtr<EnumCallback> create(void* context, CallbackFunction callback) + static Ref<EnumCallback> create(void* context, CallbackFunction callback) { - return adoptRef(new EnumCallback(context, callback)); + return adoptRef(*new EnumCallback(context, callback)); } virtual ~EnumCallback() @@ -94,12 +88,12 @@ public: if (!m_callback) return; m_callback(result, context()); - m_callback = 0; + m_callback = nullptr; } void invalidate() { - m_callback = 0; + m_callback = nullptr; } private: @@ -118,9 +112,9 @@ class ObjectCallback : public CallbackBase { public: typedef void (*CallbackFunction)(ObjectType, void*); - static PassRefPtr<ObjectCallback> create(void* context, CallbackFunction callback) + static Ref<ObjectCallback> create(void* context, CallbackFunction callback) { - return adoptRef(new ObjectCallback(context, callback)); + return adoptRef(*new ObjectCallback(context, callback)); } virtual ~ObjectCallback() @@ -133,12 +127,12 @@ public: if (!m_callback) return; m_callback(result, context()); - m_callback = 0; + m_callback = nullptr; } - + void invalidate() { - m_callback = 0; + m_callback = nullptr; } private: @@ -152,46 +146,42 @@ private: CallbackFunction m_callback; }; -typedef EnumCallback<IconLoadDecision> IconLoadDecisionCallback; -typedef ObjectCallback<SharedBuffer*> IconDataCallback; +using IconLoadDecisionCallback = EnumCallback<IconLoadDecision>; +using IconDataCallback = ObjectCallback<SharedBuffer*>; -class IconDatabaseBase { +class WEBCORE_EXPORT IconDatabaseBase { WTF_MAKE_NONCOPYABLE(IconDatabaseBase); -protected: - IconDatabaseBase() { } - public: virtual ~IconDatabaseBase() { } - // Used internally by WebCore virtual bool isEnabled() const { return false; } - + virtual void retainIconForPageURL(const String&) { } virtual void releaseIconForPageURL(const String&) { } - virtual void setIconURLForPageURL(const String&, const String&) { } - virtual void setIconDataForIconURL(PassRefPtr<SharedBuffer>, const String&) { } + virtual void setIconURLForPageURL(const String& /*iconURL*/, const String& /*pageURL*/) { } + virtual void setIconDataForIconURL(SharedBuffer*, const String& /*iconURL*/) { } // Synchronous calls used internally by WebCore. // Usage should be replaced by asynchronous calls. virtual String synchronousIconURLForPageURL(const String&); virtual bool synchronousIconDataKnownForIconURL(const String&) { return false; } virtual IconLoadDecision synchronousLoadDecisionForIconURL(const String&, DocumentLoader*) { return IconLoadNo; } - virtual Image* synchronousIconForPageURL(const String&, const IntSize&) { return 0; } - virtual PassNativeImagePtr synchronousNativeIconForPageURL(const String&, const IntSize&) { return 0; } + virtual Image* synchronousIconForPageURL(const String&, const IntSize&) { return nullptr; } + virtual NativeImagePtr synchronousNativeIconForPageURL(const String&, const IntSize&) { return nullptr; } // Asynchronous calls we should use to replace the above when supported. virtual bool supportsAsynchronousMode() { return false; } - virtual void loadDecisionForIconURL(const String&, PassRefPtr<IconLoadDecisionCallback>) { } - virtual void iconDataForIconURL(const String&, PassRefPtr<IconDataCallback>) { } - + virtual void loadDecisionForIconURL(const String&, IconLoadDecisionCallback&) { } + virtual void iconDataForIconURL(const String&, IconDataCallback&) { } // Used within one or more WebKit ports. // We should try to remove these dependencies from the IconDatabaseBase class. + virtual void setEnabled(bool) { } - virtual Image* defaultIcon(const IntSize&) { return 0; } + virtual Image* defaultIcon(const IntSize&) { return nullptr; } virtual size_t pageURLMappingCount() { return 0; } virtual size_t retainedPageURLCount() { return 0; } @@ -206,17 +196,17 @@ public: virtual void setPrivateBrowsingEnabled(bool) { } virtual void setClient(IconDatabaseClient*) { } - + virtual bool isOpen() const { return false; } virtual String databasePath() const; +protected: + IconDatabaseBase() = default; }; // Functions to get/set the global icon database. -IconDatabaseBase& iconDatabase(); -void setGlobalIconDatabase(IconDatabaseBase*); +WEBCORE_EXPORT IconDatabaseBase& iconDatabase(); +WEBCORE_EXPORT void setGlobalIconDatabase(IconDatabaseBase*); bool documentCanHaveIcon(const String&); } // namespace WebCore - -#endif // IconDatabaseBase_h |