diff options
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.h | 31 |
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 |