1 // Copyright (c) 2013 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_WEBCLIPBOARD_IMPL_H_
6 #define CONTENT_RENDERER_WEBCLIPBOARD_IMPL_H_
8 #include "base/compiler_specific.h"
10 #include "third_party/WebKit/public/platform/WebClipboard.h"
11 #include "ui/base/clipboard/clipboard.h"
16 class ClipboardClient
;
18 class WebClipboardImpl
: public blink::WebClipboard
{
20 explicit WebClipboardImpl(ClipboardClient
* client
);
22 virtual ~WebClipboardImpl();
24 // WebClipboard methods:
25 virtual uint64
sequenceNumber(Buffer buffer
);
26 virtual bool isFormatAvailable(Format format
, Buffer buffer
);
27 virtual blink::WebVector
<blink::WebString
> readAvailableTypes(
28 Buffer buffer
, bool* contains_filenames
);
29 virtual blink::WebString
readPlainText(Buffer buffer
);
30 virtual blink::WebString
readHTML(
32 blink::WebURL
* source_url
,
33 unsigned* fragment_start
,
34 unsigned* fragment_end
);
35 virtual blink::WebData
readImage(Buffer buffer
);
36 virtual blink::WebString
readCustomData(
37 Buffer buffer
, const blink::WebString
& type
);
38 virtual void writePlainText(const blink::WebString
& plain_text
);
39 virtual void writeHTML(
40 const blink::WebString
& html_text
,
41 const blink::WebURL
& source_url
,
42 const blink::WebString
& plain_text
,
43 bool write_smart_paste
);
44 virtual void writeImage(
45 const blink::WebImage
& image
,
46 const blink::WebURL
& source_url
,
47 const blink::WebString
& title
);
48 virtual void writeDataObject(const blink::WebDragData
& data
);
51 bool ConvertBufferType(Buffer
, ui::ClipboardType
*);
52 ClipboardClient
* client_
;
55 } // namespace content
57 #endif // CONTENT_RENDERER_WEBCLIPBOARD_IMPL_H_