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

Unified Diff: third_party/WebKit/Source/web/tests/WebViewTest.cpp

Issue 1897123002: Remove current implementation of frame timing events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/web/WebViewImpl.cpp ('k') | third_party/WebKit/public/blink_headers.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/web/tests/WebViewTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/WebViewTest.cpp b/third_party/WebKit/Source/web/tests/WebViewTest.cpp
index b9c613ee0b6c6a411842ea481647d7b798df62b3..805e58a2c7c7b286e61cb61b70cf91678a445134 100644
--- a/third_party/WebKit/Source/web/tests/WebViewTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebViewTest.cpp
@@ -2994,249 +2994,6 @@ TEST_F(WebViewTest, ShowUnhandledTapUIIfNeededWithPreventDefault)
m_webViewHelper.reset(); // Remove dependency on locally scoped client.
}
-// Test 3 frames, all on the same layer (i.e. [1 2 3])
-TEST_F(WebViewTest, TestPushFrameTimingRequestRectsToGraphicsLayer1)
-{
- std::string url = m_baseURL + "frame_timing_inner.html?100px:100px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_inner.html?200px:200px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_inner.html?300px:300px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_1.html";
- registerMockedURLLoad(toKURL(url), "frame_timing_1.html");
-
- WebView* webView = m_webViewHelper.initialize(true);
- loadFrame(webView->mainFrame(), url);
-
- webView->resize(WebSize(800, 600));
- webView->updateAllLifecyclePhases();
-
- WebViewImpl* webViewImpl = toWebViewImpl(webView);
-
- Frame* frame = webViewImpl->page()->mainFrame();
- int64_t id = frame->frameID();
-
- EXPECT_EQ(3u, frame->tree().childCount());
-
- WebVector<std::pair<int64_t, WebRect>> frameTimingRequests =
- toLocalFrame(frame)->document()
- ->layoutView()->enclosingLayer()
- ->enclosingLayerForPaintInvalidationCrossingFrameBoundaries()
- ->graphicsLayerBacking()->platformLayer()->frameTimingRequests();
-
- EXPECT_EQ(4u, frameTimingRequests.size());
- EXPECT_EQ(id + 0, frameTimingRequests[0].first);
- EXPECT_EQ(WebRect(0, 0, 800, 600), frameTimingRequests[0].second);
- EXPECT_EQ(id + 1, frameTimingRequests[1].first);
- EXPECT_EQ(WebRect(2, 2, 100, 100), frameTimingRequests[1].second);
- EXPECT_EQ(id + 2, frameTimingRequests[2].first);
- EXPECT_EQ(WebRect(106, 2, 200, 200), frameTimingRequests[2].second);
- EXPECT_EQ(id + 3, frameTimingRequests[3].first);
- EXPECT_EQ(WebRect(310, 2, 300, 300), frameTimingRequests[3].second);
-}
-
-// Test 3 frames, where frame 2 is on a different GraphicsLayer (i.e. [1 2' 3])
-TEST_F(WebViewTest, TestPushFrameTimingRequestRectsToGraphicsLayer2)
-{
- std::string url = m_baseURL + "frame_timing_inner.html?100px:100px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_inner.html?200px:200px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_inner.html?300px:300px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_2.html";
- registerMockedURLLoad(toKURL(url), "frame_timing_2.html");
-
- WebView* webView = m_webViewHelper.initialize(true);
- loadFrame(webView->mainFrame(), url);
-
- webView->resize(WebSize(800, 600));
- webView->updateAllLifecyclePhases();
-
- WebViewImpl* webViewImpl = toWebViewImpl(webView);
-
- Frame* frame = webViewImpl->page()->mainFrame();
- int64_t id = frame->frameID();
-
- EXPECT_EQ(3u, frame->tree().childCount());
-
- const WebLayer* graphicsLayer1 =
- toLocalFrame(webViewImpl->page()->mainFrame())->document()
- ->layoutView()->enclosingLayer()
- ->enclosingLayerForPaintInvalidationCrossingFrameBoundaries()
- ->graphicsLayerBacking()->platformLayer();
- WebVector<std::pair<int64_t, WebRect>> frameTimingRequests1 =
- graphicsLayer1->frameTimingRequests();
-
- EXPECT_EQ(3u, frameTimingRequests1.size());
- EXPECT_EQ(id + 0, frameTimingRequests1[0].first);
- EXPECT_EQ(WebRect(0, 0, 800, 600), frameTimingRequests1[0].second);
- EXPECT_EQ(id + 1, frameTimingRequests1[1].first);
- EXPECT_EQ(WebRect(2, 2, 100, 100), frameTimingRequests1[1].second);
- EXPECT_EQ(id + 3, frameTimingRequests1[2].first);
- EXPECT_EQ(WebRect(310, 2, 300, 300), frameTimingRequests1[2].second);
-
- const WebLayer* graphicsLayer2 = nullptr;
- for (Frame* frame = webViewImpl->page()->mainFrame(); frame;
- frame = frame->tree().traverseNext()) {
- graphicsLayer2 = toLocalFrame(frame)->document()->layoutView()
- ->enclosingLayer()
- ->enclosingLayerForPaintInvalidationCrossingFrameBoundaries()
- ->graphicsLayerBacking()->platformLayer();
- if (graphicsLayer2 != graphicsLayer1)
- break;
- }
- WebVector<std::pair<int64_t, WebRect>> frameTimingRequests2 =
- graphicsLayer2->frameTimingRequests();
- EXPECT_EQ(1u, frameTimingRequests2.size());
- EXPECT_EQ(id + 2, frameTimingRequests2[0].first);
- EXPECT_EQ(WebRect(2, 2, 200, 200), frameTimingRequests2[0].second);
-}
-
-
-// Test nested frames (i.e. [1 2'[4 5'] 3])
-TEST_F(WebViewTest, TestPushFrameTimingRequestRectsToGraphicsLayer3)
-{
- std::string url = m_baseURL + "frame_timing_inner.html?100px:100px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_inner.html?200px:200px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_inner.html?300px:300px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_b.html";
- registerMockedURLLoad(toKURL(url), "frame_timing_b.html");
- url = m_baseURL + "frame_timing_3.html";
- registerMockedURLLoad(toKURL(url), "frame_timing_3.html");
-
- WebView* webView = m_webViewHelper.initialize(true);
- loadFrame(webView->mainFrame(), url);
-
- webView->resize(WebSize(800, 600));
- webView->updateAllLifecyclePhases();
-
- WebViewImpl* webViewImpl = toWebViewImpl(webView);
-
- Frame* frame = webViewImpl->page()->mainFrame();
- int64_t id = frame->frameID();
-
- EXPECT_EQ(3u, frame->tree().childCount());
-
- const WebLayer* graphicsLayer1 =
- toLocalFrame(webViewImpl->page()->mainFrame())->document()
- ->layoutView()->enclosingLayer()
- ->enclosingLayerForPaintInvalidationCrossingFrameBoundaries()
- ->graphicsLayerBacking()->platformLayer();
- WebVector<std::pair<int64_t, WebRect>> frameTimingRequests1 =
- graphicsLayer1->frameTimingRequests();
-
- EXPECT_EQ(3u, frameTimingRequests1.size());
- EXPECT_EQ(id + 0, frameTimingRequests1[0].first);
- EXPECT_EQ(WebRect(0, 0, 800, 600), frameTimingRequests1[0].second);
- EXPECT_EQ(WebRect(2, 2, 100, 100), frameTimingRequests1[1].second);
- EXPECT_EQ(WebRect(410, 2, 200, 200), frameTimingRequests1[2].second);
-
- const WebLayer* graphicsLayer2 = nullptr;
- for (Frame* frame = webViewImpl->page()->mainFrame(); frame;
- frame = frame->tree().traverseNext()) {
- graphicsLayer2 = toLocalFrame(frame)->document()->layoutView()
- ->enclosingLayer()
- ->enclosingLayerForPaintInvalidationCrossingFrameBoundaries()
- ->graphicsLayerBacking()->platformLayer();
- if (graphicsLayer2 != graphicsLayer1)
- break;
- }
- WebVector<std::pair<int64_t, WebRect>> frameTimingRequests2 =
- graphicsLayer2->frameTimingRequests();
- EXPECT_EQ(2u, frameTimingRequests2.size());
- EXPECT_EQ(WebRect(0, 0, 300, 300), frameTimingRequests2[0].second);
- EXPECT_EQ(WebRect(2, 2, 100, 100), frameTimingRequests2[1].second);
-
- const WebLayer* graphicsLayer3 = nullptr;
- for (Frame* frame = webViewImpl->page()->mainFrame(); frame;
- frame = frame->tree().traverseNext()) {
- graphicsLayer3 = toLocalFrame(frame)->document()->layoutView()
- ->enclosingLayer()
- ->enclosingLayerForPaintInvalidationCrossingFrameBoundaries()
- ->graphicsLayerBacking()->platformLayer();
- if (graphicsLayer3 != graphicsLayer1 && graphicsLayer3 != graphicsLayer2)
- break;
- }
- WebVector<std::pair<int64_t, WebRect>> frameTimingRequests3 =
- graphicsLayer3->frameTimingRequests();
- EXPECT_EQ(1u, frameTimingRequests3.size());
- EXPECT_EQ(WebRect(2, 2, 100, 100), frameTimingRequests3[0].second);
-}
-
-// Test 3 frames, all on the same layer (i.e. [1 2 3])
-// Fails on android, see crbug.com/488381.
-#if OS(ANDROID)
-TEST_F(WebViewTest, DISABLED_TestRecordFrameTimingEvents)
-#else
-TEST_F(WebViewTest, TestRecordFrameTimingEvents)
-#endif
-{
- std::string url = m_baseURL + "frame_timing_inner.html?100px:100px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_inner.html?200px:200px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_inner.html?300px:300px";
- registerMockedURLLoad(toKURL(url), "frame_timing_inner.html");
- url = m_baseURL + "frame_timing_1.html";
- registerMockedURLLoad(toKURL(url), "frame_timing_1.html");
-
- WebView* webView = m_webViewHelper.initialize(true);
- loadFrame(webView->mainFrame(), url);
-
- webView->resize(WebSize(800, 600));
- webView->updateAllLifecyclePhases();
-
- WebViewImpl* webViewImpl = toWebViewImpl(webView);
-
- Frame* frame = webViewImpl->page()->mainFrame();
- int64_t id = frame->frameID();
-
- Vector<WebFrameTimingEvent> compositePairs;
- compositePairs.append(WebFrameTimingEvent(1, 2.0));
- compositePairs.append(WebFrameTimingEvent(2, 3.0));
- compositePairs.append(WebFrameTimingEvent(3, 4.0));
- WebVector<WebFrameTimingEvent> compositeEvents(compositePairs);
- webViewImpl->recordFrameTimingEvent(WebView::CompositeEvent, id, compositeEvents);
- PerformanceEntryVector composites = DOMWindowPerformance::performance(*frame->domWindow())->getEntriesByType("composite");
- PerformanceEntryVector renders = DOMWindowPerformance::performance(*frame->domWindow())->getEntriesByType("render");
- ASSERT_EQ(3ul, composites.size());
- ASSERT_EQ(0ul, renders.size());
- for (size_t i = 0; i < composites.size(); ++i) {
- double docTime = frame->domWindow()->document()->loader()->timing().monotonicTimeToZeroBasedDocumentTime(compositePairs[i].startTime) * 1000.0;
- ASSERT_EQ(docTime, composites[i]->startTime());
- }
-
- // Skip ahead to subframe 2.
- frame = frame->tree().traverseNext();
- frame = frame->tree().traverseNext();
- id += 2;
-
- Vector<WebFrameTimingEvent> renderPairs;
- renderPairs.append(WebFrameTimingEvent(4, 5.0, 6.0));
- renderPairs.append(WebFrameTimingEvent(5, 6.0, 7.0));
- renderPairs.append(WebFrameTimingEvent(6, 7.0, 8.0));
- renderPairs.append(WebFrameTimingEvent(7, 8.0, 9.0));
- WebVector<WebFrameTimingEvent> renderEvents(renderPairs);
- webViewImpl->recordFrameTimingEvent(WebView::RenderEvent, id, renderEvents);
- composites = DOMWindowPerformance::performance(*frame->domWindow())->getEntriesByType("composite");
- renders = DOMWindowPerformance::performance(*frame->domWindow())->getEntriesByType("render");
- ASSERT_EQ(0ul, composites.size());
- ASSERT_EQ(4ul, renders.size());
- for (size_t i = 0; i < renders.size(); ++i) {
- double docStartTime = frame->domWindow()->document()->loader()->timing().monotonicTimeToZeroBasedDocumentTime(renderPairs[i].startTime) * 1000.0;
- ASSERT_DOUBLE_EQ(docStartTime, renders[i]->startTime());
- double docFinishTime = frame->domWindow()->document()->loader()->timing().monotonicTimeToZeroBasedDocumentTime(renderPairs[i].finishTime) * 1000.0;
- double docDuration = docFinishTime - docStartTime;
- ASSERT_DOUBLE_EQ(docDuration, renders[i]->duration());
- }
-}
-
-
TEST_F(WebViewTest, StopLoadingIfJavaScriptURLReturnsNoStringResult)
{
ViewCreatingWebViewClient client;
« no previous file with comments | « third_party/WebKit/Source/web/WebViewImpl.cpp ('k') | third_party/WebKit/public/blink_headers.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698