OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/render_surface_filters.h" | 5 #include "cc/render_surface_filters.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 #include "third_party/WebKit/Source/Platform/chromium/public/WebFilterOperation.
h" | 8 #include "third_party/WebKit/Source/Platform/chromium/public/WebFilterOperation.
h" |
9 #include "third_party/WebKit/Source/Platform/chromium/public/WebFilterOperations
.h" | 9 #include "third_party/WebKit/Source/Platform/chromium/public/WebFilterOperations
.h" |
10 | 10 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 EXPECT_TRUE(isCombined(WebFilterOperation::createContrastFilter(0))); | 48 EXPECT_TRUE(isCombined(WebFilterOperation::createContrastFilter(0))); |
49 EXPECT_TRUE(isCombined(WebFilterOperation::createContrastFilter(0.3f))); | 49 EXPECT_TRUE(isCombined(WebFilterOperation::createContrastFilter(0.3f))); |
50 EXPECT_TRUE(isCombined(WebFilterOperation::createContrastFilter(0.5))); | 50 EXPECT_TRUE(isCombined(WebFilterOperation::createContrastFilter(0.5))); |
51 EXPECT_TRUE(isCombined(WebFilterOperation::createContrastFilter(1))); | 51 EXPECT_TRUE(isCombined(WebFilterOperation::createContrastFilter(1))); |
52 | 52 |
53 EXPECT_TRUE(isCombined(WebFilterOperation::createOpacityFilter(0))); | 53 EXPECT_TRUE(isCombined(WebFilterOperation::createOpacityFilter(0))); |
54 EXPECT_TRUE(isCombined(WebFilterOperation::createOpacityFilter(0.3f))); | 54 EXPECT_TRUE(isCombined(WebFilterOperation::createOpacityFilter(0.3f))); |
55 EXPECT_TRUE(isCombined(WebFilterOperation::createOpacityFilter(0.5))); | 55 EXPECT_TRUE(isCombined(WebFilterOperation::createOpacityFilter(0.5))); |
56 EXPECT_TRUE(isCombined(WebFilterOperation::createOpacityFilter(1))); | 56 EXPECT_TRUE(isCombined(WebFilterOperation::createOpacityFilter(1))); |
57 | 57 |
58 // Several filters should never combine: brightness(amount > 0), blur, drop-
shadow. | 58 // Brightness combines when amount <= 1 |
59 EXPECT_FALSE(isCombined(WebFilterOperation::createBrightnessFilter(0.5))); | 59 EXPECT_TRUE(isCombined(WebFilterOperation::createBrightnessFilter(0.5))); |
60 EXPECT_FALSE(isCombined(WebFilterOperation::createBrightnessFilter(1))); | 60 EXPECT_TRUE(isCombined(WebFilterOperation::createBrightnessFilter(1))); |
| 61 EXPECT_FALSE(isCombined(WebFilterOperation::createBrightnessFilter(1.5))); |
| 62 |
| 63 // SaturatingBrightness combines only when amount == 0 |
| 64 EXPECT_TRUE(isCombined(WebFilterOperation::createSaturatingBrightnessFilter(
0))); |
| 65 EXPECT_FALSE(isCombined(WebFilterOperation::createSaturatingBrightnessFilter
(0.5))); |
| 66 EXPECT_FALSE(isCombined(WebFilterOperation::createSaturatingBrightnessFilter
(1))); |
| 67 |
| 68 // Several filters should never combine: blur, drop-shadow. |
61 EXPECT_FALSE(isCombined(WebFilterOperation::createBlurFilter(3))); | 69 EXPECT_FALSE(isCombined(WebFilterOperation::createBlurFilter(3))); |
62 EXPECT_FALSE(isCombined(WebFilterOperation::createDropShadowFilter(WebPoint(
2, 2), 3, 0xffffffff))); | 70 EXPECT_FALSE(isCombined(WebFilterOperation::createDropShadowFilter(WebPoint(
2, 2), 3, 0xffffffff))); |
63 | 71 |
64 // sepia and hue may or may not combine depending on the value. | 72 // sepia and hue may or may not combine depending on the value. |
65 EXPECT_TRUE(isCombined(WebFilterOperation::createSepiaFilter(0))); | 73 EXPECT_TRUE(isCombined(WebFilterOperation::createSepiaFilter(0))); |
66 EXPECT_FALSE(isCombined(WebFilterOperation::createSepiaFilter(1))); | 74 EXPECT_FALSE(isCombined(WebFilterOperation::createSepiaFilter(1))); |
67 EXPECT_TRUE(isCombined(WebFilterOperation::createHueRotateFilter(0))); | 75 EXPECT_TRUE(isCombined(WebFilterOperation::createHueRotateFilter(0))); |
68 EXPECT_FALSE(isCombined(WebFilterOperation::createHueRotateFilter(180))); | 76 EXPECT_FALSE(isCombined(WebFilterOperation::createHueRotateFilter(180))); |
69 | 77 |
70 float matrix1[20] = { | 78 float matrix1[20] = { |
(...skipping 24 matching lines...) Expand all Loading... |
95 -0.25, 0.75, 0, 0, 255*0.25, | 103 -0.25, 0.75, 0, 0, 255*0.25, |
96 0, 1, 0, 0, 0, | 104 0, 1, 0, 0, 0, |
97 0, 0, 1, 0, 0, | 105 0, 0, 1, 0, 0, |
98 0, 0, 0, 1, 0, | 106 0, 0, 0, 1, 0, |
99 }; | 107 }; |
100 EXPECT_TRUE(isCombined(WebFilterOperation::createColorMatrixFilter(matrix4))
); | 108 EXPECT_TRUE(isCombined(WebFilterOperation::createColorMatrixFilter(matrix4))
); |
101 } | 109 } |
102 | 110 |
103 TEST(RenderSurfaceFiltersTest, testOptimize) | 111 TEST(RenderSurfaceFiltersTest, testOptimize) |
104 { | 112 { |
105 WebFilterOperation combines(WebFilterOperation::createBrightnessFilter(0)); | 113 WebFilterOperation combines(WebFilterOperation::createBrightnessFilter(1)); |
106 WebFilterOperation doesntCombine(WebFilterOperation::createBrightnessFilter(
1)); | 114 WebFilterOperation doesntCombine(WebFilterOperation::createBrightnessFilter(
1.5)); |
107 | 115 |
108 WebFilterOperations filters; | 116 WebFilterOperations filters; |
109 WebFilterOperations optimized = RenderSurfaceFilters::optimize(filters); | 117 WebFilterOperations optimized = RenderSurfaceFilters::optimize(filters); |
110 EXPECT_EQ(0u, optimized.size()); | 118 EXPECT_EQ(0u, optimized.size()); |
111 | 119 |
112 filters.append(combines); | 120 filters.append(combines); |
113 optimized = RenderSurfaceFilters::optimize(filters); | 121 optimized = RenderSurfaceFilters::optimize(filters); |
114 EXPECT_EQ(1u, optimized.size()); | 122 EXPECT_EQ(1u, optimized.size()); |
115 | 123 |
116 filters.append(combines); | 124 filters.append(combines); |
(...skipping 12 matching lines...) Expand all Loading... |
129 optimized = RenderSurfaceFilters::optimize(filters); | 137 optimized = RenderSurfaceFilters::optimize(filters); |
130 EXPECT_EQ(2u, optimized.size()); | 138 EXPECT_EQ(2u, optimized.size()); |
131 | 139 |
132 filters.append(doesntCombine); | 140 filters.append(doesntCombine); |
133 optimized = RenderSurfaceFilters::optimize(filters); | 141 optimized = RenderSurfaceFilters::optimize(filters); |
134 EXPECT_EQ(3u, optimized.size()); | 142 EXPECT_EQ(3u, optimized.size()); |
135 } | 143 } |
136 | 144 |
137 } // namespace | 145 } // namespace |
138 } // namespace cc | 146 } // namespace cc |
OLD | NEW |