summaryrefslogtreecommitdiffstats
path: root/cc/layers/nine_patch_layer_impl.cc
diff options
context:
space:
mode:
authorboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-02 23:47:59 +0000
committerboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-02 23:47:59 +0000
commitffbb221c8dc7acd0dbe202d569c3d4b9a62fafb0 (patch)
tree4ba55c15fbd05cb32da487e4647610f9cf2c96ad /cc/layers/nine_patch_layer_impl.cc
parentff875be5f3f3db4cdc5bbfe4a014580867c7a044 (diff)
downloadchromium_src-ffbb221c8dc7acd0dbe202d569c3d4b9a62fafb0.zip
chromium_src-ffbb221c8dc7acd0dbe202d569c3d4b9a62fafb0.tar.gz
chromium_src-ffbb221c8dc7acd0dbe202d569c3d4b9a62fafb0.tar.bz2
Skip drawing unsupported layers in forced software mode
Only draw PictureLayer, SolidColorLayer, and ScrollbarLayer if using solid color scrollbars. Changes contract of LayerImpl WillDraw/AppendQuads/DidDraw. Now WillDraw returns a bool, and AppendQuads/DidDraw will be skipped if it returns false. BUG=245047 Review URL: https://chromiumcodereview.appspot.com/16211002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203637 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layers/nine_patch_layer_impl.cc')
-rw-r--r--cc/layers/nine_patch_layer_impl.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/cc/layers/nine_patch_layer_impl.cc b/cc/layers/nine_patch_layer_impl.cc
index 7799735..ba60512 100644
--- a/cc/layers/nine_patch_layer_impl.cc
+++ b/cc/layers/nine_patch_layer_impl.cc
@@ -55,10 +55,16 @@ void NinePatchLayerImpl::SetLayout(gfx::Size image_bounds, gfx::Rect aperture) {
image_aperture_ = aperture;
}
+bool NinePatchLayerImpl::WillDraw(DrawMode draw_mode,
+ ResourceProvider* resource_provider) {
+ if (!resource_id_ || draw_mode == DRAW_MODE_RESOURCELESS_SOFTWARE)
+ return false;
+ return LayerImpl::WillDraw(draw_mode, resource_provider);
+}
+
void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink,
AppendQuadsData* append_quads_data) {
- if (!resource_id_)
- return;
+ DCHECK(resource_id_);
SharedQuadState* shared_quad_state =
quad_sink->UseSharedQuadState(CreateSharedQuadState());