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.
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_
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"
23 class MockWebClipboardImpl
: public blink::WebClipboard
{
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
,
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
);
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_