Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: Source/web/tests/WebFrameTest.cpp

Issue 1056983004: OverscrollGlow for mainThread-{BLINK CHANGES} (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: added function for comparison Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 { 229 {
230 registerMockedHttpURLLoad("nodeimage.html"); 230 registerMockedHttpURLLoad("nodeimage.html");
231 webViewHelper->initializeAndLoad(m_baseURL + "nodeimage.html"); 231 webViewHelper->initializeAndLoad(m_baseURL + "nodeimage.html");
232 webViewHelper->webView()->resize(WebSize(640, 480)); 232 webViewHelper->webView()->resize(WebSize(640, 480));
233 webViewHelper->webView()->layout(); 233 webViewHelper->webView()->layout();
234 RefPtrWillBeRawPtr<LocalFrame> frame = toLocalFrame(webViewHelper->webVi ewImpl()->page()->mainFrame()); 234 RefPtrWillBeRawPtr<LocalFrame> frame = toLocalFrame(webViewHelper->webVi ewImpl()->page()->mainFrame());
235 ASSERT(frame); 235 ASSERT(frame);
236 Element* element = frame->document()->getElementById(testcase.c_str()); 236 Element* element = frame->document()->getElementById(testcase.c_str());
237 return frame->nodeImage(*element); 237 return frame->nodeImage(*element);
238 } 238 }
239
240 std::string m_baseURL; 239 std::string m_baseURL;
241 std::string m_notBaseURL; 240 std::string m_notBaseURL;
242 std::string m_chromeURL; 241 std::string m_chromeURL;
243 }; 242 };
244 243
245 TEST_F(WebFrameTest, ContentText) 244 TEST_F(WebFrameTest, ContentText)
246 { 245 {
247 registerMockedHttpURLLoad("iframes_test.html"); 246 registerMockedHttpURLLoad("iframes_test.html");
248 registerMockedHttpURLLoad("visible_iframe.html"); 247 registerMockedHttpURLLoad("visible_iframe.html");
249 registerMockedHttpURLLoad("invisible_iframe.html"); 248 registerMockedHttpURLLoad("invisible_iframe.html");
(...skipping 7154 matching lines...) Expand 10 before | Expand all | Expand 10 after
7404 EXPECT_EQ(fourthFrame, parent->lastChild()); 7403 EXPECT_EQ(fourthFrame, parent->lastChild());
7405 7404
7406 EXPECT_EQ(parent, firstFrame->parent()); 7405 EXPECT_EQ(parent, firstFrame->parent());
7407 EXPECT_EQ(parent, secondFrame->parent()); 7406 EXPECT_EQ(parent, secondFrame->parent());
7408 EXPECT_EQ(parent, thirdFrame->parent()); 7407 EXPECT_EQ(parent, thirdFrame->parent());
7409 EXPECT_EQ(parent, fourthFrame->parent()); 7408 EXPECT_EQ(parent, fourthFrame->parent());
7410 7409
7411 view->close(); 7410 view->close();
7412 } 7411 }
7413 7412
7413 class WebFrameOverscrollTest : public WebFrameTest {
7414 protected:
7415 WebGestureEvent generateEvent(WebInputEvent::Type type, int deltaX = 0, int deltaY = 0)
7416 {
7417 WebGestureEvent event;
7418 event.type = type;
7419 event.x = 100;
7420 event.y = 100;
7421 if (type == WebInputEvent::GestureScrollUpdate) {
7422 event.data.scrollUpdate.deltaX = deltaX;
7423 event.data.scrollUpdate.deltaY = deltaY;
7424 }
7425 return event;
7426 }
7427
7428 void ScrollBegin(FrameTestHelpers::WebViewHelper* webViewHelper)
7429 {
7430 webViewHelper->webViewImpl()->handleInputEvent(generateEvent(WebInputEve nt::GestureScrollBegin));
7431 }
7432
7433 void ScrollUpdate(FrameTestHelpers::WebViewHelper* webViewHelper, float delt aX, float deltaY)
7434 {
7435 webViewHelper->webViewImpl()->handleInputEvent(generateEvent(WebInputEve nt::GestureScrollUpdate, deltaX, deltaY));
7436 }
7437
7438 void ScrollEnd(FrameTestHelpers::WebViewHelper* webViewHelper)
7439 {
7440 webViewHelper->webViewImpl()->handleInputEvent(generateEvent(WebInputEve nt::GestureScrollEnd));
7441 }
7442
7443 void CompareUnusedDeltaAndAccumulatedRootOverscroll(FrameTestHelpers::WebVie wHelper* webViewHelper, float unUsedWidth, float unUsedHeight, float accumulated Width, float accumulatedHeight)
7444 {
7445 FloatSize unUsedDelta = webViewHelper->webViewImpl()->mainFrameImpl()->f rame()->eventHandler().unusedDeltaForTesting();
7446 FloatSize accumulatedRootOverscroll = webViewHelper->webViewImpl()->main FrameImpl()->frame()->eventHandler().accumulatedRootOverscrollForTesting();
7447 EXPECT_EQ(unUsedWidth, unUsedDelta.width());
7448 EXPECT_EQ(unUsedHeight, unUsedDelta.height());
7449 EXPECT_EQ(accumulatedWidth, accumulatedRootOverscroll.width());
7450 EXPECT_EQ(accumulatedHeight, accumulatedRootOverscroll.height());
7451 }
7452 };
7453
7454 TEST_F(WebFrameOverscrollTest, AccumulatedRootOverscrollAndUnsedDeltaSetAndUnset )
7455 {
7456 FakeCompositingWebViewClient client;
7457 registerMockedHttpURLLoad("mainthread-scrolling.html");
7458 FrameTestHelpers::WebViewHelper webViewHelper;
7459 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "main thread-scrolling.html", true, 0, &client, configureAndroid);
7460 webViewImpl->layout();
7461
7462 ScrollBegin(&webViewHelper);
7463
7464 ScrollUpdate(&webViewHelper, 0, -13);
7465 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, 13, 0, 13) ;
7466
7467 ScrollUpdate(&webViewHelper, 0, -13);
7468 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, 13, 0, 26) ;
7469
7470 ScrollUpdate(&webViewHelper, -20, -13);
7471 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 20, 13, 20, 3 9);
7472
7473 ScrollEnd(&webViewHelper);
7474 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, 0, 0, 0);
7475
7476 ScrollBegin(&webViewHelper);
7477 ScrollUpdate(&webViewHelper, 0, -13);
7478 ScrollEnd(&webViewHelper);
7479 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, 0, 0, 0);
7480
7481 ScrollBegin(&webViewHelper);
7482 ScrollUpdate(&webViewHelper, 0, -13);
7483 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, 13, 0, 13) ;
7484 }
7485
7486 TEST_F(WebFrameOverscrollTest, RootLayerOverscrolledOnInnerDivOverScroll)
7487 {
7488 FakeCompositingWebViewClient client;
7489 registerMockedHttpURLLoad("mainthread-inner-div-overscroll.html");
7490 FrameTestHelpers::WebViewHelper webViewHelper;
7491 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "main thread-inner-div-overscroll.html", true, 0, &client, configureAndroid);
7492 webViewImpl->layout();
7493
7494 ScrollBegin(&webViewHelper);
7495
7496 ScrollUpdate(&webViewHelper, 0, 13);
7497 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, -13, 0, -1 3);
7498
7499 ScrollUpdate(&webViewHelper, 0, 13);
7500 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, -13, 0, -2 6);
7501
7502 ScrollUpdate(&webViewHelper, 13, 13);
7503 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, -13, -13, -13 , -39);
7504
7505 ScrollUpdate(&webViewHelper, 13, 0);
7506 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, -13, 0, -26, -39);
7507
7508 ScrollEnd(&webViewHelper);
7509 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, 0, 0, 0);
7510 }
7511
7512 TEST_F(WebFrameOverscrollTest, RootLayerOverscrolledOnInnerIFrameOverScroll)
7513 {
7514 FakeCompositingWebViewClient client;
7515 registerMockedHttpURLLoad("mainthread-inner-iframe-overscroll.html");
7516 FrameTestHelpers::WebViewHelper webViewHelper;
7517 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "main thread-inner-iframe-overscroll.html", true, 0, &client, configureAndroid);
7518 webViewImpl->layout();
7519
7520 ScrollBegin(&webViewHelper);
7521
7522 ScrollUpdate(&webViewHelper, 0, 13);
7523 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, -13, 0, -1 3);
7524
7525 ScrollUpdate(&webViewHelper, 0, 13);
7526 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, -13, 0, -2 6);
7527
7528 ScrollUpdate(&webViewHelper, 13, 13);
7529 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, -13, -13, -13 , -39);
7530
7531 ScrollUpdate(&webViewHelper, 13, 0);
7532 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, -13, 0, -26, -39);
7533
7534 ScrollEnd(&webViewHelper);
7535 CompareUnusedDeltaAndAccumulatedRootOverscroll(&webViewHelper, 0, 0, 0, 0);
7536 }
7537
7414 } // namespace blink 7538 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698