OLD | NEW |
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 | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2013 Apple Inc. All rights |
8 * reserved. | 8 * 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 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 // border spacing, border collapsing, missing cells, etc. For simplicity, | 334 // border spacing, border collapsing, missing cells, etc. For simplicity, |
335 // just conservatively assume all table sections are not opaque. | 335 // just conservatively assume all table sections are not opaque. |
336 bool ForegroundIsKnownToBeOpaqueInRect(const LayoutRect&, | 336 bool ForegroundIsKnownToBeOpaqueInRect(const LayoutRect&, |
337 unsigned) const override { | 337 unsigned) const override { |
338 return false; | 338 return false; |
339 } | 339 } |
340 bool BackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override { | 340 bool BackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override { |
341 return false; | 341 return false; |
342 } | 342 } |
343 | 343 |
344 int PaginationStrutForRow(LayoutTableRow*, LayoutUnit logical_offset) const; | 344 int PaginationStrutForRow(LayoutTableRow*, |
| 345 LayoutUnit logical_offset, |
| 346 bool& can_repeat_footer) const; |
345 | 347 |
346 bool MapToVisualRectInAncestorSpaceInternal( | 348 bool MapToVisualRectInAncestorSpaceInternal( |
347 const LayoutBoxModelObject* ancestor, | 349 const LayoutBoxModelObject* ancestor, |
348 TransformState&, | 350 TransformState&, |
349 VisualRectFlags = kDefaultVisualRectFlags) const override; | 351 VisualRectFlags = kDefaultVisualRectFlags) const override; |
350 | 352 |
351 bool IsRepeatingHeaderGroup() const; | 353 bool IsRepeatingHeaderGroup() const; |
| 354 bool IsRepeatingFooterGroup() const; |
352 | 355 |
353 void UpdateLayout() override; | 356 void UpdateLayout() override; |
354 | 357 |
355 CellSpan FullSectionRowSpan() const { return CellSpan(0, grid_.size()); } | 358 CellSpan FullSectionRowSpan() const { return CellSpan(0, grid_.size()); } |
356 CellSpan FullTableEffectiveColumnSpan() const { | 359 CellSpan FullTableEffectiveColumnSpan() const { |
357 return CellSpan(0, Table()->NumEffectiveColumns()); | 360 return CellSpan(0, Table()->NumEffectiveColumns()); |
358 } | 361 } |
359 | 362 |
360 protected: | 363 protected: |
361 void StyleDidChange(StyleDifference, const ComputedStyle* old_style) override; | 364 void StyleDidChange(StyleDifference, const ComputedStyle* old_style) override; |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 | 505 |
503 // Whether any cell spans multiple rows or cols. | 506 // Whether any cell spans multiple rows or cols. |
504 bool has_spanning_cells_; | 507 bool has_spanning_cells_; |
505 }; | 508 }; |
506 | 509 |
507 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, IsTableSection()); | 510 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, IsTableSection()); |
508 | 511 |
509 } // namespace blink | 512 } // namespace blink |
510 | 513 |
511 #endif // LayoutTableSection_h | 514 #endif // LayoutTableSection_h |
OLD | NEW |