Changeset 126383 in webkit
- Timestamp:
- Aug 22, 2012 6:56:54 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r126378 r126383 1 2012-08-22 Vineet Chaudhary <rgf748@motorola.com> 2 3 Consider replacing return type of Clipboard::types() from HashSet<String> to Vector<String>. 4 https://bugs.webkit.org/show_bug.cgi?id=82888 5 6 Reviewed by Kentaro Hara. 7 8 As part of removing custom bindings of types Array Clipboard::types() needs to return 9 Vector<String> than HashSet<String> 10 11 No new tests. Exixting test should pass with this change as no behavoural changes. 12 13 * bindings/js/JSClipboardCustom.cpp: Replace data type from HashSet<> to Vector<>. 14 (WebCore::JSClipboard::types): 15 * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto. 16 (WebCore::V8Clipboard::typesAccessorGetter): 17 * dom/Clipboard.h: Ditto. 18 (Clipboard): 19 * platform/blackberry/ClipboardBlackBerry.cpp: Ditto. 20 (WebCore::ClipboardBlackBerry::types): 21 * platform/blackberry/ClipboardBlackBerry.h: Ditto. 22 (ClipboardBlackBerry): 23 * platform/chromium/ChromiumDataObject.cpp: Ditto. 24 (WebCore::ChromiumDataObject::types): 25 * platform/chromium/ChromiumDataObject.h: Ditto. 26 (ChromiumDataObject): 27 * platform/chromium/ClipboardChromium.cpp: Ditto. 28 (WebCore::ClipboardChromium::types): 29 * platform/chromium/ClipboardChromium.h: Ditto. 30 (ClipboardChromium): 31 * platform/efl/ClipboardEfl.cpp: Ditto. 32 (WebCore::ClipboardEfl::types): 33 * platform/efl/ClipboardEfl.h: Ditto. 34 (ClipboardEfl): 35 * platform/gtk/ClipboardGtk.cpp: Ditto. 36 (WebCore::ClipboardGtk::types): 37 * platform/gtk/ClipboardGtk.h: Ditto. 38 (ClipboardGtk): 39 * platform/mac/ClipboardMac.h: Ditto. 40 (ClipboardMac): 41 * platform/mac/ClipboardMac.mm: Ditto. 42 (WebCore::addHTMLClipboardTypesForCocoaType): 43 (WebCore::ClipboardMac::types): 44 * platform/qt/ClipboardQt.cpp: Ditto. 45 (WebCore::ClipboardQt::types): 46 * platform/qt/ClipboardQt.h: Ditto. 47 (ClipboardQt): 48 * platform/win/ClipboardWin.cpp: Ditto. 49 (WebCore::addMimeTypesForFormat): 50 (WebCore::ClipboardWin::types): 51 * platform/win/ClipboardWin.h: Ditto. 52 (ClipboardWin): 53 * platform/wx/ClipboardWx.cpp: Ditto. 54 (WebCore::ClipboardWx::types): 55 * platform/wx/ClipboardWx.h: Ditto. 56 (ClipboardWx): 57 1 58 2012-08-22 James Robinson <jamesr@chromium.org> 2 59 -
trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp
r109182 r126383 53 53 Clipboard* clipboard = impl(); 54 54 55 HashSet<String> types = clipboard->types();55 Vector<String> types = clipboard->types(); 56 56 if (types.isEmpty()) 57 57 return jsNull(); 58 58 59 59 MarkedArgumentBuffer list; 60 HashSet<String>::const_iterator end = types.end();61 for ( HashSet<String>::const_iterator it = types.begin(); it != end; ++it)60 Vector<String>::const_iterator end = types.end(); 61 for (Vector<String>::const_iterator it = types.begin(); it != end; ++it) 62 62 list.append(jsString(exec, stringToUString(*it))); 63 63 return constructArray(exec, globalObject(), list); -
trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp
r125495 r126383 50 50 Clipboard* clipboard = V8Clipboard::toNative(info.Holder()); 51 51 52 HashSet<String> types = clipboard->types();52 Vector<String> types = clipboard->types(); 53 53 if (types.isEmpty()) 54 54 return v8::Null(info.GetIsolate()); 55 55 56 56 v8::Local<v8::Array> result = v8::Array::New(types.size()); 57 HashSet<String>::const_iterator end = types.end();57 Vector<String>::const_iterator end = types.end(); 58 58 int index = 0; 59 for ( HashSet<String>::const_iterator it = types.begin(); it != end; ++it, ++index)59 for (Vector<String>::const_iterator it = types.begin(); it != end; ++it, ++index) 60 60 result->Set(v8Integer(index, info.GetIsolate()), v8String(*it, info.GetIsolate())); 61 61 -
trunk/Source/WebCore/dom/Clipboard.h
r109182 r126383 67 67 68 68 // extensions beyond IE's API 69 virtual HashSet<String> types() const = 0;69 virtual Vector<String> types() const = 0; 70 70 virtual PassRefPtr<FileList> files() const = 0; 71 71 -
trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp
r112870 r126383 79 79 } 80 80 81 HashSet<String> ClipboardBlackBerry::types() const81 Vector<String> ClipboardBlackBerry::types() const 82 82 { 83 83 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 84 return HashSet<String>();84 return Vector<String>(); 85 85 86 86 // We use hardcoded list here since there seems to be no API to get the list. 87 HashSet<String> ret;88 ret.a dd("text/plain");89 ret.a dd("text/html");90 ret.a dd("text/url");87 Vector<String> ret; 88 ret.append("text/plain"); 89 ret.append("text/html"); 90 ret.append("text/url"); 91 91 return ret; 92 92 } -
trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h
r112870 r126383 40 40 41 41 // extensions beyond IE's API 42 virtual HashSet<String> types() const;42 virtual Vector<String> types() const; 43 43 virtual PassRefPtr<FileList> files() const; 44 44 virtual DragImageRef createDragImage(IntPoint&) const; -
trunk/Source/WebCore/platform/chromium/ChromiumDataObject.cpp
r123495 r126383 127 127 } 128 128 129 HashSet<String> ChromiumDataObject::types() const130 { 131 HashSet<String> results;129 Vector<String> ChromiumDataObject::types() const 130 { 131 Vector<String> results; 132 132 bool containsFiles = false; 133 133 for (size_t i = 0; i < m_itemList.size(); ++i) { 134 134 if (m_itemList[i]->kind() == DataTransferItem::kindString) 135 results.a dd(m_itemList[i]->type());135 results.append(m_itemList[i]->type()); 136 136 else if (m_itemList[i]->kind() == DataTransferItem::kindFile) 137 137 containsFiles = true; … … 140 140 } 141 141 if (containsFiles) 142 results.a dd(mimeTypeFiles);142 results.append(mimeTypeFiles); 143 143 return results; 144 144 } -
trunk/Source/WebCore/platform/chromium/ChromiumDataObject.h
r117327 r126383 70 70 void clearAllExceptFiles(); 71 71 72 HashSet<String> types() const;72 Vector<String> types() const; 73 73 String getData(const String& type) const; 74 74 bool setData(const String& type, const String& data); -
trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp
r123828 r126383 275 275 276 276 // extensions beyond IE's API 277 HashSet<String> ClipboardChromium::types() const277 Vector<String> ClipboardChromium::types() const 278 278 { 279 279 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 280 return HashSet<String>();280 return Vector<String>(); 281 281 282 282 return m_dataObject->types(); -
trunk/Source/WebCore/platform/chromium/ClipboardChromium.h
r125051 r126383 85 85 86 86 // extensions beyond IE's API 87 virtual HashSet<String> types() const;87 virtual Vector<String> types() const; 88 88 virtual PassRefPtr<FileList> files() const; 89 89 -
trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp
r109182 r126383 77 77 } 78 78 79 HashSet<String> ClipboardEfl::types() const79 Vector<String> ClipboardEfl::types() const 80 80 { 81 81 notImplemented(); 82 return HashSet<String>();82 return Vector<String>(); 83 83 } 84 84 -
trunk/Source/WebCore/platform/efl/ClipboardEfl.h
r109182 r126383 40 40 bool setData(const String&, const String&); 41 41 42 HashSet<String> types() const;42 Vector<String> types() const; 43 43 virtual PassRefPtr<FileList> files() const; 44 44 -
trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp
r123495 r126383 185 185 } 186 186 187 HashSet<String> ClipboardGtk::types() const187 Vector<String> ClipboardGtk::types() const 188 188 { 189 189 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 190 return HashSet<String>();190 return Vector<String>(); 191 191 192 192 if (m_clipboard) 193 193 PasteboardHelper::defaultPasteboardHelper()->getClipboardContents(m_clipboard); 194 194 195 HashSet<String> types;195 Vector<String> types; 196 196 if (m_dataObject->hasText()) { 197 types.a dd("text/plain");198 types.a dd("Text");199 types.a dd("text");197 types.append("text/plain"); 198 types.append("Text"); 199 types.append("text"); 200 200 } 201 201 202 202 if (m_dataObject->hasMarkup()) 203 types.a dd("text/html");203 types.append("text/html"); 204 204 205 205 if (m_dataObject->hasURIList()) { 206 types.a dd("text/uri-list");207 types.a dd("URL");206 types.append("text/uri-list"); 207 types.append("URL"); 208 208 } 209 209 210 210 if (m_dataObject->hasFilenames()) 211 types.a dd("Files");211 types.append("Files"); 212 212 213 213 return types; -
trunk/Source/WebCore/platform/gtk/ClipboardGtk.h
r125051 r126383 58 58 bool setData(const String&, const String&); 59 59 60 virtual HashSet<String> types() const;60 virtual Vector<String> types() const; 61 61 virtual PassRefPtr<FileList> files() const; 62 62 -
trunk/Source/WebCore/platform/mac/ClipboardMac.h
r125063 r126383 63 63 64 64 // extensions beyond IE's API 65 virtual HashSet<String> types() const;65 virtual Vector<String> types() const; 66 66 virtual PassRefPtr<FileList> files() const; 67 67 -
trunk/Source/WebCore/platform/mac/ClipboardMac.mm
r125247 r126383 121 121 } 122 122 123 static void addHTMLClipboardTypesForCocoaType( HashSet<String>& resultTypes, const String& cocoaType, const String& pasteboardName)123 static void addHTMLClipboardTypesForCocoaType(Vector<String>& resultTypes, const String& cocoaType, const String& pasteboardName) 124 124 { 125 125 // UTI may not do these right, so make sure we get the right, predictable result 126 126 if (cocoaType == String(NSStringPboardType)) { 127 resultTypes.a dd("text/plain");127 resultTypes.append("text/plain"); 128 128 return; 129 129 } 130 130 if (cocoaType == String(NSURLPboardType)) { 131 resultTypes.a dd("text/uri-list");131 resultTypes.append("text/uri-list"); 132 132 return; 133 133 } … … 141 141 // It is unknown if NSFilenamesPboardType always implies NSURLPboardType in Cocoa, 142 142 // but NSFilenamesPboardType should imply both 'text/uri-list' and 'Files' 143 resultTypes.a dd("text/uri-list");144 resultTypes.a dd("Files");143 resultTypes.append("text/uri-list"); 144 resultTypes.append("Files"); 145 145 } 146 146 return; … … 148 148 String utiType = utiTypeFromCocoaType(cocoaType); 149 149 if (!utiType.isEmpty()) { 150 resultTypes.a dd(utiType);150 resultTypes.append(utiType); 151 151 return; 152 152 } 153 153 // No mapping, just pass the whole string though 154 resultTypes.a dd(cocoaType);154 resultTypes.append(cocoaType); 155 155 } 156 156 … … 283 283 } 284 284 285 HashSet<String> ClipboardMac::types() const285 Vector<String> ClipboardMac::types() const 286 286 { 287 287 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 288 return HashSet<String>();288 return Vector<String>(); 289 289 290 290 Vector<String> types; … … 294 294 // sure it doesn't change between our testing the change count and accessing the data. 295 295 if (m_changeCount != platformStrategies()->pasteboardStrategy()->changeCount(m_pasteboardName)) 296 return HashSet<String>();297 298 HashSet<String> result;296 return Vector<String>(); 297 298 Vector<String> result; 299 299 // FIXME: This loop could be split into two stages. One which adds all the HTML5 specified types 300 300 // and a second which adds all the extra types from the cocoa clipboard (which is Mac-only behavior). -
trunk/Source/WebCore/platform/qt/ClipboardQt.cpp
r123495 r126383 184 184 185 185 // extensions beyond IE's API 186 HashSet<String> ClipboardQt::types() const186 Vector<String> ClipboardQt::types() const 187 187 { 188 188 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 189 return HashSet<String>();189 return Vector<String>(); 190 190 191 191 ASSERT(m_readableData); 192 HashSet<String> result;192 Vector<String> result; 193 193 QStringList formats = m_readableData->formats(); 194 194 for (int i = 0; i < formats.count(); ++i) 195 result.a dd(formats.at(i));195 result.append(formats.at(i)); 196 196 return result; 197 197 } -
trunk/Source/WebCore/platform/qt/ClipboardQt.h
r125051 r126383 58 58 59 59 // extensions beyond IE's API 60 virtual HashSet<String> types() const;60 virtual Vector<String> types() const; 61 61 virtual PassRefPtr<FileList> files() const; 62 62 -
trunk/Source/WebCore/platform/win/ClipboardWin.cpp
r123495 r126383 485 485 } 486 486 487 static void addMimeTypesForFormat( HashSet<String>& results, const FORMATETC& format)487 static void addMimeTypesForFormat(Vector<String>& results, const FORMATETC& format) 488 488 { 489 489 // URL and Text are provided for compatibility with IE's model 490 490 if (format.cfFormat == urlFormat()->cfFormat || format.cfFormat == urlWFormat()->cfFormat) { 491 results.a dd("URL");492 results.a dd("text/uri-list");491 results.append("URL"); 492 results.append("text/uri-list"); 493 493 } 494 494 495 495 if (format.cfFormat == plainTextWFormat()->cfFormat || format.cfFormat == plainTextFormat()->cfFormat) { 496 results.a dd("Text");497 results.a dd("text/plain");496 results.append("Text"); 497 results.append("text/plain"); 498 498 } 499 499 } 500 500 501 501 // extensions beyond IE's API 502 HashSet<String> ClipboardWin::types() const502 Vector<String> ClipboardWin::types() const 503 503 { 504 HashSet<String> results;504 Vector<String> results; 505 505 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 506 506 return results; -
trunk/Source/WebCore/platform/win/ClipboardWin.h
r125051 r126383 65 65 66 66 // extensions beyond IE's API 67 virtual HashSet<String> types() const;67 virtual Vector<String> types() const; 68 68 virtual PassRefPtr<FileList> files() const; 69 69 -
trunk/Source/WebCore/platform/wx/ClipboardWx.cpp
r125247 r126383 73 73 74 74 // extensions beyond IE's API 75 HashSet<String> ClipboardWx::types() const 75 Vector<String> ClipboardWx::types() const 76 76 { 77 77 notImplemented(); 78 HashSet<String> result;78 Vector<String> result; 79 79 return result; 80 80 } -
trunk/Source/WebCore/platform/wx/ClipboardWx.h
r109182 r126383 47 47 48 48 // extensions beyond IE's API 49 virtual HashSet<String> types() const;49 virtual Vector<String> types() const; 50 50 virtual PassRefPtr<FileList> files() const; 51 51
Note: See TracChangeset
for help on using the changeset viewer.