Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3402)

Unified Diff: cc/output/filter_operations_unittest.cc

Issue 21154002: Add support for converting cc::FilterOperations into an SkImageFilter (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/filter_operations.cc ('k') | cc/output/gl_renderer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « cc/output/filter_operations.cc ('k') | cc/output/gl_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698