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/layout/LayoutObject.cpp

Issue 2144413002: Fix invalidation under scroll, and cull rect testing, of flipped-block writing mode elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: none Created 4 years, 5 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 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
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 1367 matching lines...) Expand 10 before | Expand all | Expand 10 after
1378 const LayoutBoxModelObject& paintInvalidationContainer = paintInvalidationSt ate.paintInvalidationContainer(); 1378 const LayoutBoxModelObject& paintInvalidationContainer = paintInvalidationSt ate.paintInvalidationContainer();
1379 ASSERT(paintInvalidationContainer == containerForPaintInvalidation()); 1379 ASSERT(paintInvalidationContainer == containerForPaintInvalidation());
1380 1380
1381 const LayoutRect oldBounds = previousPaintInvalidationRect(); 1381 const LayoutRect oldBounds = previousPaintInvalidationRect();
1382 const LayoutPoint oldLocation = RuntimeEnabledFeatures::slimmingPaintInvalid ationEnabled() ? LayoutPoint() : previousPositionFromPaintInvalidationBacking(); 1382 const LayoutPoint oldLocation = RuntimeEnabledFeatures::slimmingPaintInvalid ationEnabled() ? LayoutPoint() : previousPositionFromPaintInvalidationBacking();
1383 LayoutRect newBounds = paintInvalidationState.computePaintInvalidationRectIn Backing(); 1383 LayoutRect newBounds = paintInvalidationState.computePaintInvalidationRectIn Backing();
1384 LayoutPoint newLocation = RuntimeEnabledFeatures::slimmingPaintInvalidationE nabled() ? LayoutPoint() : paintInvalidationState.computePositionFromPaintInvali dationBacking(); 1384 LayoutPoint newLocation = RuntimeEnabledFeatures::slimmingPaintInvalidationE nabled() ? LayoutPoint() : paintInvalidationState.computePositionFromPaintInvali dationBacking();
1385 1385
1386 // Composited scrolling should not be included in the bounds and position tr acking, because the graphics layer backing the scroller 1386 // Composited scrolling should not be included in the bounds and position tr acking, because the graphics layer backing the scroller
1387 // does not move on scroll. 1387 // does not move on scroll.
1388 // TODO(chrishtr): can we just avoid adding in the scroll in the first place in LayoutBox::mapScrollingContentsRectToBoxSpace?
1388 if (compositedScrollsWithRespectTo(paintInvalidationContainer)) { 1389 if (compositedScrollsWithRespectTo(paintInvalidationContainer)) {
1389 LayoutSize inverseOffset(toLayoutBox(&paintInvalidationContainer)->scrol ledContentOffset()); 1390 LayoutSize inverseOffset(toLayoutBox(&paintInvalidationContainer)->scrol ledContentOffset());
1390 newLocation.move(inverseOffset); 1391 newLocation.move(inverseOffset);
1391 newBounds.move(inverseOffset); 1392 newBounds.move(inverseOffset);
1392 } 1393 }
1393 1394
1394 setPreviousPaintInvalidationRect(newBounds); 1395 setPreviousPaintInvalidationRect(newBounds);
1395 if (!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) 1396 if (!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled())
1396 setPreviousPositionFromPaintInvalidationBacking(newLocation); 1397 setPreviousPositionFromPaintInvalidationBacking(newLocation);
1397 1398
(...skipping 2279 matching lines...) Expand 10 before | Expand all | Expand 10 after
3677 const blink::LayoutObject* root = object1; 3678 const blink::LayoutObject* root = object1;
3678 while (root->parent()) 3679 while (root->parent())
3679 root = root->parent(); 3680 root = root->parent();
3680 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3681 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3681 } else { 3682 } else {
3682 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); 3683 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)");
3683 } 3684 }
3684 } 3685 }
3685 3686
3686 #endif 3687 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698