Changeset 80177 in webkit


Ignore:
Timestamp:
Mar 2, 2011 3:44:51 PM (13 years ago)
Author:
dcheng@chromium.org
Message:

2011-03-02 Daniel Cheng <dcheng@chromium.org>

Revert frame-specific WebClipboard changes
https://bugs.webkit.org/show_bug.cgi?id=55617

This code is no longer needed since we've decided to use the original
approach to copy/paste drag/drop handling in ClipboardChromium.

No new tests because no functionality changes.

  • platform/chromium/ChromiumDataObject.cpp: (WebCore::ChromiumDataObject::createReadable):
  • platform/chromium/ChromiumDataObject.h:
  • platform/chromium/ClipboardChromium.cpp: (WebCore::ClipboardChromium::create):
  • platform/chromium/PlatformBridge.h:
  • platform/chromium/ReadableDataObject.cpp: (WebCore::ReadableDataObject::create): (WebCore::ReadableDataObject::ReadableDataObject): (WebCore::ReadableDataObject::getData): (WebCore::ReadableDataObject::urlTitle): (WebCore::ReadableDataObject::htmlBaseUrl): (WebCore::ReadableDataObject::filenames): (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
  • platform/chromium/ReadableDataObject.h:

2011-03-02 Daniel Cheng <dcheng@chromium.org>

Revert frame-specific WebClipboard changes
https://bugs.webkit.org/show_bug.cgi?id=55617

This code is no longer needed since we've decided to use the original
approach to copy/paste drag/drop handling in ClipboardChromium.

  • public/WebFrameClient.h:
  • src/PlatformBridge.cpp: (WebCore::PlatformBridge::clipboardReadAvailableTypes): (WebCore::PlatformBridge::clipboardReadData): (WebCore::PlatformBridge::clipboardReadFilenames):
  • src/WebFrameImpl.cpp: (WebKit::WebFrameImpl::fromFrame):
  • src/WebFrameImpl.h:
  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::dragTargetDragEnterNew):
