layer_tree_host_pixeltest_filters.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/test/layer_tree_pixel_test.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_ANDROID)
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace cc {
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace {
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class LayerTreeHostFiltersPixelTest : public LayerTreePixelTest {};
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST_F(LayerTreeHostFiltersPixelTest, BackgroundFilterBlur) {
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  scoped_refptr<SolidColorLayer> background = CreateSolidColorLayer(
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      gfx::Rect(200, 200), SK_ColorWHITE);
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The green box is entirely behind a layer with background blur, so it
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // should appear blurred on its edges.
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  scoped_refptr<SolidColorLayer> green = CreateSolidColorLayer(
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      gfx::Rect(50, 50, 100, 100), kCSSGreen);
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  scoped_refptr<SolidColorLayer> blur = CreateSolidColorLayer(
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      gfx::Rect(30, 30, 140, 140), SK_ColorTRANSPARENT);
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  background->AddChild(green);
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  background->AddChild(blur);
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  WebKit::WebFilterOperations filters;
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  filters.append(WebKit::WebFilterOperation::createBlurFilter(2));
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  blur->SetBackgroundFilters(filters);
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  RunPixelTest(background,
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)               base::FilePath(FILE_PATH_LITERAL(
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                   "background_filter_blur.png")));
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace cc
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif  // OS_ANDROID
40