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

Side by Side Diff: third_party/WebKit/Source/core/editing/CaretDisplayItemClient.cpp

Issue 2707063003: Don't invalidate rect if it's covered by fully invalidated parent's visual rect (Closed)
Patch Set: - Created 3 years, 10 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) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 174
175 void CaretDisplayItemClient::invalidatePaintInPreviousLayoutBlock( 175 void CaretDisplayItemClient::invalidatePaintInPreviousLayoutBlock(
176 const PaintInvalidatorContext& context, 176 const PaintInvalidatorContext& context,
177 PaintInvalidationReason layoutBlockPaintInvalidationReason) { 177 PaintInvalidationReason layoutBlockPaintInvalidationReason) {
178 DCHECK(m_previousLayoutBlock); 178 DCHECK(m_previousLayoutBlock);
179 179
180 ObjectPaintInvalidatorWithContext objectInvalidator(*m_previousLayoutBlock, 180 ObjectPaintInvalidatorWithContext objectInvalidator(*m_previousLayoutBlock,
181 context); 181 context);
182 if (!isImmediateFullPaintInvalidationReason( 182 if (!isImmediateFullPaintInvalidationReason(
183 layoutBlockPaintInvalidationReason)) { 183 layoutBlockPaintInvalidationReason)) {
184 objectInvalidator.invalidatePaintUsingContainer( 184 objectInvalidator.invalidatePaintRectangleWithContext(
185 *context.paintInvalidationContainer, m_previousVisualRect, 185 m_previousVisualRect, PaintInvalidationCaret);
186 PaintInvalidationCaret);
187 } 186 }
188 187
189 context.paintingLayer->setNeedsRepaint(); 188 context.paintingLayer->setNeedsRepaint();
190 objectInvalidator.invalidateDisplayItemClient(*this, PaintInvalidationCaret); 189 objectInvalidator.invalidateDisplayItemClient(*this, PaintInvalidationCaret);
191 m_previousLayoutBlock = nullptr; 190 m_previousLayoutBlock = nullptr;
192 } 191 }
193 192
194 void CaretDisplayItemClient::invalidatePaintInCurrentLayoutBlock( 193 void CaretDisplayItemClient::invalidatePaintInCurrentLayoutBlock(
195 const PaintInvalidatorContext& context, 194 const PaintInvalidatorContext& context,
196 PaintInvalidationReason layoutBlockPaintInvalidationReason) { 195 PaintInvalidationReason layoutBlockPaintInvalidationReason) {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 247
249 String CaretDisplayItemClient::debugName() const { 248 String CaretDisplayItemClient::debugName() const {
250 return "Caret"; 249 return "Caret";
251 } 250 }
252 251
253 LayoutRect CaretDisplayItemClient::visualRect() const { 252 LayoutRect CaretDisplayItemClient::visualRect() const {
254 return m_visualRect; 253 return m_visualRect;
255 } 254 }
256 255
257 } // namespace blink 256 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698