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

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

Issue 2259983003: Add a choice not to crash when unexpected dirty layout is encountered (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add todos Created 4 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/frame/FrameView.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 void clearLayoutSubtreeRoot(const LayoutObject&); 134 void clearLayoutSubtreeRoot(const LayoutObject&);
135 void addOrthogonalWritingModeRoot(LayoutBox&); 135 void addOrthogonalWritingModeRoot(LayoutBox&);
136 void removeOrthogonalWritingModeRoot(LayoutBox&); 136 void removeOrthogonalWritingModeRoot(LayoutBox&);
137 bool hasOrthogonalWritingModeRoots() const; 137 bool hasOrthogonalWritingModeRoots() const;
138 void layoutOrthogonalWritingModeRoots(); 138 void layoutOrthogonalWritingModeRoots();
139 int layoutCount() const { return m_layoutCount; } 139 int layoutCount() const { return m_layoutCount; }
140 140
141 void countObjectsNeedingLayout(unsigned& needsLayoutObjects, unsigned& total Objects, bool& isPartial); 141 void countObjectsNeedingLayout(unsigned& needsLayoutObjects, unsigned& total Objects, bool& isPartial);
142 142
143 bool needsLayout() const; 143 bool needsLayout() const;
144 void checkDoesNotNeedLayout() const; 144 bool checkDoesNotNeedLayout() const;
145 void setNeedsLayout(); 145 void setNeedsLayout();
146 146
147 void setNeedsUpdateWidgetGeometries() { m_needsUpdateWidgetGeometries = true ; } 147 void setNeedsUpdateWidgetGeometries() { m_needsUpdateWidgetGeometries = true ; }
148 148
149 // Methods for getting/setting the size Blink should use to layout the conte nts. 149 // Methods for getting/setting the size Blink should use to layout the conte nts.
150 // NOTE: Scrollbar exclusion is based on the FrameView's scrollbars. To excl ude 150 // NOTE: Scrollbar exclusion is based on the FrameView's scrollbars. To excl ude
151 // scrollbars on the root PaintLayer, use LayoutView::layoutSize. 151 // scrollbars on the root PaintLayer, use LayoutView::layoutSize.
152 IntSize layoutSize(IncludeScrollbarsInRect = ExcludeScrollbars) const; 152 IntSize layoutSize(IncludeScrollbarsInRect = ExcludeScrollbars) const;
153 void setLayoutSize(const IntSize&); 153 void setLayoutSize(const IntSize&);
154 154
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
773 void setNeedsUpdateViewportIntersection(); 773 void setNeedsUpdateViewportIntersection();
774 void updateViewportIntersectionsForSubtree(DocumentLifecycle::LifecycleState targetState); 774 void updateViewportIntersectionsForSubtree(DocumentLifecycle::LifecycleState targetState);
775 void updateViewportIntersectionIfNeeded(); 775 void updateViewportIntersectionIfNeeded();
776 void notifyRenderThrottlingObservers(); 776 void notifyRenderThrottlingObservers();
777 void updateThrottlingStatus(); 777 void updateThrottlingStatus();
778 void notifyResizeObservers(); 778 void notifyResizeObservers();
779 779
780 // PaintInvalidationCapableScrollableArea 780 // PaintInvalidationCapableScrollableArea
781 LayoutScrollbarPart* resizer() const override { return nullptr; } 781 LayoutScrollbarPart* resizer() const override { return nullptr; }
782 782
783 void checkLayoutInvalidationIsAllowed() const; 783 bool checkLayoutInvalidationIsAllowed() const;
784 784
785 LayoutSize m_size; 785 LayoutSize m_size;
786 786
787 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet; 787 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet;
788 EmbeddedObjectSet m_partUpdateSet; 788 EmbeddedObjectSet m_partUpdateSet;
789 789
790 // FIXME: These are just "children" of the FrameView and should be Member<Wi dget> instead. 790 // FIXME: These are just "children" of the FrameView and should be Member<Wi dget> instead.
791 HashSet<RefPtr<LayoutPart>> m_parts; 791 HashSet<RefPtr<LayoutPart>> m_parts;
792 792
793 // The RefPtr cycle between LocalFrame and FrameView is broken 793 // The RefPtr cycle between LocalFrame and FrameView is broken
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 963 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
964 setIsVisuallyNonEmpty(); 964 setIsVisuallyNonEmpty();
965 } 965 }
966 966
967 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 967 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
968 DEFINE_TYPE_CASTS(FrameView, ScrollableArea, scrollableArea, scrollableArea->isF rameView(), scrollableArea.isFrameView()); 968 DEFINE_TYPE_CASTS(FrameView, ScrollableArea, scrollableArea, scrollableArea->isF rameView(), scrollableArea.isFrameView());
969 969
970 } // namespace blink 970 } // namespace blink
971 971
972 #endif // FrameView_h 972 #endif // FrameView_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698