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

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

Issue 2150933002: Fix crash when removing contents from a document having multiple bodies (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2785
Patch Set: 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 2595 matching lines...) Expand 10 before | Expand all | Expand 10 after
2606 if (GraphicsLayer* layerForScrollCorner = view.compositor()->layerForScrollC orner()) { 2606 if (GraphicsLayer* layerForScrollCorner = view.compositor()->layerForScrollC orner()) {
2607 synchronizedPaintRecursively(layerForScrollCorner); 2607 synchronizedPaintRecursively(layerForScrollCorner);
2608 } 2608 }
2609 2609
2610 forAllNonThrottledFrameViews([](FrameView& frameView) { 2610 forAllNonThrottledFrameViews([](FrameView& frameView) {
2611 frameView.lifecycle().advanceTo(DocumentLifecycle::PaintClean); 2611 frameView.lifecycle().advanceTo(DocumentLifecycle::PaintClean);
2612 LayoutViewItem layoutViewItem = frameView.layoutViewItem(); 2612 LayoutViewItem layoutViewItem = frameView.layoutViewItem();
2613 if (!layoutViewItem.isNull()) 2613 if (!layoutViewItem.isNull())
2614 layoutViewItem.layer()->clearNeedsRepaintRecursively(); 2614 layoutViewItem.layer()->clearNeedsRepaintRecursively();
2615 }); 2615 });
2616
2617 #if CHECK_DISPLAY_ITEM_CLIENT_ALIVENESS
2618 DisplayItemClient::endShouldKeepAliveAllClients();
2619 #endif
2620 } 2616 }
2621 2617
2622 void FrameView::synchronizedPaintRecursively(GraphicsLayer* graphicsLayer) 2618 void FrameView::synchronizedPaintRecursively(GraphicsLayer* graphicsLayer)
2623 { 2619 {
2624 if (graphicsLayer->drawsContent()) 2620 if (graphicsLayer->drawsContent())
2625 graphicsLayer->paint(nullptr); 2621 graphicsLayer->paint(nullptr);
2626 2622
2627 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { 2623 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
2628 if (GraphicsLayer* maskLayer = graphicsLayer->maskLayer()) 2624 if (GraphicsLayer* maskLayer = graphicsLayer->maskLayer())
2629 synchronizedPaintRecursively(maskLayer); 2625 synchronizedPaintRecursively(maskLayer);
(...skipping 1609 matching lines...) Expand 10 before | Expand all | Expand 10 after
4239 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling); 4235 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling);
4240 } 4236 }
4241 4237
4242 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const 4238 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const
4243 { 4239 {
4244 ASSERT(!layoutViewItem().isNull()); 4240 ASSERT(!layoutViewItem().isNull());
4245 return *layoutView(); 4241 return *layoutView();
4246 } 4242 }
4247 4243
4248 } // namespace blink 4244 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698