| 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 |