| Index: cc/output/filter_operations_unittest.cc
|
| diff --git a/cc/output/filter_operations_unittest.cc b/cc/output/filter_operations_unittest.cc
|
| index dbf3736ccb0b62b7d986b2336dc4c0665e9ac281..e975ed509f0c9854ba889b5d135ea1203b932ec4 100644
|
| --- a/cc/output/filter_operations_unittest.cc
|
| +++ b/cc/output/filter_operations_unittest.cc
|
| @@ -3,7 +3,9 @@
|
| // found in the LICENSE file.
|
|
|
| #include "cc/output/filter_operations.h"
|
| +#include "skia/ext/refptr.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| +#include "third_party/skia/include/effects/SkBlurImageFilter.h"
|
| #include "ui/gfx/point.h"
|
|
|
| namespace cc {
|
| @@ -497,6 +499,45 @@ TEST(FilterOperationsTest, BlendSaturatingBrightnessWithNull) {
|
| EXPECT_EQ(expected, blended);
|
| }
|
|
|
| +TEST(FilterOperationsTest, BlendReferenceFilters) {
|
| + skia::RefPtr<SkImageFilter> from_filter = skia::AdoptRef(
|
| + new SkBlurImageFilter(1.f, 1.f));
|
| + skia::RefPtr<SkImageFilter> to_filter = skia::AdoptRef(
|
| + new SkBlurImageFilter(2.f, 2.f));
|
| + FilterOperation from = FilterOperation::CreateReferenceFilter(from_filter);
|
| + FilterOperation to = FilterOperation::CreateReferenceFilter(to_filter);
|
| +
|
| + FilterOperation blended = FilterOperation::Blend(&from, &to, -0.75);
|
| + EXPECT_EQ(from, blended);
|
| +
|
| + blended = FilterOperation::Blend(&from, &to, 0.5);
|
| + EXPECT_EQ(from, blended);
|
| +
|
| + blended = FilterOperation::Blend(&from, &to, 0.6);
|
| + EXPECT_EQ(to, blended);
|
| +
|
| + blended = FilterOperation::Blend(&from, &to, 1.5);
|
| + EXPECT_EQ(to, blended);
|
| +}
|
| +
|
| +TEST(FilterOperationsTest, BlendReferenceWithNull) {
|
| + skia::RefPtr<SkImageFilter> image_filter = skia::AdoptRef(
|
| + new SkBlurImageFilter(1.f, 1.f));
|
| + FilterOperation filter = FilterOperation::CreateReferenceFilter(image_filter);
|
| + FilterOperation null_filter =
|
| + FilterOperation::CreateReferenceFilter(skia::RefPtr<SkImageFilter>());
|
| +
|
| + FilterOperation blended = FilterOperation::Blend(&filter, NULL, 0.25);
|
| + EXPECT_EQ(filter, blended);
|
| + blended = FilterOperation::Blend(&filter, NULL, 0.75);
|
| + EXPECT_EQ(null_filter, blended);
|
| +
|
| + blended = FilterOperation::Blend(NULL, &filter, 0.25);
|
| + EXPECT_EQ(null_filter, blended);
|
| + blended = FilterOperation::Blend(NULL, &filter, 0.75);
|
| + EXPECT_EQ(filter, blended);
|
| +}
|
| +
|
| // Tests blending non-empty sequences that have the same length and matching
|
| // operations.
|
| TEST(FilterOperationsTest, BlendMatchingSequences) {
|
|
|