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 11namespace content { 12 13// An implementation of ClipboardClient that gets and sends data over IPC. 14class 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