Changeset 126390 in webkit
- Timestamp:
- Aug 22, 2012 9:49:03 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r126389 r126390 1 2012-08-22 Kentaro Hara <haraken@chromium.org> 2 3 Unreviewed, rolling out r126383. 4 http://trac.webkit.org/changeset/126383 5 https://bugs.webkit.org/show_bug.cgi?id=82888 6 7 Chromium win build crash 8 9 * bindings/js/JSClipboardCustom.cpp: 10 (WebCore::JSClipboard::types): 11 * bindings/v8/custom/V8ClipboardCustom.cpp: 12 (WebCore::V8Clipboard::typesAccessorGetter): 13 * dom/Clipboard.h: 14 (Clipboard): 15 * platform/blackberry/ClipboardBlackBerry.cpp: 16 (WebCore::ClipboardBlackBerry::types): 17 * platform/blackberry/ClipboardBlackBerry.h: 18 (ClipboardBlackBerry): 19 * platform/chromium/ChromiumDataObject.cpp: 20 (WebCore::ChromiumDataObject::types): 21 * platform/chromium/ChromiumDataObject.h: 22 (ChromiumDataObject): 23 * platform/chromium/ClipboardChromium.cpp: 24 (WebCore::ClipboardChromium::types): 25 * platform/chromium/ClipboardChromium.h: 26 (ClipboardChromium): 27 * platform/efl/ClipboardEfl.cpp: 28 (WebCore::ClipboardEfl::types): 29 * platform/efl/ClipboardEfl.h: 30 (ClipboardEfl): 31 * platform/gtk/ClipboardGtk.cpp: 32 (WebCore::ClipboardGtk::types): 33 * platform/gtk/ClipboardGtk.h: 34 (ClipboardGtk): 35 * platform/mac/ClipboardMac.h: 36 (ClipboardMac): 37 * platform/mac/ClipboardMac.mm: 38 (WebCore::addHTMLClipboardTypesForCocoaType): 39 (WebCore::ClipboardMac::types): 40 * platform/qt/ClipboardQt.cpp: 41 (WebCore::ClipboardQt::types): 42 * platform/qt/ClipboardQt.h: 43 (ClipboardQt): 44 * platform/win/ClipboardWin.cpp: 45 (WebCore::addMimeTypesForFormat): 46 (WebCore::ClipboardWin::types): 47 * platform/win/ClipboardWin.h: 48 (ClipboardWin): 49 * platform/wx/ClipboardWx.cpp: 50 (WebCore::ClipboardWx::types): 51 * platform/wx/ClipboardWx.h: 52 (ClipboardWx): 53 1 54 2012-08-22 Kentaro Hara <haraken@chromium.org> 2 55 -
trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp
r126383 r126390 53 53 Clipboard* clipboard = impl(); 54 54 55 Vector<String> types = clipboard->types();55 HashSet<String> types = clipboard->types(); 56 56 if (types.isEmpty()) 57 57 return jsNull(); 58 58 59 59 MarkedArgumentBuffer list; 60 Vector<String>::const_iterator end = types.end();61 for ( Vector<String>::const_iterator it = types.begin(); it != end; ++it)60 HashSet<String>::const_iterator end = types.end(); 61 for (HashSet<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
r126383 r126390 50 50 Clipboard* clipboard = V8Clipboard::toNative(info.Holder()); 51 51 52 Vector<String> types = clipboard->types();52 HashSet<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 Vector<String>::const_iterator end = types.end();57 HashSet<String>::const_iterator end = types.end(); 58 58 int index = 0; 59 for ( Vector<String>::const_iterator it = types.begin(); it != end; ++it, ++index)59 for (HashSet<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
r126383 r126390 67 67 68 68 // extensions beyond IE's API 69 virtual Vector<String> types() const = 0;69 virtual HashSet<String> types() const = 0; 70 70 virtual PassRefPtr<FileList> files() const = 0; 71 71 -
trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp
r126383 r126390 79 79 } 80 80 81 Vector<String> ClipboardBlackBerry::types() const81 HashSet<String> ClipboardBlackBerry::types() const 82 82 { 83 83 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 84 return Vector<String>();84 return HashSet<String>(); 85 85 86 86 // We use hardcoded list here since there seems to be no API to get the list. 87 Vector<String> ret;88 ret.a ppend("text/plain");89 ret.a ppend("text/html");90 ret.a ppend("text/url");87 HashSet<String> ret; 88 ret.add("text/plain"); 89 ret.add("text/html"); 90 ret.add("text/url"); 91 91 return ret; 92 92 } -
trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h
r126383 r126390 40 40 41 41 // extensions beyond IE's API 42 virtual Vector<String> types() const;42 virtual HashSet<String> types() const; 43 43 virtual PassRefPtr<FileList> files() const; 44 44 virtual DragImageRef createDragImage(IntPoint&) const; -
trunk/Source/WebCore/platform/chromium/ChromiumDataObject.cpp
r126383 r126390 127 127 } 128 128 129 Vector<String> ChromiumDataObject::types() const130 { 131 Vector<String> results;129 HashSet<String> ChromiumDataObject::types() const 130 { 131 HashSet<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 ppend(m_itemList[i]->type());135 results.add(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 ppend(mimeTypeFiles);142 results.add(mimeTypeFiles); 143 143 return results; 144 144 } -
trunk/Source/WebCore/platform/chromium/ChromiumDataObject.h
r126383 r126390 70 70 void clearAllExceptFiles(); 71 71 72 Vector<String> types() const;72 HashSet<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
r126383 r126390 275 275 276 276 // extensions beyond IE's API 277 Vector<String> ClipboardChromium::types() const277 HashSet<String> ClipboardChromium::types() const 278 278 { 279 279 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 280 return Vector<String>();280 return HashSet<String>(); 281 281 282 282 return m_dataObject->types(); -
trunk/Source/WebCore/platform/chromium/ClipboardChromium.h
r126383 r126390 85 85 86 86 // extensions beyond IE's API 87 virtual Vector<String> types() const;87 virtual HashSet<String> types() const; 88 88 virtual PassRefPtr<FileList> files() const; 89 89 -
trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp
r126383 r126390 77 77 } 78 78 79 Vector<String> ClipboardEfl::types() const79 HashSet<String> ClipboardEfl::types() const 80 80 { 81 81 notImplemented(); 82 return Vector<String>();82 return HashSet<String>(); 83 83 } 84 84 -
trunk/Source/WebCore/platform/efl/ClipboardEfl.h
r126383 r126390 40 40 bool setData(const String&, const String&); 41 41 42 Vector<String> types() const;42 HashSet<String> types() const; 43 43 virtual PassRefPtr<FileList> files() const; 44 44 -
trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp
r126383 r126390 185 185 } 186 186 187 Vector<String> ClipboardGtk::types() const187 HashSet<String> ClipboardGtk::types() const 188 188 { 189 189 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 190 return Vector<String>();190 return HashSet<String>(); 191 191 192 192 if (m_clipboard) 193 193 PasteboardHelper::defaultPasteboardHelper()->getClipboardContents(m_clipboard); 194 194 195 Vector<String> types;195 HashSet<String> types; 196 196 if (m_dataObject->hasText()) { 197 types.a ppend("text/plain");198 types.a ppend("Text");199 types.a ppend("text");197 types.add("text/plain"); 198 types.add("Text"); 199 types.add("text"); 200 200 } 201 201 202 202 if (m_dataObject->hasMarkup()) 203 types.a ppend("text/html");203 types.add("text/html"); 204 204 205 205 if (m_dataObject->hasURIList()) { 206 types.a ppend("text/uri-list");207 types.a ppend("URL");206 types.add("text/uri-list"); 207 types.add("URL"); 208 208 } 209 209 210 210 if (m_dataObject->hasFilenames()) 211 types.a ppend("Files");211 types.add("Files"); 212 212 213 213 return types; -
trunk/Source/WebCore/platform/gtk/ClipboardGtk.h
r126383 r126390 58 58 bool setData(const String&, const String&); 59 59 60 virtual Vector<String> types() const;60 virtual HashSet<String> types() const; 61 61 virtual PassRefPtr<FileList> files() const; 62 62 -
trunk/Source/WebCore/platform/mac/ClipboardMac.h
r126383 r126390 63 63 64 64 // extensions beyond IE's API 65 virtual Vector<String> types() const;65 virtual HashSet<String> types() const; 66 66 virtual PassRefPtr<FileList> files() const; 67 67 -
trunk/Source/WebCore/platform/mac/ClipboardMac.mm
r126383 r126390 121 121 } 122 122 123 static void addHTMLClipboardTypesForCocoaType( Vector<String>& resultTypes, const String& cocoaType, const String& pasteboardName)123 static void addHTMLClipboardTypesForCocoaType(HashSet<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 ppend("text/plain");127 resultTypes.add("text/plain"); 128 128 return; 129 129 } 130 130 if (cocoaType == String(NSURLPboardType)) { 131 resultTypes.a ppend("text/uri-list");131 resultTypes.add("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 ppend("text/uri-list");144 resultTypes.a ppend("Files");143 resultTypes.add("text/uri-list"); 144 resultTypes.add("Files"); 145 145 } 146 146 return; … … 148 148 String utiType = utiTypeFromCocoaType(cocoaType); 149 149 if (!utiType.isEmpty()) { 150 resultTypes.a ppend(utiType);150 resultTypes.add(utiType); 151 151 return; 152 152 } 153 153 // No mapping, just pass the whole string though 154 resultTypes.a ppend(cocoaType);154 resultTypes.add(cocoaType); 155 155 } 156 156 … … 283 283 } 284 284 285 Vector<String> ClipboardMac::types() const285 HashSet<String> ClipboardMac::types() const 286 286 { 287 287 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 288 return Vector<String>();288 return HashSet<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 Vector<String>();297 298 Vector<String> result;296 return HashSet<String>(); 297 298 HashSet<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
r126383 r126390 184 184 185 185 // extensions beyond IE's API 186 Vector<String> ClipboardQt::types() const186 HashSet<String> ClipboardQt::types() const 187 187 { 188 188 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 189 return Vector<String>();189 return HashSet<String>(); 190 190 191 191 ASSERT(m_readableData); 192 Vector<String> result;192 HashSet<String> result; 193 193 QStringList formats = m_readableData->formats(); 194 194 for (int i = 0; i < formats.count(); ++i) 195 result.a ppend(formats.at(i));195 result.add(formats.at(i)); 196 196 return result; 197 197 } -
trunk/Source/WebCore/platform/qt/ClipboardQt.h
r126383 r126390 58 58 59 59 // extensions beyond IE's API 60 virtual Vector<String> types() const;60 virtual HashSet<String> types() const; 61 61 virtual PassRefPtr<FileList> files() const; 62 62 -
trunk/Source/WebCore/platform/win/ClipboardWin.cpp
r126383 r126390 485 485 } 486 486 487 static void addMimeTypesForFormat( Vector<String>& results, const FORMATETC& format)487 static void addMimeTypesForFormat(HashSet<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 ppend("URL");492 results.a ppend("text/uri-list");491 results.add("URL"); 492 results.add("text/uri-list"); 493 493 } 494 494 495 495 if (format.cfFormat == plainTextWFormat()->cfFormat || format.cfFormat == plainTextFormat()->cfFormat) { 496 results.a ppend("Text");497 results.a ppend("text/plain");496 results.add("Text"); 497 results.add("text/plain"); 498 498 } 499 499 } 500 500 501 501 // extensions beyond IE's API 502 Vector<String> ClipboardWin::types() const502 HashSet<String> ClipboardWin::types() const 503 503 { 504 Vector<String> results;504 HashSet<String> results; 505 505 if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable) 506 506 return results; -
trunk/Source/WebCore/platform/win/ClipboardWin.h
r126383 r126390 65 65 66 66 // extensions beyond IE's API 67 virtual Vector<String> types() const;67 virtual HashSet<String> types() const; 68 68 virtual PassRefPtr<FileList> files() const; 69 69 -
trunk/Source/WebCore/platform/wx/ClipboardWx.cpp
r126383 r126390 73 73 74 74 // extensions beyond IE's API 75 Vector<String> ClipboardWx::types() const 75 HashSet<String> ClipboardWx::types() const 76 76 { 77 77 notImplemented(); 78 Vector<String> result;78 HashSet<String> result; 79 79 return result; 80 80 } -
trunk/Source/WebCore/platform/wx/ClipboardWx.h
r126383 r126390 47 47 48 48 // extensions beyond IE's API 49 virtual Vector<String> types() const;49 virtual HashSet<String> types() const; 50 50 virtual PassRefPtr<FileList> files() const; 51 51
Note: See TracChangeset
for help on using the changeset viewer.