Chromium Code Reviews| Index: cc/picture_layer_impl.cc |
| diff --git a/cc/picture_layer_impl.cc b/cc/picture_layer_impl.cc |
| index f0ce9ad08e8a14dbab093b68dad4f40b06c86af2..17c7be6bc679c918259bd0cbd22a033ccda8d93f 100644 |
| --- a/cc/picture_layer_impl.cc |
| +++ b/cc/picture_layer_impl.cc |
| @@ -115,8 +115,11 @@ void PictureLayerImpl::appendQuads(QuadSink& quadSink, |
| ++iter) { |
| SkColor color; |
| float width; |
| - if (*iter && iter->GetResourceId()) { |
| - if (iter->priority(ACTIVE_TREE).resolution == HIGH_RESOLUTION) { |
| + if (*iter && iter->is_ready_to_draw()) { |
| + if (iter->is_solid_color() || iter->is_transparent()) { |
| + color = DebugColors::SolidColorTileBorderColor(); |
| + width = DebugColors::SolidColorTileBorderWidth(layerTreeImpl()); |
| + } else if (iter->priority(ACTIVE_TREE).resolution == HIGH_RESOLUTION) { |
| color = DebugColors::HighResTileBorderColor(); |
| width = DebugColors::HighResTileBorderWidth(layerTreeImpl()); |
| } else if (iter->priority(ACTIVE_TREE).resolution == LOW_RESOLUTION) { |
| @@ -159,6 +162,20 @@ void PictureLayerImpl::appendQuads(QuadSink& quadSink, |
| gfx::Rect geometry_rect = iter.geometry_rect(); |
| + if (*iter && iter->is_solid_color()) { |
|
reveman
2013/02/28 18:54:55
I think it might be cleaner to move all this into
|
| + scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create(); |
| + quad->SetNew(sharedQuadState, |
| + geometry_rect, |
| + iter->get_solid_color()); |
| + |
| + quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData); |
| + |
| + if (!seen_tilings.size() || seen_tilings.back() != iter.CurrentTiling()) |
| + seen_tilings.push_back(iter.CurrentTiling()); |
| + continue; |
| + } else if (*iter && iter->is_transparent()) { |
|
reveman
2013/02/28 18:54:55
is the "else if" needed? I think it'd be cleaner w
|
| + continue; |
| + } |
| if (!resource) { |
| if (drawCheckerboardForMissingTiles()) { |
| // TODO(enne): Figure out how to show debug "invalidated checker" color |
| @@ -522,7 +539,7 @@ bool PictureLayerImpl::areVisibleResourcesReady() const { |
| iter; |
| ++iter) { |
| // A null tile (i.e. no recording) is considered "ready". |
| - if (!*iter || iter->GetResourceId()) |
| + if (!*iter || iter->is_ready_to_draw()) |
| missing_region.Subtract(iter.geometry_rect()); |
| } |
| } |