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

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

Issue 2585603002: [SPInvaldation] Update subtree paint properties when a layout subtree is inserted (Closed)
Patch Set: Created 4 years 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 Simon Hausmann <hausmann@kde.org> 5 * 2000 Simon Hausmann <hausmann@kde.org>
6 * 2000 Stefan Schimanski <1Stein@gmx.de> 6 * 2000 Stefan Schimanski <1Stein@gmx.de>
7 * 2001 George Staikos <staikos@kde.org> 7 * 2001 George Staikos <staikos@kde.org>
8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
9 * rights reserved. 9 * rights reserved.
10 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> 10 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com>
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 : Document::FinishingPrinting); 584 : Document::FinishingPrinting);
585 view()->adjustMediaTypeForPrinting(printing); 585 view()->adjustMediaTypeForPrinting(printing);
586 586
587 if (shouldUsePrintingLayout()) { 587 if (shouldUsePrintingLayout()) {
588 view()->forceLayoutForPagination(pageSize, originalPageSize, 588 view()->forceLayoutForPagination(pageSize, originalPageSize,
589 maximumShrinkRatio); 589 maximumShrinkRatio);
590 } else { 590 } else {
591 if (LayoutView* layoutView = view()->layoutView()) { 591 if (LayoutView* layoutView = view()->layoutView()) {
592 layoutView->setPreferredLogicalWidthsDirty(); 592 layoutView->setPreferredLogicalWidthsDirty();
593 layoutView->setNeedsLayout(LayoutInvalidationReason::PrintingChanged); 593 layoutView->setNeedsLayout(LayoutInvalidationReason::PrintingChanged);
594 if (!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) 594 layoutView->setShouldDoFullPaintInvalidationForViewAndAllDescendants();
595 layoutView->setShouldDoFullPaintInvalidationForViewAndAllDescendants();
596 } 595 }
597 view()->layout(); 596 view()->layout();
598 view()->adjustViewSize(); 597 view()->adjustViewSize();
599 } 598 }
600 599
601 // Subframes of the one we're printing don't lay out to the page size. 600 // Subframes of the one we're printing don't lay out to the page size.
602 for (Frame* child = tree().firstChild(); child; 601 for (Frame* child = tree().firstChild(); child;
603 child = child->tree().nextSibling()) { 602 child = child->tree().nextSibling()) {
604 if (child->isLocalFrame()) 603 if (child->isLocalFrame())
605 toLocalFrame(child)->setPrinting(printing, FloatSize(), FloatSize(), 0); 604 toLocalFrame(child)->setPrinting(printing, FloatSize(), FloatSize(), 0);
606 } 605 }
607 606
608 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) 607 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled())
609 view()->setShouldInvalidateAllPaintAndPaintProperties(); 608 view()->layoutView()->setSubtreeNeedsPaintPropertyUpdate();
610 609
611 if (!printing) 610 if (!printing)
612 document()->setPrinting(Document::NotPrinting); 611 document()->setPrinting(Document::NotPrinting);
613 } 612 }
614 613
615 bool LocalFrame::shouldUsePrintingLayout() const { 614 bool LocalFrame::shouldUsePrintingLayout() const {
616 // Only top frame being printed should be fit to page size. 615 // Only top frame being printed should be fit to page size.
617 // Subframes should be constrained by parents only. 616 // Subframes should be constrained by parents only.
618 return document()->printing() && 617 return document()->printing() &&
619 (!tree().parent() || !tree().parent()->isLocalFrame() || 618 (!tree().parent() || !tree().parent()->isLocalFrame() ||
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
936 if (m_frame && m_frame->client() && m_frame->client()->frameBlameContext()) 935 if (m_frame && m_frame->client() && m_frame->client()->frameBlameContext())
937 m_frame->client()->frameBlameContext()->Enter(); 936 m_frame->client()->frameBlameContext()->Enter();
938 } 937 }
939 938
940 ScopedFrameBlamer::~ScopedFrameBlamer() { 939 ScopedFrameBlamer::~ScopedFrameBlamer() {
941 if (m_frame && m_frame->client() && m_frame->client()->frameBlameContext()) 940 if (m_frame && m_frame->client() && m_frame->client()->frameBlameContext())
942 m_frame->client()->frameBlameContext()->Leave(); 941 m_frame->client()->frameBlameContext()->Leave();
943 } 942 }
944 943
945 } // namespace blink 944 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698