Diff
Modified: trunk/Source/WebCore/ChangeLog (126382 => 126383)
--- trunk/Source/WebCore/ChangeLog 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/ChangeLog 2012-08-23 01:56:54 UTC (rev 126383)
@@ -1,3 +1,60 @@
+2012-08-22 Vineet Chaudhary <[email protected]>
+
+ Consider replacing return type of Clipboard::types() from HashSet<String> to Vector<String>.
+ https://bugs.webkit.org/show_bug.cgi?id=82888
+
+ Reviewed by Kentaro Hara.
+
+ As part of removing custom bindings of types Array Clipboard::types() needs to return
+ Vector<String> than HashSet<String>
+
+ No new tests. Exixting test should pass with this change as no behavoural changes.
+
+ * bindings/js/JSClipboardCustom.cpp: Replace data type from HashSet<> to Vector<>.
+ (WebCore::JSClipboard::types):
+ * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
+ (WebCore::V8Clipboard::typesAccessorGetter):
+ * dom/Clipboard.h: Ditto.
+ (Clipboard):
+ * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
+ (WebCore::ClipboardBlackBerry::types):
+ * platform/blackberry/ClipboardBlackBerry.h: Ditto.
+ (ClipboardBlackBerry):
+ * platform/chromium/ChromiumDataObject.cpp: Ditto.
+ (WebCore::ChromiumDataObject::types):
+ * platform/chromium/ChromiumDataObject.h: Ditto.
+ (ChromiumDataObject):
+ * platform/chromium/ClipboardChromium.cpp: Ditto.
+ (WebCore::ClipboardChromium::types):
+ * platform/chromium/ClipboardChromium.h: Ditto.
+ (ClipboardChromium):
+ * platform/efl/ClipboardEfl.cpp: Ditto.
+ (WebCore::ClipboardEfl::types):
+ * platform/efl/ClipboardEfl.h: Ditto.
+ (ClipboardEfl):
+ * platform/gtk/ClipboardGtk.cpp: Ditto.
+ (WebCore::ClipboardGtk::types):
+ * platform/gtk/ClipboardGtk.h: Ditto.
+ (ClipboardGtk):
+ * platform/mac/ClipboardMac.h: Ditto.
+ (ClipboardMac):
+ * platform/mac/ClipboardMac.mm: Ditto.
+ (WebCore::addHTMLClipboardTypesForCocoaType):
+ (WebCore::ClipboardMac::types):
+ * platform/qt/ClipboardQt.cpp: Ditto.
+ (WebCore::ClipboardQt::types):
+ * platform/qt/ClipboardQt.h: Ditto.
+ (ClipboardQt):
+ * platform/win/ClipboardWin.cpp: Ditto.
+ (WebCore::addMimeTypesForFormat):
+ (WebCore::ClipboardWin::types):
+ * platform/win/ClipboardWin.h: Ditto.
+ (ClipboardWin):
+ * platform/wx/ClipboardWx.cpp: Ditto.
+ (WebCore::ClipboardWx::types):
+ * platform/wx/ClipboardWx.h: Ditto.
+ (ClipboardWx):
+
2012-08-22 James Robinson <[email protected]>
[chromium] Change WebLayer from a concrete type to a pure virtual interface
Modified: trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp (126382 => 126383)
--- trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -52,13 +52,13 @@
{
Clipboard* clipboard = impl();
- HashSet<String> types = clipboard->types();
+ Vector<String> types = clipboard->types();
if (types.isEmpty())
return jsNull();
MarkedArgumentBuffer list;
- HashSet<String>::const_iterator end = types.end();
- for (HashSet<String>::const_iterator it = types.begin(); it != end; ++it)
+ Vector<String>::const_iterator end = types.end();
+ for (Vector<String>::const_iterator it = types.begin(); it != end; ++it)
list.append(jsString(exec, stringToUString(*it)));
return constructArray(exec, globalObject(), list);
}
Modified: trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp (126382 => 126383)
--- trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -49,14 +49,14 @@
INC_STATS("DOM.Clipboard.types()");
Clipboard* clipboard = V8Clipboard::toNative(info.Holder());
- HashSet<String> types = clipboard->types();
+ Vector<String> types = clipboard->types();
if (types.isEmpty())
return v8::Null(info.GetIsolate());
v8::Local<v8::Array> result = v8::Array::New(types.size());
- HashSet<String>::const_iterator end = types.end();
+ Vector<String>::const_iterator end = types.end();
int index = 0;
- for (HashSet<String>::const_iterator it = types.begin(); it != end; ++it, ++index)
+ for (Vector<String>::const_iterator it = types.begin(); it != end; ++it, ++index)
result->Set(v8Integer(index, info.GetIsolate()), v8String(*it, info.GetIsolate()));
return result;
Modified: trunk/Source/WebCore/dom/Clipboard.h (126382 => 126383)
--- trunk/Source/WebCore/dom/Clipboard.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/dom/Clipboard.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -66,7 +66,7 @@
virtual bool setData(const String& type, const String& data) = 0;
// extensions beyond IE's API
- virtual HashSet<String> types() const = 0;
+ virtual Vector<String> types() const = 0;
virtual PassRefPtr<FileList> files() const = 0;
IntPoint dragLocation() const { return m_dragLoc; }
Modified: trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp (126382 => 126383)
--- trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -78,16 +78,16 @@
return true;
}
-HashSet<String> ClipboardBlackBerry::types() const
+Vector<String> ClipboardBlackBerry::types() const
{
if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
- return HashSet<String>();
+ return Vector<String>();
// We use hardcoded list here since there seems to be no API to get the list.
- HashSet<String> ret;
- ret.add("text/plain");
- ret.add("text/html");
- ret.add("text/url");
+ Vector<String> ret;
+ ret.append("text/plain");
+ ret.append("text/html");
+ ret.append("text/url");
return ret;
}
Modified: trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h (126382 => 126383)
--- trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -39,7 +39,7 @@
bool setData(const String& type, const String& data);
// extensions beyond IE's API
- virtual HashSet<String> types() const;
+ virtual Vector<String> types() const;
virtual PassRefPtr<FileList> files() const;
virtual DragImageRef createDragImage(IntPoint&) const;
virtual void declareAndWriteDragImage(Element*, const KURL&, const String& title, Frame*);
Modified: trunk/Source/WebCore/platform/chromium/ChromiumDataObject.cpp (126382 => 126383)
--- trunk/Source/WebCore/platform/chromium/ChromiumDataObject.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/chromium/ChromiumDataObject.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -126,20 +126,20 @@
}
}
-HashSet<String> ChromiumDataObject::types() const
+Vector<String> ChromiumDataObject::types() const
{
- HashSet<String> results;
+ Vector<String> results;
bool containsFiles = false;
for (size_t i = 0; i < m_itemList.size(); ++i) {
if (m_itemList[i]->kind() == DataTransferItem::kindString)
- results.add(m_itemList[i]->type());
+ results.append(m_itemList[i]->type());
else if (m_itemList[i]->kind() == DataTransferItem::kindFile)
containsFiles = true;
else
ASSERT_NOT_REACHED();
}
if (containsFiles)
- results.add(mimeTypeFiles);
+ results.append(mimeTypeFiles);
return results;
}
Modified: trunk/Source/WebCore/platform/chromium/ChromiumDataObject.h (126382 => 126383)
--- trunk/Source/WebCore/platform/chromium/ChromiumDataObject.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/chromium/ChromiumDataObject.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -69,7 +69,7 @@
void clearData(const String& type);
void clearAllExceptFiles();
- HashSet<String> types() const;
+ Vector<String> types() const;
String getData(const String& type) const;
bool setData(const String& type, const String& data);
Modified: trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp (126382 => 126383)
--- trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -274,10 +274,10 @@
}
// extensions beyond IE's API
-HashSet<String> ClipboardChromium::types() const
+Vector<String> ClipboardChromium::types() const
{
if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
- return HashSet<String>();
+ return Vector<String>();
return m_dataObject->types();
}
Modified: trunk/Source/WebCore/platform/chromium/ClipboardChromium.h (126382 => 126383)
--- trunk/Source/WebCore/platform/chromium/ClipboardChromium.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/chromium/ClipboardChromium.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -84,7 +84,7 @@
bool platformClipboardChanged() const;
// extensions beyond IE's API
- virtual HashSet<String> types() const;
+ virtual Vector<String> types() const;
virtual PassRefPtr<FileList> files() const;
void setDragImage(CachedImage*, const IntPoint&);
Modified: trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp (126382 => 126383)
--- trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -76,10 +76,10 @@
return false;
}
-HashSet<String> ClipboardEfl::types() const
+Vector<String> ClipboardEfl::types() const
{
notImplemented();
- return HashSet<String>();
+ return Vector<String>();
}
PassRefPtr<FileList> ClipboardEfl::files() const
Modified: trunk/Source/WebCore/platform/efl/ClipboardEfl.h (126382 => 126383)
--- trunk/Source/WebCore/platform/efl/ClipboardEfl.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/efl/ClipboardEfl.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -39,7 +39,7 @@
String getData(const String&) const;
bool setData(const String&, const String&);
- HashSet<String> types() const;
+ Vector<String> types() const;
virtual PassRefPtr<FileList> files() const;
IntPoint dragLocation() const;
Modified: trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp (126382 => 126383)
--- trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -184,31 +184,31 @@
return success;
}
-HashSet<String> ClipboardGtk::types() const
+Vector<String> ClipboardGtk::types() const
{
if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
- return HashSet<String>();
+ return Vector<String>();
if (m_clipboard)
PasteboardHelper::defaultPasteboardHelper()->getClipboardContents(m_clipboard);
- HashSet<String> types;
+ Vector<String> types;
if (m_dataObject->hasText()) {
- types.add("text/plain");
- types.add("Text");
- types.add("text");
+ types.append("text/plain");
+ types.append("Text");
+ types.append("text");
}
if (m_dataObject->hasMarkup())
- types.add("text/html");
+ types.append("text/html");
if (m_dataObject->hasURIList()) {
- types.add("text/uri-list");
- types.add("URL");
+ types.append("text/uri-list");
+ types.append("URL");
}
if (m_dataObject->hasFilenames())
- types.add("Files");
+ types.append("Files");
return types;
}
Modified: trunk/Source/WebCore/platform/gtk/ClipboardGtk.h (126382 => 126383)
--- trunk/Source/WebCore/platform/gtk/ClipboardGtk.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/gtk/ClipboardGtk.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -57,7 +57,7 @@
String getData(const String&) const;
bool setData(const String&, const String&);
- virtual HashSet<String> types() const;
+ virtual Vector<String> types() const;
virtual PassRefPtr<FileList> files() const;
void setDragImage(CachedImage*, const IntPoint&);
Modified: trunk/Source/WebCore/platform/mac/ClipboardMac.h (126382 => 126383)
--- trunk/Source/WebCore/platform/mac/ClipboardMac.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/mac/ClipboardMac.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -62,7 +62,7 @@
virtual bool hasData();
// extensions beyond IE's API
- virtual HashSet<String> types() const;
+ virtual Vector<String> types() const;
virtual PassRefPtr<FileList> files() const;
void setDragImage(CachedImage*, const IntPoint&);
Modified: trunk/Source/WebCore/platform/mac/ClipboardMac.mm (126382 => 126383)
--- trunk/Source/WebCore/platform/mac/ClipboardMac.mm 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/mac/ClipboardMac.mm 2012-08-23 01:56:54 UTC (rev 126383)
@@ -120,15 +120,15 @@
return String();
}
-static void addHTMLClipboardTypesForCocoaType(HashSet<String>& resultTypes, const String& cocoaType, const String& pasteboardName)
+static void addHTMLClipboardTypesForCocoaType(Vector<String>& resultTypes, const String& cocoaType, const String& pasteboardName)
{
// UTI may not do these right, so make sure we get the right, predictable result
if (cocoaType == String(NSStringPboardType)) {
- resultTypes.add("text/plain");
+ resultTypes.append("text/plain");
return;
}
if (cocoaType == String(NSURLPboardType)) {
- resultTypes.add("text/uri-list");
+ resultTypes.append("text/uri-list");
return;
}
if (cocoaType == String(NSFilenamesPboardType)) {
@@ -140,18 +140,18 @@
if (!fileList.isEmpty()) {
// It is unknown if NSFilenamesPboardType always implies NSURLPboardType in Cocoa,
// but NSFilenamesPboardType should imply both 'text/uri-list' and 'Files'
- resultTypes.add("text/uri-list");
- resultTypes.add("Files");
+ resultTypes.append("text/uri-list");
+ resultTypes.append("Files");
}
return;
}
String utiType = utiTypeFromCocoaType(cocoaType);
if (!utiType.isEmpty()) {
- resultTypes.add(utiType);
+ resultTypes.append(utiType);
return;
}
// No mapping, just pass the whole string though
- resultTypes.add(cocoaType);
+ resultTypes.append(cocoaType);
}
void ClipboardMac::clearData(const String& type)
@@ -282,10 +282,10 @@
return false;
}
-HashSet<String> ClipboardMac::types() const
+Vector<String> ClipboardMac::types() const
{
if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
- return HashSet<String>();
+ return Vector<String>();
Vector<String> types;
platformStrategies()->pasteboardStrategy()->getTypes(types, m_pasteboardName);
@@ -293,9 +293,9 @@
// Enforce changeCount ourselves for security. We check after reading instead of before to be
// sure it doesn't change between our testing the change count and accessing the data.
if (m_changeCount != platformStrategies()->pasteboardStrategy()->changeCount(m_pasteboardName))
- return HashSet<String>();
+ return Vector<String>();
- HashSet<String> result;
+ Vector<String> result;
// FIXME: This loop could be split into two stages. One which adds all the HTML5 specified types
// and a second which adds all the extra types from the cocoa clipboard (which is Mac-only behavior).
for (size_t i = 0; i < types.size(); i++) {
Modified: trunk/Source/WebCore/platform/qt/ClipboardQt.cpp (126382 => 126383)
--- trunk/Source/WebCore/platform/qt/ClipboardQt.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/qt/ClipboardQt.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -183,16 +183,16 @@
}
// extensions beyond IE's API
-HashSet<String> ClipboardQt::types() const
+Vector<String> ClipboardQt::types() const
{
if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
- return HashSet<String>();
+ return Vector<String>();
ASSERT(m_readableData);
- HashSet<String> result;
+ Vector<String> result;
QStringList formats = m_readableData->formats();
for (int i = 0; i < formats.count(); ++i)
- result.add(formats.at(i));
+ result.append(formats.at(i));
return result;
}
Modified: trunk/Source/WebCore/platform/qt/ClipboardQt.h (126382 => 126383)
--- trunk/Source/WebCore/platform/qt/ClipboardQt.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/qt/ClipboardQt.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -57,7 +57,7 @@
bool setData(const String& type, const String& data);
// extensions beyond IE's API
- virtual HashSet<String> types() const;
+ virtual Vector<String> types() const;
virtual PassRefPtr<FileList> files() const;
void setDragImage(CachedImage*, const IntPoint&);
Modified: trunk/Source/WebCore/platform/win/ClipboardWin.cpp (126382 => 126383)
--- trunk/Source/WebCore/platform/win/ClipboardWin.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/win/ClipboardWin.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -484,24 +484,24 @@
return false;
}
-static void addMimeTypesForFormat(HashSet<String>& results, const FORMATETC& format)
+static void addMimeTypesForFormat(Vector<String>& results, const FORMATETC& format)
{
// URL and Text are provided for compatibility with IE's model
if (format.cfFormat == urlFormat()->cfFormat || format.cfFormat == urlWFormat()->cfFormat) {
- results.add("URL");
- results.add("text/uri-list");
+ results.append("URL");
+ results.append("text/uri-list");
}
if (format.cfFormat == plainTextWFormat()->cfFormat || format.cfFormat == plainTextFormat()->cfFormat) {
- results.add("Text");
- results.add("text/plain");
+ results.append("Text");
+ results.append("text/plain");
}
}
// extensions beyond IE's API
-HashSet<String> ClipboardWin::types() const
+Vector<String> ClipboardWin::types() const
{
- HashSet<String> results;
+ Vector<String> results;
if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
return results;
Modified: trunk/Source/WebCore/platform/win/ClipboardWin.h (126382 => 126383)
--- trunk/Source/WebCore/platform/win/ClipboardWin.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/win/ClipboardWin.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -64,7 +64,7 @@
bool setData(const String& type, const String& data);
// extensions beyond IE's API
- virtual HashSet<String> types() const;
+ virtual Vector<String> types() const;
virtual PassRefPtr<FileList> files() const;
void setDragImage(CachedImage*, const IntPoint&);
Modified: trunk/Source/WebCore/platform/wx/ClipboardWx.cpp (126382 => 126383)
--- trunk/Source/WebCore/platform/wx/ClipboardWx.cpp 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/wx/ClipboardWx.cpp 2012-08-23 01:56:54 UTC (rev 126383)
@@ -72,10 +72,10 @@
}
// extensions beyond IE's API
-HashSet<String> ClipboardWx::types() const
+Vector<String> ClipboardWx::types() const
{
notImplemented();
- HashSet<String> result;
+ Vector<String> result;
return result;
}
Modified: trunk/Source/WebCore/platform/wx/ClipboardWx.h (126382 => 126383)
--- trunk/Source/WebCore/platform/wx/ClipboardWx.h 2012-08-23 01:54:06 UTC (rev 126382)
+++ trunk/Source/WebCore/platform/wx/ClipboardWx.h 2012-08-23 01:56:54 UTC (rev 126383)
@@ -46,7 +46,7 @@
bool setData(const String& type, const String& data);
// extensions beyond IE's API
- virtual HashSet<String> types() const;
+ virtual Vector<String> types() const;
virtual PassRefPtr<FileList> files() const;
IntPoint dragLocation() const;