0113e011790f59884cc568b5014d1906a9e6a4d1
[WebKit-https.git] / Source / WebCore / platform / blackberry / ClipboardBlackBerry.h
1 /*
2  * Copyright (C) 2010 Research In Motion Limited. All rights reserved.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17  */
18
19 #ifndef ClipboardBlackBerry_h
20 #define ClipboardBlackBerry_h
21
22 #include "CachedResourceClient.h"
23 #include "Clipboard.h"
24
25 namespace WebCore {
26
27 class ClipboardBlackBerry : public Clipboard, public CachedResourceClient {
28 WTF_MAKE_FAST_ALLOCATED;
29 public:
30     static PassRefPtr<ClipboardBlackBerry> create(ClipboardAccessPolicy, ClipboardType = CopyAndPaste);
31     virtual ~ClipboardBlackBerry();
32
33     void clearData(const String& type);
34     void clearAllData();
35     String getData(const String& type) const;
36     bool setData(const String& type, const String& data);
37
38     // extensions beyond IE's API
39     virtual PassRefPtr<DOMStringList> types() const;
40     virtual PassRefPtr<FileList> files() const;
41     virtual DragImageRef createDragImage(IntPoint&) const;
42     virtual void declareAndWriteDragImage(Element*, const KURL&, const String& title, Frame*);
43     virtual void writeURL(const KURL&, const String&, Frame*);
44     virtual void writeRange(Range*, Frame*);
45     virtual void writePlainText(const String&);
46
47     virtual bool hasData();
48
49     virtual void setDragImage(CachedImage*, const IntPoint&);
50     virtual void setDragImageElement(Node*, const IntPoint&);
51
52 private:
53     ClipboardBlackBerry(ClipboardAccessPolicy, ClipboardType);
54 };
55
56 } // namespace WebCore
57
58 #endif // ClipboardBlackBerry_h