• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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.
4 
5 #ifndef CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_
6 #define CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_
7 
8 #include "base/compiler_specific.h"
9 #include "content/renderer/clipboard_client.h"
10 
11 namespace content {
12 
13 // An implementation of ClipboardClient that gets and sends data over IPC.
14 class RendererClipboardClient : public ClipboardClient {
15  public:
16   RendererClipboardClient();
17   virtual ~RendererClipboardClient();
18 
19   virtual ui::Clipboard* GetClipboard() OVERRIDE;
20   virtual uint64 GetSequenceNumber(ui::ClipboardType type) OVERRIDE;
21   virtual bool IsFormatAvailable(ClipboardFormat format,
22                                  ui::ClipboardType type) OVERRIDE;
23   virtual void Clear(ui::ClipboardType type) OVERRIDE;
24   virtual void ReadAvailableTypes(ui::ClipboardType type,
25                                   std::vector<base::string16>* types,
26                                   bool* contains_filenames) OVERRIDE;
27   virtual void ReadText(ui::ClipboardType type,
28                         base::string16* result) OVERRIDE;
29   virtual void ReadHTML(ui::ClipboardType type,
30                         base::string16* markup,
31                         GURL* url,
32                         uint32* fragment_start,
33                         uint32* fragment_end) OVERRIDE;
34   virtual void ReadRTF(ui::ClipboardType type, std::string* result) OVERRIDE;
35   virtual void ReadImage(ui::ClipboardType type, std::string* data) OVERRIDE;
36   virtual void ReadCustomData(ui::ClipboardType clipboard_type,
37                               const base::string16& type,
38                               base::string16* data) OVERRIDE;
39   virtual WriteContext* CreateWriteContext() OVERRIDE;
40 };
41 
42 }  // namespace content
43 
44 #endif  // CONTENT_RENDERER_RENDERER_CLIPBOARD_CLIENT_H_
45