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 bool isFormatAvailable(blink::WebClipboard::Format format
,
29 blink::WebClipboard::Buffer buffer
);
30 virtual blink::WebVector
<blink::WebString
> readAvailableTypes(
31 blink::WebClipboard::Buffer buffer
, bool* containsFilenames
);
33 virtual blink::WebString
readPlainText(blink::WebClipboard::Buffer buffer
);
34 virtual blink::WebString
readHTML(blink::WebClipboard::Buffer buffer
,
36 unsigned* fragmentStart
,
37 unsigned* fragmentEnd
);
38 virtual blink::WebData
readImage(blink::WebClipboard::Buffer buffer
);
39 virtual blink::WebString
readCustomData(blink::WebClipboard::Buffer buffer
,
40 const blink::WebString
& type
);
42 virtual void writePlainText(const blink::WebString
& plain_text
);
43 virtual void writeHTML(
44 const blink::WebString
& htmlText
, const blink::WebURL
& url
,
45 const blink::WebString
& plainText
, bool writeSmartPaste
);
46 virtual void writeURL(
47 const blink::WebURL
& url
, const blink::WebString
& title
);
48 virtual void writeImage(
49 const blink::WebImage
& image
, const blink::WebURL
& url
,
50 const blink::WebString
& title
);
51 virtual void writeDataObject(const blink::WebDragData
& data
);
56 base::NullableString16 m_plainText
;
57 base::NullableString16 m_htmlText
;
58 blink::WebImage m_image
;
59 std::map
<base::string16
, base::string16
> m_customData
;
60 bool m_writeSmartPaste
;
63 } // namespace content
65 #endif // CONTENT_TEST_MOCK_WEBCLIPBOARD_IMPL_H_