1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_
6 #define CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_
8 #include "base/compiler_specific.h"
9 #include "webkit/glue/clipboard_client.h"
13 // An implementation of ClipboardClient that gets and sends data over IPC.
14 class RendererClipboardClient
: public webkit_glue::ClipboardClient
{
16 RendererClipboardClient();
17 virtual ~RendererClipboardClient();
19 virtual ui::Clipboard
* GetClipboard() OVERRIDE
;
20 virtual uint64
GetSequenceNumber(ui::Clipboard::Buffer buffer
) OVERRIDE
;
21 virtual bool IsFormatAvailable(const ui::Clipboard::FormatType
& format
,
22 ui::Clipboard::Buffer buffer
) OVERRIDE
;
23 virtual void Clear(ui::Clipboard::Buffer buffer
) OVERRIDE
;
24 virtual void ReadAvailableTypes(ui::Clipboard::Buffer buffer
,
25 std::vector
<string16
>* types
,
26 bool* contains_filenames
) OVERRIDE
;
27 virtual void ReadText(ui::Clipboard::Buffer buffer
,
28 string16
* result
) OVERRIDE
;
29 virtual void ReadAsciiText(ui::Clipboard::Buffer buffer
,
30 std::string
* result
) OVERRIDE
;
31 virtual void ReadHTML(ui::Clipboard::Buffer buffer
, string16
* markup
,
32 GURL
* url
, uint32
* fragment_start
,
33 uint32
* fragment_end
) OVERRIDE
;
34 virtual void ReadRTF(ui::Clipboard::Buffer buffer
,
35 std::string
* result
) OVERRIDE
;
36 virtual void ReadImage(ui::Clipboard::Buffer buffer
,
37 std::string
* data
) OVERRIDE
;
38 virtual void ReadCustomData(ui::Clipboard::Buffer buffer
,
40 string16
* data
) OVERRIDE
;
41 virtual void ReadData(const ui::Clipboard::FormatType
& format
,
42 std::string
* data
) OVERRIDE
;
43 virtual WriteContext
* CreateWriteContext() OVERRIDE
;
46 } // namespace content
48 #endif // CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_