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

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

Issue 1416053003: Let synchronized painting generate correct paint invalidation rects (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: For landing Created 5 years, 2 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 { 383 {
384 ASSERT(!needsLayout()); 384 ASSERT(!needsLayout());
385 385
386 // We specifically need to issue paint invalidations for the viewRect since other layoutObjects 386 // We specifically need to issue paint invalidations for the viewRect since other layoutObjects
387 // short-circuit on full-paint invalidation. 387 // short-circuit on full-paint invalidation.
388 LayoutRect dirtyRect = viewRect(); 388 LayoutRect dirtyRect = viewRect();
389 if (doingFullPaintInvalidation() && !dirtyRect.isEmpty()) { 389 if (doingFullPaintInvalidation() && !dirtyRect.isEmpty()) {
390 const LayoutBoxModelObject& paintInvalidationContainer = paintInvalidati onState.paintInvalidationContainer(); 390 const LayoutBoxModelObject& paintInvalidationContainer = paintInvalidati onState.paintInvalidationContainer();
391 PaintLayer::mapRectToPaintInvalidationBacking(this, &paintInvalidationCo ntainer, dirtyRect, &paintInvalidationState); 391 PaintLayer::mapRectToPaintInvalidationBacking(this, &paintInvalidationCo ntainer, dirtyRect, &paintInvalidationState);
392 invalidatePaintUsingContainer(paintInvalidationContainer, dirtyRect, Pai ntInvalidationFull); 392 invalidatePaintUsingContainer(paintInvalidationContainer, dirtyRect, Pai ntInvalidationFull);
393 invalidateDisplayItemClients(paintInvalidationContainer, PaintInvalidati onFull, dirtyRect, dirtyRect); 393 invalidateDisplayItemClients(paintInvalidationContainer, PaintInvalidati onFull, &dirtyRect);
394 } 394 }
395 LayoutBlock::invalidateTreeIfNeeded(paintInvalidationState); 395 LayoutBlock::invalidateTreeIfNeeded(paintInvalidationState);
396 } 396 }
397 397
398 static void setShouldDoFullPaintInvalidationForViewAndAllDescendantsInternal(Lay outObject* object) 398 static void setShouldDoFullPaintInvalidationForViewAndAllDescendantsInternal(Lay outObject* object)
399 { 399 {
400 object->setShouldDoFullPaintInvalidation(); 400 object->setShouldDoFullPaintInvalidation();
401 for (LayoutObject* child = object->slowFirstChild(); child; child = child->n extSibling()) { 401 for (LayoutObject* child = object->slowFirstChild(); child; child = child->n extSibling()) {
402 setShouldDoFullPaintInvalidationForViewAndAllDescendantsInternal(child); 402 setShouldDoFullPaintInvalidationForViewAndAllDescendantsInternal(child);
403 } 403 }
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
941 return viewHeight(IncludeScrollbars) / scale; 941 return viewHeight(IncludeScrollbars) / scale;
942 } 942 }
943 943
944 void LayoutView::willBeDestroyed() 944 void LayoutView::willBeDestroyed()
945 { 945 {
946 LayoutBlockFlow::willBeDestroyed(); 946 LayoutBlockFlow::willBeDestroyed();
947 m_compositor.clear(); 947 m_compositor.clear();
948 } 948 }
949 949
950 } // namespace blink 950 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698