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) { } |