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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/compositing/PaintChunksToCcLayer.cpp

Issue 2743363006: Clean up cc/paint interfaces (Closed)
Patch Set: Fix PaintControllerTest v2 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "platform/graphics/compositing/PaintChunksToCcLayer.h" 5 #include "platform/graphics/compositing/PaintChunksToCcLayer.h"
6 6
7 #include "cc/paint/compositing_display_item.h" 7 #include "cc/paint/compositing_display_item.h"
8 #include "cc/paint/display_item_list.h" 8 #include "cc/paint/display_item_list.h"
9 #include "cc/paint/drawing_display_item.h" 9 #include "cc/paint/drawing_display_item.h"
10 #include "cc/paint/filter_display_item.h" 10 #include "cc/paint/filter_display_item.h"
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 ccList->CreateAndAppendPairedEndItem<cc::EndCompositingDisplayItem>(); 175 ccList->CreateAndAppendPairedEndItem<cc::EndCompositingDisplayItem>();
176 break; 176 break;
177 } 177 }
178 } 178 }
179 } 179 }
180 180
181 static gfx::Rect largeRect(-200000, -200000, 400000, 400000); 181 static gfx::Rect largeRect(-200000, -200000, 400000, 400000);
182 static void appendDisplayItemToCcDisplayItemList(const DisplayItem& displayItem, 182 static void appendDisplayItemToCcDisplayItemList(const DisplayItem& displayItem,
183 cc::DisplayItemList* list) { 183 cc::DisplayItemList* list) {
184 if (DisplayItem::isDrawingType(displayItem.getType())) { 184 if (DisplayItem::isDrawingType(displayItem.getType())) {
185 const PaintRecord* record = 185 sk_sp<const PaintRecord> record =
186 static_cast<const DrawingDisplayItem&>(displayItem).GetPaintRecord(); 186 static_cast<const DrawingDisplayItem&>(displayItem).GetPaintRecord();
187 if (!record) 187 if (!record)
188 return; 188 return;
189 // In theory we would pass the bounds of the record, previously done as: 189 // In theory we would pass the bounds of the record, previously done as:
190 // gfx::Rect bounds = gfx::SkIRectToRect(record->cullRect().roundOut()); 190 // gfx::Rect bounds = gfx::SkIRectToRect(record->cullRect().roundOut());
191 // or use the visual rect directly. However, clip content layers attempt 191 // or use the visual rect directly. However, clip content layers attempt
192 // to raster in a different space than that of the visual rects. We'll be 192 // to raster in a different space than that of the visual rects. We'll be
193 // reworking visual rects further for SPv2, so for now we just pass a 193 // reworking visual rects further for SPv2, so for now we just pass a
194 // visual rect large enough to make sure items raster. 194 // visual rect large enough to make sure items raster.
195 list->CreateAndAppendDrawingItem<cc::DrawingDisplayItem>(largeRect, 195 list->CreateAndAppendDrawingItem<cc::DrawingDisplayItem>(largeRect,
196 sk_ref_sp(record)); 196 std::move(record));
197 } 197 }
198 } 198 }
199 199
200 } // unnamed namespace 200 } // unnamed namespace
201 201
202 scoped_refptr<cc::DisplayItemList> PaintChunksToCcLayer::convert( 202 scoped_refptr<cc::DisplayItemList> PaintChunksToCcLayer::convert(
203 const Vector<const PaintChunk*>& paintChunks, 203 const Vector<const PaintChunk*>& paintChunks,
204 const PropertyTreeState& layerState, 204 const PropertyTreeState& layerState,
205 const gfx::Vector2dF& layerOffset, 205 const gfx::Vector2dF& layerOffset,
206 const DisplayItemList& displayItems, 206 const DisplayItemList& displayItems,
(...skipping 28 matching lines...) Expand all
235 recordPairedEndDisplayItems(endDisplayItems, ccList.get()); 235 recordPairedEndDisplayItems(endDisplayItems, ccList.get());
236 } 236 }
237 237
238 ccList->CreateAndAppendPairedEndItem<cc::EndTransformDisplayItem>(); 238 ccList->CreateAndAppendPairedEndItem<cc::EndTransformDisplayItem>();
239 239
240 ccList->Finalize(); 240 ccList->Finalize();
241 return ccList; 241 return ccList;
242 } 242 }
243 243
244 } // namespace blink 244 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698