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

Side by Side Diff: third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp

Issue 2469903002: Use appropriate background object visual rect for composited table cell backgrounds. (Closed)
Patch Set: Include row background client when invalidating. Created 4 years, 1 month 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/paint/TablePaintInvalidator.h" 5 #include "core/paint/TablePaintInvalidator.h"
6 6
7 #include "core/layout/LayoutTable.h" 7 #include "core/layout/LayoutTable.h"
8 #include "core/layout/LayoutTableCell.h" 8 #include "core/layout/LayoutTableCell.h"
9 #include "core/layout/LayoutTableCol.h" 9 #include "core/layout/LayoutTableCol.h"
10 #include "core/layout/LayoutTableRow.h" 10 #include "core/layout/LayoutTableRow.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 columnGroup->backgroundChangedSinceLastPaintInvalidation()) || 68 columnGroup->backgroundChangedSinceLastPaintInvalidation()) ||
69 (column && 69 (column &&
70 column->backgroundChangedSinceLastPaintInvalidation())) { 70 column->backgroundChangedSinceLastPaintInvalidation())) {
71 sectionInvalidator 71 sectionInvalidator
72 .slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( 72 .slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(
73 *cell, PaintInvalidationStyleChange); 73 *cell, PaintInvalidationStyleChange);
74 invalidated = true; 74 invalidated = true;
75 } 75 }
76 } 76 }
77 if ((!invalidated || row->hasSelfPaintingLayer()) && 77 if ((!invalidated || row->hasSelfPaintingLayer()) &&
78 row->backgroundChangedSinceLastPaintInvalidation()) 78 row->backgroundChangedSinceLastPaintInvalidation()) {
79 ObjectPaintInvalidator(*row) 79 ObjectPaintInvalidator invalidator = ObjectPaintInvalidator(*row);
80 invalidator
80 .slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( 81 .slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(
81 *cell, PaintInvalidationStyleChange); 82 *cell, PaintInvalidationStyleChange);
83 if (cell->usesCompositedCellDisplayItemClients()) {
84 invalidator.invalidateDisplayItemClient(
85 *cell->rowBackgroundDisplayItemClient(),
86 PaintInvalidationStyleChange);
87 }
88 }
82 } 89 }
83 } 90 }
84 } 91 }
85 92
86 return reason; 93 return reason;
87 } 94 }
88 95
89 } // namespace blink 96 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698