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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutTableCell.cpp

Issue 2791433003: Fix Border collapsing with colpsan / rowspan cells
Patch Set: bug 2902 Created 3 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, 2007, 2008, 2009 Apple Inc. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc.
8 * All rights reserved. 8 * All rights reserved.
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 1332 matching lines...) Expand 10 before | Expand all | Expand 10 after
1343 collapsed_border_values_->SetCollapsedBorderValues(new_values); 1343 collapsed_border_values_->SetCollapsedBorderValues(new_values);
1344 } 1344 }
1345 1345
1346 // If collapsed borders changed, invalidate the cell's display item client on 1346 // If collapsed borders changed, invalidate the cell's display item client on
1347 // the table's backing. 1347 // the table's backing.
1348 // TODO(crbug.com/451090#c5): Need a way to invalidate/repaint the borders 1348 // TODO(crbug.com/451090#c5): Need a way to invalidate/repaint the borders
1349 // only. 1349 // only.
1350 if (changed) { 1350 if (changed) {
1351 ObjectPaintInvalidator(*Table()) 1351 ObjectPaintInvalidator(*Table())
1352 .SlowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( 1352 .SlowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(
1353 *this, kPaintInvalidationStyleChange); 1353 *Section(), kPaintInvalidationStyleChange);
1354 } 1354 }
1355 1355
1356 AddBorderStyle(border_values, new_values.StartBorder()); 1356 AddBorderStyle(border_values, new_values.StartBorder());
1357 AddBorderStyle(border_values, new_values.EndBorder()); 1357 AddBorderStyle(border_values, new_values.EndBorder());
1358 AddBorderStyle(border_values, new_values.BeforeBorder()); 1358 AddBorderStyle(border_values, new_values.BeforeBorder());
1359 AddBorderStyle(border_values, new_values.AfterBorder()); 1359 AddBorderStyle(border_values, new_values.AfterBorder());
1360 } 1360 }
1361 1361
1362 void LayoutTableCell::SortBorderValues( 1362 void LayoutTableCell::SortBorderValues(
1363 LayoutTable::CollapsedBorderValues& border_values) { 1363 LayoutTable::CollapsedBorderValues& border_values) {
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1481 } 1481 }
1482 1482
1483 bool LayoutTableCell::HasLineIfEmpty() const { 1483 bool LayoutTableCell::HasLineIfEmpty() const {
1484 if (GetNode() && HasEditableStyle(*GetNode())) 1484 if (GetNode() && HasEditableStyle(*GetNode()))
1485 return true; 1485 return true;
1486 1486
1487 return LayoutBlock::HasLineIfEmpty(); 1487 return LayoutBlock::HasLineIfEmpty();
1488 } 1488 }
1489 1489
1490 } // namespace blink 1490 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutTable.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutTableCol.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698