Provide simple fling bookkeeping for telemetry
[chromium-blink-merge.git] / content / test / mock_webclipboard_impl.h
blob56481d7dad99afb160b74d1219b4a3e4a2b8c850
1 // Copyright 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.
4 //
5 // This file mocks out just enough of the WebClipboard API for running the
6 // webkit tests. This is so we can run webkit tests without them sharing a
7 // clipboard, which allows for running them in parallel and having the tests
8 // not interact with actual user actions.
10 #ifndef CONTENT_TEST_MOCK_WEBCLIPBOARD_IMPL_H_
11 #define CONTENT_TEST_MOCK_WEBCLIPBOARD_IMPL_H_
13 #include <map>
15 #include "base/strings/nullable_string16.h"
16 #include "base/strings/string16.h"
17 #include "third_party/WebKit/public/platform/WebClipboard.h"
18 #include "third_party/WebKit/public/platform/WebDragData.h"
19 #include "third_party/WebKit/public/platform/WebImage.h"
21 namespace content {
23 class MockWebClipboardImpl : public blink::WebClipboard {
24 public:
25 MockWebClipboardImpl();
26 virtual ~MockWebClipboardImpl();
28 virtual uint64_t sequenceNumber(Buffer);
29 virtual bool isFormatAvailable(blink::WebClipboard::Format format,
30 blink::WebClipboard::Buffer buffer);
31 virtual blink::WebVector<blink::WebString> readAvailableTypes(
32 blink::WebClipboard::Buffer buffer, bool* containsFilenames);
34 virtual blink::WebString readPlainText(blink::WebClipboard::Buffer buffer);
35 virtual blink::WebString readHTML(blink::WebClipboard::Buffer buffer,
36 blink::WebURL* url,
37 unsigned* fragmentStart,
38 unsigned* fragmentEnd);
39 virtual blink::WebData readImage(blink::WebClipboard::Buffer buffer);
40 virtual blink::WebString readCustomData(blink::WebClipboard::Buffer buffer,
41 const blink::WebString& type);
43 virtual void writePlainText(const blink::WebString& plain_text);
44 virtual void writeHTML(
45 const blink::WebString& htmlText, const blink::WebURL& url,
46 const blink::WebString& plainText, bool writeSmartPaste);
47 virtual void writeURL(
48 const blink::WebURL& url, const blink::WebString& title);
49 virtual void writeImage(
50 const blink::WebImage& image, const blink::WebURL& url,
51 const blink::WebString& title);
52 virtual void writeDataObject(const blink::WebDragData& data);
54 private:
55 void clear();
57 uint64_t m_sequenceNumber;
58 base::NullableString16 m_plainText;
59 base::NullableString16 m_htmlText;
60 blink::WebImage m_image;
61 std::map<base::string16, base::string16> m_customData;
62 bool m_writeSmartPaste;
65 } // namespace content
67 #endif // CONTENT_TEST_MOCK_WEBCLIPBOARD_IMPL_H_