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

Side by Side Diff: Source/core/rendering/RenderObject.h

Issue 208143003: Issue trace events to gather repaint information. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 }; 110 };
111 111
112 enum MapCoordinatesMode { 112 enum MapCoordinatesMode {
113 IsFixed = 1 << 0, 113 IsFixed = 1 << 0,
114 UseTransforms = 1 << 1, 114 UseTransforms = 1 << 1,
115 ApplyContainerFlip = 1 << 2, 115 ApplyContainerFlip = 1 << 2,
116 TraverseDocumentBoundaries = 1 << 3, 116 TraverseDocumentBoundaries = 1 << 3,
117 }; 117 };
118 typedef unsigned MapCoordinatesFlags; 118 typedef unsigned MapCoordinatesFlags;
119 119
120 enum InvalidationReason {
121 InvalidationIncremental,
122 InvalidationSelfLayout,
123 InvalidationBorderFitLines,
124 InvalidationBorderRadius,
125 InvalidationBoundsChangeWithBackground,
126 InvalidationBoundsChange,
127 InvalidationScroll,
128 InvalidationSelection,
129 InvalidationLayer,
130 InvalidationRepaint,
131 InvalidationRepaintRectangle
132 };
133
120 const int caretWidth = 1; 134 const int caretWidth = 1;
121 135
122 struct AnnotatedRegionValue { 136 struct AnnotatedRegionValue {
123 bool operator==(const AnnotatedRegionValue& o) const 137 bool operator==(const AnnotatedRegionValue& o) const
124 { 138 {
125 return draggable == o.draggable && bounds == o.bounds; 139 return draggable == o.draggable && bounds == o.bounds;
126 } 140 }
127 141
128 LayoutRect bounds; 142 LayoutRect bounds;
129 bool draggable; 143 bool draggable;
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 TextDecorationStyle style; 808 TextDecorationStyle style;
795 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio nStyleSolid) { } 809 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio nStyleSolid) { }
796 }; 810 };
797 811
798 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu irksMode = false, bool firstlineStyle = false); 812 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu irksMode = false, bool firstlineStyle = false);
799 813
800 // Return the RenderLayerModelObject in the container chain which is respons ible for painting this object, or 0 814 // Return the RenderLayerModelObject in the container chain which is respons ible for painting this object, or 0
801 // if painting is root-relative. This is the container that should be passed to the 'forRepaint' 815 // if painting is root-relative. This is the container that should be passed to the 'forRepaint'
802 // methods. 816 // methods.
803 RenderLayerModelObject* containerForRepaint() const; 817 RenderLayerModelObject* containerForRepaint() const;
818
804 // Actually do the repaint of rect r for this object which has been computed in the coordinate space 819 // Actually do the repaint of rect r for this object which has been computed in the coordinate space
805 // of repaintContainer. If repaintContainer is 0, repaint via the view. 820 // of repaintContainer. If repaintContainer is 0, repaint via the view.
806 void repaintUsingContainer(const RenderLayerModelObject* repaintContainer, c onst IntRect&) const; 821 void repaintUsingContainer(const RenderLayerModelObject* repaintContainer, c onst IntRect&, InvalidationReason) const;
807 822
808 // Repaint the entire object. Called when, e.g., the color of a border chan ges, or when a border 823 // Repaint the entire object. Called when, e.g., the color of a border chan ges, or when a border
809 // style changes. 824 // style changes.
810 void repaint() const; 825 void repaint() const;
811 826
812 // Repaint a specific subrectangle within a given object. The rect |r| is i n the object's coordinate space. 827 // Repaint a specific subrectangle within a given object. The rect |r| is i n the object's coordinate space.
813 void repaintRectangle(const LayoutRect&) const; 828 void repaintRectangle(const LayoutRect&) const;
814 829
815 // Repaint only if our old bounds and new bounds are different. The caller m ay pass in newBounds if they are known. 830 // Repaint only if our old bounds and new bounds are different. The caller m ay pass in newBounds if they are known.
816 bool repaintAfterLayoutIfNeeded(const RenderLayerModelObject* repaintContain er, bool wasSelfLayout, 831 bool repaintAfterLayoutIfNeeded(const RenderLayerModelObject* repaintContain er, bool wasSelfLayout,
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
1061 RenderStyle* cachedFirstLineStyle() const; 1076 RenderStyle* cachedFirstLineStyle() const;
1062 StyleDifference adjustStyleDifference(StyleDifference, unsigned contextSensi tiveProperties) const; 1077 StyleDifference adjustStyleDifference(StyleDifference, unsigned contextSensi tiveProperties) const;
1063 1078
1064 Color selectionColor(int colorProperty) const; 1079 Color selectionColor(int colorProperty) const;
1065 1080
1066 void removeShapeImageClient(ShapeValue*); 1081 void removeShapeImageClient(ShapeValue*);
1067 1082
1068 #ifndef NDEBUG 1083 #ifndef NDEBUG
1069 void checkBlockPositionedObjectsNeedLayout(); 1084 void checkBlockPositionedObjectsNeedLayout();
1070 #endif 1085 #endif
1086 const char* invalidationReasonToString(const InvalidationReason) const;
Julien - ping for review 2014/03/31 20:11:04 Same comment about |const| InvalidationReason.
dsinclair 2014/03/31 20:22:10 Done.
1071 1087
1072 RefPtr<RenderStyle> m_style; 1088 RefPtr<RenderStyle> m_style;
1073 1089
1074 Node* m_node; 1090 Node* m_node;
1075 1091
1076 RenderObject* m_parent; 1092 RenderObject* m_parent;
1077 RenderObject* m_previous; 1093 RenderObject* m_previous;
1078 RenderObject* m_next; 1094 RenderObject* m_next;
1079 1095
1080 #ifndef NDEBUG 1096 #ifndef NDEBUG
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
1426 void showTree(const WebCore::RenderObject*); 1442 void showTree(const WebCore::RenderObject*);
1427 void showLineTree(const WebCore::RenderObject*); 1443 void showLineTree(const WebCore::RenderObject*);
1428 void showRenderTree(const WebCore::RenderObject* object1); 1444 void showRenderTree(const WebCore::RenderObject* object1);
1429 // We don't make object2 an optional parameter so that showRenderTree 1445 // We don't make object2 an optional parameter so that showRenderTree
1430 // can be called from gdb easily. 1446 // can be called from gdb easily.
1431 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2); 1447 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2);
1432 1448
1433 #endif 1449 #endif
1434 1450
1435 #endif // RenderObject_h 1451 #endif // RenderObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698