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

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

Issue 2816873002: Update PaintLayer size during layout, not after.
Patch Set: Speculatively remove call to UpdateScrollbars() Created 3 years, 7 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/HTMLNames.h" 5 #include "core/HTMLNames.h"
6 #include "core/frame/FrameView.h" 6 #include "core/frame/FrameView.h"
7 #include "core/layout/LayoutTestHelper.h" 7 #include "core/layout/LayoutTestHelper.h"
8 #include "core/layout/LayoutView.h" 8 #include "core/layout/LayoutView.h"
9 #include "core/paint/PaintLayer.h" 9 #include "core/paint/PaintLayer.h"
10 #include "platform/graphics/GraphicsLayer.h" 10 #include "platform/graphics/GraphicsLayer.h"
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 const auto& raster_invalidations = 375 const auto& raster_invalidations =
376 GetRasterInvalidationTracking()->tracked_raster_invalidations; 376 GetRasterInvalidationTracking()->tracked_raster_invalidations;
377 ASSERT_EQ(2u, raster_invalidations.size()); 377 ASSERT_EQ(2u, raster_invalidations.size());
378 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[0].rect); 378 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[0].rect);
379 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()), 379 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()),
380 raster_invalidations[0].client); 380 raster_invalidations[0].client);
381 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 381 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason);
382 EXPECT_EQ( 382 EXPECT_EQ(
383 static_cast<const DisplayItemClient*>(content->GetLayoutObject()->View()), 383 static_cast<const DisplayItemClient*>(content->GetLayoutObject()->View()),
384 raster_invalidations[1].client); 384 raster_invalidations[1].client);
385 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 385 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[1].rect);
386 // TODO(skobes): Treat LayoutView in the same way as normal objects having 386 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason);
387 // background-attachment: local. crbug.com/568847.
388 EXPECT_EQ(IntRect(0, 0, 100, 200), raster_invalidations[1].rect);
389 EXPECT_EQ(kPaintInvalidationFull, raster_invalidations[1].reason);
390 } else {
391 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[1].rect);
392 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason);
393 }
394 GetDocument().View()->SetTracksPaintInvalidations(false); 387 GetDocument().View()->SetTracksPaintInvalidations(false);
395 } 388 }
396 389
397 TEST_P(BoxPaintInvalidatorTest, NonCompositedLayoutViewGradientResize) { 390 TEST_P(BoxPaintInvalidatorTest, NonCompositedLayoutViewGradientResize) {
398 SetBodyInnerHTML( 391 SetBodyInnerHTML(
399 "<style>" 392 "<style>"
400 " body { margin: 0 }" 393 " body { margin: 0 }"
401 " iframe { display: block; width: 100px; height: 100px; border: none; }" 394 " iframe { display: block; width: 100px; height: 100px; border: none; }"
402 "</style>" 395 "</style>"
403 "<iframe id='iframe'></iframe>"); 396 "<iframe id='iframe'></iframe>");
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 raster_invalidations = 432 raster_invalidations =
440 &GetRasterInvalidationTracking()->tracked_raster_invalidations; 433 &GetRasterInvalidationTracking()->tracked_raster_invalidations;
441 ASSERT_EQ(2u, raster_invalidations->size()); 434 ASSERT_EQ(2u, raster_invalidations->size());
442 EXPECT_EQ(IntRect(0, 100, 100, 100), (*raster_invalidations)[0].rect); 435 EXPECT_EQ(IntRect(0, 100, 100, 100), (*raster_invalidations)[0].rect);
443 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()), 436 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()),
444 (*raster_invalidations)[0].client); 437 (*raster_invalidations)[0].client);
445 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 438 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason);
446 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view), 439 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view),
447 (*raster_invalidations)[1].client); 440 (*raster_invalidations)[1].client);
448 EXPECT_EQ(IntRect(0, 0, 100, 200), (*raster_invalidations)[1].rect); 441 EXPECT_EQ(IntRect(0, 0, 100, 200), (*raster_invalidations)[1].rect);
449 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 442 EXPECT_EQ(kPaintInvalidationViewBackground,
450 // TODO(skobes): Treat LayoutView in the same way as normal objects having 443 (*raster_invalidations)[1].reason);
451 // background-attachment: local. crbug.com/568847.
452 EXPECT_EQ(kPaintInvalidationFull, (*raster_invalidations)[1].reason);
453 } else {
454 EXPECT_EQ(kPaintInvalidationViewBackground,
455 (*raster_invalidations)[1].reason);
456 }
457 GetDocument().View()->SetTracksPaintInvalidations(false); 444 GetDocument().View()->SetTracksPaintInvalidations(false);
458 } 445 }
459 446
460 TEST_P(BoxPaintInvalidatorTest, CompositedBackgroundAttachmentLocalResize) { 447 TEST_P(BoxPaintInvalidatorTest, CompositedBackgroundAttachmentLocalResize) {
461 EnableCompositing(); 448 EnableCompositing();
462 449
463 Element* target = GetDocument().getElementById("target"); 450 Element* target = GetDocument().getElementById("target");
464 target->setAttribute(HTMLNames::classAttr, "border local-background"); 451 target->setAttribute(HTMLNames::classAttr, "border local-background");
465 target->setAttribute(HTMLNames::styleAttr, "will-change: transform"); 452 target->setAttribute(HTMLNames::styleAttr, "will-change: transform");
466 target->setInnerHTML( 453 target->setInnerHTML(
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 GetRasterInvalidationTracking()->tracked_raster_invalidations; 582 GetRasterInvalidationTracking()->tracked_raster_invalidations;
596 ASSERT_EQ(1u, raster_invalidations.size()); 583 ASSERT_EQ(1u, raster_invalidations.size());
597 EXPECT_EQ(IntRect(0, 120, 70, 120), raster_invalidations[0].rect); 584 EXPECT_EQ(IntRect(0, 120, 70, 120), raster_invalidations[0].rect);
598 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 585 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
599 raster_invalidations[0].client); 586 raster_invalidations[0].client);
600 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 587 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason);
601 GetDocument().View()->SetTracksPaintInvalidations(false); 588 GetDocument().View()->SetTracksPaintInvalidations(false);
602 } 589 }
603 590
604 } // namespace blink 591 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/page/ChromeClient.h ('k') | third_party/WebKit/Source/core/paint/PaintLayer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698