summaryrefslogtreecommitdiffstats
path: root/cc/test/fake_content_layer_client.h
diff options
context:
space:
mode:
authoraelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-09 00:21:26 +0000
committeraelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-09 00:21:26 +0000
commit251699bdcff5063ceafe1442072f756085e2643b (patch)
tree1e9046aaccc1aa732f11323855a0a053d8a6b33e /cc/test/fake_content_layer_client.h
parent77439eb431f1a1152c9ba6a7de0fd874a67ff946 (diff)
downloadchromium_src-251699bdcff5063ceafe1442072f756085e2643b.zip
chromium_src-251699bdcff5063ceafe1442072f756085e2643b.tar.gz
chromium_src-251699bdcff5063ceafe1442072f756085e2643b.tar.bz2
Make Android WebView filtering depend on scrolling status.
This patch makes bilinear filtering of software images enabled only when there is no scrolling or CSS animation active, which matches the policy of classic WebView. In the long run, we'll likely want to support software tiling to avoid this kind of hack, but for now this maintains bugwards compatibility. Most of this patch is to solve the problem that CC was not aware whether or not WebView-handled fling is active. I added a new getter ScrollOffsetDelegate::IsExternalFlingActive for this. This also enables prefer-smoothness mode for these flings. New test RendererPixelTest.PictureDrawQuadDisableImageFiltering NOTRY=true BUG= internal b/10706494 Review URL: https://codereview.chromium.org/25233002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227629 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/test/fake_content_layer_client.h')
-rw-r--r--cc/test/fake_content_layer_client.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/cc/test/fake_content_layer_client.h b/cc/test/fake_content_layer_client.h
index ff42855..6afa5b6 100644
--- a/cc/test/fake_content_layer_client.h
+++ b/cc/test/fake_content_layer_client.h
@@ -18,6 +18,12 @@ namespace cc {
class FakeContentLayerClient : public cc::ContentLayerClient {
public:
+ struct BitmapData {
+ SkBitmap bitmap;
+ gfx::Point point;
+ SkPaint paint;
+ };
+
FakeContentLayerClient();
virtual ~FakeContentLayerClient();
@@ -32,13 +38,19 @@ class FakeContentLayerClient : public cc::ContentLayerClient {
draw_rects_.push_back(std::make_pair(rect, paint));
}
- void add_draw_bitmap(const SkBitmap& bitmap, gfx::Point point) {
- draw_bitmaps_.push_back(std::make_pair(bitmap, point));
+ void add_draw_bitmap(const SkBitmap& bitmap,
+ gfx::Point point,
+ const SkPaint& paint) {
+ BitmapData data;
+ data.bitmap = bitmap;
+ data.point = point;
+ data.paint = paint;
+ draw_bitmaps_.push_back(data);
}
private:
typedef std::vector<std::pair<gfx::RectF, SkPaint> > RectPaintVector;
- typedef std::vector<std::pair<SkBitmap, gfx::Point> > BitmapVector;
+ typedef std::vector<BitmapData> BitmapVector;
bool paint_all_opaque_;
RectPaintVector draw_rects_;