Location:
trunk/Source
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r80174 r80177  
     12011-03-02  Daniel Cheng  <dcheng@chromium.org>
     2
     3        Revert frame-specific WebClipboard changes
     4        https://bugs.webkit.org/show_bug.cgi?id=55617
     5
     6        This code is no longer needed since we've decided to use the original
     7        approach to copy/paste drag/drop handling in ClipboardChromium.
     8
     9        No new tests because no functionality changes.
     10
     11        * platform/chromium/ChromiumDataObject.cpp:
     12        (WebCore::ChromiumDataObject::createReadable):
     13        * platform/chromium/ChromiumDataObject.h:
     14        * platform/chromium/ClipboardChromium.cpp:
     15        (WebCore::ClipboardChromium::create):
     16        * platform/chromium/PlatformBridge.h:
     17        * platform/chromium/ReadableDataObject.cpp:
     18        (WebCore::ReadableDataObject::create):
     19        (WebCore::ReadableDataObject::ReadableDataObject):
     20        (WebCore::ReadableDataObject::getData):
     21        (WebCore::ReadableDataObject::urlTitle):
     22        (WebCore::ReadableDataObject::htmlBaseUrl):
     23        (WebCore::ReadableDataObject::filenames):
     24        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
     25        * platform/chromium/ReadableDataObject.h:
     26
    1272011-03-02  Tony Chang  <tony@chromium.org>
    228
  • trunk/Source/WebCore/platform/chromium/ChromiumDataObject.cpp

    r77687 r80177  
    5757}
    5858
    59 PassRefPtr<ChromiumDataObject> ChromiumDataObject::createReadable(const Frame* frame, Clipboard::ClipboardType clipboardType)
    60 {
    61     return adoptRef(new ChromiumDataObject(ReadableDataObject::create(frame, clipboardType)));
     59PassRefPtr<ChromiumDataObject> ChromiumDataObject::createReadable(Clipboard::ClipboardType clipboardType)
     60{
     61    return adoptRef(new ChromiumDataObject(ReadableDataObject::create(clipboardType)));
    6262}
    6363
  • trunk/Source/WebCore/platform/chromium/ChromiumDataObject.h

    r77687 r80177  
    4242public:
    4343    static PassRefPtr<ChromiumDataObject> create(PassRefPtr<ChromiumDataObjectLegacy> data);
    44     static PassRefPtr<ChromiumDataObject> createReadable(const Frame*, Clipboard::ClipboardType);
     44    static PassRefPtr<ChromiumDataObject> createReadable(Clipboard::ClipboardType);
    4545    static PassRefPtr<ChromiumDataObject> createWritable(Clipboard::ClipboardType);
    4646
  • trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp

    r77687 r80177  
    9292        policy == ClipboardWritable ?
    9393        ChromiumDataObject::createWritable(clipboardType) :
    94         ChromiumDataObject::createReadable(frame, clipboardType);
     94        ChromiumDataObject::createReadable(clipboardType);
    9595    return adoptRef(new ClipboardChromium(clipboardType, dataObject, policy, frame));
    9696}
  • trunk/Source/WebCore/platform/chromium/PlatformBridge.h

    r78721 r80177  
    110110
    111111    // Interface for handling copy and paste, drag and drop, and selection copy.
    112     static HashSet<String> clipboardReadAvailableTypes(const Frame*, PasteboardPrivate::ClipboardBuffer, bool* containsFilenames);
    113     static bool clipboardReadData(const Frame*, PasteboardPrivate::ClipboardBuffer, const String& type, String& data, String& metadata);
    114     static Vector<String> clipboardReadFilenames(const Frame*, PasteboardPrivate::ClipboardBuffer);
     112    static HashSet<String> clipboardReadAvailableTypes(PasteboardPrivate::ClipboardBuffer, bool* containsFilenames);
     113    static bool clipboardReadData(PasteboardPrivate::ClipboardBuffer, const String& type, String& data, String& metadata);
     114    static Vector<String> clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer);
    115115
    116116    // Cookies ------------------------------------------------------------
  • trunk/Source/WebCore/platform/chromium/ReadableDataObject.cpp

    r77687 r80177  
    4444}
    4545
    46 PassRefPtr<ReadableDataObject> ReadableDataObject::create(const Frame* frame, Clipboard::ClipboardType clipboardType)
     46PassRefPtr<ReadableDataObject> ReadableDataObject::create(Clipboard::ClipboardType clipboardType)
    4747{
    48     return adoptRef(new ReadableDataObject(frame, clipboardType));
     48    return adoptRef(new ReadableDataObject(clipboardType));
    4949}
    5050
    51 ReadableDataObject::ReadableDataObject(const Frame* frame, Clipboard::ClipboardType clipboardType)
    52     : m_frame(frame)
    53     , m_clipboardType(clipboardType)
     51ReadableDataObject::ReadableDataObject(Clipboard::ClipboardType clipboardType)
     52    : m_clipboardType(clipboardType)
    5453    , m_containsFilenames(false)
    5554    , m_isTypeCacheInitialized(false)
     
    9594    }
    9695    succeeded = PlatformBridge::clipboardReadData(
    97         m_frame, clipboardBuffer(m_clipboardType), type, data, ignoredMetadata);
     96        clipboardBuffer(m_clipboardType), type, data, ignoredMetadata);
    9897    return data;
    9998}
     
    104103    String urlTitle;
    105104    PlatformBridge::clipboardReadData(
    106         m_frame, clipboardBuffer(m_clipboardType), mimeTypeTextURIList, ignoredData, urlTitle);
     105        clipboardBuffer(m_clipboardType), mimeTypeTextURIList, ignoredData, urlTitle);
    107106    return urlTitle;
    108107}
     
    113112    String htmlBaseUrl;
    114113    PlatformBridge::clipboardReadData(
    115         m_frame, clipboardBuffer(m_clipboardType), mimeTypeTextHTML, ignoredData, htmlBaseUrl);
     114        clipboardBuffer(m_clipboardType), mimeTypeTextHTML, ignoredData, htmlBaseUrl);
    116115    return KURL(ParsedURLString, htmlBaseUrl);
    117116}
     
    125124Vector<String> ReadableDataObject::filenames() const
    126125{
    127     return PlatformBridge::clipboardReadFilenames(m_frame, clipboardBuffer(m_clipboardType));
     126    return PlatformBridge::clipboardReadFilenames(clipboardBuffer(m_clipboardType));
    128127}
    129128
     
    134133
    135134    m_types = PlatformBridge::clipboardReadAvailableTypes(
    136         m_frame, clipboardBuffer(m_clipboardType), &m_containsFilenames);
     135        clipboardBuffer(m_clipboardType), &m_containsFilenames);
    137136    m_isTypeCacheInitialized = true;
    138137}
  • trunk/Source/WebCore/platform/chromium/ReadableDataObject.h

    r77687 r80177  
    4545class ReadableDataObject : public RefCounted<ReadableDataObject> {
    4646public:
    47     static PassRefPtr<ReadableDataObject> create(const Frame*, Clipboard::ClipboardType);
     47    static PassRefPtr<ReadableDataObject> create(Clipboard::ClipboardType);
    4848
    4949    bool hasData() const;
     
    5858
    5959private:
    60     explicit ReadableDataObject(const Frame*, Clipboard::ClipboardType);
     60    explicit ReadableDataObject(Clipboard::ClipboardType);
    6161
    6262    // This isn't always const... but most of the time it is.
    6363    void ensureTypeCacheInitialized() const;
    64 
    65     // The owner frame. Used to send IPCs back to the correspdonging view via WebFrameClient.
    66     const Frame* m_frame;
    6764
    6865    Clipboard::ClipboardType m_clipboardType;
  • trunk/Source/WebKit/chromium/ChangeLog

    r80174 r80177  
     12011-03-02  Daniel Cheng  <dcheng@chromium.org>
     2
     3        Revert frame-specific WebClipboard changes
     4        https://bugs.webkit.org/show_bug.cgi?id=55617
     5
     6        This code is no longer needed since we've decided to use the original
     7        approach to copy/paste drag/drop handling in ClipboardChromium.
     8
     9        * public/WebFrameClient.h:
     10        * src/PlatformBridge.cpp:
     11        (WebCore::PlatformBridge::clipboardReadAvailableTypes):
     12        (WebCore::PlatformBridge::clipboardReadData):
     13        (WebCore::PlatformBridge::clipboardReadFilenames):
     14        * src/WebFrameImpl.cpp:
     15        (WebKit::WebFrameImpl::fromFrame):
     16        * src/WebFrameImpl.h:
     17        * src/WebViewImpl.cpp:
     18        (WebKit::WebViewImpl::dragTargetDragEnterNew):
     19
    1202011-03-02  Tony Chang  <tony@chromium.org>
    221
  • trunk/Source/WebKit/chromium/public/WebFrameClient.h

    r77687 r80177  
    4242class WebApplicationCacheHost;
    4343class WebApplicationCacheHostClient;
    44 class WebClipboard;
    4544class WebCookieJar;
    4645class WebDataSource;
     
    9089    virtual WebCookieJar* cookieJar(WebFrame*) { return 0; }
    9190
    92     // A frame specific clipboard. May return null, in which case the caller
    93     // should assume there is no data in the clipboard.
    94     virtual WebClipboard* clipboard() { return 0; }
    95 
    9691
    9792    // General notifications -----------------------------------------------
  • trunk/Source/WebKit/chromium/src/PlatformBridge.cpp

    r78721 r80177  
    133133}
    134134
    135 static WebClipboard* getClipboard(const Frame* frame)
    136 {
    137     WebFrameImpl* frameImpl = WebFrameImpl::fromFrame(frame);
    138     if (!frameImpl || !frameImpl->client())
    139         return 0;
    140     return frameImpl->client()->clipboard();
    141 }
    142 
    143135static WebCookieJar* getCookieJar(const Document* document)
    144136{
     
    226218
    227219HashSet<String> PlatformBridge::clipboardReadAvailableTypes(
    228     const Frame* frame,
    229     PasteboardPrivate::ClipboardBuffer buffer,
    230     bool* containsFilenames)
    231 {
    232     WebClipboard* clipboard = getClipboard(frame);
    233     if (!clipboard)
    234         return HashSet<String>();
    235 
    236     WebVector<WebString> result = clipboard->readAvailableTypes(
     220    PasteboardPrivate::ClipboardBuffer buffer, bool* containsFilenames)
     221{
     222    WebVector<WebString> result = webKitClient()->clipboard()->readAvailableTypes(
    237223        static_cast<WebClipboard::Buffer>(buffer), containsFilenames);
    238224    HashSet<String> types;
     
    242228}
    243229
    244 bool PlatformBridge::clipboardReadData(const Frame* frame,
    245                                        PasteboardPrivate::ClipboardBuffer buffer,
    246                                        const String& type,
    247                                        String& data,
    248                                        String& metadata)
    249 {
    250     WebClipboard* clipboard = getClipboard(frame);
    251     if (!clipboard)
    252         return false;
    253 
     230bool PlatformBridge::clipboardReadData(PasteboardPrivate::ClipboardBuffer buffer,
     231                                       const String& type, String& data, String& metadata)
     232{
    254233    WebString resultData;
    255234    WebString resultMetadata;
    256     bool succeeded = clipboard->readData(
     235    bool succeeded = webKitClient()->clipboard()->readData(
    257236        static_cast<WebClipboard::Buffer>(buffer), type, &resultData, &resultMetadata);
    258237    if (succeeded) {
     
    263242}
    264243
    265 Vector<String> PlatformBridge::clipboardReadFilenames(const Frame* frame,
    266                                                       PasteboardPrivate::ClipboardBuffer buffer)
    267 {
    268     WebClipboard* clipboard = getClipboard(frame);
    269     if (!clipboard)
    270         return Vector<String>();
    271 
    272     WebVector<WebString> result = clipboard->readFilenames(
     244Vector<String> PlatformBridge::clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer buffer)
     245{
     246    WebVector<WebString> result = webKitClient()->clipboard()->readFilenames(
    273247        static_cast<WebClipboard::Buffer>(buffer));
    274248    Vector<String> convertedResult;
  • trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp

    r79793 r80177  
    19641964}
    19651965
    1966 WebFrameImpl* WebFrameImpl::fromFrame(const Frame* frame)
     1966WebFrameImpl* WebFrameImpl::fromFrame(Frame* frame)
    19671967{
    19681968    if (!frame)
  • trunk/Source/WebKit/chromium/src/WebFrameImpl.h

    r79793 r80177  
    212212    void createFrameView();
    213213
    214     static WebFrameImpl* fromFrame(const WebCore::Frame*);
     214    static WebFrameImpl* fromFrame(WebCore::Frame* frame);
    215215    static WebFrameImpl* fromFrameOwnerElement(WebCore::Element* element);
    216216
  • trunk/Source/WebKit/chromium/src/WebViewImpl.cpp

    r79703 r80177  
    17801780    ASSERT(!m_currentDragData.get());
    17811781
    1782     m_currentDragData = ChromiumDataObject::createReadable(m_page->mainFrame(), Clipboard::DragAndDrop);
     1782    m_currentDragData = ChromiumDataObject::createReadable(Clipboard::DragAndDrop);
    17831783    m_dragIdentity = identity;
    17841784    m_operationsAllowed = operationsAllowed;
Note: See TracChangeset for help on using the changeset viewer.