Changeset 84857 in webkit


Ignore:
Timestamp:
Apr 25, 2011 5:31:36 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-04-25 Igor Oliveira <igor.oliveira@openbossa.org>

Reviewed by Tony Chang.

Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
https://bugs.webkit.org/show_bug.cgi?id=59028

The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
Moving the code for base class we can reduce the efforts to support DataTransferItems
element in different platforms.

  • Android.mk:
  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DataTransferItem.cpp: (WebCore::DataTransferItem::DataTransferItem): (WebCore::DataTransferItem::owner): (WebCore::DataTransferItem::kind): (WebCore::DataTransferItem::type):
  • dom/DataTransferItem.h:
  • dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp. (WebCore::DataTransferItems::DataTransferItems): (WebCore::DataTransferItems::length): (WebCore::DataTransferItems::item): (WebCore::DataTransferItems::deleteItem): (WebCore::DataTransferItems::clear): (WebCore::DataTransferItems::add):
  • dom/DataTransferItems.h:
  • platform/chromium/DataTransferItemChromium.cpp: (WebCore::DataTransferItem::create): (WebCore::DataTransferItemChromium::DataTransferItemChromium): (WebCore::DataTransferItemChromium::getAsString): (WebCore::DataTransferItemChromium::getAsFile):
  • platform/chromium/DataTransferItemChromium.h:
  • platform/chromium/DataTransferItemsChromium.cpp: (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
  • platform/chromium/DataTransferItemsChromium.h:
Location:
trunk/Source/WebCore
Files:
15 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/Android.mk

    r84522 r84857  
    115115        dom/DOMStringList.cpp \
    116116        dom/DataTransferItem.cpp \
     117        dom/DataTransferItems.cpp \
    117118        dom/DecodedDataDocumentParser.cpp \
    118119        dom/DeviceMotionController.cpp \
  • trunk/Source/WebCore/CMakeLists.txt

    r84832 r84857  
    14501450    LIST(APPEND WebCore_SOURCES
    14511451        dom/DataTransferItem.cpp
     1452        dom/DataTransferItems.cpp
    14521453        dom/StringCallback.cpp
    14531454    )
  • trunk/Source/WebCore/ChangeLog

    r84856 r84857  
     12011-04-25  Igor Oliveira  <igor.oliveira@openbossa.org>
     2
     3        Reviewed by Tony Chang.
     4
     5        Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
     6        https://bugs.webkit.org/show_bug.cgi?id=59028
     7
     8        The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
     9        Moving the code for base class we can reduce the efforts to support DataTransferItems
     10        element in different platforms.
     11
     12        * Android.mk:
     13        * CMakeLists.txt:
     14        * GNUmakefile.list.am:
     15        * WebCore.gypi:
     16        * WebCore.pro:
     17        * WebCore.vcproj/WebCore.vcproj:
     18        * WebCore.xcodeproj/project.pbxproj:
     19        * dom/DataTransferItem.cpp:
     20        (WebCore::DataTransferItem::DataTransferItem):
     21        (WebCore::DataTransferItem::owner):
     22        (WebCore::DataTransferItem::kind):
     23        (WebCore::DataTransferItem::type):
     24        * dom/DataTransferItem.h:
     25        * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
     26        (WebCore::DataTransferItems::DataTransferItems):
     27        (WebCore::DataTransferItems::length):
     28        (WebCore::DataTransferItems::item):
     29        (WebCore::DataTransferItems::deleteItem):
     30        (WebCore::DataTransferItems::clear):
     31        (WebCore::DataTransferItems::add):
     32        * dom/DataTransferItems.h:
     33        * platform/chromium/DataTransferItemChromium.cpp:
     34        (WebCore::DataTransferItem::create):
     35        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
     36        (WebCore::DataTransferItemChromium::getAsString):
     37        (WebCore::DataTransferItemChromium::getAsFile):
     38        * platform/chromium/DataTransferItemChromium.h:
     39        * platform/chromium/DataTransferItemsChromium.cpp:
     40        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
     41        * platform/chromium/DataTransferItemsChromium.h:
     42
    1432011-04-25  Chris Marrin  <cmarrin@apple.com>
    244
  • trunk/Source/WebCore/GNUmakefile.list.am

    r84832 r84857  
    39863986        Source/WebCore/dom/DataTransferItem.cpp \
    39873987        Source/WebCore/dom/DataTransferItem.h \
     3988        Source/WebCore/dom/DataTransferItems.cpp \
    39883989        Source/WebCore/dom/DataTransferItems.h \
    39893990        Source/WebCore/dom/StringCallback.cpp \
  • trunk/Source/WebCore/WebCore.gypi

    r84832 r84857  
    24342434            'dom/DataTransferItem.cpp',
    24352435            'dom/DataTransferItem.h',
     2436            'dom/DataTransferItems.cpp',
    24362437            'dom/DataTransferItems.h',
    24372438            'dom/DatasetDOMStringMap.cpp',
  • trunk/Source/WebCore/WebCore.pro

    r84832 r84857  
    27772777    SOURCES += \
    27782778        dom/DataTransferItem.cpp \
     2779        dom/DataTransferItems.cpp \
    27792780        dom/StringCallback.cpp
    27802781}
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r84832 r84857  
    4317143171                        </File>
    4317243172                        <File
     43173                                RelativePath="..\dom\DataTransferItems.cpp"
     43174                                >
     43175                                <FileConfiguration
     43176                                        Name="Debug|Win32"
     43177                                        ExcludedFromBuild="true"
     43178                                        >
     43179                                        <Tool
     43180                                                Name="VCCLCompilerTool"
     43181                                        />
     43182                                </FileConfiguration>
     43183                                <FileConfiguration
     43184                                        Name="Release|Win32"
     43185                                        ExcludedFromBuild="true"
     43186                                        >
     43187                                        <Tool
     43188                                                Name="VCCLCompilerTool"
     43189                                        />
     43190                                </FileConfiguration>
     43191                                <FileConfiguration
     43192                                        Name="Debug_Cairo_CFLite|Win32"
     43193                                        ExcludedFromBuild="true"
     43194                                        >
     43195                                        <Tool
     43196                                                Name="VCCLCompilerTool"
     43197                                        />
     43198                                </FileConfiguration>
     43199                                <FileConfiguration
     43200                                        Name="Release_Cairo_CFLite|Win32"
     43201                                        ExcludedFromBuild="true"
     43202                                        >
     43203                                        <Tool
     43204                                                Name="VCCLCompilerTool"
     43205                                        />
     43206                                </FileConfiguration>
     43207                                <FileConfiguration
     43208                                        Name="Debug_All|Win32"
     43209                                        ExcludedFromBuild="true"
     43210                                        >
     43211                                        <Tool
     43212                                                Name="VCCLCompilerTool"
     43213                                        />
     43214                                </FileConfiguration>
     43215                                <FileConfiguration
     43216                                        Name="Production|Win32"
     43217                                        ExcludedFromBuild="true"
     43218                                        >
     43219                                        <Tool
     43220                                                Name="VCCLCompilerTool"
     43221                                        />
     43222                                </FileConfiguration>
     43223                        </File>
     43224                        <File
    4317343225                                RelativePath="..\dom\DataTransferItem.h"
    4317443226                                >
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r84832 r84857  
    16741674                77EF62F312F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77EF62F112F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.cpp */; };
    16751675                77EF62F412F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.h in Headers */ = {isa = PBXBuildFile; fileRef = 77EF62F212F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.h */; };
     1676                781755861365A1B00093BE2E /* DataTransferItems.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 781755851365A1B00093BE2E /* DataTransferItems.cpp */; };
    16761677                79AC9218109945C80021266E /* JSCompositionEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 79AC9216109945C80021266E /* JSCompositionEvent.cpp */; };
    16771678                79AC9219109945C80021266E /* JSCompositionEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 79AC9217109945C80021266E /* JSCompositionEvent.h */; };
     
    83058306                77EF62F112F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLVertexArrayObjectOES.cpp; sourceTree = "<group>"; };
    83068307                77EF62F212F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLVertexArrayObjectOES.h; sourceTree = "<group>"; };
     8308                781755851365A1B00093BE2E /* DataTransferItems.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DataTransferItems.cpp; path = dom/DataTransferItems.cpp; sourceTree = "<group>"; };
    83078309                79AC9216109945C80021266E /* JSCompositionEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCompositionEvent.cpp; sourceTree = "<group>"; };
    83088310                79AC9217109945C80021266E /* JSCompositionEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCompositionEvent.h; sourceTree = "<group>"; };
     
    1273212734                        isa = PBXGroup;
    1273312735                        children = (
     12736                                781755851365A1B00093BE2E /* DataTransferItems.cpp */,
    1273412737                                65C97AF208EA908800ACD273 /* config.h */,
    1273512738                                EDEC98020AED7E170059137F /* WebCorePrefix.h */,
     
    2579525798                                14E0BC56136148A8002AD12E /* JSDOMTokenListCustom.cpp in Sources */,
    2579625799                                F3810C1B1365A49600ED6E33 /* InspectorWorkerAgent.cpp in Sources */,
     25800                                781755861365A1B00093BE2E /* DataTransferItems.cpp in Sources */,
    2579725801                        );
    2579825802                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Source/WebCore/dom/DataTransferItem.cpp

    r80536 r84857  
    3232#include "DataTransferItem.h"
    3333
     34#include "Clipboard.h"
     35
    3436#if ENABLE(DATA_TRANSFER_ITEMS)
    3537
     
    3941const char DataTransferItem::kindFile[] = "file";
    4042
     43DataTransferItem::DataTransferItem(RefPtr<Clipboard> owner, const String& kind, const String& type)
     44    : m_owner(owner)
     45    , m_kind(kind)
     46    , m_type(type)
     47{
     48}
     49
     50Clipboard* DataTransferItem::owner()
     51{
     52    return m_owner.get();
     53}
     54
     55String DataTransferItem::kind() const
     56{
     57    if (m_owner->policy() == ClipboardNumb)
     58        return String();
     59
     60    return m_kind;
     61}
     62
     63String DataTransferItem::type() const
     64{
     65    if (m_owner->policy() == ClipboardNumb)
     66        return String();
     67
     68    return m_type;
     69}
     70
     71
    4172} // namespace WebCore
    4273
  • trunk/Source/WebCore/dom/DataTransferItem.h

    r83494 r84857  
    3434#if ENABLE(DATA_TRANSFER_ITEMS)
    3535
     36#include "Clipboard.h"
     37
    3638#include <wtf/Forward.h>
    3739#include <wtf/RefCounted.h>
     
    4143class Blob;
    4244class StringCallback;
     45class ScriptExecutionContext;
    4346
    4447class DataTransferItem : public RefCounted<DataTransferItem> {
     
    4649    ~DataTransferItem() {}
    4750
     51    static PassRefPtr<DataTransferItem> create(PassRefPtr<Clipboard> owner, ScriptExecutionContext*, const String& data, const String& type);
     52
    4853    static const char kindString[];
    4954    static const char kindFile[];
    5055
    51     virtual String kind() const = 0;
    52     virtual String type() const = 0;
     56    String kind() const;
     57    String type() const;
    5358
    5459    virtual void getAsString(PassRefPtr<StringCallback>) = 0;
    5560    virtual PassRefPtr<Blob> getAsFile() = 0;
     61
     62protected:
     63    DataTransferItem(RefPtr<Clipboard> owner, const String& kind, const String& type);
     64    Clipboard* owner();
     65
     66private:
     67    const RefPtr<Clipboard> m_owner;
     68    const String m_kind;
     69    const String m_type;
    5670};
    5771
  • trunk/Source/WebCore/dom/DataTransferItems.cpp

    r84856 r84857  
    11/*
    22 * Copyright (C) 2011 Google Inc. All rights reserved.
     3 * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    3031
    3132#include "config.h"
    32 #include "DataTransferItemsChromium.h"
     33#include "DataTransferItems.h"
     34
     35#include "DataTransferItem.h"
     36#include "ExceptionCode.h"
    3337
    3438#if ENABLE(DATA_TRANSFER_ITEMS)
    3539
    36 #include "Clipboard.h"
    37 #include "DataTransferItemChromium.h"
    38 #include "ExceptionCode.h"
    39 
    4040namespace WebCore {
    4141
    42 PassRefPtr<DataTransferItemsChromium> DataTransferItemsChromium::create(PassRefPtr<Clipboard> owner, ScriptExecutionContext* context)
    43 {
    44     return adoptRef(new DataTransferItemsChromium(owner, context));
    45 }
    46 
    47 DataTransferItemsChromium::DataTransferItemsChromium(PassRefPtr<Clipboard> owner, ScriptExecutionContext* context)
    48     : m_owner(owner)
     42DataTransferItems::DataTransferItems(RefPtr<Clipboard> clipboard, ScriptExecutionContext* context)
     43    : m_owner(clipboard)
    4944    , m_context(context)
    5045{
    5146}
    5247
    53 unsigned long DataTransferItemsChromium::length() const
     48size_t DataTransferItems::length() const
    5449{
    5550    if (m_owner->policy() == ClipboardNumb)
    5651        return 0;
     52
    5753    return m_items.size();
    5854}
    5955
    60 PassRefPtr<DataTransferItem> DataTransferItemsChromium::item(unsigned long index) const
     56PassRefPtr<DataTransferItem> DataTransferItems::item(unsigned long index)
    6157{
    6258    if (m_owner->policy() == ClipboardNumb || index >= length())
    6359        return 0;
     60
    6461    return m_items[index];
    6562}
    6663
    67 void DataTransferItemsChromium::deleteItem(unsigned long index, ExceptionCode& ec)
     64void DataTransferItems::deleteItem(unsigned long index, ExceptionCode& ec)
    6865{
    6966    if (m_owner->policy() != ClipboardWritable) {
     
    7875}
    7976
    80 void DataTransferItemsChromium::clear()
     77void DataTransferItems::clear()
    8178{
    8279    if (m_owner->policy() != ClipboardWritable)
     
    8481
    8582    m_items.clear();
     83
    8684}
    8785
    88 void DataTransferItemsChromium::add(const String& data, const String& type, ExceptionCode& ec)
     86void DataTransferItems::add(const String& data, const String& type, ExceptionCode& ec)
    8987{
    9088    if (m_owner->policy() != ClipboardWritable)
     
    9997    }
    10098
    101     m_items.append(DataTransferItemChromium::create(m_owner, m_context, data, type));
     99    m_items.append(DataTransferItem::create(m_owner, m_context, data, type));
    102100}
    103101
    104 void DataTransferItemsChromium::addPasteboardItem(const String& type)
    105 {
    106     m_items.append(DataTransferItemChromium::createFromPasteboard(m_owner, m_context, type));
    107102}
    108103
    109 } // namespace WebCore
    110 
    111 #endif // ENABLE(DATA_TRANSFER_ITEMS)
     104#endif
  • trunk/Source/WebCore/dom/DataTransferItems.h

    r80536 r84857  
    3434#if ENABLE(DATA_TRANSFER_ITEMS)
    3535
     36#include "DataTransferItem.h"
    3637#include <wtf/Forward.h>
    3738#include <wtf/RefCounted.h>
     
    3940namespace WebCore {
    4041
    41 class DataTransferItem;
     42class Clipboard;
    4243
    4344typedef int ExceptionCode;
     
    4748    ~DataTransferItems() {}
    4849
    49     virtual unsigned long length() const = 0;
    50     virtual PassRefPtr<DataTransferItem> item(unsigned long index) const = 0;
    51     virtual void deleteItem(unsigned long index, ExceptionCode&) = 0;
    52     virtual void clear() = 0;
     50    virtual size_t length() const;
     51    virtual PassRefPtr<DataTransferItem> item(unsigned long index);
     52    virtual void deleteItem(unsigned long index, ExceptionCode&);
     53    virtual void clear();
     54    virtual void add(const String& data, const String& type, ExceptionCode&);
    5355
    54     virtual void add(const String& data, const String& type, ExceptionCode&) = 0;
     56protected:
     57    DataTransferItems(RefPtr<Clipboard>, ScriptExecutionContext*);
     58
     59protected:
     60    RefPtr<Clipboard> m_owner;
     61    // Indirectly owned by our parent.
     62    ScriptExecutionContext* m_context;
     63    Vector<RefPtr<DataTransferItem> > m_items;
     64
    5565};
    5666
  • trunk/Source/WebCore/platform/chromium/DataTransferItemChromium.cpp

    r83494 r84857  
    5858}
    5959
     60PassRefPtr<DataTransferItem> DataTransferItem::create(PassRefPtr<Clipboard> owner,
     61                                                      ScriptExecutionContext* context,
     62                                                      const String& data,
     63                                                      const String& type)
     64{
     65    return DataTransferItemChromium::create(owner, context, data, type);
     66}
     67
    6068DataTransferItemChromium::DataTransferItemChromium(PassRefPtr<Clipboard> owner, ScriptExecutionContext* context, DataSource source, const String& kind, const String& type, const String& data)
    61     : m_owner(owner)
     69    : DataTransferItem(owner, kind, type)
    6270    , m_context(context)
    6371    , m_source(source)
    64     , m_kind(kind)
    65     , m_type(type)
    6672    , m_data(data)
    6773{
    6874}
    6975
    70 String DataTransferItemChromium::kind() const
    71 {
    72     if (m_owner->policy() == ClipboardNumb)
    73         return String();
    74     return m_kind;
    75 }
    76 
    77 String DataTransferItemChromium::type() const
    78 {
    79     if (m_owner->policy() == ClipboardNumb)
    80         return String();
    81     return m_type;
    82 }
    83 
    8476void DataTransferItemChromium::getAsString(PassRefPtr<StringCallback> callback)
    8577{
    86     if ((m_owner->policy() != ClipboardReadable && m_owner->policy() != ClipboardWritable)
    87         || m_kind != kindString)
     78    if ((owner()->policy() != ClipboardReadable && owner()->policy() != ClipboardWritable)
     79        || kind() != kindString)
    8880        return;
    8981    if (m_source == InternalSource) {
     
    9486    ASSERT(m_source == PasteboardSource);
    9587    // This is ugly but there's no real alternative.
    96     if (m_type == mimeTypeTextPlain) {
     88    if (type() == mimeTypeTextPlain) {
    9789        callback->scheduleCallback(m_context, PlatformBridge::clipboardReadPlainText(PasteboardPrivate::StandardBuffer));
    9890        return;
    9991    }
    100     if (m_type == mimeTypeTextHTML) {
     92    if (type() == mimeTypeTextHTML) {
    10193        String html;
    10294        KURL ignoredSourceURL;
     
    114106
    115107    ASSERT(m_source == PasteboardSource);
    116     if (m_type == mimeTypeImagePng) {
     108    if (type() == mimeTypeImagePng) {
    117109        // FIXME: This is pretty inefficient. We copy the data from the browser
    118110        // to the renderer. We then place it in a blob in WebKit, which
  • trunk/Source/WebCore/platform/chromium/DataTransferItemChromium.h

    r83494 r84857  
    4848    static PassRefPtr<DataTransferItemChromium> create(PassRefPtr<Clipboard> owner, ScriptExecutionContext*, const String& data, const String& type);
    4949
    50     virtual String kind() const;
    51     virtual String type() const;
    52 
    5350    virtual void getAsString(PassRefPtr<StringCallback>);
    5451    virtual PassRefPtr<Blob> getAsFile();
     
    6259    DataTransferItemChromium(PassRefPtr<Clipboard> owner, ScriptExecutionContext*, DataSource, const String& kind, const String& type, const String& data);
    6360
    64     const RefPtr<Clipboard> m_owner;
    6561    ScriptExecutionContext* m_context;
    6662    const DataSource m_source;
    67     const String m_kind;
    68     const String m_type;
    6963    const String m_data;
    7064};
  • trunk/Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp

    r81620 r84857  
    4646
    4747DataTransferItemsChromium::DataTransferItemsChromium(PassRefPtr<Clipboard> owner, ScriptExecutionContext* context)
    48     : m_owner(owner)
    49     , m_context(context)
     48    : DataTransferItems(owner, context)
    5049{
    51 }
    52 
    53 unsigned long DataTransferItemsChromium::length() const
    54 {
    55     if (m_owner->policy() == ClipboardNumb)
    56         return 0;
    57     return m_items.size();
    58 }
    59 
    60 PassRefPtr<DataTransferItem> DataTransferItemsChromium::item(unsigned long index) const
    61 {
    62     if (m_owner->policy() == ClipboardNumb || index >= length())
    63         return 0;
    64     return m_items[index];
    65 }
    66 
    67 void DataTransferItemsChromium::deleteItem(unsigned long index, ExceptionCode& ec)
    68 {
    69     if (m_owner->policy() != ClipboardWritable) {
    70         ec = INVALID_STATE_ERR;
    71         return;
    72     }
    73 
    74     if (index >= length())
    75         return;
    76 
    77     m_items.remove(index);
    78 }
    79 
    80 void DataTransferItemsChromium::clear()
    81 {
    82     if (m_owner->policy() != ClipboardWritable)
    83         return;
    84 
    85     m_items.clear();
    86 }
    87 
    88 void DataTransferItemsChromium::add(const String& data, const String& type, ExceptionCode& ec)
    89 {
    90     if (m_owner->policy() != ClipboardWritable)
    91         return;
    92 
    93     // Only one 'string' item with a given type is allowed in the collection.
    94     for (size_t i = 0; i < m_items.size(); ++i) {
    95         if (m_items[i]->type() == type && m_items[i]->kind() == DataTransferItem::kindString) {
    96             ec = INVALID_STATE_ERR;
    97             return;
    98         }
    99     }
    100 
    101     m_items.append(DataTransferItemChromium::create(m_owner, m_context, data, type));
    10250}
    10351
  • trunk/Source/WebCore/platform/chromium/DataTransferItemsChromium.h

    r81620 r84857  
    5050    static PassRefPtr<DataTransferItemsChromium> create(PassRefPtr<Clipboard>, ScriptExecutionContext*);
    5151
    52     virtual unsigned long length() const;
    53     virtual PassRefPtr<DataTransferItem> item(unsigned long index) const;
    54     virtual void deleteItem(unsigned long index, ExceptionCode&);
    55     virtual void clear();
    56 
    57     virtual void add(const String& data, const String& type, ExceptionCode&);
    58 
    5952private:
    6053    friend class ClipboardChromium;
     
    6356
    6457    virtual void addPasteboardItem(const String& type);
    65 
    66     RefPtr<Clipboard> m_owner;
    67     // Indirectly owned by our parent.
    68     ScriptExecutionContext* m_context;
    69     Vector<RefPtr<DataTransferItemChromium> > m_items;
    7058};
    7159
Note: See TracChangeset for help on using the changeset viewer.