Index: cc/layers/layer_impl.cc |
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
index eae36859f35be17e6919cc056b5c2e9123d3b9cd..6e11644f42cd461f2ce6069dc5ff9426eecf730c 100644 |
--- a/cc/layers/layer_impl.cc |
+++ b/cc/layers/layer_impl.cc |
@@ -175,7 +175,7 @@ void LayerImpl::SetScrollParent(LayerImpl* parent) { |
} |
void LayerImpl::SetDebugInfo( |
- scoped_refptr<base::debug::ConvertableToTraceFormat> other) { |
+ scoped_refptr<base::trace_event::ConvertableToTraceFormat> other) { |
debug_info_ = other; |
SetNeedsPushProperties(); |
} |
@@ -261,6 +261,23 @@ void LayerImpl::PopulateSharedQuadState(SharedQuadState* state) const { |
draw_properties_.blend_mode, sorting_context_id_); |
} |
+void LayerImpl::PopulateScaledSharedQuadState(SharedQuadState* state, |
+ float scale) const { |
+ gfx::Transform scaled_draw_transform = |
+ draw_properties_.target_space_transform; |
+ scaled_draw_transform.Scale(SK_MScalar1 / scale, SK_MScalar1 / scale); |
+ gfx::Size scaled_content_bounds = |
+ gfx::ToCeiledSize(gfx::ScaleSize(bounds(), scale)); |
+ gfx::Rect scaled_visible_content_rect = |
+ gfx::ScaleToEnclosingRect(visible_content_rect(), scale); |
+ scaled_visible_content_rect.Intersect(gfx::Rect(scaled_content_bounds)); |
+ |
+ state->SetAll(scaled_draw_transform, scaled_content_bounds, |
+ scaled_visible_content_rect, draw_properties().clip_rect, |
+ draw_properties().is_clipped, draw_properties().opacity, |
+ draw_properties().blend_mode, sorting_context_id_); |
+} |
+ |
bool LayerImpl::WillDraw(DrawMode draw_mode, |
ResourceProvider* resource_provider) { |
// WillDraw/DidDraw must be matched. |
@@ -327,6 +344,22 @@ void LayerImpl::AppendDebugBorderQuad(RenderPass* render_pass, |
render_pass->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); |
debug_border_quad->SetNew( |
shared_quad_state, quad_rect, visible_quad_rect, color, width); |
+ if (contents_opaque()) { |
+ // When opaque, draw a second inner border that is thicker than the outer |
+ // border, but more transparent. |
+ static const float kFillOpacity = 0.3f; |
+ SkColor fill_color = SkColorSetA( |
+ color, static_cast<uint8_t>(SkColorGetA(color) * kFillOpacity)); |
+ float fill_width = width * 3; |
+ gfx::Rect fill_rect = quad_rect; |
+ fill_rect.Inset(fill_width / 2.f, fill_width / 2.f); |
+ gfx::Rect visible_fill_rect = |
+ gfx::IntersectRects(visible_quad_rect, fill_rect); |
+ DebugBorderDrawQuad* fill_quad = |
+ render_pass->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); |
+ fill_quad->SetNew(shared_quad_state, fill_rect, visible_fill_rect, |
+ fill_color, fill_width); |
+ } |
} |
bool LayerImpl::HasDelegatedContent() const { |
@@ -345,11 +378,6 @@ RenderPassId LayerImpl::NextContributingRenderPassId(RenderPassId id) const { |
return RenderPassId(0, 0); |
} |
-bool LayerImpl::UpdateTiles(const Occlusion& occlusion_in_layer_space, |
- bool resourceless_software_draw) { |
- return false; |
-} |
- |
void LayerImpl::GetContentsResourceId(ResourceProvider::ResourceId* resource_id, |
gfx::Size* resource_size) const { |
NOTREACHED(); |
@@ -1401,7 +1429,7 @@ void LayerImpl::RemoveDependentNeedsPushProperties() { |
void LayerImpl::GetAllTilesForTracing(std::set<const Tile*>* tiles) const { |
} |
-void LayerImpl::AsValueInto(base::debug::TracedValue* state) const { |
+void LayerImpl::AsValueInto(base::trace_event::TracedValue* state) const { |
TracedValue::MakeDictIntoImplicitSnapshotWithCategory( |
TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
state, |