Instrumented libraries: work around a build issue in pixman.
[chromium-blink-merge.git] / content / renderer / webclipboard_impl.h
blob9288546b641248d83431f6e3e7cf01b8cd69a189
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"
9 #include "third_party/WebKit/public/platform/WebClipboard.h"
10 #include "ui/base/clipboard/clipboard.h"
12 #include <string>
14 namespace content {
15 class RendererClipboardDelegate;
17 class WebClipboardImpl : public blink::WebClipboard {
18 public:
19 explicit WebClipboardImpl(RendererClipboardDelegate* delegate);
21 virtual ~WebClipboardImpl();
23 // WebClipboard methods:
24 virtual uint64 sequenceNumber(Buffer buffer);
25 virtual bool isFormatAvailable(Format format, Buffer buffer);
26 virtual blink::WebVector<blink::WebString> readAvailableTypes(
27 Buffer buffer, bool* contains_filenames);
28 virtual blink::WebString readPlainText(Buffer buffer);
29 virtual blink::WebString readHTML(
30 Buffer buffer,
31 blink::WebURL* source_url,
32 unsigned* fragment_start,
33 unsigned* fragment_end);
34 virtual blink::WebData readImage(Buffer buffer);
35 virtual blink::WebString readCustomData(
36 Buffer buffer, const blink::WebString& type);
37 virtual void writePlainText(const blink::WebString& plain_text);
38 virtual void writeHTML(
39 const blink::WebString& html_text,
40 const blink::WebURL& source_url,
41 const blink::WebString& plain_text,
42 bool write_smart_paste);
43 virtual void writeImage(
44 const blink::WebImage& image,
45 const blink::WebURL& source_url,
46 const blink::WebString& title);
47 virtual void writeDataObject(const blink::WebDragData& data);
49 private:
50 bool ConvertBufferType(Buffer, ui::ClipboardType*);
51 RendererClipboardDelegate* const delegate_;
54 } // namespace content
56 #endif // CONTENT_RENDERER_WEBCLIPBOARD_IMPL_H_