OLD | NEW |
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 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 EXPECT_EQ(expected.x(), actual.x()); \ | 145 EXPECT_EQ(expected.x(), actual.x()); \ |
146 EXPECT_EQ(expected.y(), actual.y()); \ | 146 EXPECT_EQ(expected.y(), actual.y()); \ |
147 } while (false) | 147 } while (false) |
148 | 148 |
149 #define EXPECT_FLOAT_POINT_EQ(expected, actual) \ | 149 #define EXPECT_FLOAT_POINT_EQ(expected, actual) \ |
150 do { \ | 150 do { \ |
151 EXPECT_FLOAT_EQ(expected.x(), actual.x()); \ | 151 EXPECT_FLOAT_EQ(expected.x(), actual.x()); \ |
152 EXPECT_FLOAT_EQ(expected.y(), actual.y()); \ | 152 EXPECT_FLOAT_EQ(expected.y(), actual.y()); \ |
153 } while (false) | 153 } while (false) |
154 | 154 |
| 155 #define EXPECT_FLOAT_SIZE_EQ(expected, actual) \ |
| 156 do { \ |
| 157 EXPECT_FLOAT_EQ(expected.width(), actual.width()); \ |
| 158 EXPECT_FLOAT_EQ(expected.height(), actual.height()); \ |
| 159 } while (false) |
| 160 |
155 class WebFrameTest : public ::testing::Test { | 161 class WebFrameTest : public ::testing::Test { |
156 protected: | 162 protected: |
157 WebFrameTest() | 163 WebFrameTest() |
158 : m_baseURL("http://internal.test/") | 164 : m_baseURL("http://internal.test/") |
159 , m_notBaseURL("http://external.test/") | 165 , m_notBaseURL("http://external.test/") |
160 , m_chromeURL("chrome://") | 166 , m_chromeURL("chrome://") |
161 { | 167 { |
162 } | 168 } |
163 | 169 |
164 virtual ~WebFrameTest() | 170 virtual ~WebFrameTest() |
(...skipping 7239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7404 EXPECT_EQ(fourthFrame, parent->lastChild()); | 7410 EXPECT_EQ(fourthFrame, parent->lastChild()); |
7405 | 7411 |
7406 EXPECT_EQ(parent, firstFrame->parent()); | 7412 EXPECT_EQ(parent, firstFrame->parent()); |
7407 EXPECT_EQ(parent, secondFrame->parent()); | 7413 EXPECT_EQ(parent, secondFrame->parent()); |
7408 EXPECT_EQ(parent, thirdFrame->parent()); | 7414 EXPECT_EQ(parent, thirdFrame->parent()); |
7409 EXPECT_EQ(parent, fourthFrame->parent()); | 7415 EXPECT_EQ(parent, fourthFrame->parent()); |
7410 | 7416 |
7411 view->close(); | 7417 view->close(); |
7412 } | 7418 } |
7413 | 7419 |
| 7420 class WebFrameOverscrollTest : public WebFrameTest { |
| 7421 protected: |
| 7422 WebGestureEvent generateEvent(WebInputEvent::Type type, int deltaX = 0, int
deltaY = 0) |
| 7423 { |
| 7424 WebGestureEvent event; |
| 7425 event.type = type; |
| 7426 event.x = 100; |
| 7427 event.y = 100; |
| 7428 if (type == WebInputEvent::GestureScrollUpdate) { |
| 7429 event.data.scrollUpdate.deltaX = deltaX; |
| 7430 event.data.scrollUpdate.deltaY = deltaY; |
| 7431 } |
| 7432 return event; |
| 7433 } |
| 7434 |
| 7435 void ScrollBegin(FrameTestHelpers::WebViewHelper* webViewHelper) |
| 7436 { |
| 7437 webViewHelper->webViewImpl()->handleInputEvent(generateEvent(WebInputEve
nt::GestureScrollBegin)); |
| 7438 } |
| 7439 |
| 7440 void ScrollUpdate(FrameTestHelpers::WebViewHelper* webViewHelper, float delt
aX, float deltaY) |
| 7441 { |
| 7442 webViewHelper->webViewImpl()->handleInputEvent(generateEvent(WebInputEve
nt::GestureScrollUpdate, deltaX, deltaY)); |
| 7443 } |
| 7444 |
| 7445 void ScrollEnd(FrameTestHelpers::WebViewHelper* webViewHelper) |
| 7446 { |
| 7447 webViewHelper->webViewImpl()->handleInputEvent(generateEvent(WebInputEve
nt::GestureScrollEnd)); |
| 7448 } |
| 7449 FloatSize AccumulatedRootOverscroll(FrameTestHelpers::WebViewHelper* webView
Helper) |
| 7450 { |
| 7451 return webViewHelper->webViewImpl()->mainFrameImpl()->frame()->eventHand
ler().accumulatedRootOverscrollForTesting(); |
| 7452 } |
| 7453 |
| 7454 FloatSize UnusedDelta(FrameTestHelpers::WebViewHelper* webViewHelper) |
| 7455 { |
| 7456 return webViewHelper->webViewImpl()->mainFrameImpl()->frame()->eventHand
ler().unusedDeltaForTesting(); |
| 7457 } |
| 7458 |
| 7459 }; |
| 7460 |
| 7461 TEST_F(WebFrameOverscrollTest, AccumulatedRootOverscrollAndUnsedDeltaSetAndUnset
) |
| 7462 { |
| 7463 FakeCompositingWebViewClient client; |
| 7464 registerMockedHttpURLLoad("overscroll/overscroll.html"); |
| 7465 FrameTestHelpers::WebViewHelper webViewHelper; |
| 7466 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "over
scroll/overscroll.html", true, 0, &client, configureAndroid); |
| 7467 webViewImpl->layout(); |
| 7468 |
| 7469 // Resets accumulatedRootOverscroll and unusedDelta on scroll end. |
| 7470 ScrollBegin(&webViewHelper); |
| 7471 ScrollUpdate(&webViewHelper, 0, -13); |
| 7472 ScrollEnd(&webViewHelper); |
| 7473 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7474 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7475 |
| 7476 // Calculation of accumulatedRootOverscroll and unusedDelta on Single scroll
Update. |
| 7477 ScrollBegin(&webViewHelper); |
| 7478 ScrollUpdate(&webViewHelper, 0, -13); |
| 7479 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7480 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7481 ScrollEnd(&webViewHelper); |
| 7482 |
| 7483 // Calculation of accumulatedRootOverscroll and unusedDelta on multiple scro
llUpdate. |
| 7484 ScrollBegin(&webViewHelper); |
| 7485 ScrollUpdate(&webViewHelper, -400, -400); |
| 7486 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7487 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7488 |
| 7489 ScrollUpdate(&webViewHelper, 0, -13); |
| 7490 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 13), UnusedDelta(&webViewHelper)); |
| 7491 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 13), AccumulatedRootOverscroll(&webViewHel
per)); |
| 7492 |
| 7493 ScrollUpdate(&webViewHelper, -20, -13); |
| 7494 EXPECT_FLOAT_SIZE_EQ(FloatSize(20, 13), UnusedDelta(&webViewHelper)); |
| 7495 EXPECT_FLOAT_SIZE_EQ(FloatSize(20, 26), AccumulatedRootOverscroll(&webViewHe
lper)); |
| 7496 |
| 7497 ScrollUpdate(&webViewHelper, 0, 1); |
| 7498 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7499 EXPECT_FLOAT_SIZE_EQ(FloatSize(20, 0), AccumulatedRootOverscroll(&webViewHel
per)); |
| 7500 |
| 7501 ScrollUpdate(&webViewHelper, 1, 0); |
| 7502 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7503 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7504 |
| 7505 ScrollEnd(&webViewHelper); |
| 7506 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7507 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7508 } |
| 7509 |
| 7510 TEST_F(WebFrameOverscrollTest, AccumulatedOverscrollAndUnusedDeltaReset) |
| 7511 { |
| 7512 FakeCompositingWebViewClient client; |
| 7513 registerMockedHttpURLLoad("overscroll/div-overscroll.html"); |
| 7514 FrameTestHelpers::WebViewHelper webViewHelper; |
| 7515 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "over
scroll/div-overscroll.html", true, 0, &client, configureAndroid); |
| 7516 webViewImpl->layout(); |
| 7517 |
| 7518 ScrollBegin(&webViewHelper); |
| 7519 |
| 7520 // Scroll the Div to the end. |
| 7521 ScrollUpdate(&webViewHelper, 0, -316); |
| 7522 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7523 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7524 |
| 7525 // Now On Scrolling DIV, scroll is bubbled and root layer is over-scrolled. |
| 7526 ScrollUpdate(&webViewHelper, 0, -50); |
| 7527 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 50), UnusedDelta(&webViewHelper)); |
| 7528 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 50), AccumulatedRootOverscroll(&webViewHel
per)); |
| 7529 |
| 7530 // Resets the Accumulated and unusedDelta on scrolling up. |
| 7531 ScrollUpdate(&webViewHelper, 0, 1); |
| 7532 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7533 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7534 |
| 7535 ScrollUpdate(&webViewHelper, 0, -50); |
| 7536 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7537 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7538 |
| 7539 // Now On Scrolling DIV, scroll is bubbled and root layer is over-scrolled. |
| 7540 ScrollUpdate(&webViewHelper, 0, -100); |
| 7541 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 100), UnusedDelta(&webViewHelper)); |
| 7542 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 100), AccumulatedRootOverscroll(&webViewHe
lper)); |
| 7543 |
| 7544 // Page scrolls vertically, but over-scrolls horizontally. |
| 7545 ScrollUpdate(&webViewHelper, 100, 50); |
| 7546 EXPECT_FLOAT_SIZE_EQ(FloatSize(-100, 0), UnusedDelta(&webViewHelper)); |
| 7547 EXPECT_FLOAT_SIZE_EQ(FloatSize(-100, 0), AccumulatedRootOverscroll(&webViewH
elper)); |
| 7548 |
| 7549 ScrollUpdate(&webViewHelper, 0, -50); |
| 7550 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7551 EXPECT_FLOAT_SIZE_EQ(FloatSize(-100, 0), AccumulatedRootOverscroll(&webViewH
elper)); |
| 7552 |
| 7553 // Page scrolls horizontally, but over-scrolls vertically. |
| 7554 ScrollUpdate(&webViewHelper, -100, -100); |
| 7555 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 100), UnusedDelta(&webViewHelper)); |
| 7556 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 100), AccumulatedRootOverscroll(&webViewHe
lper)); |
| 7557 |
| 7558 ScrollEnd(&webViewHelper); |
| 7559 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7560 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7561 } |
| 7562 |
| 7563 TEST_F(WebFrameOverscrollTest, RootLayerOverscrolledOnInnerDivOverScroll) |
| 7564 { |
| 7565 FakeCompositingWebViewClient client; |
| 7566 registerMockedHttpURLLoad("overscroll/div-overscroll.html"); |
| 7567 FrameTestHelpers::WebViewHelper webViewHelper; |
| 7568 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "over
scroll/div-overscroll.html", true, 0, &client, configureAndroid); |
| 7569 webViewImpl->layout(); |
| 7570 |
| 7571 ScrollBegin(&webViewHelper); |
| 7572 |
| 7573 // Scroll the Div to the end. |
| 7574 ScrollUpdate(&webViewHelper, 0, -316); |
| 7575 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7576 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7577 |
| 7578 // Now On Scrolling DIV, scroll is bubbled and root layer is over-scrolled. |
| 7579 ScrollUpdate(&webViewHelper, 0, -50); |
| 7580 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 50), UnusedDelta(&webViewHelper)); |
| 7581 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 50), AccumulatedRootOverscroll(&webViewHel
per)); |
| 7582 } |
| 7583 |
| 7584 TEST_F(WebFrameOverscrollTest, RootLayerOverscrolledOnInnerIFrameOverScroll) |
| 7585 { |
| 7586 FakeCompositingWebViewClient client; |
| 7587 registerMockedHttpURLLoad("overscroll/iframe-overscroll.html"); |
| 7588 registerMockedHttpURLLoad("overscroll/scrollable-iframe.html"); |
| 7589 FrameTestHelpers::WebViewHelper webViewHelper; |
| 7590 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "over
scroll/iframe-overscroll.html", true, 0, &client, configureAndroid); |
| 7591 webViewImpl->layout(); |
| 7592 |
| 7593 ScrollBegin(&webViewHelper); |
| 7594 |
| 7595 // Scroll the IFrame to the end. |
| 7596 ScrollUpdate(&webViewHelper, 0, -320); |
| 7597 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7598 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7599 |
| 7600 // Now On Scrolling IFrame, scroll is bubbled and root layer is over-scrolle
d. |
| 7601 ScrollUpdate(&webViewHelper, 0, -50); |
| 7602 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 50), UnusedDelta(&webViewHelper)); |
| 7603 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 50), AccumulatedRootOverscroll(&webViewHel
per)); |
| 7604 } |
| 7605 |
| 7606 TEST_F(WebFrameOverscrollTest, NoOverscrollOnNonScrollableaxes) |
| 7607 { |
| 7608 FakeCompositingWebViewClient client; |
| 7609 registerMockedHttpURLLoad("overscroll/no-overscroll-on-nonscrollable-axes.ht
ml"); |
| 7610 FrameTestHelpers::WebViewHelper webViewHelper; |
| 7611 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "over
scroll/no-overscroll-on-nonscrollable-axes.html", true, 0, &client, configureAnd
roid); |
| 7612 webViewImpl->layout(); |
| 7613 |
| 7614 // Overscroll is not reported in all the directions. |
| 7615 ScrollBegin(&webViewHelper); |
| 7616 ScrollUpdate(&webViewHelper, 0, -1); |
| 7617 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7618 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7619 |
| 7620 ScrollUpdate(&webViewHelper, 0, 1); |
| 7621 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7622 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7623 |
| 7624 ScrollUpdate(&webViewHelper, 1, 0); |
| 7625 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7626 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7627 |
| 7628 ScrollUpdate(&webViewHelper, -1, 0); |
| 7629 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7630 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7631 |
| 7632 ScrollUpdate(&webViewHelper, 1, 1); |
| 7633 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7634 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7635 |
| 7636 ScrollUpdate(&webViewHelper, -1, 1); |
| 7637 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7638 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7639 |
| 7640 ScrollUpdate(&webViewHelper, 1, -1); |
| 7641 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7642 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7643 |
| 7644 ScrollUpdate(&webViewHelper, -1, -1); |
| 7645 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7646 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7647 |
| 7648 ScrollEnd(&webViewHelper); |
| 7649 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7650 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7651 } |
| 7652 |
| 7653 TEST_F(WebFrameOverscrollTest, ScaledPageRootLayerOverscrolled) |
| 7654 { |
| 7655 FakeCompositingWebViewClient client; |
| 7656 registerMockedHttpURLLoad("overscroll/overscroll.html"); |
| 7657 FrameTestHelpers::WebViewHelper webViewHelper; |
| 7658 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "over
scroll/overscroll.html", true, 0, &client, configureAndroid); |
| 7659 webViewImpl->setPageScaleFactor(3.f); |
| 7660 webViewImpl->layout(); |
| 7661 |
| 7662 // Calculation of accumulatedRootOverscroll and unusedDelta on scaled page. |
| 7663 ScrollBegin(&webViewHelper); |
| 7664 ScrollUpdate(&webViewHelper, 0, 30); |
| 7665 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, -10), UnusedDelta(&webViewHelper)); |
| 7666 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, -10), AccumulatedRootOverscroll(&webViewHe
lper)); |
| 7667 |
| 7668 ScrollUpdate(&webViewHelper, 0, 30); |
| 7669 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, -10), UnusedDelta(&webViewHelper)); |
| 7670 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, -20), AccumulatedRootOverscroll(&webViewHe
lper)); |
| 7671 |
| 7672 ScrollUpdate(&webViewHelper, 30, 30); |
| 7673 EXPECT_FLOAT_SIZE_EQ(FloatSize(-10, -10), UnusedDelta(&webViewHelper)); |
| 7674 EXPECT_FLOAT_SIZE_EQ(FloatSize(-10, -30), AccumulatedRootOverscroll(&webView
Helper)); |
| 7675 |
| 7676 ScrollUpdate(&webViewHelper, 30, 0); |
| 7677 EXPECT_FLOAT_SIZE_EQ(FloatSize(-10, 0), UnusedDelta(&webViewHelper)); |
| 7678 EXPECT_FLOAT_SIZE_EQ(FloatSize(-20, -30), AccumulatedRootOverscroll(&webView
Helper)); |
| 7679 |
| 7680 ScrollEnd(&webViewHelper); |
| 7681 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), UnusedDelta(&webViewHelper)); |
| 7682 EXPECT_FLOAT_SIZE_EQ(FloatSize(0, 0), AccumulatedRootOverscroll(&webViewHelp
er)); |
| 7683 } |
| 7684 |
7414 } // namespace blink | 7685 } // namespace blink |
OLD | NEW |