| Index: Source/web/tests/WebFrameTest.cpp
|
| diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp
|
| index 61f5e826a1e251ed92d4b2fe13f6a26e11150824..a2261fc7dd95e4811121d378c6d09d5f940b2aeb 100644
|
| --- a/Source/web/tests/WebFrameTest.cpp
|
| +++ b/Source/web/tests/WebFrameTest.cpp
|
| @@ -101,6 +101,7 @@
|
| #include "public/web/WebFindOptions.h"
|
| #include "public/web/WebFormElement.h"
|
| #include "public/web/WebFrameClient.h"
|
| +#include "public/web/WebFrameWidget.h"
|
| #include "public/web/WebHistoryItem.h"
|
| #include "public/web/WebPrintParams.h"
|
| #include "public/web/WebRange.h"
|
| @@ -7591,6 +7592,40 @@ TEST_P(ParameterizedWebFrameTest, RemoteFrameInitialCommitType)
|
| view->close();
|
| }
|
|
|
| +class GestureEventTestWebViewClient : public FrameTestHelpers::TestWebViewClient {
|
| +public:
|
| + GestureEventTestWebViewClient() : m_didHandleGestureEvent(false) { }
|
| + void didHandleGestureEvent(const WebGestureEvent& event, bool eventCancelled) override { m_didHandleGestureEvent = true; }
|
| + bool didHandleGestureEvent() const { return m_didHandleGestureEvent; }
|
| +
|
| +private:
|
| + bool m_didHandleGestureEvent;
|
| +};
|
| +
|
| +TEST_P(ParameterizedWebFrameTest, FrameWidgetTest)
|
| +{
|
| + FrameTestHelpers::TestWebViewClient viewClient;
|
| + WebView* view = WebView::create(&viewClient);
|
| +
|
| + FrameTestHelpers::TestWebRemoteFrameClient remoteClient;
|
| + view->setMainFrame(remoteClient.frame());
|
| +
|
| + FrameTestHelpers::TestWebFrameClient childFrameClient;
|
| + WebLocalFrame* childFrame = view->mainFrame()->toWebRemoteFrame()->createLocalChild(WebTreeScopeType::Document, "", WebSandboxFlags::None, &childFrameClient, nullptr);
|
| +
|
| + GestureEventTestWebViewClient childViewClient;
|
| + WebFrameWidget* widget = WebFrameWidget::create(&childViewClient, childFrame);
|
| +
|
| + view->resize(WebSize(1000, 1000));
|
| + view->layout();
|
| +
|
| + widget->handleInputEvent(fatTap(20, 20));
|
| + EXPECT_TRUE(childViewClient.didHandleGestureEvent());
|
| +
|
| + widget->close();
|
| + view->close();
|
| +}
|
| +
|
| class MockDocumentThreadableLoaderClient : public DocumentThreadableLoaderClient {
|
| public:
|
| MockDocumentThreadableLoaderClient() : m_failed(false) { }
|
|
|