[Clipboard API] Refactor custom pasteboard writing codepaths to handle multiple items
https://bugs.webkit.org/show_bug.cgi?id=202916
Reviewed by Tim Horton.
Source/WebCore:
Adjusts the `Pasteboard::write` codepath for writing PasteboardCustomData to the platform pasteboard, such that
it accepts multiple PasteboardCustomDatas. No new tests, since there is no behavior change.
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::commitToPasteboard):
Pass in the PasteboardCustomData as a single-item vector.
* platform/Pasteboard.h:
* platform/PasteboardStrategy.h:
* platform/PlatformPasteboard.h:
* platform/StaticPasteboard.h:
* platform/cocoa/PasteboardCocoa.mm:
(WebCore::Pasteboard::writeCustomData):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeCustomData):
* platform/gtk/PlatformPasteboardGtk.cpp:
(WebCore::PlatformPasteboard::write):
* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::write):
Adjust this method to return the updated change count.
* platform/libwpe/PasteboardLibWPE.cpp:
(WebCore::Pasteboard::writeCustomData):
* platform/libwpe/PlatformPasteboardLibWPE.cpp:
(WebCore::PlatformPasteboard::write):
* platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::write):
Add logic to fall back to writing legacy pasteboard types in the case where there is only one item.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeCustomData):
Source/WebKit:
Change more function and method signatures from `const PasteboardCustomData&` to
`const Vector<PasteboardCustomData>&`.
* UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::writeCustomData):
* UIProcess/WebPasteboardProxy.cpp:
(WebKit::WebPasteboardProxy::writeCustomData):
* UIProcess/WebPasteboardProxy.h:
* UIProcess/WebPasteboardProxy.messages.in:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeCustomData):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
Source/WebKitLegacy/mac:
Adjust some method signatures.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::writeCustomData):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@251117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 76789f4..b085e34 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,45 @@
+2019-10-14 Wenson Hsieh <wenson_hsieh@apple.com>
+
+ [Clipboard API] Refactor custom pasteboard writing codepaths to handle multiple items
+ https://bugs.webkit.org/show_bug.cgi?id=202916
+
+ Reviewed by Tim Horton.
+
+ Adjusts the `Pasteboard::write` codepath for writing PasteboardCustomData to the platform pasteboard, such that
+ it accepts multiple PasteboardCustomDatas. No new tests, since there is no behavior change.
+
+ * dom/DataTransfer.cpp:
+ (WebCore::DataTransfer::commitToPasteboard):
+
+ Pass in the PasteboardCustomData as a single-item vector.
+
+ * platform/Pasteboard.h:
+ * platform/PasteboardStrategy.h:
+ * platform/PlatformPasteboard.h:
+ * platform/StaticPasteboard.h:
+ * platform/cocoa/PasteboardCocoa.mm:
+ (WebCore::Pasteboard::writeCustomData):
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeCustomData):
+ * platform/gtk/PlatformPasteboardGtk.cpp:
+ (WebCore::PlatformPasteboard::write):
+ * platform/ios/PlatformPasteboardIOS.mm:
+ (WebCore::PlatformPasteboard::write):
+
+ Adjust this method to return the updated change count.
+
+ * platform/libwpe/PasteboardLibWPE.cpp:
+ (WebCore::Pasteboard::writeCustomData):
+ * platform/libwpe/PlatformPasteboardLibWPE.cpp:
+ (WebCore::PlatformPasteboard::write):
+ * platform/mac/PlatformPasteboardMac.mm:
+ (WebCore::PlatformPasteboard::write):
+
+ Add logic to fall back to writing legacy pasteboard types in the case where there is only one item.
+
+ * platform/win/PasteboardWin.cpp:
+ (WebCore::Pasteboard::writeCustomData):
+
2019-10-14 Ryosuke Niwa <rniwa@webkit.org>
Deploy smart pointers in RadioButtonGroups and RadioButtonGroup
diff --git a/Source/WebCore/dom/DataTransfer.cpp b/Source/WebCore/dom/DataTransfer.cpp
index 0d47b73..521fa41 100644
--- a/Source/WebCore/dom/DataTransfer.cpp
+++ b/Source/WebCore/dom/DataTransfer.cpp
@@ -427,7 +427,7 @@
PasteboardCustomData customData = downcast<StaticPasteboard>(*m_pasteboard).takeCustomData();
if (RuntimeEnabledFeatures::sharedFeatures().customPasteboardDataEnabled()) {
customData.setOrigin(m_originIdentifier);
- nativePasteboard.writeCustomData(customData);
+ nativePasteboard.writeCustomData({ customData });
return;
}
diff --git a/Source/WebCore/platform/Pasteboard.h b/Source/WebCore/platform/Pasteboard.h
index cbffca2..d37c3c5 100644
--- a/Source/WebCore/platform/Pasteboard.h
+++ b/Source/WebCore/platform/Pasteboard.h
@@ -208,7 +208,7 @@
virtual WEBCORE_EXPORT void write(const PasteboardImage&);
virtual WEBCORE_EXPORT void write(const PasteboardWebContent&);
- virtual WEBCORE_EXPORT void writeCustomData(const PasteboardCustomData&);
+ virtual WEBCORE_EXPORT void writeCustomData(const Vector<PasteboardCustomData>&);
enum class FileContentState { NoFileOrImageData, InMemoryImage, MayContainFilePaths };
virtual WEBCORE_EXPORT FileContentState fileContentState();
diff --git a/Source/WebCore/platform/PasteboardStrategy.h b/Source/WebCore/platform/PasteboardStrategy.h
index ed86085..6162942 100644
--- a/Source/WebCore/platform/PasteboardStrategy.h
+++ b/Source/WebCore/platform/PasteboardStrategy.h
@@ -75,7 +75,7 @@
virtual int getPasteboardItemsCount(const String& pasteboardName) = 0;
virtual Vector<String> typesSafeForDOMToReadAndWrite(const String& pasteboardName, const String& origin) = 0;
- virtual long writeCustomData(const PasteboardCustomData&, const String& pasteboardName) = 0;
+ virtual long writeCustomData(const Vector<PasteboardCustomData>&, const String& pasteboardName) = 0;
#if PLATFORM(GTK)
virtual void writeToClipboard(const String& pasteboardName, const SelectionData&) = 0;
diff --git a/Source/WebCore/platform/PlatformPasteboard.h b/Source/WebCore/platform/PlatformPasteboard.h
index 70ab14e..ff034e7 100644
--- a/Source/WebCore/platform/PlatformPasteboard.h
+++ b/Source/WebCore/platform/PlatformPasteboard.h
@@ -96,7 +96,7 @@
WEBCORE_EXPORT URL readURL(size_t index, String& title) const;
WEBCORE_EXPORT int count() const;
WEBCORE_EXPORT int numberOfFiles() const;
- WEBCORE_EXPORT void write(const Vector<PasteboardCustomData>&);
+ WEBCORE_EXPORT long write(const Vector<PasteboardCustomData>&);
WEBCORE_EXPORT long write(const PasteboardCustomData&);
WEBCORE_EXPORT Vector<String> typesSafeForDOMToReadAndWrite(const String& origin) const;
diff --git a/Source/WebCore/platform/StaticPasteboard.h b/Source/WebCore/platform/StaticPasteboard.h
index a56a472..c9bff6f 100644
--- a/Source/WebCore/platform/StaticPasteboard.h
+++ b/Source/WebCore/platform/StaticPasteboard.h
@@ -63,7 +63,7 @@
void write(const PasteboardImage&) final { }
void write(const PasteboardWebContent&) final { }
- void writeCustomData(const PasteboardCustomData&) final { }
+ void writeCustomData(const Vector<PasteboardCustomData>&) final { }
Pasteboard::FileContentState fileContentState() final { return FileContentState::NoFileOrImageData; }
bool canSmartReplace() final { return false; }
diff --git a/Source/WebCore/platform/cocoa/PasteboardCocoa.mm b/Source/WebCore/platform/cocoa/PasteboardCocoa.mm
index d0341be..166369b 100644
--- a/Source/WebCore/platform/cocoa/PasteboardCocoa.mm
+++ b/Source/WebCore/platform/cocoa/PasteboardCocoa.mm
@@ -275,9 +275,9 @@
return *m_customDataCache;
}
-void Pasteboard::writeCustomData(const PasteboardCustomData& data)
+void Pasteboard::writeCustomData(const Vector<PasteboardCustomData>& data)
{
- m_changeCount = platformStrategies()->pasteboardStrategy()->writeCustomData(data, m_pasteboardName);
+ m_changeCount = platformStrategies()->pasteboardStrategy()->writeCustomData(data, name());
}
long Pasteboard::changeCount() const
diff --git a/Source/WebCore/platform/gtk/PasteboardGtk.cpp b/Source/WebCore/platform/gtk/PasteboardGtk.cpp
index 42252d3..62a772b 100644
--- a/Source/WebCore/platform/gtk/PasteboardGtk.cpp
+++ b/Source/WebCore/platform/gtk/PasteboardGtk.cpp
@@ -329,7 +329,7 @@
{
}
-void Pasteboard::writeCustomData(const PasteboardCustomData&)
+void Pasteboard::writeCustomData(const Vector<PasteboardCustomData>&)
{
}
diff --git a/Source/WebCore/platform/gtk/PlatformPasteboardGtk.cpp b/Source/WebCore/platform/gtk/PlatformPasteboardGtk.cpp
index 8143faf..f9cf601 100644
--- a/Source/WebCore/platform/gtk/PlatformPasteboardGtk.cpp
+++ b/Source/WebCore/platform/gtk/PlatformPasteboardGtk.cpp
@@ -56,4 +56,9 @@
return 0;
}
+long PlatformPasteboard::write(const Vector<PasteboardCustomData>&)
+{
+ return 0;
+}
+
}
diff --git a/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm b/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm
index d163ad6..31b2070 100644
--- a/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm
+++ b/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm
@@ -598,7 +598,7 @@
return representationsToRegister;
}
-void PlatformPasteboard::write(const Vector<PasteboardCustomData>& itemData)
+long PlatformPasteboard::write(const Vector<PasteboardCustomData>& itemData)
{
auto registrationLists = adoptNS([[NSMutableArray alloc] initWithCapacity:itemData.size()]);
for (auto& data : itemData) {
@@ -606,6 +606,7 @@
[registrationLists addObject:itemList.get()];
}
registerItemsToPasteboard(registrationLists.get(), m_pasteboard.get());
+ return [m_pasteboard changeCount];
}
#else
@@ -641,8 +642,9 @@
return { };
}
-void PlatformPasteboard::write(const Vector<PasteboardCustomData>&)
+long PlatformPasteboard::write(const Vector<PasteboardCustomData>&)
{
+ return 0;
}
#endif
@@ -743,8 +745,7 @@
long PlatformPasteboard::write(const PasteboardCustomData& data)
{
- write(Vector<PasteboardCustomData> { data });
- return [m_pasteboard changeCount];
+ return write(Vector<PasteboardCustomData> { data });
}
}
diff --git a/Source/WebCore/platform/libwpe/PasteboardLibWPE.cpp b/Source/WebCore/platform/libwpe/PasteboardLibWPE.cpp
index 43ba9e4..368f937 100644
--- a/Source/WebCore/platform/libwpe/PasteboardLibWPE.cpp
+++ b/Source/WebCore/platform/libwpe/PasteboardLibWPE.cpp
@@ -147,7 +147,7 @@
writeString("text/plain;charset=utf-8", text);
}
-void Pasteboard::writeCustomData(const PasteboardCustomData&)
+void Pasteboard::writeCustomData(const Vector<PasteboardCustomData>&)
{
}
diff --git a/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp b/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp
index e540c35..d5271e8 100644
--- a/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp
+++ b/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp
@@ -127,6 +127,11 @@
return 0;
}
+long PlatformPasteboard::write(const Vector<PasteboardCustomData>&)
+{
+ return 0;
+}
+
} // namespace WebCore
#endif // USE(LIBWPE)
diff --git a/Source/WebCore/platform/mac/PlatformPasteboardMac.mm b/Source/WebCore/platform/mac/PlatformPasteboardMac.mm
index 3e9f466..718126a 100644
--- a/Source/WebCore/platform/mac/PlatformPasteboardMac.mm
+++ b/Source/WebCore/platform/mac/PlatformPasteboardMac.mm
@@ -494,13 +494,17 @@
return item;
}
-void PlatformPasteboard::write(const Vector<PasteboardCustomData>& itemData)
+long PlatformPasteboard::write(const Vector<PasteboardCustomData>& itemData)
{
+ if (itemData.size() == 1)
+ return write(itemData.first());
+
auto platformItems = adoptNS([[NSMutableArray alloc] initWithCapacity:itemData.size()]);
for (auto& data : itemData)
[platformItems addObject:createPasteboardItem(data).get()];
[m_pasteboard clearContents];
[m_pasteboard writeObjects:platformItems.get()];
+ return [m_pasteboard changeCount];
}
PasteboardItemInfo PlatformPasteboard::informationForItemAtIndex(size_t index)
diff --git a/Source/WebCore/platform/win/PasteboardWin.cpp b/Source/WebCore/platform/win/PasteboardWin.cpp
index 1697855..d261c21 100644
--- a/Source/WebCore/platform/win/PasteboardWin.cpp
+++ b/Source/WebCore/platform/win/PasteboardWin.cpp
@@ -1081,7 +1081,7 @@
{
}
-void Pasteboard::writeCustomData(const PasteboardCustomData&)
+void Pasteboard::writeCustomData(const Vector<PasteboardCustomData>&)
{
}
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index 80d2724..c04d5c3 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,23 @@
+2019-10-14 Wenson Hsieh <wenson_hsieh@apple.com>
+
+ [Clipboard API] Refactor custom pasteboard writing codepaths to handle multiple items
+ https://bugs.webkit.org/show_bug.cgi?id=202916
+
+ Reviewed by Tim Horton.
+
+ Change more function and method signatures from `const PasteboardCustomData&` to
+ `const Vector<PasteboardCustomData>&`.
+
+ * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
+ (WebKit::WebPasteboardProxy::writeCustomData):
+ * UIProcess/WebPasteboardProxy.cpp:
+ (WebKit::WebPasteboardProxy::writeCustomData):
+ * UIProcess/WebPasteboardProxy.h:
+ * UIProcess/WebPasteboardProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::writeCustomData):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
2019-10-14 Per Arne Vollan <pvollan@apple.com>
REGRESSION(251087): Several API tests are failing
diff --git a/Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
index 0a18174..d930228 100644
--- a/Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
+++ b/Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
@@ -175,7 +175,7 @@
completionHandler(PlatformPasteboard(pasteboardName).typesSafeForDOMToReadAndWrite(origin));
}
-void WebPasteboardProxy::writeCustomData(const WebCore::PasteboardCustomData& data, const String& pasteboardName, CompletionHandler<void(uint64_t)>&& completionHandler)
+void WebPasteboardProxy::writeCustomData(const Vector<PasteboardCustomData>& data, const String& pasteboardName, CompletionHandler<void(uint64_t)>&& completionHandler)
{
completionHandler(PlatformPasteboard(pasteboardName).write(data));
}
diff --git a/Source/WebKit/UIProcess/WebPasteboardProxy.cpp b/Source/WebKit/UIProcess/WebPasteboardProxy.cpp
index 0febdc1..7e8c2e3 100644
--- a/Source/WebKit/UIProcess/WebPasteboardProxy.cpp
+++ b/Source/WebKit/UIProcess/WebPasteboardProxy.cpp
@@ -70,7 +70,7 @@
completionHandler({ });
}
-void WebPasteboardProxy::writeCustomData(const WebCore::PasteboardCustomData&, const String&, CompletionHandler<void(uint64_t)>&& completionHandler)
+void WebPasteboardProxy::writeCustomData(const Vector<PasteboardCustomData>&, const String&, CompletionHandler<void(uint64_t)>&& completionHandler)
{
completionHandler(0);
}
diff --git a/Source/WebKit/UIProcess/WebPasteboardProxy.h b/Source/WebKit/UIProcess/WebPasteboardProxy.h
index ad406f4..d890e30 100644
--- a/Source/WebKit/UIProcess/WebPasteboardProxy.h
+++ b/Source/WebKit/UIProcess/WebPasteboardProxy.h
@@ -102,7 +102,7 @@
void informationForItemAtIndex(size_t index, const String& pasteboardName, CompletionHandler<void(WebCore::PasteboardItemInfo&&)>&&);
void allPasteboardItemInfo(const String& pasteboardName, CompletionHandler<void(Vector<WebCore::PasteboardItemInfo>&&)>&&);
- void writeCustomData(const WebCore::PasteboardCustomData&, const String& pasteboardName, CompletionHandler<void(uint64_t)>&&);
+ void writeCustomData(const Vector<WebCore::PasteboardCustomData>&, const String& pasteboardName, CompletionHandler<void(uint64_t)>&&);
void typesSafeForDOMToReadAndWrite(const String& pasteboardName, const String& origin, CompletionHandler<void(Vector<String>&&)>&&);
#if PLATFORM(GTK)
diff --git a/Source/WebKit/UIProcess/WebPasteboardProxy.messages.in b/Source/WebKit/UIProcess/WebPasteboardProxy.messages.in
index 3b6625a..2e4e26e 100644
--- a/Source/WebKit/UIProcess/WebPasteboardProxy.messages.in
+++ b/Source/WebKit/UIProcess/WebPasteboardProxy.messages.in
@@ -29,7 +29,7 @@
UpdateSupportedTypeIdentifiers(Vector<String> identifiers, String pasteboardName)
#endif
- WriteCustomData(WebCore::PasteboardCustomData data, String pasteboardName) -> (uint64_t changeCount) Synchronous
+ WriteCustomData(Vector<WebCore::PasteboardCustomData> data, String pasteboardName) -> (uint64_t changeCount) Synchronous
TypesSafeForDOMToReadAndWrite(String pasteboardName, String origin) -> (Vector<String> types) Synchronous
AllPasteboardItemInfo(String pasteboardName) -> (Vector<WebCore::PasteboardItemInfo> allInfo) Synchronous
InformationForItemAtIndex(uint64_t index, String pasteboardName) -> (struct WebCore::PasteboardItemInfo info) Synchronous
diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
index 5544a25..47930a2 100644
--- a/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
+++ b/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
@@ -318,7 +318,7 @@
return types;
}
-long WebPlatformStrategies::writeCustomData(const WebCore::PasteboardCustomData& data, const String& pasteboardName)
+long WebPlatformStrategies::writeCustomData(const Vector<PasteboardCustomData>& data, const String& pasteboardName)
{
uint64_t newChangeCount { 0 };
WebProcess::singleton().parentProcessConnection()->sendSync(Messages::WebPasteboardProxy::WriteCustomData(data, pasteboardName), Messages::WebPasteboardProxy::WriteCustomData::Reply(newChangeCount), 0);
diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.h b/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.h
index 0702359..81a7a44 100644
--- a/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.h
+++ b/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.h
@@ -88,7 +88,7 @@
WebCore::PasteboardItemInfo informationForItemAtIndex(size_t index, const String& pasteboardName) override;
Vector<WebCore::PasteboardItemInfo> allPasteboardItemInfo(const String& pasteboardName) override;
Vector<String> typesSafeForDOMToReadAndWrite(const String& pasteboardName, const String& origin) override;
- long writeCustomData(const WebCore::PasteboardCustomData&, const String&) override;
+ long writeCustomData(const Vector<WebCore::PasteboardCustomData>&, const String&) override;
};
} // namespace WebKit
diff --git a/Source/WebKitLegacy/mac/ChangeLog b/Source/WebKitLegacy/mac/ChangeLog
index badbdfe..2b9abc4 100644
--- a/Source/WebKitLegacy/mac/ChangeLog
+++ b/Source/WebKitLegacy/mac/ChangeLog
@@ -1,3 +1,16 @@
+2019-10-14 Wenson Hsieh <wenson_hsieh@apple.com>
+
+ [Clipboard API] Refactor custom pasteboard writing codepaths to handle multiple items
+ https://bugs.webkit.org/show_bug.cgi?id=202916
+
+ Reviewed by Tim Horton.
+
+ Adjust some method signatures.
+
+ * WebCoreSupport/WebPlatformStrategies.h:
+ * WebCoreSupport/WebPlatformStrategies.mm:
+ (WebPlatformStrategies::writeCustomData):
+
2019-10-14 David Quesada <david_quesada@apple.com>
Remove WebCore::IOSApplication::isWebApp()
diff --git a/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.h b/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.h
index 3e880ab..39511e0 100644
--- a/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.h
+++ b/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.h
@@ -70,7 +70,7 @@
WebCore::Color color(const String& pasteboardName) override;
URL url(const String& pasteboardName) override;
- long writeCustomData(const WebCore::PasteboardCustomData&, const String& pasteboardName) override;
+ long writeCustomData(const Vector<WebCore::PasteboardCustomData>&, const String& pasteboardName) override;
Vector<String> typesSafeForDOMToReadAndWrite(const String& pasteboardName, const String& origin) override;
long addTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName) override;
diff --git a/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.mm b/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.mm
index 98d324c..0f7a915 100644
--- a/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.mm
+++ b/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.mm
@@ -168,7 +168,7 @@
return PlatformPasteboard(pasteboardName).typesSafeForDOMToReadAndWrite(origin);
}
-long WebPlatformStrategies::writeCustomData(const WebCore::PasteboardCustomData& data, const String& pasteboardName)
+long WebPlatformStrategies::writeCustomData(const Vector<WebCore::PasteboardCustomData>& data, const String& pasteboardName)
{
return PlatformPasteboard(pasteboardName).write(data);
}