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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 2431 matching lines...) Expand 10 before | Expand all | Expand 10 after
2442 } 2442 }
2443 } 2443 }
2444 2444
2445 if (phases == AllPhases) { 2445 if (phases == AllPhases) {
2446 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) 2446 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
2447 updatePaintProperties(); 2447 updatePaintProperties();
2448 2448
2449 if (!m_frame->document()->printing()) 2449 if (!m_frame->document()->printing())
2450 synchronizedPaint(); 2450 synchronizedPaint();
2451 2451
2452 if (RuntimeEnabledFeatures::frameTimingSupportEnabled())
2453 updateFrameTimingRequestsIfNeeded();
2454
2455 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) 2452 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
2456 pushPaintArtifactToCompositor(); 2453 pushPaintArtifactToCompositor();
2457 2454
2458 ASSERT(!view.hasPendingSelection()); 2455 ASSERT(!view.hasPendingSelection());
2459 ASSERT((m_frame->document()->printing() && lifecycle().state() == Do cumentLifecycle::PaintInvalidationClean) 2456 ASSERT((m_frame->document()->printing() && lifecycle().state() == Do cumentLifecycle::PaintInvalidationClean)
2460 || lifecycle().state() == DocumentLifecycle::PaintClean); 2457 || lifecycle().state() == DocumentLifecycle::PaintClean);
2461 } 2458 }
2462 } 2459 }
2463 2460
2464 updateViewportIntersectionsForSubtree(phases); 2461 updateViewportIntersectionsForSubtree(phases);
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
2545 if (!rootGraphicsLayer->drawsContent()) 2542 if (!rootGraphicsLayer->drawsContent())
2546 return; 2543 return;
2547 const PaintArtifact& paintArtifact = rootGraphicsLayer->getPaintController() .paintArtifact(); 2544 const PaintArtifact& paintArtifact = rootGraphicsLayer->getPaintController() .paintArtifact();
2548 2545
2549 Page* page = frame().page(); 2546 Page* page = frame().page();
2550 if (!page) 2547 if (!page)
2551 return; 2548 return;
2552 page->chromeClient().didPaint(paintArtifact); 2549 page->chromeClient().didPaint(paintArtifact);
2553 } 2550 }
2554 2551
2555 void FrameView::updateFrameTimingRequestsIfNeeded()
2556 {
2557 GraphicsLayerFrameTimingRequests graphicsLayerTimingRequests;
2558 // TODO(mpb) use a 'dirty' bit to not call this every time.
2559 collectFrameTimingRequestsRecursive(graphicsLayerTimingRequests);
2560
2561 for (const auto& iter : graphicsLayerTimingRequests) {
2562 const GraphicsLayer* graphicsLayer = iter.key;
2563 graphicsLayer->platformLayer()->setFrameTimingRequests(iter.value);
2564 }
2565 }
2566
2567 void FrameView::updateStyleAndLayoutIfNeededRecursive() 2552 void FrameView::updateStyleAndLayoutIfNeededRecursive()
2568 { 2553 {
2569 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.StyleAndLayout.UpdateTime"); 2554 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.StyleAndLayout.UpdateTime");
2570 updateStyleAndLayoutIfNeededRecursiveInternal(); 2555 updateStyleAndLayoutIfNeededRecursiveInternal();
2571 } 2556 }
2572 2557
2573 void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal() 2558 void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal()
2574 { 2559 {
2575 if (shouldThrottleRendering()) 2560 if (shouldThrottleRendering())
2576 return; 2561 return;
(...skipping 1364 matching lines...) Expand 10 before | Expand all | Expand 10 after
3941 // LayoutTexts don't have their own style, they just use their parent's styl e, 3926 // LayoutTexts don't have their own style, they just use their parent's styl e,
3942 // so we don't want to include them. 3927 // so we don't want to include them.
3943 if (layoutObject.isText()) 3928 if (layoutObject.isText())
3944 return; 3929 return;
3945 3930
3946 layoutObject.addAnnotatedRegions(regions); 3931 layoutObject.addAnnotatedRegions(regions);
3947 for (LayoutObject* curr = layoutObject.slowFirstChild(); curr; curr = curr-> nextSibling()) 3932 for (LayoutObject* curr = layoutObject.slowFirstChild(); curr; curr = curr-> nextSibling())
3948 collectAnnotatedRegions(*curr, regions); 3933 collectAnnotatedRegions(*curr, regions);
3949 } 3934 }
3950 3935
3951 void FrameView::collectFrameTimingRequestsRecursive(GraphicsLayerFrameTimingRequ ests& graphicsLayerTimingRequests)
3952 {
3953 if (!m_frameTimingRequestsDirty)
3954 return;
3955
3956 collectFrameTimingRequests(graphicsLayerTimingRequests);
3957
3958 for (Frame* child = m_frame->tree().firstChild(); child; child = child->tree ().nextSibling()) {
3959 if (!child->isLocalFrame())
3960 continue;
3961
3962 toLocalFrame(child)->view()->collectFrameTimingRequestsRecursive(graphic sLayerTimingRequests);
3963 }
3964 m_frameTimingRequestsDirty = false;
3965 }
3966
3967 void FrameView::collectFrameTimingRequests(GraphicsLayerFrameTimingRequests& gra phicsLayerTimingRequests)
3968 {
3969 if (!m_frame->isLocalFrame())
3970 return;
3971 Frame* frame = m_frame.get();
3972 LocalFrame* localFrame = toLocalFrame(frame);
3973 LayoutRect viewRect = localFrame->contentLayoutItem().viewRect();
3974 const LayoutBoxModelObject& paintInvalidationContainer = localFrame->content LayoutObject()->containerForPaintInvalidation();
3975 // If the frame is being throttled, its compositing state may not be up to d ate.
3976 if (!paintInvalidationContainer.enclosingLayer()->isAllowedToQueryCompositin gState())
3977 return;
3978 const GraphicsLayer* graphicsLayer = paintInvalidationContainer.enclosingLay er()->graphicsLayerBacking();
3979
3980 if (!graphicsLayer)
3981 return;
3982
3983 PaintLayer::mapRectToPaintInvalidationBacking(*localFrame->contentLayoutObje ct(), paintInvalidationContainer, viewRect);
3984
3985 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing IntRect(viewRect)));
3986 }
3987
3988 void FrameView::setNeedsUpdateViewportIntersection() 3936 void FrameView::setNeedsUpdateViewportIntersection()
3989 { 3937 {
3990 m_needsUpdateViewportIntersection = true; 3938 m_needsUpdateViewportIntersection = true;
3991 for (FrameView* parent = parentFrameView(); parent; parent = parent->parentF rameView()) 3939 for (FrameView* parent = parentFrameView(); parent; parent = parent->parentF rameView())
3992 parent->m_needsUpdateViewportIntersectionInSubtree = true; 3940 parent->m_needsUpdateViewportIntersectionInSubtree = true;
3993 } 3941 }
3994 3942
3995 void FrameView::updateViewportIntersectionIfNeeded() 3943 void FrameView::updateViewportIntersectionIfNeeded()
3996 { 3944 {
3997 if (!m_needsUpdateViewportIntersection) 3945 if (!m_needsUpdateViewportIntersection)
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
4106 return m_hiddenForThrottling && m_crossOriginForThrottling; 4054 return m_hiddenForThrottling && m_crossOriginForThrottling;
4107 } 4055 }
4108 4056
4109 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const 4057 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const
4110 { 4058 {
4111 ASSERT(layoutView()); 4059 ASSERT(layoutView());
4112 return *layoutView(); 4060 return *layoutView();
4113 } 4061 }
4114 4062
4115 } // namespace blink 4063 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698