WebPlatformStrategies.h [plain text]
#ifndef WebPlatformStrategies_h
#define WebPlatformStrategies_h
#include <WebCore/CookiesStrategy.h>
#include <WebCore/LoaderStrategy.h>
#include <WebCore/PasteboardStrategy.h>
#include <WebCore/PlatformStrategies.h>
#include <wtf/NeverDestroyed.h>
namespace WebKit {
class WebPlatformStrategies : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::PasteboardStrategy {
friend class NeverDestroyed<WebPlatformStrategies>;
public:
static void initialize();
private:
WebPlatformStrategies();
WebCore::CookiesStrategy* createCookiesStrategy() override;
WebCore::LoaderStrategy* createLoaderStrategy() override;
WebCore::PasteboardStrategy* createPasteboardStrategy() override;
WebCore::BlobRegistry* createBlobRegistry() override;
String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&) override;
void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&, const String&) override;
bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&) override;
String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&) override;
String cookieRequestHeaderFieldValue(WebCore::SessionID, const WebCore::URL& firstParty, const WebCore::URL&) override;
bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&, Vector<WebCore::Cookie>&) override;
void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::URL&, const String&) override;
#if PLATFORM(IOS)
void writeToPasteboard(const WebCore::PasteboardWebContent&, const String& pasteboardName) override;
void writeToPasteboard(const WebCore:: PasteboardURL&, const String& pasteboardName) override;
void writeToPasteboard(const WebCore::PasteboardImage&, const String& pasteboardName) override;
void writeToPasteboard(const String& pasteboardType, const String&, const String& pasteboardName) override;
int getPasteboardItemsCount(const String& pasteboardName) override;
String readStringFromPasteboard(int index, const String& pasteboardType, const String& pasteboardName) override;
RefPtr<WebCore::SharedBuffer> readBufferFromPasteboard(int index, const String& pasteboardType, const String& pasteboardName) override;
WebCore::URL readURLFromPasteboard(int index, const String& pasteboardType, const String& pasteboardName, String& title) override;
void getFilenamesForDataInteraction(Vector<String>& filenames, const String& pasteboardName) override;
void updateSupportedTypeIdentifiers(const Vector<String>& identifiers, const String& pasteboardName) override;
void getTypesByFidelityForItemAtIndex(Vector<String>& types, uint64_t index, const String& pasteboardName) override;
#endif
#if PLATFORM(COCOA)
int getNumberOfFiles(const String& pasteboardName) override;
void getTypes(Vector<String>& types, const String& pasteboardName) override;
RefPtr<WebCore::SharedBuffer> bufferForType(const String& pasteboardType, const String& pasteboardName) override;
void getPathnamesForType(Vector<String>& pathnames, const String& pasteboardType, const String& pasteboardName) override;
String stringForType(const String& pasteboardType, const String& pasteboardName) override;
long changeCount(const String& pasteboardName) override;
String uniqueName() override;
WebCore::Color color(const String& pasteboardName) override;
WebCore::URL url(const String& pasteboardName) override;
long addTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName) override;
long setTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName) override;
long copy(const String& fromPasteboard, const String& toPasteboard) override;
long setBufferForType(WebCore::SharedBuffer*, const String& pasteboardType, const String& pasteboardName) override;
long setPathnamesForType(const Vector<String>&, const String& pasteboardType, const String& pasteboardName) override;
long setStringForType(const String&, const String& pasteboardType, const String& pasteboardName) override;
#endif
#if PLATFORM(GTK)
void writeToClipboard(const String& pasteboardName, const WebCore::SelectionData&) override;
Ref<WebCore::SelectionData> readFromClipboard(const String& pasteboardName) override;
#endif
#if PLATFORM(WPE)
void getTypes(Vector<String>& types) override;
String readStringFromPasteboard(int index, const String& pasteboardType) override;
void writeToPasteboard(const WebCore::PasteboardWebContent&) override;
void writeToPasteboard(const String& pasteboardType, const String&) override;
#endif
};
}
#endif // WebPlatformStrategies_h