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