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

Side by Side Diff: Source/core/paint/ViewDisplayListTest.cpp

Issue 898783003: Move rendering/RenderLayer* to layout/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/paint/ScrollableAreaPainter.cpp ('k') | Source/core/rendering/ClipRectsCache.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "config.h" 5 #include "config.h"
6 6
7 #include "core/layout/compositing/RenderLayerCompositor.h" 7 #include "core/layout/compositing/LayerCompositor.h"
8 #include "core/paint/LayerClipRecorder.h" 8 #include "core/paint/LayerClipRecorder.h"
9 #include "core/paint/LayerPainter.h" 9 #include "core/paint/LayerPainter.h"
10 #include "core/paint/RenderDrawingRecorder.h" 10 #include "core/paint/RenderDrawingRecorder.h"
11 #include "core/rendering/InlineTextBox.h" 11 #include "core/rendering/InlineTextBox.h"
12 #include "core/rendering/RenderText.h" 12 #include "core/rendering/RenderText.h"
13 #include "core/rendering/RenderView.h" 13 #include "core/rendering/RenderView.h"
14 #include "core/rendering/RenderingTestHelper.h" 14 #include "core/rendering/RenderingTestHelper.h"
15 #include "platform/graphics/GraphicsContext.h" 15 #include "platform/graphics/GraphicsContext.h"
16 #include "platform/graphics/GraphicsLayer.h" 16 #include "platform/graphics/GraphicsLayer.h"
17 #include "platform/graphics/paint/DisplayItemList.h" 17 #include "platform/graphics/paint/DisplayItemList.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 79
80 void drawRect(GraphicsContext* context, RenderObject* renderer, PaintPhase phase , const FloatRect& bound) 80 void drawRect(GraphicsContext* context, RenderObject* renderer, PaintPhase phase , const FloatRect& bound)
81 { 81 {
82 RenderDrawingRecorder drawingRecorder(context, *renderer, phase, bound); 82 RenderDrawingRecorder drawingRecorder(context, *renderer, phase, bound);
83 if (drawingRecorder.canUseCachedDrawing()) 83 if (drawingRecorder.canUseCachedDrawing())
84 return; 84 return;
85 IntRect rect(0, 0, 10, 10); 85 IntRect rect(0, 0, 10, 10);
86 context->drawRect(rect); 86 context->drawRect(rect);
87 } 87 }
88 88
89 void drawClippedRect(GraphicsContext* context, RenderLayerModelObject* renderer, PaintPhase phase, const FloatRect& bound) 89 void drawClippedRect(GraphicsContext* context, LayoutLayerModelObject* renderer, PaintPhase phase, const FloatRect& bound)
90 { 90 {
91 IntRect rect(1, 1, 9, 9); 91 IntRect rect(1, 1, 9, 9);
92 ClipRect clipRect(rect); 92 ClipRect clipRect(rect);
93 LayerClipRecorder layerClipRecorder(renderer, context, DisplayItem::ClipLaye rForeground, clipRect, 0, LayoutPoint(), PaintLayerFlags()); 93 LayerClipRecorder layerClipRecorder(renderer, context, DisplayItem::ClipLaye rForeground, clipRect, 0, LayoutPoint(), PaintLayerFlags());
94 drawRect(context, renderer, phase, bound); 94 drawRect(context, renderer, phase, bound);
95 } 95 }
96 96
97 TEST_F(ViewDisplayListTest, ViewDisplayListTest_NestedRecorders) 97 TEST_F(ViewDisplayListTest, ViewDisplayListTest_NestedRecorders)
98 { 98 {
99 GraphicsContext context(nullptr, &rootDisplayItemList()); 99 GraphicsContext context(nullptr, &rootDisplayItemList());
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 drawRect(&context, first, PaintPhaseOutline, FloatRect(100, 100, 150, 150)); 395 drawRect(&context, first, PaintPhaseOutline, FloatRect(100, 100, 150, 150));
396 396
397 EXPECT_DISPLAY_LIST(rootDisplayItemList().paintList(), 2, 397 EXPECT_DISPLAY_LIST(rootDisplayItemList().paintList(), 2,
398 TestDisplayItem(first, DisplayItem::paintPhaseToDrawingType(PaintPhaseBl ockBackground)), 398 TestDisplayItem(first, DisplayItem::paintPhaseToDrawingType(PaintPhaseBl ockBackground)),
399 TestDisplayItem(first, DisplayItem::paintPhaseToDrawingType(PaintPhaseOu tline))); 399 TestDisplayItem(first, DisplayItem::paintPhaseToDrawingType(PaintPhaseOu tline)));
400 } 400 }
401 401
402 TEST_F(ViewDisplayListTest, ViewDisplayListTest_UpdateClip) 402 TEST_F(ViewDisplayListTest, ViewDisplayListTest_UpdateClip)
403 { 403 {
404 setBodyInnerHTML("<div id='first'><div id='second'></div></div>"); 404 setBodyInnerHTML("<div id='first'><div id='second'></div></div>");
405 RenderLayerModelObject* firstRenderer = toRenderLayerModelObject(document(). body()->firstChild()->renderer()); 405 LayoutLayerModelObject* firstRenderer = toLayoutLayerModelObject(document(). body()->firstChild()->renderer());
406 RenderLayerModelObject* secondRenderer = toRenderLayerModelObject(document() .body()->firstChild()->firstChild()->renderer()); 406 LayoutLayerModelObject* secondRenderer = toLayoutLayerModelObject(document() .body()->firstChild()->firstChild()->renderer());
407 GraphicsContext context(nullptr, &rootDisplayItemList()); 407 GraphicsContext context(nullptr, &rootDisplayItemList());
408 408
409 ClipRect firstClipRect(IntRect(1, 1, 2, 2)); 409 ClipRect firstClipRect(IntRect(1, 1, 2, 2));
410 { 410 {
411 LayerClipRecorder layerClipRecorder(firstRenderer, &context, DisplayItem ::ClipLayerForeground, firstClipRect, 0, LayoutPoint(), PaintLayerFlags()); 411 LayerClipRecorder layerClipRecorder(firstRenderer, &context, DisplayItem ::ClipLayerForeground, firstClipRect, 0, LayoutPoint(), PaintLayerFlags());
412 drawRect(&context, firstRenderer, PaintPhaseBlockBackground, FloatRect(1 00, 100, 150, 150)); 412 drawRect(&context, firstRenderer, PaintPhaseBlockBackground, FloatRect(1 00, 100, 150, 150));
413 drawRect(&context, secondRenderer, PaintPhaseBlockBackground, FloatRect( 100, 100, 150, 150)); 413 drawRect(&context, secondRenderer, PaintPhaseBlockBackground, FloatRect( 100, 100, 150, 150));
414 } 414 }
415 rootDisplayItemList().endNewPaints(); 415 rootDisplayItemList().endNewPaints();
416 416
(...skipping 26 matching lines...) Expand all
443 TestDisplayItem(secondRenderer, DisplayItem::ClipLayerForeground), 443 TestDisplayItem(secondRenderer, DisplayItem::ClipLayerForeground),
444 TestDisplayItem(secondRenderer, DisplayItem::paintPhaseToDrawingType(Pai ntPhaseBlockBackground)), 444 TestDisplayItem(secondRenderer, DisplayItem::paintPhaseToDrawingType(Pai ntPhaseBlockBackground)),
445 TestDisplayItem(secondRenderer, DisplayItem::clipTypeToEndClipType(Displ ayItem::ClipLayerForeground))); 445 TestDisplayItem(secondRenderer, DisplayItem::clipTypeToEndClipType(Displ ayItem::ClipLayerForeground)));
446 } 446 }
447 447
448 TEST_F(ViewDisplayListTest, CachedDisplayItems) 448 TEST_F(ViewDisplayListTest, CachedDisplayItems)
449 { 449 {
450 RuntimeEnabledFeatures::setSlimmingPaintDisplayItemCacheEnabled(true); 450 RuntimeEnabledFeatures::setSlimmingPaintDisplayItemCacheEnabled(true);
451 451
452 setBodyInnerHTML("<div id='first'><div id='second'></div></div>"); 452 setBodyInnerHTML("<div id='first'><div id='second'></div></div>");
453 RenderLayerModelObject* firstRenderer = toRenderLayerModelObject(document(). body()->firstChild()->renderer()); 453 LayoutLayerModelObject* firstRenderer = toLayoutLayerModelObject(document(). body()->firstChild()->renderer());
454 RenderLayerModelObject* secondRenderer = toRenderLayerModelObject(document() .body()->firstChild()->firstChild()->renderer()); 454 LayoutLayerModelObject* secondRenderer = toLayoutLayerModelObject(document() .body()->firstChild()->firstChild()->renderer());
455 GraphicsContext context(nullptr, &rootDisplayItemList()); 455 GraphicsContext context(nullptr, &rootDisplayItemList());
456 456
457 drawRect(&context, firstRenderer, PaintPhaseBlockBackground, FloatRect(100, 100, 150, 150)); 457 drawRect(&context, firstRenderer, PaintPhaseBlockBackground, FloatRect(100, 100, 150, 150));
458 drawRect(&context, secondRenderer, PaintPhaseBlockBackground, FloatRect(100, 100, 150, 150)); 458 drawRect(&context, secondRenderer, PaintPhaseBlockBackground, FloatRect(100, 100, 150, 150));
459 rootDisplayItemList().endNewPaints(); 459 rootDisplayItemList().endNewPaints();
460 460
461 EXPECT_DISPLAY_LIST(rootDisplayItemList().paintList(), 2, 461 EXPECT_DISPLAY_LIST(rootDisplayItemList().paintList(), 2,
462 TestDisplayItem(firstRenderer, DisplayItem::paintPhaseToDrawingType(Pain tPhaseBlockBackground)), 462 TestDisplayItem(firstRenderer, DisplayItem::paintPhaseToDrawingType(Pain tPhaseBlockBackground)),
463 TestDisplayItem(secondRenderer, DisplayItem::paintPhaseToDrawingType(Pai ntPhaseBlockBackground))); 463 TestDisplayItem(secondRenderer, DisplayItem::paintPhaseToDrawingType(Pai ntPhaseBlockBackground)));
464 EXPECT_TRUE(rootDisplayItemList().clientCacheIsValid(firstRenderer->displayI temClient())); 464 EXPECT_TRUE(rootDisplayItemList().clientCacheIsValid(firstRenderer->displayI temClient()));
(...skipping 21 matching lines...) Expand all
486 486
487 rootDisplayItemList().invalidateAll(); 487 rootDisplayItemList().invalidateAll();
488 EXPECT_FALSE(rootDisplayItemList().clientCacheIsValid(firstRenderer->display ItemClient())); 488 EXPECT_FALSE(rootDisplayItemList().clientCacheIsValid(firstRenderer->display ItemClient()));
489 EXPECT_FALSE(rootDisplayItemList().clientCacheIsValid(secondRenderer->displa yItemClient())); 489 EXPECT_FALSE(rootDisplayItemList().clientCacheIsValid(secondRenderer->displa yItemClient()));
490 } 490 }
491 491
492 TEST_F(ViewDisplayListTest, FullDocumentPaintingWithCaret) 492 TEST_F(ViewDisplayListTest, FullDocumentPaintingWithCaret)
493 { 493 {
494 setBodyInnerHTML("<div id='div' contentEditable='true'>XYZ</div>"); 494 setBodyInnerHTML("<div id='div' contentEditable='true'>XYZ</div>");
495 RenderView* renderView = document().renderView(); 495 RenderView* renderView = document().renderView();
496 RenderLayer* rootLayer = renderView->layer(); 496 Layer* rootLayer = renderView->layer();
497 RenderObject* htmlRenderer = document().documentElement()->renderer(); 497 RenderObject* htmlRenderer = document().documentElement()->renderer();
498 Element* div = toElement(document().body()->firstChild()); 498 Element* div = toElement(document().body()->firstChild());
499 RenderObject* divRenderer = document().body()->firstChild()->renderer(); 499 RenderObject* divRenderer = document().body()->firstChild()->renderer();
500 InlineTextBox* textInlineBox = toRenderText(div->firstChild()->renderer())-> firstTextBox(); 500 InlineTextBox* textInlineBox = toRenderText(div->firstChild()->renderer())-> firstTextBox();
501 501
502 SkCanvas canvas(800, 600); 502 SkCanvas canvas(800, 600);
503 GraphicsContext context(&canvas, &rootDisplayItemList()); 503 GraphicsContext context(&canvas, &rootDisplayItemList());
504 LayerPaintingInfo paintingInfo(rootLayer, LayoutRect(0, 0, 800, 600), PaintB ehaviorNormal, LayoutSize()); 504 LayerPaintingInfo paintingInfo(rootLayer, LayoutRect(0, 0, 800, 600), PaintB ehaviorNormal, LayoutSize());
505 LayerPainter(*rootLayer).paintLayerContents(&context, paintingInfo, PaintLay erPaintingCompositingAllPhases); 505 LayerPainter(*rootLayer).paintLayerContents(&context, paintingInfo, PaintLay erPaintingCompositingAllPhases);
506 rootDisplayItemList().endNewPaints(); 506 rootDisplayItemList().endNewPaints();
507 507
508 EXPECT_DISPLAY_LIST(rootDisplayItemList().paintList(), 2, 508 EXPECT_DISPLAY_LIST(rootDisplayItemList().paintList(), 2,
509 TestDisplayItem(htmlRenderer, DisplayItem::BoxDecorationBackground), 509 TestDisplayItem(htmlRenderer, DisplayItem::BoxDecorationBackground),
510 TestDisplayItem(textInlineBox->displayItemClient(), DisplayItem::paintPh aseToDrawingType(PaintPhaseForeground))); 510 TestDisplayItem(textInlineBox->displayItemClient(), DisplayItem::paintPh aseToDrawingType(PaintPhaseForeground)));
511 511
512 div->focus(); 512 div->focus();
513 document().view()->updateLayoutAndStyleForPainting(); 513 document().view()->updateLayoutAndStyleForPainting();
514 LayerPainter(*rootLayer).paintLayerContents(&context, paintingInfo, PaintLay erPaintingCompositingAllPhases); 514 LayerPainter(*rootLayer).paintLayerContents(&context, paintingInfo, PaintLay erPaintingCompositingAllPhases);
515 rootDisplayItemList().endNewPaints(); 515 rootDisplayItemList().endNewPaints();
516 516
517 EXPECT_DISPLAY_LIST(rootDisplayItemList().paintList(), 3, 517 EXPECT_DISPLAY_LIST(rootDisplayItemList().paintList(), 3,
518 TestDisplayItem(htmlRenderer, DisplayItem::BoxDecorationBackground), 518 TestDisplayItem(htmlRenderer, DisplayItem::BoxDecorationBackground),
519 TestDisplayItem(textInlineBox->displayItemClient(), DisplayItem::paintPh aseToDrawingType(PaintPhaseForeground)), 519 TestDisplayItem(textInlineBox->displayItemClient(), DisplayItem::paintPh aseToDrawingType(PaintPhaseForeground)),
520 TestDisplayItem(divRenderer, DisplayItem::paintPhaseToDrawingType(PaintP haseCaret))); 520 TestDisplayItem(divRenderer, DisplayItem::paintPhaseToDrawingType(PaintP haseCaret)));
521 } 521 }
522 522
523 } // anonymous namespace 523 } // anonymous namespace
524 } // namespace blink 524 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/paint/ScrollableAreaPainter.cpp ('k') | Source/core/rendering/ClipRectsCache.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698