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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutTableRow.h

Issue 1809643008: Adding or changing any of box-shadow, outline, or border-image-outset does not need a layout.. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated 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) 1997 Torben Weis (weis@kde.org) 3 * (C) 1997 Torben Weis (weis@kde.org)
4 * (C) 1998 Waldo Bastian (bastian@kde.org) 4 * (C) 1998 Waldo Bastian (bastian@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) 2003, 2004, 2005, 2006, 2009, 2013 Apple Inc. All rights reserv ed. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2013 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 return style()->borderEnd(); 115 return style()->borderEnd();
116 116
117 return style()->borderStart(); 117 return style()->borderStart();
118 } 118 }
119 119
120 const BorderValue& borderAdjoiningStartCell(const LayoutTableCell*) const; 120 const BorderValue& borderAdjoiningStartCell(const LayoutTableCell*) const;
121 const BorderValue& borderAdjoiningEndCell(const LayoutTableCell*) const; 121 const BorderValue& borderAdjoiningEndCell(const LayoutTableCell*) const;
122 122
123 bool nodeAtPoint(HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override; 123 bool nodeAtPoint(HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override;
124 124
125 void addOverflowFromCell(const LayoutTableCell*); 125 void computeOverflow();
126 126
127 const char* name() const override { return "LayoutTableRow"; } 127 const char* name() const override { return "LayoutTableRow"; }
128 128
129 // Whether a row has opaque background depends on many factors, e.g. border spacing, 129 // Whether a row has opaque background depends on many factors, e.g. border spacing,
130 // border collapsing, missing cells, etc. 130 // border collapsing, missing cells, etc.
131 // For simplicity, just conservatively assume all table rows are not opaque. 131 // For simplicity, just conservatively assume all table rows are not opaque.
132 bool foregroundIsKnownToBeOpaqueInRect(const LayoutRect&, unsigned) const ov erride { return false; } 132 bool foregroundIsKnownToBeOpaqueInRect(const LayoutRect&, unsigned) const ov erride { return false; }
133 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override { r eturn false; } 133 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override { r eturn false; }
134 134
135 private: 135 private:
136 void addOverflowFromCell(const LayoutTableCell*);
136 LayoutObjectChildList* virtualChildren() override { return children(); } 137 LayoutObjectChildList* virtualChildren() override { return children(); }
137 const LayoutObjectChildList* virtualChildren() const override { return child ren(); } 138 const LayoutObjectChildList* virtualChildren() const override { return child ren(); }
138 139
139 bool isOfType(LayoutObjectType type) const override { return type == LayoutO bjectTableRow || LayoutBox::isOfType(type); } 140 bool isOfType(LayoutObjectType type) const override { return type == LayoutO bjectTableRow || LayoutBox::isOfType(type); }
140 141
141 void willBeRemovedFromTree() override; 142 void willBeRemovedFromTree() override;
142 143
143 void addChild(LayoutObject* child, LayoutObject* beforeChild = nullptr) over ride; 144 void addChild(LayoutObject* child, LayoutObject* beforeChild = nullptr) over ride;
144 void layout() override; 145 void layout() override;
145 146
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 192
192 inline LayoutTableRow* LayoutTableSection::lastRow() const 193 inline LayoutTableRow* LayoutTableSection::lastRow() const
193 { 194 {
194 ASSERT(children() == virtualChildren()); 195 ASSERT(children() == virtualChildren());
195 return toLayoutTableRow(children()->lastChild()); 196 return toLayoutTableRow(children()->lastChild());
196 } 197 }
197 198
198 } // namespace blink 199 } // namespace blink
199 200
200 #endif // LayoutTableRow_h 201 #endif // LayoutTableRow_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutTable.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutTableRow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698