summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/testing/page_test_base.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/testing/page_test_base.h')
-rw-r--r--chromium/third_party/blink/renderer/core/testing/page_test_base.h31
1 files changed, 29 insertions, 2 deletions
diff --git a/chromium/third_party/blink/renderer/core/testing/page_test_base.h b/chromium/third_party/blink/renderer/core/testing/page_test_base.h
index 14aef4e9d1b..e226f6ec9a9 100644
--- a/chromium/third_party/blink/renderer/core/testing/page_test_base.h
+++ b/chromium/third_party/blink/renderer/core/testing/page_test_base.h
@@ -5,10 +5,15 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_TESTING_PAGE_TEST_BASE_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_TESTING_PAGE_TEST_BASE_H_
+#include <memory>
+
#include <gtest/gtest.h>
+#include "services/service_manager/public/cpp/interface_provider.h"
#include "third_party/blink/renderer/core/testing/dummy_page_holder.h"
+#include "third_party/blink/renderer/core/testing/mock_clipboard_host.h"
#include "third_party/blink/renderer/core/testing/scoped_mock_overlay_scrollbars.h"
#include "third_party/blink/renderer/platform/testing/testing_platform_support_with_mock_scheduler.h"
+#include "third_party/blink/renderer/platform/wtf/hash_map.h"
namespace base {
class TickClock;
@@ -16,6 +21,7 @@ class TickClock;
namespace blink {
+class BrowserInterfaceBrokerProxy;
class Document;
class LocalFrame;
@@ -23,6 +29,26 @@ class PageTestBase : public testing::Test, public ScopedMockOverlayScrollbars {
USING_FAST_MALLOC(PageTestBase);
public:
+ // Helper class to provide a mock clipboard host for a LocalFrame.
+ class MockClipboardHostProvider {
+ public:
+ explicit MockClipboardHostProvider(
+ blink::BrowserInterfaceBrokerProxy& interface_broker);
+ MockClipboardHostProvider();
+ ~MockClipboardHostProvider();
+
+ // Installs a mock clipboard in the given interface provider.
+ // This is called automatically from the ctor that takes an
+ // |interface_broker| argument.
+ void Install(blink::BrowserInterfaceBrokerProxy& interface_broker);
+
+ private:
+ void BindClipboardHost(mojo::ScopedMessagePipeHandle handle);
+
+ blink::BrowserInterfaceBrokerProxy* interface_broker_ = nullptr;
+ MockClipboardHost host_;
+ };
+
PageTestBase();
~PageTestBase() override;
@@ -49,8 +75,7 @@ class PageTestBase : public testing::Test, public ScopedMockOverlayScrollbars {
// Navigate to |url| providing an empty response but
// URL and security origin of the Document will be set to |url|.
void NavigateTo(const KURL& url,
- const String& feature_policy_header = String(),
- const String& csp_header = String());
+ const WTF::HashMap<String, String>& headers = {});
Document& GetDocument() const;
Page& GetPage() const;
@@ -95,6 +120,8 @@ class PageTestBase : public testing::Test, public ScopedMockOverlayScrollbars {
platform_;
std::unique_ptr<DummyPageHolder> dummy_page_holder_;
bool enable_compositing_ = false;
+
+ MockClipboardHostProvider mock_clipboard_host_provider_;
};
} // namespace blink