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

Side by Side Diff: Source/core/frame/FrameView.h

Issue 1294233004: Subtree caching implementation in blink-core (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Add a complex-subtree-update test Created 5 years, 4 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 Copyright (C) 1997 Martin Jones (mjones@kde.org) 2 Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 (C) 1998 Waldo Bastian (bastian@kde.org) 3 (C) 1998 Waldo Bastian (bastian@kde.org)
4 (C) 1998, 1999 Torben Weis (weis@kde.org) 4 (C) 1998, 1999 Torben Weis (weis@kde.org)
5 (C) 1999 Lars Knoll (knoll@kde.org) 5 (C) 1999 Lars Knoll (knoll@kde.org)
6 (C) 1999 Antti Koivisto (koivisto@kde.org) 6 (C) 1999 Antti Koivisto (koivisto@kde.org)
7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
8 8
9 This library is free software; you can redistribute it and/or 9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Library General Public 10 modify it under the terms of the GNU Library General Public
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 : m_scope(view->m_inUpdateScrollbars, true) 595 : m_scope(view->m_inUpdateScrollbars, true)
596 { } 596 { }
597 private: 597 private:
598 TemporaryChange<bool> m_scope; 598 TemporaryChange<bool> m_scope;
599 }; 599 };
600 600
601 // Only for LayoutPart to traverse into sub frames during paint invalidation . 601 // Only for LayoutPart to traverse into sub frames during paint invalidation .
602 void invalidateTreeIfNeeded(PaintInvalidationState&); 602 void invalidateTreeIfNeeded(PaintInvalidationState&);
603 603
604 private: 604 private:
605 friend class DisplayItemListPaintTestForSlimmingPaintV2;
606 friend class LayoutPart;
607
605 explicit FrameView(LocalFrame*); 608 explicit FrameView(LocalFrame*);
606 609
607 void setScrollOffset(const IntPoint&, ScrollType) override; 610 void setScrollOffset(const IntPoint&, ScrollType) override;
608 void setScrollOffset(const DoublePoint&, ScrollType) override; 611 void setScrollOffset(const DoublePoint&, ScrollType) override;
609 612
610 enum LifeCycleUpdateOption { 613 enum LifeCycleUpdateOption {
611 AllPhases, 614 AllPhases,
612 OnlyUpToCompositingCleanPlusScrolling, 615 OnlyUpToCompositingCleanPlusScrolling,
616 OnlyUpToPaintForSlimmingPaintV2Clean,
613 }; 617 };
614 618
615 void updateLifecyclePhasesInternal(LifeCycleUpdateOption); 619 void updateLifecyclePhasesInternal(LifeCycleUpdateOption);
616 void invalidateTreeIfNeededRecursive(); 620 void invalidateTreeIfNeededRecursive();
617 void scrollContentsIfNeededRecursive(); 621 void scrollContentsIfNeededRecursive();
618 void updateStyleAndLayoutIfNeededRecursive(); 622 void updateStyleAndLayoutIfNeededRecursive();
619 void paintForSlimmingPaintV2(); 623 void paintForSlimmingPaintV2();
620 void compositeForSlimmingPaintV2(); 624 void compositeForSlimmingPaintV2();
621 625
622 void reset(); 626 void reset();
623 void init(); 627 void init();
624 628
625 void clearLayoutSubtreeRootsAndMarkContainingBlocks(); 629 void clearLayoutSubtreeRootsAndMarkContainingBlocks();
626 630
627 // Called when our frame rect changes (or the rect/scroll position of an anc estor changes). 631 // Called when our frame rect changes (or the rect/scroll position of an anc estor changes).
628 void frameRectsChanged() override; 632 void frameRectsChanged() override;
629 633
630 friend class LayoutPart;
631
632 bool contentsInCompositedLayer() const; 634 bool contentsInCompositedLayer() const;
633 635
634 void applyOverflowToViewport(LayoutObject*, ScrollbarMode& hMode, ScrollbarM ode& vMode); 636 void applyOverflowToViewport(LayoutObject*, ScrollbarMode& hMode, ScrollbarM ode& vMode);
635 637
636 void updateCounters(); 638 void updateCounters();
637 void forceLayoutParentViewIfNeeded(); 639 void forceLayoutParentViewIfNeeded();
638 void performPreLayoutTasks(); 640 void performPreLayoutTasks();
639 void performLayout(bool inSubtreeLayout); 641 void performLayout(bool inSubtreeLayout);
640 void scheduleOrPerformPostLayoutTasks(); 642 void scheduleOrPerformPostLayoutTasks();
641 void performPostLayoutTasks(); 643 void performPostLayoutTasks();
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 static const unsigned visualPixelThreshold = 32 * 32; 866 static const unsigned visualPixelThreshold = 32 * 32;
865 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 867 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
866 setIsVisuallyNonEmpty(); 868 setIsVisuallyNonEmpty();
867 } 869 }
868 870
869 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 871 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
870 872
871 } // namespace blink 873 } // namespace blink
872 874
873 #endif // FrameView_h 875 #endif // FrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698