1 // Copyright 2014 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 COMPONENTS_HTML_VIEWER_WEB_CLIPBOARD_IMPL_H_
6 #define COMPONENTS_HTML_VIEWER_WEB_CLIPBOARD_IMPL_H_
8 #include "components/clipboard/public/interfaces/clipboard.mojom.h"
9 #include "third_party/WebKit/public/platform/WebClipboard.h"
11 namespace html_viewer
{
13 class WebClipboardImpl
: public blink::WebClipboard
{
15 WebClipboardImpl(mojo::ClipboardPtr clipboard
);
16 virtual ~WebClipboardImpl();
18 // blink::WebClipboard methods:
19 virtual uint64_t sequenceNumber(Buffer
);
20 virtual bool isFormatAvailable(Format
, Buffer
);
21 virtual blink::WebVector
<blink::WebString
> readAvailableTypes(
23 bool* contains_filenames
);
24 virtual blink::WebString
readPlainText(Buffer buffer
);
25 virtual blink::WebString
readHTML(Buffer buffer
,
26 blink::WebURL
* page_url
,
27 unsigned* fragment_start
,
28 unsigned* fragment_end
);
29 // TODO(erg): readImage()
30 virtual blink::WebString
readCustomData(Buffer buffer
,
31 const blink::WebString
& type
);
32 virtual void writePlainText(const blink::WebString
& plain_text
);
33 virtual void writeHTML(const blink::WebString
& html_text
,
34 const blink::WebURL
& source_url
,
35 const blink::WebString
& plain_text
,
36 bool write_smart_paste
);
39 // Changes webkit buffers to mojo Clipboard::Types.
40 mojo::Clipboard::Type
ConvertBufferType(Buffer buffer
);
42 mojo::ClipboardPtr clipboard_
;
44 DISALLOW_COPY_AND_ASSIGN(WebClipboardImpl
);
47 } // namespace html_viewer
49 #endif // COMPONENTS_HTML_VIEWER_WEB_CLIPBOARD_IMPL_H_