blob: e2d9051f05ea5af2de639d9db4a8d075c271eb69 [file] [log] [blame]
[email protected]3d4c45f2012-02-29 07:07:231// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]0de5d8602011-11-22 03:48:522// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_
6#define CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_
7
[email protected]5d536b82011-11-28 20:00:018#include "base/compiler_specific.h"
[email protected]0de5d8602011-11-22 03:48:529#include "webkit/glue/clipboard_client.h"
10
[email protected]e9ff79c2012-10-19 21:31:2611namespace content {
12
[email protected]0de5d8602011-11-22 03:48:5213// An implementation of ClipboardClient that gets and sends data over IPC.
14class RendererClipboardClient : public webkit_glue::ClipboardClient {
15 public:
16 RendererClipboardClient();
17 virtual ~RendererClipboardClient();
18
[email protected]5d536b82011-11-28 20:00:0119 virtual ui::Clipboard* GetClipboard() OVERRIDE;
20 virtual uint64 GetSequenceNumber(ui::Clipboard::Buffer buffer) OVERRIDE;
[email protected]0de5d8602011-11-22 03:48:5221 virtual bool IsFormatAvailable(const ui::Clipboard::FormatType& format,
[email protected]5d536b82011-11-28 20:00:0122 ui::Clipboard::Buffer buffer) OVERRIDE;
[email protected]3d4c45f2012-02-29 07:07:2323 virtual void Clear(ui::Clipboard::Buffer buffer) OVERRIDE;
[email protected]0de5d8602011-11-22 03:48:5224 virtual void ReadAvailableTypes(ui::Clipboard::Buffer buffer,
25 std::vector<string16>* types,
[email protected]5d536b82011-11-28 20:00:0126 bool* contains_filenames) OVERRIDE;
27 virtual void ReadText(ui::Clipboard::Buffer buffer,
28 string16* result) OVERRIDE;
[email protected]0de5d8602011-11-22 03:48:5229 virtual void ReadAsciiText(ui::Clipboard::Buffer buffer,
[email protected]5d536b82011-11-28 20:00:0130 std::string* result) OVERRIDE;
[email protected]0de5d8602011-11-22 03:48:5231 virtual void ReadHTML(ui::Clipboard::Buffer buffer, string16* markup,
32 GURL* url, uint32* fragment_start,
[email protected]5d536b82011-11-28 20:00:0133 uint32* fragment_end) OVERRIDE;
[email protected]4dfb8f002012-04-02 22:10:0534 virtual void ReadRTF(ui::Clipboard::Buffer buffer,
35 std::string* result) OVERRIDE;
[email protected]5d536b82011-11-28 20:00:0136 virtual void ReadImage(ui::Clipboard::Buffer buffer,
37 std::string* data) OVERRIDE;
[email protected]c6562f42011-12-04 06:19:3738 virtual void ReadCustomData(ui::Clipboard::Buffer buffer,
39 const string16& type,
40 string16* data) OVERRIDE;
[email protected]a1686e272012-11-01 23:39:3441 virtual void ReadData(const ui::Clipboard::FormatType& format,
42 std::string* data) OVERRIDE;
[email protected]5d536b82011-11-28 20:00:0143 virtual WriteContext* CreateWriteContext() OVERRIDE;
[email protected]0de5d8602011-11-22 03:48:5244};
45
[email protected]e9ff79c2012-10-19 21:31:2646} // namespace content
47
[email protected]0de5d8602011-11-22 03:48:5248#endif // CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_