| 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 "base/message_loop.h" |     5 #include "base/message_loop.h" | 
|     6 #include "cc/layers/append_quads_data.h" |     6 #include "cc/layers/append_quads_data.h" | 
|     7 #include "cc/output/gl_renderer.h" |     7 #include "cc/output/gl_renderer.h" | 
|     8 #include "cc/quads/draw_quad.h" |     8 #include "cc/quads/draw_quad.h" | 
|     9 #include "cc/quads/picture_draw_quad.h" |     9 #include "cc/quads/picture_draw_quad.h" | 
|    10 #include "cc/resources/platform_color.h" |    10 #include "cc/resources/platform_color.h" | 
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|    80 scoped_ptr<DrawQuad> CreateTestRenderPassDrawQuad( |    80 scoped_ptr<DrawQuad> CreateTestRenderPassDrawQuad( | 
|    81     SharedQuadState* shared_state, gfx::Rect rect, RenderPass::Id pass_id) { |    81     SharedQuadState* shared_state, gfx::Rect rect, RenderPass::Id pass_id) { | 
|    82   scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); |    82   scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); | 
|    83   quad->SetNew(shared_state, |    83   quad->SetNew(shared_state, | 
|    84                rect, |    84                rect, | 
|    85                pass_id, |    85                pass_id, | 
|    86                false,         // is_replica |    86                false,         // is_replica | 
|    87                0,             // mask_resource_id |    87                0,             // mask_resource_id | 
|    88                rect,          // contents_changed_since_last_frame |    88                rect,          // contents_changed_since_last_frame | 
|    89                gfx::RectF(),  // mask_uv_rect |    89                gfx::RectF(),  // mask_uv_rect | 
|    90                WebKit::WebFilterOperations(),   // foreground filters |    90                FilterOperations(),   // foreground filters | 
|    91                skia::RefPtr<SkImageFilter>(),   // foreground filter |    91                skia::RefPtr<SkImageFilter>(),   // foreground filter | 
|    92                WebKit::WebFilterOperations());  // background filters |    92                FilterOperations());  // background filters | 
|    93  |    93  | 
|    94   return quad.PassAs<DrawQuad>(); |    94   return quad.PassAs<DrawQuad>(); | 
|    95 } |    95 } | 
|    96  |    96  | 
|    97 typedef ::testing::Types<GLRenderer, |    97 typedef ::testing::Types<GLRenderer, | 
|    98                          SoftwareRenderer, |    98                          SoftwareRenderer, | 
|    99                          GLRendererWithExpandedViewport, |    99                          GLRendererWithExpandedViewport, | 
|   100                          SoftwareRendererWithExpandedViewport> RendererTypes; |   100                          SoftwareRendererWithExpandedViewport> RendererTypes; | 
|   101 TYPED_TEST_CASE(RendererPixelTest, RendererTypes); |   101 TYPED_TEST_CASE(RendererPixelTest, RendererTypes); | 
|   102  |   102  | 
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   409  |   409  | 
|   410   scoped_ptr<RenderPassDrawQuad> render_pass_quad = |   410   scoped_ptr<RenderPassDrawQuad> render_pass_quad = | 
|   411       RenderPassDrawQuad::Create(); |   411       RenderPassDrawQuad::Create(); | 
|   412   render_pass_quad->SetNew(pass_shared_state.get(), |   412   render_pass_quad->SetNew(pass_shared_state.get(), | 
|   413                            pass_rect, |   413                            pass_rect, | 
|   414                            child_pass_id, |   414                            child_pass_id, | 
|   415                            false, |   415                            false, | 
|   416                            0, |   416                            0, | 
|   417                            pass_rect, |   417                            pass_rect, | 
|   418                            gfx::RectF(), |   418                            gfx::RectF(), | 
|   419                            WebKit::WebFilterOperations(), |   419                            FilterOperations(), | 
|   420                            filter, |   420                            filter, | 
|   421                            WebKit::WebFilterOperations()); |   421                            FilterOperations()); | 
|   422  |   422  | 
|   423   root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>()); |   423   root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>()); | 
|   424  |   424  | 
|   425   RenderPassList pass_list; |   425   RenderPassList pass_list; | 
|   426   pass_list.push_back(child_pass.Pass()); |   426   pass_list.push_back(child_pass.Pass()); | 
|   427   pass_list.push_back(root_pass.Pass()); |   427   pass_list.push_back(root_pass.Pass()); | 
|   428  |   428  | 
|   429   // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |   429   // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 
|   430   // renderer so use a fuzzy comparator. |   430   // renderer so use a fuzzy comparator. | 
|   431   EXPECT_TRUE(this->RunPixelTest( |   431   EXPECT_TRUE(this->RunPixelTest( | 
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   511  |   511  | 
|   512   scoped_ptr<RenderPassDrawQuad> render_pass_quad = |   512   scoped_ptr<RenderPassDrawQuad> render_pass_quad = | 
|   513       RenderPassDrawQuad::Create(); |   513       RenderPassDrawQuad::Create(); | 
|   514   render_pass_quad->SetNew(pass_shared_state.get(), |   514   render_pass_quad->SetNew(pass_shared_state.get(), | 
|   515                            pass_rect, |   515                            pass_rect, | 
|   516                            child_pass_id, |   516                            child_pass_id, | 
|   517                            false, |   517                            false, | 
|   518                            0, |   518                            0, | 
|   519                            pass_rect, |   519                            pass_rect, | 
|   520                            gfx::RectF(), |   520                            gfx::RectF(), | 
|   521                            WebKit::WebFilterOperations(), |   521                            FilterOperations(), | 
|   522                            filter, |   522                            filter, | 
|   523                            WebKit::WebFilterOperations()); |   523                            FilterOperations()); | 
|   524  |   524  | 
|   525   root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>()); |   525   root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>()); | 
|   526   RenderPassList pass_list; |   526   RenderPassList pass_list; | 
|   527  |   527  | 
|   528   pass_list.push_back(child_pass.Pass()); |   528   pass_list.push_back(child_pass.Pass()); | 
|   529   pass_list.push_back(root_pass.Pass()); |   529   pass_list.push_back(root_pass.Pass()); | 
|   530  |   530  | 
|   531   // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |   531   // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 
|   532   // renderer so use a fuzzy comparator. |   532   // renderer so use a fuzzy comparator. | 
|   533   EXPECT_TRUE(this->RunPixelTest( |   533   EXPECT_TRUE(this->RunPixelTest( | 
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   710       scoped_ptr<RenderPassDrawQuad> filter_pass_quad = |   710       scoped_ptr<RenderPassDrawQuad> filter_pass_quad = | 
|   711           RenderPassDrawQuad::Create(); |   711           RenderPassDrawQuad::Create(); | 
|   712       filter_pass_quad->SetNew( |   712       filter_pass_quad->SetNew( | 
|   713           shared_state.get(), |   713           shared_state.get(), | 
|   714           filter_pass_content_rect_, |   714           filter_pass_content_rect_, | 
|   715           filter_pass_id, |   715           filter_pass_id, | 
|   716           false,  // is_replica |   716           false,  // is_replica | 
|   717           0,  // mask_resource_id |   717           0,  // mask_resource_id | 
|   718           filter_pass_content_rect_,  // contents_changed_since_last_frame |   718           filter_pass_content_rect_,  // contents_changed_since_last_frame | 
|   719           gfx::RectF(),  // mask_uv_rect |   719           gfx::RectF(),  // mask_uv_rect | 
|   720           WebKit::WebFilterOperations(),  // filters |   720           FilterOperations(),  // filters | 
|   721           skia::RefPtr<SkImageFilter>(),  // filter |   721           skia::RefPtr<SkImageFilter>(),  // filter | 
|   722           this->background_filters_); |   722           this->background_filters_); | 
|   723       root_pass->quad_list.push_back(filter_pass_quad.PassAs<DrawQuad>()); |   723       root_pass->quad_list.push_back(filter_pass_quad.PassAs<DrawQuad>()); | 
|   724       root_pass->shared_quad_state_list.push_back(shared_state.Pass()); |   724       root_pass->shared_quad_state_list.push_back(shared_state.Pass()); | 
|   725     } |   725     } | 
|   726  |   726  | 
|   727     const int kColumnWidth = device_viewport_rect.width() / 3; |   727     const int kColumnWidth = device_viewport_rect.width() / 3; | 
|   728  |   728  | 
|   729     gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); |   729     gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); | 
|   730     for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { |   730     for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   772                             SK_ColorWHITE, |   772                             SK_ColorWHITE, | 
|   773                             false); |   773                             false); | 
|   774     root_pass->quad_list.push_back(background_quad.PassAs<DrawQuad>()); |   774     root_pass->quad_list.push_back(background_quad.PassAs<DrawQuad>()); | 
|   775     root_pass->shared_quad_state_list.push_back(shared_state.Pass()); |   775     root_pass->shared_quad_state_list.push_back(shared_state.Pass()); | 
|   776  |   776  | 
|   777     pass_list_.push_back(filter_pass.Pass()); |   777     pass_list_.push_back(filter_pass.Pass()); | 
|   778     pass_list_.push_back(root_pass.Pass()); |   778     pass_list_.push_back(root_pass.Pass()); | 
|   779   } |   779   } | 
|   780  |   780  | 
|   781   RenderPassList pass_list_; |   781   RenderPassList pass_list_; | 
|   782   WebKit::WebFilterOperations background_filters_; |   782   FilterOperations background_filters_; | 
|   783   gfx::Transform filter_pass_to_target_transform_; |   783   gfx::Transform filter_pass_to_target_transform_; | 
|   784   gfx::Rect filter_pass_content_rect_; |   784   gfx::Rect filter_pass_content_rect_; | 
|   785 }; |   785 }; | 
|   786  |   786  | 
|   787 typedef ::testing::Types<GLRenderer, SoftwareRenderer> |   787 typedef ::testing::Types<GLRenderer, SoftwareRenderer> | 
|   788     BackgroundFilterRendererTypes; |   788     BackgroundFilterRendererTypes; | 
|   789 TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter, |   789 TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter, | 
|   790                 BackgroundFilterRendererTypes); |   790                 BackgroundFilterRendererTypes); | 
|   791  |   791  | 
|   792 typedef RendererPixelTestWithBackgroundFilter<GLRenderer> |   792 typedef RendererPixelTestWithBackgroundFilter<GLRenderer> | 
|   793 GLRendererPixelTestWithBackgroundFilter; |   793 GLRendererPixelTestWithBackgroundFilter; | 
|   794  |   794  | 
|   795 // TODO(skaslev): The software renderer does not support filters yet. |   795 // TODO(skaslev): The software renderer does not support filters yet. | 
|   796 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) { |   796 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) { | 
|   797   this->background_filters_.append( |   797   this->background_filters_.Append( | 
|   798       WebKit::WebFilterOperation::createInvertFilter(1.f)); |   798       FilterOperation::CreateInvertFilter(1.f)); | 
|   799  |   799  | 
|   800   this->filter_pass_content_rect_ = gfx::Rect(this->device_viewport_size_); |   800   this->filter_pass_content_rect_ = gfx::Rect(this->device_viewport_size_); | 
|   801   this->filter_pass_content_rect_.Inset(12, 14, 16, 18); |   801   this->filter_pass_content_rect_.Inset(12, 14, 16, 18); | 
|   802  |   802  | 
|   803   this->SetUpRenderPassList(); |   803   this->SetUpRenderPassList(); | 
|   804   EXPECT_TRUE(this->RunPixelTest( |   804   EXPECT_TRUE(this->RunPixelTest( | 
|   805       &this->pass_list_, |   805       &this->pass_list_, | 
|   806       base::FilePath(FILE_PATH_LITERAL("background_filter.png")), |   806       base::FilePath(FILE_PATH_LITERAL("background_filter.png")), | 
|   807       ExactPixelComparator(true))); |   807       ExactPixelComparator(true))); | 
|   808 } |   808 } | 
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1177  |  1177  | 
|  1178   EXPECT_TRUE(this->RunPixelTest( |  1178   EXPECT_TRUE(this->RunPixelTest( | 
|  1179       &pass_list, |  1179       &pass_list, | 
|  1180       base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), |  1180       base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), | 
|  1181       ExactPixelComparator(true))); |  1181       ExactPixelComparator(true))); | 
|  1182 } |  1182 } | 
|  1183 #endif  // !defined(OS_ANDROID) |  1183 #endif  // !defined(OS_ANDROID) | 
|  1184  |  1184  | 
|  1185 }  // namespace |  1185 }  // namespace | 
|  1186 }  // namespace cc |  1186 }  // namespace cc | 
| OLD | NEW |