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

Unified Diff: cc/blink/web_display_item_list_impl.cc

Issue 2225563002: Reland "Raster display item lists via a visual rect RTree." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync to head. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/blink/web_content_layer_impl.cc ('k') | cc/debug/rasterize_and_record_benchmark.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/blink/web_display_item_list_impl.cc
diff --git a/cc/blink/web_display_item_list_impl.cc b/cc/blink/web_display_item_list_impl.cc
index 88b2451b2e0c62e594698b3ec3a67e2bdc33c77e..e9935f3d23a3f5ec9a734c404472f81461c5eeca 100644
--- a/cc/blink/web_display_item_list_impl.cc
+++ b/cc/blink/web_display_item_list_impl.cc
@@ -33,8 +33,7 @@ namespace {
scoped_refptr<cc::DisplayItemList> CreateUncachedDisplayItemListForBlink() {
cc::DisplayItemListSettings settings;
settings.use_cached_picture = false;
- gfx::Rect layer_rect;
- return cc::DisplayItemList::Create(layer_rect, settings);
+ return cc::DisplayItemList::Create(settings);
}
} // namespace
@@ -51,13 +50,8 @@ WebDisplayItemListImpl::WebDisplayItemListImpl(
void WebDisplayItemListImpl::appendDrawingItem(
const blink::WebRect& visual_rect,
sk_sp<const SkPicture> picture) {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_->CreateAndAppendDrawingItem<cc::DrawingDisplayItem>(
- visual_rect, std::move(picture));
- } else {
- cc::DrawingDisplayItem item(std::move(picture));
- display_item_list_->RasterIntoCanvas(item);
- }
+ display_item_list_->CreateAndAppendDrawingItem<cc::DrawingDisplayItem>(
+ visual_rect, std::move(picture));
}
void WebDisplayItemListImpl::appendClipItem(
@@ -68,63 +62,36 @@ void WebDisplayItemListImpl::appendClipItem(
rounded_rects.push_back(rounded_clip_rects[i]);
}
bool antialias = true;
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_->CreateAndAppendPairedBeginItem<cc::ClipDisplayItem>(
- clip_rect, rounded_rects, antialias);
- } else {
- cc::ClipDisplayItem item(clip_rect, rounded_rects, antialias);
- display_item_list_->RasterIntoCanvas(item);
- }
+ display_item_list_->CreateAndAppendPairedBeginItem<cc::ClipDisplayItem>(
+ clip_rect, rounded_rects, antialias);
}
void WebDisplayItemListImpl::appendEndClipItem() {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_->CreateAndAppendPairedEndItem<cc::EndClipDisplayItem>();
- } else {
- display_item_list_->RasterIntoCanvas(cc::EndClipDisplayItem());
- }
+ display_item_list_->CreateAndAppendPairedEndItem<cc::EndClipDisplayItem>();
}
void WebDisplayItemListImpl::appendClipPathItem(
const SkPath& clip_path,
SkRegion::Op clip_op,
bool antialias) {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_->CreateAndAppendPairedBeginItem<cc::ClipPathDisplayItem>(
- clip_path, clip_op, antialias);
- } else {
- cc::ClipPathDisplayItem item(clip_path, clip_op, antialias);
- display_item_list_->RasterIntoCanvas(item);
- }
+ display_item_list_->CreateAndAppendPairedBeginItem<cc::ClipPathDisplayItem>(
+ clip_path, clip_op, antialias);
}
void WebDisplayItemListImpl::appendEndClipPathItem() {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedEndItem<cc::EndClipPathDisplayItem>();
- } else {
- display_item_list_->RasterIntoCanvas(cc::EndClipPathDisplayItem());
- }
+ display_item_list_
+ ->CreateAndAppendPairedEndItem<cc::EndClipPathDisplayItem>();
}
void WebDisplayItemListImpl::appendFloatClipItem(
const blink::WebFloatRect& clip_rect) {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedBeginItem<cc::FloatClipDisplayItem>(clip_rect);
- } else {
- cc::FloatClipDisplayItem item(clip_rect);
- display_item_list_->RasterIntoCanvas(item);
- }
+ display_item_list_->CreateAndAppendPairedBeginItem<cc::FloatClipDisplayItem>(
+ clip_rect);
}
void WebDisplayItemListImpl::appendEndFloatClipItem() {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedEndItem<cc::EndFloatClipDisplayItem>();
- } else {
- display_item_list_->RasterIntoCanvas(cc::EndFloatClipDisplayItem());
- }
+ display_item_list_
+ ->CreateAndAppendPairedEndItem<cc::EndFloatClipDisplayItem>();
}
void WebDisplayItemListImpl::appendTransformItem(
@@ -132,22 +99,13 @@ void WebDisplayItemListImpl::appendTransformItem(
gfx::Transform transform(gfx::Transform::kSkipInitialization);
transform.matrix() = matrix;
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedBeginItem<cc::TransformDisplayItem>(transform);
- } else {
- cc::TransformDisplayItem item(transform);
- display_item_list_->RasterIntoCanvas(item);
- }
+ display_item_list_->CreateAndAppendPairedBeginItem<cc::TransformDisplayItem>(
+ transform);
}
void WebDisplayItemListImpl::appendEndTransformItem() {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedEndItem<cc::EndTransformDisplayItem>();
- } else {
- display_item_list_->RasterIntoCanvas(cc::EndTransformDisplayItem());
- }
+ display_item_list_
+ ->CreateAndAppendPairedEndItem<cc::EndTransformDisplayItem>();
}
void WebDisplayItemListImpl::appendCompositingItem(
@@ -161,48 +119,27 @@ void WebDisplayItemListImpl::appendCompositingItem(
// value, but that breaks slimming paint reftests.
const bool kLcdTextRequiresOpaqueLayer = true;
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedBeginItem<cc::CompositingDisplayItem>(
- static_cast<uint8_t>(gfx::ToFlooredInt(255 * opacity)), xfermode,
- bounds, sk_ref_sp(color_filter), kLcdTextRequiresOpaqueLayer);
- } else {
- cc::CompositingDisplayItem item(
- static_cast<uint8_t>(gfx::ToFlooredInt(255 * opacity)), xfermode,
- bounds, sk_ref_sp(color_filter), kLcdTextRequiresOpaqueLayer);
- display_item_list_->RasterIntoCanvas(item);
- }
+ display_item_list_
+ ->CreateAndAppendPairedBeginItem<cc::CompositingDisplayItem>(
+ static_cast<uint8_t>(gfx::ToFlooredInt(255 * opacity)), xfermode,
+ bounds, sk_ref_sp(color_filter), kLcdTextRequiresOpaqueLayer);
}
void WebDisplayItemListImpl::appendEndCompositingItem() {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedEndItem<cc::EndCompositingDisplayItem>();
- } else {
- display_item_list_->RasterIntoCanvas(cc::EndCompositingDisplayItem());
- }
+ display_item_list_
+ ->CreateAndAppendPairedEndItem<cc::EndCompositingDisplayItem>();
}
void WebDisplayItemListImpl::appendFilterItem(
const cc::FilterOperations& filters,
const blink::WebFloatRect& filter_bounds) {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedBeginItemWithVisualRect<cc::FilterDisplayItem>(
- gfx::ToEnclosingRect(filter_bounds), filters, filter_bounds);
- } else {
- cc::FilterDisplayItem item(filters, filter_bounds);
- display_item_list_->RasterIntoCanvas(item);
- }
+ display_item_list_
+ ->CreateAndAppendPairedBeginItemWithVisualRect<cc::FilterDisplayItem>(
+ gfx::ToEnclosingRect(filter_bounds), filters, filter_bounds);
}
void WebDisplayItemListImpl::appendEndFilterItem() {
- if (display_item_list_->RetainsIndividualDisplayItems()) {
- display_item_list_
- ->CreateAndAppendPairedEndItem<cc::EndFilterDisplayItem>();
- } else {
- display_item_list_->RasterIntoCanvas(cc::EndFilterDisplayItem());
- }
+ display_item_list_->CreateAndAppendPairedEndItem<cc::EndFilterDisplayItem>();
}
void WebDisplayItemListImpl::appendScrollItem(
@@ -210,7 +147,8 @@ void WebDisplayItemListImpl::appendScrollItem(
ScrollContainerId) {
SkMatrix44 matrix(SkMatrix44::kUninitialized_Constructor);
matrix.setTranslate(-scroll_offset.width, -scroll_offset.height, 0);
- // TODO(wkorman): Should we translate the visual rect as well?
+ // TODO(wkorman): http://crbug.com/633636 Should we translate the visual rect
+ // as well? Create a test case and investigate.
appendTransformItem(matrix);
}
« no previous file with comments | « cc/blink/web_content_layer_impl.cc ('k') | cc/debug/rasterize_and_record_benchmark.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698