Chromium Code Reviews| Index: Source/web/tests/WebFrameTest.cpp |
| diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp |
| index 61f5e826a1e251ed92d4b2fe13f6a26e11150824..c19e6e4247ba5b74f4098de0f0528f7b3265d66b 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,38 @@ TEST_P(ParameterizedWebFrameTest, RemoteFrameInitialCommitType) |
| view->close(); |
| } |
| +class MockTestWebViewClient : public FrameTestHelpers::TestWebViewClient { |
|
dcheng
2015/08/31 16:51:20
MockTestWebViewClient -> GestureEventTestWebViewCl
Peng
2015/08/31 17:34:58
Done.
|
| +public: |
| + MockTestWebViewClient() : m_didHandleGestureEvent(false) { } |
| + void didHandleGestureEvent(const WebGestureEvent& event, bool eventCancelled) override { m_didHandleGestureEvent = true; } |
| + bool didHandleGestureEvent() { return m_didHandleGestureEvent; } |
|
dcheng
2015/08/31 16:51:20
Nit: const
Peng
2015/08/31 17:34:57
Done.
|
| + bool m_didHandleGestureEvent; |
|
dcheng
2015/08/31 16:51:20
And make this private.
Peng
2015/08/31 17:34:57
Done.
|
| +}; |
| + |
| +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); |
| + |
| + MockTestWebViewClient 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) { } |