Changeset 126390 in webkit


Ignore:
Timestamp:
Aug 22, 2012 9:49:03 PM (12 years ago)
Author:
haraken@chromium.org
Message:

Unreviewed, rolling out r126383.
http://trac.webkit.org/changeset/126383
https://bugs.webkit.org/show_bug.cgi?id=82888

Chromium win build crash

  • bindings/js/JSClipboardCustom.cpp:

(WebCore::JSClipboard::types):

  • bindings/v8/custom/V8ClipboardCustom.cpp:

(WebCore::V8Clipboard::typesAccessorGetter):

  • dom/Clipboard.h:

(Clipboard):

  • platform/blackberry/ClipboardBlackBerry.cpp:

(WebCore::ClipboardBlackBerry::types):

  • platform/blackberry/ClipboardBlackBerry.h:

(ClipboardBlackBerry):

  • platform/chromium/ChromiumDataObject.cpp:

(WebCore::ChromiumDataObject::types):

  • platform/chromium/ChromiumDataObject.h:

(ChromiumDataObject):

  • platform/chromium/ClipboardChromium.cpp:

(WebCore::ClipboardChromium::types):

  • platform/chromium/ClipboardChromium.h:

(ClipboardChromium):

  • platform/efl/ClipboardEfl.cpp:

(WebCore::ClipboardEfl::types):

  • platform/efl/ClipboardEfl.h:

(ClipboardEfl):

  • platform/gtk/ClipboardGtk.cpp:

(WebCore::ClipboardGtk::types):

  • platform/gtk/ClipboardGtk.h:

(ClipboardGtk):

  • platform/mac/ClipboardMac.h:

(ClipboardMac):

  • platform/mac/ClipboardMac.mm:

(WebCore::addHTMLClipboardTypesForCocoaType):
(WebCore::ClipboardMac::types):

  • platform/qt/ClipboardQt.cpp:

(WebCore::ClipboardQt::types):

  • platform/qt/ClipboardQt.h:

(ClipboardQt):

  • platform/win/ClipboardWin.cpp:

(WebCore::addMimeTypesForFormat):
(WebCore::ClipboardWin::types):

  • platform/win/ClipboardWin.h:

(ClipboardWin):

  • platform/wx/ClipboardWx.cpp:

(WebCore::ClipboardWx::types):

  • platform/wx/ClipboardWx.h:

(ClipboardWx):

Location:
trunk/Source/WebCore
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r126389 r126390  
     12012-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
    1542012-08-22  Kentaro Hara  <haraken@chromium.org>
    255
  • trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp

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

    r126383 r126390  
    5050    Clipboard* clipboard = V8Clipboard::toNative(info.Holder());
    5151
    52     Vector<String> types = clipboard->types();
     52    HashSet<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     Vector<String>::const_iterator end = types.end();
     57    HashSet<String>::const_iterator end = types.end();
    5858    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)
    6060        result->Set(v8Integer(index, info.GetIsolate()), v8String(*it, info.GetIsolate()));
    6161
  • trunk/Source/WebCore/dom/Clipboard.h

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

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

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

    r126383 r126390  
    127127}
    128128
    129 Vector<String> ChromiumDataObject::types() const
    130 {
    131     Vector<String> results;
     129HashSet<String> ChromiumDataObject::types() const
     130{
     131    HashSet<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.append(m_itemList[i]->type());
     135            results.add(m_itemList[i]->type());
    136136        else if (m_itemList[i]->kind() == DataTransferItem::kindFile)
    137137            containsFiles = true;
     
    140140    }
    141141    if (containsFiles)
    142         results.append(mimeTypeFiles);
     142        results.add(mimeTypeFiles);
    143143    return results;
    144144}
  • trunk/Source/WebCore/platform/chromium/ChromiumDataObject.h

    r126383 r126390  
    7070    void clearAllExceptFiles();
    7171
    72     Vector<String> types() const;
     72    HashSet<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

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

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

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

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

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

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

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

    r126383 r126390  
    121121}
    122122
    123 static void addHTMLClipboardTypesForCocoaType(Vector<String>& resultTypes, const String& cocoaType, const String& pasteboardName)
     123static void addHTMLClipboardTypesForCocoaType(HashSet<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.append("text/plain");
     127        resultTypes.add("text/plain");
    128128        return;
    129129    }
    130130    if (cocoaType == String(NSURLPboardType)) {
    131         resultTypes.append("text/uri-list");
     131        resultTypes.add("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.append("text/uri-list");
    144             resultTypes.append("Files");
     143            resultTypes.add("text/uri-list");
     144            resultTypes.add("Files");
    145145        }
    146146        return;
     
    148148    String utiType = utiTypeFromCocoaType(cocoaType);
    149149    if (!utiType.isEmpty()) {
    150         resultTypes.append(utiType);
     150        resultTypes.add(utiType);
    151151        return;
    152152    }
    153153    // No mapping, just pass the whole string though
    154     resultTypes.append(cocoaType);
     154    resultTypes.add(cocoaType);
    155155}
    156156
     
    283283}
    284284
    285 Vector<String> ClipboardMac::types() const
     285HashSet<String> ClipboardMac::types() const
    286286{
    287287    if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
    288         return Vector<String>();
     288        return HashSet<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 Vector<String>();
    297 
    298     Vector<String> result;
     296        return HashSet<String>();
     297
     298    HashSet<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

    r126383 r126390  
    184184
    185185// extensions beyond IE's API
    186 Vector<String> ClipboardQt::types() const
     186HashSet<String> ClipboardQt::types() const
    187187{
    188188    if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
    189         return Vector<String>();
     189        return HashSet<String>();
    190190
    191191    ASSERT(m_readableData);
    192     Vector<String> result;
     192    HashSet<String> result;
    193193    QStringList formats = m_readableData->formats();
    194194    for (int i = 0; i < formats.count(); ++i)
    195         result.append(formats.at(i));
     195        result.add(formats.at(i));
    196196    return result;
    197197}
  • trunk/Source/WebCore/platform/qt/ClipboardQt.h

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

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

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

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

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