Changeset 126383 in webkit


Ignore:
Timestamp:
Aug 22, 2012 6:56:54 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Consider replacing return type of Clipboard::types() from HashSet<String> to Vector<String>.
https://bugs.webkit.org/show_bug.cgi?id=82888

Patch by Vineet Chaudhary <Vineet> on 2012-08-22
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):

Location:
trunk/Source/WebCore
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r126378 r126383  
     12012-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
    1582012-08-22  James Robinson  <jamesr@chromium.org>
    259
  • trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp

    r109182 r126383  
    5353    Clipboard* clipboard = impl();
    5454
    55     HashSet<String> types = clipboard->types();
     55    Vector<String> types = clipboard->types();
    5656    if (types.isEmpty())
    5757        return jsNull();
    5858
    5959    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)
    6262        list.append(jsString(exec, stringToUString(*it)));
    6363    return constructArray(exec, globalObject(), list);
  • trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp

    r125495 r126383  
    5050    Clipboard* clipboard = V8Clipboard::toNative(info.Holder());
    5151
    52     HashSet<String> types = clipboard->types();
     52    Vector<String> types = clipboard->types();
    5353    if (types.isEmpty())
    5454        return v8::Null(info.GetIsolate());
    5555
    5656    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();
    5858    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)
    6060        result->Set(v8Integer(index, info.GetIsolate()), v8String(*it, info.GetIsolate()));
    6161
  • trunk/Source/WebCore/dom/Clipboard.h

    r109182 r126383  
    6767   
    6868        // extensions beyond IE's API
    69         virtual HashSet<String> types() const = 0;
     69        virtual Vector<String> types() const = 0;
    7070        virtual PassRefPtr<FileList> files() const = 0;
    7171
  • trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp

    r112870 r126383  
    7979}
    8080
    81 HashSet<String> ClipboardBlackBerry::types() const
     81Vector<String> ClipboardBlackBerry::types() const
    8282{
    8383    if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
    84         return HashSet<String>();
     84        return Vector<String>();
    8585
    8686    // We use hardcoded list here since there seems to be no API to get the list.
    87     HashSet<String> ret;
    88     ret.add("text/plain");
    89     ret.add("text/html");
    90     ret.add("text/url");
     87    Vector<String> ret;
     88    ret.append("text/plain");
     89    ret.append("text/html");
     90    ret.append("text/url");
    9191    return ret;
    9292}
  • trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h

    r112870 r126383  
    4040
    4141    // extensions beyond IE's API
    42     virtual HashSet<String> types() const;
     42    virtual Vector<String> types() const;
    4343    virtual PassRefPtr<FileList> files() const;
    4444    virtual DragImageRef createDragImage(IntPoint&) const;
  • trunk/Source/WebCore/platform/chromium/ChromiumDataObject.cpp

    r123495 r126383  
    127127}
    128128
    129 HashSet<String> ChromiumDataObject::types() const
    130 {
    131     HashSet<String> results;
     129Vector<String> ChromiumDataObject::types() const
     130{
     131    Vector<String> results;
    132132    bool containsFiles = false;
    133133    for (size_t i = 0; i < m_itemList.size(); ++i) {
    134134        if (m_itemList[i]->kind() == DataTransferItem::kindString)
    135             results.add(m_itemList[i]->type());
     135            results.append(m_itemList[i]->type());
    136136        else if (m_itemList[i]->kind() == DataTransferItem::kindFile)
    137137            containsFiles = true;
     
    140140    }
    141141    if (containsFiles)
    142         results.add(mimeTypeFiles);
     142        results.append(mimeTypeFiles);
    143143    return results;
    144144}
  • trunk/Source/WebCore/platform/chromium/ChromiumDataObject.h

    r117327 r126383  
    7070    void clearAllExceptFiles();
    7171
    72     HashSet<String> types() const;
     72    Vector<String> types() const;
    7373    String getData(const String& type) const;
    7474    bool setData(const String& type, const String& data);
  • trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp

    r123828 r126383  
    275275
    276276// extensions beyond IE's API
    277 HashSet<String> ClipboardChromium::types() const
     277Vector<String> ClipboardChromium::types() const
    278278{
    279279    if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
    280         return HashSet<String>();
     280        return Vector<String>();
    281281
    282282    return m_dataObject->types();
  • trunk/Source/WebCore/platform/chromium/ClipboardChromium.h

    r125051 r126383  
    8585
    8686        // extensions beyond IE's API
    87         virtual HashSet<String> types() const;
     87        virtual Vector<String> types() const;
    8888        virtual PassRefPtr<FileList> files() const;
    8989
  • trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp

    r109182 r126383  
    7777}
    7878
    79 HashSet<String> ClipboardEfl::types() const
     79Vector<String> ClipboardEfl::types() const
    8080{
    8181    notImplemented();
    82     return HashSet<String>();
     82    return Vector<String>();
    8383}
    8484
  • trunk/Source/WebCore/platform/efl/ClipboardEfl.h

    r109182 r126383  
    4040    bool setData(const String&, const String&);
    4141
    42     HashSet<String> types() const;
     42    Vector<String> types() const;
    4343    virtual PassRefPtr<FileList> files() const;
    4444
  • trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp

    r123495 r126383  
    185185}
    186186
    187 HashSet<String> ClipboardGtk::types() const
     187Vector<String> ClipboardGtk::types() const
    188188{
    189189    if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
    190         return HashSet<String>();
     190        return Vector<String>();
    191191
    192192    if (m_clipboard)
    193193        PasteboardHelper::defaultPasteboardHelper()->getClipboardContents(m_clipboard);
    194194
    195     HashSet<String> types;
     195    Vector<String> types;
    196196    if (m_dataObject->hasText()) {
    197         types.add("text/plain");
    198         types.add("Text");
    199         types.add("text");
     197        types.append("text/plain");
     198        types.append("Text");
     199        types.append("text");
    200200    }
    201201
    202202    if (m_dataObject->hasMarkup())
    203         types.add("text/html");
     203        types.append("text/html");
    204204
    205205    if (m_dataObject->hasURIList()) {
    206         types.add("text/uri-list");
    207         types.add("URL");
     206        types.append("text/uri-list");
     207        types.append("URL");
    208208    }
    209209
    210210    if (m_dataObject->hasFilenames())
    211         types.add("Files");
     211        types.append("Files");
    212212
    213213    return types;
  • trunk/Source/WebCore/platform/gtk/ClipboardGtk.h

    r125051 r126383  
    5858        bool setData(const String&, const String&);
    5959
    60         virtual HashSet<String> types() const;
     60        virtual Vector<String> types() const;
    6161        virtual PassRefPtr<FileList> files() const;
    6262
  • trunk/Source/WebCore/platform/mac/ClipboardMac.h

    r125063 r126383  
    6363   
    6464    // extensions beyond IE's API
    65     virtual HashSet<String> types() const;
     65    virtual Vector<String> types() const;
    6666    virtual PassRefPtr<FileList> files() const;
    6767
  • trunk/Source/WebCore/platform/mac/ClipboardMac.mm

    r125247 r126383  
    121121}
    122122
    123 static void addHTMLClipboardTypesForCocoaType(HashSet<String>& resultTypes, const String& cocoaType, const String& pasteboardName)
     123static void addHTMLClipboardTypesForCocoaType(Vector<String>& resultTypes, const String& cocoaType, const String& pasteboardName)
    124124{
    125125    // UTI may not do these right, so make sure we get the right, predictable result
    126126    if (cocoaType == String(NSStringPboardType)) {
    127         resultTypes.add("text/plain");
     127        resultTypes.append("text/plain");
    128128        return;
    129129    }
    130130    if (cocoaType == String(NSURLPboardType)) {
    131         resultTypes.add("text/uri-list");
     131        resultTypes.append("text/uri-list");
    132132        return;
    133133    }
     
    141141            // It is unknown if NSFilenamesPboardType always implies NSURLPboardType in Cocoa,
    142142            // but NSFilenamesPboardType should imply both 'text/uri-list' and 'Files'
    143             resultTypes.add("text/uri-list");
    144             resultTypes.add("Files");
     143            resultTypes.append("text/uri-list");
     144            resultTypes.append("Files");
    145145        }
    146146        return;
     
    148148    String utiType = utiTypeFromCocoaType(cocoaType);
    149149    if (!utiType.isEmpty()) {
    150         resultTypes.add(utiType);
     150        resultTypes.append(utiType);
    151151        return;
    152152    }
    153153    // No mapping, just pass the whole string though
    154     resultTypes.add(cocoaType);
     154    resultTypes.append(cocoaType);
    155155}
    156156
     
    283283}
    284284
    285 HashSet<String> ClipboardMac::types() const
     285Vector<String> ClipboardMac::types() const
    286286{
    287287    if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
    288         return HashSet<String>();
     288        return Vector<String>();
    289289
    290290    Vector<String> types;
     
    294294    // sure it doesn't change between our testing the change count and accessing the data.
    295295    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;
    299299    // FIXME: This loop could be split into two stages. One which adds all the HTML5 specified types
    300300    // 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  
    184184
    185185// extensions beyond IE's API
    186 HashSet<String> ClipboardQt::types() const
     186Vector<String> ClipboardQt::types() const
    187187{
    188188    if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
    189         return HashSet<String>();
     189        return Vector<String>();
    190190
    191191    ASSERT(m_readableData);
    192     HashSet<String> result;
     192    Vector<String> result;
    193193    QStringList formats = m_readableData->formats();
    194194    for (int i = 0; i < formats.count(); ++i)
    195         result.add(formats.at(i));
     195        result.append(formats.at(i));
    196196    return result;
    197197}
  • trunk/Source/WebCore/platform/qt/ClipboardQt.h

    r125051 r126383  
    5858
    5959    // extensions beyond IE's API
    60     virtual HashSet<String> types() const;
     60    virtual Vector<String> types() const;
    6161    virtual PassRefPtr<FileList> files() const;
    6262
  • trunk/Source/WebCore/platform/win/ClipboardWin.cpp

    r123495 r126383  
    485485}
    486486
    487 static void addMimeTypesForFormat(HashSet<String>& results, const FORMATETC& format)
     487static void addMimeTypesForFormat(Vector<String>& results, const FORMATETC& format)
    488488{
    489489    // URL and Text are provided for compatibility with IE's model
    490490    if (format.cfFormat == urlFormat()->cfFormat || format.cfFormat == urlWFormat()->cfFormat) {
    491         results.add("URL");
    492         results.add("text/uri-list");
     491        results.append("URL");
     492        results.append("text/uri-list");
    493493    }
    494494
    495495    if (format.cfFormat == plainTextWFormat()->cfFormat || format.cfFormat == plainTextFormat()->cfFormat) {
    496         results.add("Text");
    497         results.add("text/plain");
     496        results.append("Text");
     497        results.append("text/plain");
    498498    }
    499499}
    500500
    501501// extensions beyond IE's API
    502 HashSet<String> ClipboardWin::types() const
     502Vector<String> ClipboardWin::types() const
    503503{
    504     HashSet<String> results;
     504    Vector<String> results;
    505505    if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
    506506        return results;
  • trunk/Source/WebCore/platform/win/ClipboardWin.h

    r125051 r126383  
    6565
    6666    // extensions beyond IE's API
    67     virtual HashSet<String> types() const;
     67    virtual Vector<String> types() const;
    6868    virtual PassRefPtr<FileList> files() const;
    6969
  • trunk/Source/WebCore/platform/wx/ClipboardWx.cpp

    r125247 r126383  
    7373
    7474// extensions beyond IE's API
    75 HashSet<String> ClipboardWx::types() const
     75Vector<String> ClipboardWx::types() const
    7676{
    7777    notImplemented();
    78     HashSet<String> result;
     78    Vector<String> result;
    7979    return result;
    8080}
  • trunk/Source/WebCore/platform/wx/ClipboardWx.h

    r109182 r126383  
    4747   
    4848        // extensions beyond IE's API
    49         virtual HashSet<String> types() const;
     49        virtual Vector<String> types() const;
    5050        virtual PassRefPtr<FileList> files() const;
    5151   
Note: See TracChangeset for help on using the changeset viewer.