Roll src/third_party/skia 0a24297:ceadfef
[chromium-blink-merge.git] / components / html_viewer / web_clipboard_impl.h
blob407ef816a54f93e3eb39f99ce411676e34a3cf8b
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 {
14 public:
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(
22 Buffer buffer,
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);
38 private:
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_