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

Side by Side Diff: cc/playback/display_item_list.cc

Issue 1163803003: cc: Implement RemoveLast for DisplayItemList. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: danakj comments Created 5 years, 6 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
« no previous file with comments | « cc/playback/display_item_list.h ('k') | cc/quads/list_container_unittest.cc » ('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 "cc/playback/display_item_list.h" 5 #include "cc/playback/display_item_list.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/trace_event/trace_event.h" 9 #include "base/trace_event/trace_event.h"
10 #include "base/trace_event/trace_event_argument.h" 10 #include "base/trace_event/trace_event_argument.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 // Warning: this double-counts SkPicture data if use_cached_picture_ is 152 // Warning: this double-counts SkPicture data if use_cached_picture_ is
153 // also true. 153 // also true.
154 picture_memory_usage_ += item->picture_memory_usage(); 154 picture_memory_usage_ += item->picture_memory_usage();
155 } 155 }
156 } 156 }
157 157
158 if (!retain_individual_display_items_) 158 if (!retain_individual_display_items_)
159 items_.clear(); 159 items_.clear();
160 } 160 }
161 161
162 void DisplayItemList::RemoveLast() {
163 // We cannot remove the last item if it has been squashed into a picture.
164 // The last item should not have been handled by ProcessAppendedItems, so we
165 // don't need to remove it from approximate_op_count_, etc.
166 DCHECK(retain_individual_display_items_);
167 DCHECK(!use_cached_picture_);
168 items_.RemoveLast();
169 }
170
162 void DisplayItemList::Finalize() { 171 void DisplayItemList::Finalize() {
163 ProcessAppendedItems(); 172 ProcessAppendedItems();
164 173
165 if (use_cached_picture_) { 174 if (use_cached_picture_) {
166 // Convert to an SkPicture for faster rasterization. 175 // Convert to an SkPicture for faster rasterization.
167 DCHECK(use_cached_picture_); 176 DCHECK(use_cached_picture_);
168 DCHECK(!picture_); 177 DCHECK(!picture_);
169 picture_ = skia::AdoptRef(recorder_->endRecordingAsPicture()); 178 picture_ = skia::AdoptRef(recorder_->endRecordingAsPicture());
170 DCHECK(picture_); 179 DCHECK(picture_);
171 picture_memory_usage_ += 180 picture_memory_usage_ +=
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 return; 257 return;
249 258
250 pixel_refs_->GatherPixelRefsFromPicture(picture_.get()); 259 pixel_refs_->GatherPixelRefsFromPicture(picture_.get());
251 } 260 }
252 261
253 void* DisplayItemList::GetSidecar(DisplayItem* display_item) { 262 void* DisplayItemList::GetSidecar(DisplayItem* display_item) {
254 return items_.GetSidecar(display_item); 263 return items_.GetSidecar(display_item);
255 } 264 }
256 265
257 } // namespace cc 266 } // namespace cc
OLDNEW
« no previous file with comments | « cc/playback/display_item_list.h ('k') | cc/quads/list_container_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698