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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2140173004: [SPv2] FrameView::synchronizedPaint should apply root property nodes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revised Created 4 years, 5 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 2616 matching lines...) Expand 10 before | Expand all | Expand 10 after
2627 forAllNonThrottledFrameViews([](FrameView& frameView) { 2627 forAllNonThrottledFrameViews([](FrameView& frameView) {
2628 frameView.lifecycle().advanceTo(DocumentLifecycle::PaintClean); 2628 frameView.lifecycle().advanceTo(DocumentLifecycle::PaintClean);
2629 LayoutViewItem layoutViewItem = frameView.layoutViewItem(); 2629 LayoutViewItem layoutViewItem = frameView.layoutViewItem();
2630 if (!layoutViewItem.isNull()) 2630 if (!layoutViewItem.isNull())
2631 layoutViewItem.layer()->clearNeedsRepaintRecursively(); 2631 layoutViewItem.layer()->clearNeedsRepaintRecursively();
2632 }); 2632 });
2633 } 2633 }
2634 2634
2635 void FrameView::synchronizedPaintRecursively(GraphicsLayer* graphicsLayer) 2635 void FrameView::synchronizedPaintRecursively(GraphicsLayer* graphicsLayer)
2636 { 2636 {
2637 if (graphicsLayer->drawsContent()) 2637 if (graphicsLayer->drawsContent()) {
2638 // Usually this is not needed because the PaintLayer will setup the chun k properties
pdr. 2016/07/13 02:26:51 Can you wrap this in: #ifndef NDEBUG ... #endif
trchen 2016/07/13 02:50:39 I'm thinking non-RLS scrollbars will need this too
2639 // altogether. However in debug builds the GraphicsLayer could paint deb ug background before
2640 // we ever reach the PaintLayer.
2641 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
pdr. 2016/07/13 02:26:51 Instead of special-casing this, is it possible to
trchen 2016/07/13 02:50:39 We always have up-to-date property tree at this po
2642 PaintChunkProperties properties;
2643 properties.transform = m_rootTransform;
2644 properties.clip = m_rootClip;
2645 properties.effect = m_rootEffect;
2646 graphicsLayer->getPaintController().updateCurrentPaintChunkPropertie s(properties);
2647 }
2638 graphicsLayer->paint(nullptr); 2648 graphicsLayer->paint(nullptr);
2649 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled())
2650 graphicsLayer->getPaintController().updateCurrentPaintChunkPropertie s(PaintChunkProperties());
2651 }
2639 2652
2640 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { 2653 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
2641 if (GraphicsLayer* maskLayer = graphicsLayer->maskLayer()) 2654 if (GraphicsLayer* maskLayer = graphicsLayer->maskLayer())
2642 synchronizedPaintRecursively(maskLayer); 2655 synchronizedPaintRecursively(maskLayer);
2643 if (GraphicsLayer* contentsClippingMaskLayer = graphicsLayer->contentsCl ippingMaskLayer()) 2656 if (GraphicsLayer* contentsClippingMaskLayer = graphicsLayer->contentsCl ippingMaskLayer())
2644 synchronizedPaintRecursively(contentsClippingMaskLayer); 2657 synchronizedPaintRecursively(contentsClippingMaskLayer);
2645 if (GraphicsLayer* replicaLayer = graphicsLayer->replicaLayer()) 2658 if (GraphicsLayer* replicaLayer = graphicsLayer->replicaLayer())
2646 synchronizedPaintRecursively(replicaLayer); 2659 synchronizedPaintRecursively(replicaLayer);
2647 } 2660 }
2648 2661
(...skipping 1615 matching lines...) Expand 10 before | Expand all | Expand 10 after
4264 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling); 4277 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling);
4265 } 4278 }
4266 4279
4267 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const 4280 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const
4268 { 4281 {
4269 ASSERT(!layoutViewItem().isNull()); 4282 ASSERT(!layoutViewItem().isNull());
4270 return *layoutView(); 4283 return *layoutView();
4271 } 4284 }
4272 4285
4273 } // namespace blink 4286 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698