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

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

Issue 1909033003: Add FrameView::updateAllLifecyclePhasesExceptPaint and use it in a few cases. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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) 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 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 230
231 void addPartToUpdate(LayoutEmbeddedObject&); 231 void addPartToUpdate(LayoutEmbeddedObject&);
232 232
233 Color documentBackgroundColor() const; 233 Color documentBackgroundColor() const;
234 234
235 // Run all needed lifecycle stages. After calling this method, all frames wi ll be in the lifecycle state PaintInvalidationClean. 235 // Run all needed lifecycle stages. After calling this method, all frames wi ll be in the lifecycle state PaintInvalidationClean.
236 // If lifecycle throttling is allowed (see DocumentLifecycle::AllowThrottlin gScope), some frames may skip the lifecycle update 236 // If lifecycle throttling is allowed (see DocumentLifecycle::AllowThrottlin gScope), some frames may skip the lifecycle update
237 // (e.g., based on visibility) and will not end up being PaintInvalidationCl ean. 237 // (e.g., based on visibility) and will not end up being PaintInvalidationCl ean.
238 void updateAllLifecyclePhases(); 238 void updateAllLifecyclePhases();
239 239
240 // Everything except paint (the last phase).
241 void updateAllLifecyclePhasesExceptPaint();
242
240 // Computes the style, layout and compositing lifecycle stages if needed. Af ter calling this method, all frames will be in a lifecycle 243 // Computes the style, layout and compositing lifecycle stages if needed. Af ter calling this method, all frames will be in a lifecycle
241 // state >= CompositingClean, and scrolling has been updated (unless throttl ing is allowed). 244 // state >= CompositingClean, and scrolling has been updated (unless throttl ing is allowed).
242 void updateLifecycleToCompositingCleanPlusScrolling(); 245 void updateLifecycleToCompositingCleanPlusScrolling();
243 246
244 // Computes only the style and layout lifecycle stages. 247 // Computes only the style and layout lifecycle stages.
245 // After calling this method, all frames will be in a lifecycle state >= Lay outClean (unless throttling is allowed). 248 // After calling this method, all frames will be in a lifecycle state >= Lay outClean (unless throttling is allowed).
246 void updateLifecycleToLayoutClean(); 249 void updateLifecycleToLayoutClean();
247 250
248 void scheduleVisualUpdateForPaintInvalidationIfNeeded(); 251 void scheduleVisualUpdateForPaintInvalidationIfNeeded();
249 252
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 void invalidateTreeIfNeeded(PaintInvalidationState&); 634 void invalidateTreeIfNeeded(PaintInvalidationState&);
632 635
633 private: 636 private:
634 explicit FrameView(LocalFrame*); 637 explicit FrameView(LocalFrame*);
635 638
636 void setScrollOffset(const DoublePoint&, ScrollType) override; 639 void setScrollOffset(const DoublePoint&, ScrollType) override;
637 640
638 enum LifeCycleUpdateOption { 641 enum LifeCycleUpdateOption {
639 OnlyUpToLayoutClean, 642 OnlyUpToLayoutClean,
640 OnlyUpToCompositingCleanPlusScrolling, 643 OnlyUpToCompositingCleanPlusScrolling,
644 AllPhasesExceptPaint,
641 AllPhases, 645 AllPhases,
642 }; 646 };
643 647
644 void updateLifecyclePhasesInternal(LifeCycleUpdateOption); 648 void updateLifecyclePhasesInternal(LifeCycleUpdateOption);
645 void invalidateTreeIfNeededRecursive(); 649 void invalidateTreeIfNeededRecursive();
646 void scrollContentsIfNeededRecursive(); 650 void scrollContentsIfNeededRecursive();
647 void updateStyleAndLayoutIfNeededRecursive(); 651 void updateStyleAndLayoutIfNeededRecursive();
648 void updatePaintProperties(); 652 void updatePaintProperties();
649 void synchronizedPaint(); 653 void synchronizedPaint();
650 void synchronizedPaintRecursively(GraphicsLayer*); 654 void synchronizedPaintRecursively(GraphicsLayer*);
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 930 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
927 setIsVisuallyNonEmpty(); 931 setIsVisuallyNonEmpty();
928 } 932 }
929 933
930 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 934 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
931 DEFINE_TYPE_CASTS(FrameView, ScrollableArea, scrollableArea, scrollableArea->isF rameView(), scrollableArea.isFrameView()); 935 DEFINE_TYPE_CASTS(FrameView, ScrollableArea, scrollableArea, scrollableArea->isF rameView(), scrollableArea.isFrameView());
932 936
933 } // namespace blink 937 } // namespace blink
934 938
935 #endif // FrameView_h 939 #endif // FrameView_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp ('k') | third_party/WebKit/Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698