Add a strategy for loader customization.
https://bugs.webkit.org/show_bug.cgi?id=100278
Reviewed by Alexey Proskuryakov.
Source/WebCore:
It's empty for now and does nothing, just like the goggles.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/PlatformStrategies.h:
(WebCore::PlatformStrategies::loaderStrategy):
(PlatformStrategies):
(WebCore::PlatformStrategies::PlatformStrategies):
Source/WebKit/efl:
* WebCoreSupport/PlatformStrategiesEfl.cpp:
(PlatformStrategiesEfl::createLoaderStrategy):
* WebCoreSupport/PlatformStrategiesEfl.h:
(PlatformStrategiesEfl):
Source/WebKit/gtk:
* WebCoreSupport/PlatformStrategiesGtk.cpp:
(PlatformStrategiesGtk::createLoaderStrategy):
* WebCoreSupport/PlatformStrategiesGtk.h:
(PlatformStrategiesGtk):
Source/WebKit/mac:
* WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::createLoaderStrategy):
Source/WebKit/qt:
* WebCoreSupport/PlatformStrategiesQt.cpp:
(PlatformStrategiesQt::createLoaderStrategy):
* WebCoreSupport/PlatformStrategiesQt.h:
(PlatformStrategiesQt):
Source/WebKit/win:
* WebCoreSupport/WebPlatformStrategies.cpp:
(WebPlatformStrategies::createLoaderStrategy):
* WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
Source/WebKit/wince:
* WebCoreSupport/PlatformStrategiesWinCE.cpp:
(PlatformStrategiesWinCE::createLoaderStrategy):
* WebCoreSupport/PlatformStrategiesWinCE.h:
(PlatformStrategiesWinCE):
Source/WebKit2:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createLoaderStrategy):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/platform/PlatformStrategies.h b/Source/WebCore/platform/PlatformStrategies.h
index 20d3590..1fae41d 100644
--- a/Source/WebCore/platform/PlatformStrategies.h
+++ b/Source/WebCore/platform/PlatformStrategies.h
@@ -31,6 +31,7 @@
namespace WebCore {
class CookiesStrategy;
+class LoaderStrategy;
class PasteboardStrategy;
class PluginStrategy;
class SharedWorkerStrategy;
@@ -45,6 +46,13 @@
return m_cookiesStrategy;
}
+ LoaderStrategy* loaderStrategy()
+ {
+ if (!m_loaderStrategy)
+ m_loaderStrategy = createLoaderStrategy();
+ return m_loaderStrategy;
+ }
+
PasteboardStrategy* pasteboardStrategy()
{
if (!m_pasteboardStrategy)
@@ -76,6 +84,7 @@
protected:
PlatformStrategies()
: m_cookiesStrategy(0)
+ , m_loaderStrategy(0)
, m_pasteboardStrategy(0)
, m_pluginStrategy(0)
, m_sharedWorkerStrategy(0)
@@ -89,12 +98,14 @@
private:
virtual CookiesStrategy* createCookiesStrategy() = 0;
+ virtual LoaderStrategy* createLoaderStrategy() = 0;
virtual PasteboardStrategy* createPasteboardStrategy() = 0;
virtual PluginStrategy* createPluginStrategy() = 0;
virtual SharedWorkerStrategy* createSharedWorkerStrategy() = 0;
virtual VisitedLinkStrategy* createVisitedLinkStrategy() = 0;
CookiesStrategy* m_cookiesStrategy;
+ LoaderStrategy* m_loaderStrategy;
PasteboardStrategy* m_pasteboardStrategy;
PluginStrategy* m_pluginStrategy;
SharedWorkerStrategy* m_sharedWorkerStrategy;