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

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

Issue 2745793004: Remove PaintInvalidatorContext::newVisualRect (Closed)
Patch Set: - Created 3 years, 9 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 // 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/PaintInvalidator.h" 5 #include "core/paint/PaintInvalidator.h"
6 6
7 #include "core/editing/FrameSelection.h" 7 #include "core/editing/FrameSelection.h"
8 #include "core/frame/FrameView.h" 8 #include "core/frame/FrameView.h"
9 #include "core/frame/LocalFrame.h" 9 #include "core/frame/LocalFrame.h"
10 #include "core/frame/Settings.h" 10 #include "core/frame/Settings.h"
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 context.forcedSubtreeInvalidationFlags |= 360 context.forcedSubtreeInvalidationFlags |=
361 PaintInvalidatorContext::ForcedSubtreeSlowPathRect; 361 PaintInvalidatorContext::ForcedSubtreeSlowPathRect;
362 } 362 }
363 363
364 ObjectPaintInvalidator objectPaintInvalidator(object); 364 ObjectPaintInvalidator objectPaintInvalidator(object);
365 context.oldVisualRect = object.visualRect(); 365 context.oldVisualRect = object.visualRect();
366 context.oldLocation = objectPaintInvalidator.locationInBacking(); 366 context.oldLocation = objectPaintInvalidator.locationInBacking();
367 367
368 IntSize adjustment = object.scrollAdjustmentForPaintInvalidation( 368 IntSize adjustment = object.scrollAdjustmentForPaintInvalidation(
369 *context.paintInvalidationContainer); 369 *context.paintInvalidationContainer);
370 context.newVisualRect = computeVisualRectInBacking(object, context); 370 LayoutRect newVisualRect = computeVisualRectInBacking(object, context);
371 context.newVisualRect.move(adjustment); 371 newVisualRect.move(adjustment);
372 372
373 if (object.isText()) { 373 if (object.isText()) {
374 // Use visual rect location for LayoutTexts because it suffices to check 374 // Use visual rect location for LayoutTexts because it suffices to check
375 // whether a visual rect changes for layout caused invalidation. 375 // whether a visual rect changes for layout caused invalidation.
376 context.newLocation = context.newVisualRect.location(); 376 context.newLocation = newVisualRect.location();
377 } else { 377 } else {
378 context.newLocation = computeLocationInBacking(object, context); 378 context.newLocation = computeLocationInBacking(object, context);
379 context.newLocation.move(adjustment); 379 context.newLocation.move(adjustment);
380 380
381 // Location of empty visual rect doesn't affect paint invalidation. Set it 381 // Location of empty visual rect doesn't affect paint invalidation. Set it
382 // to newLocation to avoid saving the previous location separately in 382 // to newLocation to avoid saving the previous location separately in
383 // ObjectPaintInvalidator. 383 // ObjectPaintInvalidator.
384 if (context.newVisualRect.isEmpty()) 384 if (newVisualRect.isEmpty())
385 context.newVisualRect.setLocation(context.newLocation); 385 newVisualRect.setLocation(context.newLocation);
386 } 386 }
387 387
388 object.getMutableForPainting().setVisualRect(context.newVisualRect); 388 object.getMutableForPainting().setVisualRect(newVisualRect);
389 objectPaintInvalidator.setLocationInBacking(context.newLocation); 389 objectPaintInvalidator.setLocationInBacking(context.newLocation);
390 } 390 }
391 391
392 void PaintInvalidator::invalidatePaintIfNeeded( 392 void PaintInvalidator::invalidatePaintIfNeeded(
393 FrameView& frameView, 393 FrameView& frameView,
394 PaintInvalidatorContext& context) { 394 PaintInvalidatorContext& context) {
395 LayoutView* layoutView = frameView.layoutView(); 395 LayoutView* layoutView = frameView.layoutView();
396 CHECK(layoutView); 396 CHECK(layoutView);
397 397
398 context.paintInvalidationContainer = 398 context.paintInvalidationContainer =
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 } 491 }
492 } 492 }
493 493
494 void PaintInvalidator::processPendingDelayedPaintInvalidations() { 494 void PaintInvalidator::processPendingDelayedPaintInvalidations() {
495 for (auto target : m_pendingDelayedPaintInvalidations) 495 for (auto target : m_pendingDelayedPaintInvalidations)
496 target->getMutableForPainting().setShouldDoFullPaintInvalidation( 496 target->getMutableForPainting().setShouldDoFullPaintInvalidation(
497 PaintInvalidationDelayedFull); 497 PaintInvalidationDelayedFull);
498 } 498 }
499 499
500 } // namespace blink 500 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698