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

Side by Side Diff: cc/blink/web_display_item_list_impl.cc

Issue 2239913002: Allow filters to specify their initial visual rect. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 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/blink/web_display_item_list_impl.h" 5 #include "cc/blink/web_display_item_list_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <vector> 10 #include <vector>
11 11
12 #include "cc/playback/clip_display_item.h" 12 #include "cc/playback/clip_display_item.h"
13 #include "cc/playback/clip_path_display_item.h" 13 #include "cc/playback/clip_path_display_item.h"
14 #include "cc/playback/compositing_display_item.h" 14 #include "cc/playback/compositing_display_item.h"
15 #include "cc/playback/display_item_list_settings.h" 15 #include "cc/playback/display_item_list_settings.h"
16 #include "cc/playback/drawing_display_item.h" 16 #include "cc/playback/drawing_display_item.h"
17 #include "cc/playback/filter_display_item.h" 17 #include "cc/playback/filter_display_item.h"
18 #include "cc/playback/float_clip_display_item.h" 18 #include "cc/playback/float_clip_display_item.h"
19 #include "cc/playback/transform_display_item.h" 19 #include "cc/playback/transform_display_item.h"
20 #include "third_party/WebKit/public/platform/WebFloatRect.h" 20 #include "third_party/WebKit/public/platform/WebFloatRect.h"
21 #include "third_party/WebKit/public/platform/WebRect.h" 21 #include "third_party/WebKit/public/platform/WebRect.h"
22 #include "third_party/skia/include/core/SkColorFilter.h" 22 #include "third_party/skia/include/core/SkColorFilter.h"
23 #include "third_party/skia/include/core/SkMatrix44.h" 23 #include "third_party/skia/include/core/SkMatrix44.h"
24 #include "third_party/skia/include/core/SkPicture.h" 24 #include "third_party/skia/include/core/SkPicture.h"
25 #include "ui/gfx/geometry/rect_conversions.h"
25 #include "ui/gfx/geometry/safe_integer_conversions.h" 26 #include "ui/gfx/geometry/safe_integer_conversions.h"
26 #include "ui/gfx/transform.h" 27 #include "ui/gfx/transform.h"
27 28
28 namespace cc_blink { 29 namespace cc_blink {
29 30
30 namespace { 31 namespace {
31 32
32 scoped_refptr<cc::DisplayItemList> CreateUncachedDisplayItemListForBlink() { 33 scoped_refptr<cc::DisplayItemList> CreateUncachedDisplayItemListForBlink() {
33 cc::DisplayItemListSettings settings; 34 cc::DisplayItemListSettings settings;
34 settings.use_cached_picture = false; 35 settings.use_cached_picture = false;
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 if (display_item_list_->RetainsIndividualDisplayItems()) { 178 if (display_item_list_->RetainsIndividualDisplayItems()) {
178 display_item_list_ 179 display_item_list_
179 ->CreateAndAppendPairedEndItem<cc::EndCompositingDisplayItem>(); 180 ->CreateAndAppendPairedEndItem<cc::EndCompositingDisplayItem>();
180 } else { 181 } else {
181 display_item_list_->RasterIntoCanvas(cc::EndCompositingDisplayItem()); 182 display_item_list_->RasterIntoCanvas(cc::EndCompositingDisplayItem());
182 } 183 }
183 } 184 }
184 185
185 void WebDisplayItemListImpl::appendFilterItem( 186 void WebDisplayItemListImpl::appendFilterItem(
186 const cc::FilterOperations& filters, 187 const cc::FilterOperations& filters,
187 const blink::WebFloatRect& bounds) { 188 const blink::WebFloatRect& filter_bounds) {
188 if (display_item_list_->RetainsIndividualDisplayItems()) { 189 if (display_item_list_->RetainsIndividualDisplayItems()) {
189 display_item_list_->CreateAndAppendPairedBeginItem<cc::FilterDisplayItem>( 190 display_item_list_
190 filters, bounds); 191 ->CreateAndAppendPairedBeginItemWithVisualRect<cc::FilterDisplayItem>(
192 gfx::ToEnclosingRect(filter_bounds), filters, filter_bounds);
191 } else { 193 } else {
192 cc::FilterDisplayItem item(filters, bounds); 194 cc::FilterDisplayItem item(filters, filter_bounds);
193 display_item_list_->RasterIntoCanvas(item); 195 display_item_list_->RasterIntoCanvas(item);
194 } 196 }
195 } 197 }
196 198
197 void WebDisplayItemListImpl::appendEndFilterItem() { 199 void WebDisplayItemListImpl::appendEndFilterItem() {
198 if (display_item_list_->RetainsIndividualDisplayItems()) { 200 if (display_item_list_->RetainsIndividualDisplayItems()) {
199 display_item_list_ 201 display_item_list_
200 ->CreateAndAppendPairedEndItem<cc::EndFilterDisplayItem>(); 202 ->CreateAndAppendPairedEndItem<cc::EndFilterDisplayItem>();
201 } else { 203 } else {
202 display_item_list_->RasterIntoCanvas(cc::EndFilterDisplayItem()); 204 display_item_list_->RasterIntoCanvas(cc::EndFilterDisplayItem());
(...skipping 14 matching lines...) Expand all
217 } 219 }
218 220
219 void WebDisplayItemListImpl::setIsSuitableForGpuRasterization(bool isSuitable) { 221 void WebDisplayItemListImpl::setIsSuitableForGpuRasterization(bool isSuitable) {
220 display_item_list_->SetIsSuitableForGpuRasterization(isSuitable); 222 display_item_list_->SetIsSuitableForGpuRasterization(isSuitable);
221 } 223 }
222 224
223 WebDisplayItemListImpl::~WebDisplayItemListImpl() { 225 WebDisplayItemListImpl::~WebDisplayItemListImpl() {
224 } 226 }
225 227
226 } // namespace cc_blink 228 } // namespace cc_blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698