Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <cmath> | 10 #include <cmath> |
| (...skipping 6252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6263 scroll_result = host_impl_->ScrollBy( | 6263 scroll_result = host_impl_->ScrollBy( |
| 6264 UpdateState(gfx::Point(), gfx::Vector2dF(-0.12f, 0.1f)).get()); | 6264 UpdateState(gfx::Point(), gfx::Vector2dF(-0.12f, 0.1f)).get()); |
| 6265 EXPECT_FALSE(scroll_result.did_scroll); | 6265 EXPECT_FALSE(scroll_result.did_scroll); |
| 6266 EXPECT_FALSE(scroll_result.did_overscroll_root); | 6266 EXPECT_FALSE(scroll_result.did_overscroll_root); |
| 6267 EXPECT_EQ(gfx::Vector2dF().ToString(), | 6267 EXPECT_EQ(gfx::Vector2dF().ToString(), |
| 6268 host_impl_->accumulated_root_overscroll().ToString()); | 6268 host_impl_->accumulated_root_overscroll().ToString()); |
| 6269 host_impl_->ScrollEnd(EndState().get()); | 6269 host_impl_->ScrollEnd(EndState().get()); |
| 6270 } | 6270 } |
| 6271 } | 6271 } |
| 6272 | 6272 |
| 6273 TEST_F(LayerTreeHostImplTest, OverscrollOnMainThread) { | |
| 6274 InputHandlerScrollResult scroll_result; | |
| 6275 LayerTreeSettings settings = DefaultSettings(); | |
| 6276 CreateHostImpl(settings, CreateOutputSurface()); | |
| 6277 | |
| 6278 LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(50, 50)); | |
|
bokan
2016/07/01 19:02:28
Use CreateBasicVirtualViewportLayers to build the
Eric Seckler
2016/07/04 08:33:26
Done.
| |
| 6279 scroll_layer->set_main_thread_scrolling_reasons( | |
| 6280 MainThreadScrollingReason::kThreadedScrollingDisabled); | |
| 6281 | |
| 6282 LayerImpl* clip_layer = | |
| 6283 scroll_layer->test_properties()->parent->test_properties()->parent; | |
|
bokan
2016/07/01 19:02:28
Use active_tree()->InnerViewportContainerLayer()
Eric Seckler
2016/07/04 08:33:26
Removed this part, should now be handled by Create
| |
| 6284 clip_layer->SetBounds(gfx::Size(50, 50)); | |
| 6285 host_impl_->active_tree()->BuildPropertyTreesForTesting(); | |
| 6286 host_impl_->SetViewportSize(gfx::Size(50, 50)); | |
| 6287 host_impl_->active_tree()->PushPageScaleFromMainThread(1.f, 0.5f, 4.f); | |
| 6288 DrawFrame(); | |
| 6289 | |
| 6290 // Overscroll initiated outside layers will be handled by the main thread. | |
| 6291 EXPECT_EQ(nullptr, host_impl_->active_tree()->FindLayerThatIsHitByPoint( | |
| 6292 gfx::PointF(0, 60))); | |
| 6293 EXPECT_EQ(InputHandler::SCROLL_ON_MAIN_THREAD, | |
| 6294 host_impl_ | |
| 6295 ->ScrollBegin(BeginState(gfx::Point(0, 60)).get(), | |
| 6296 InputHandler::WHEEL) | |
| 6297 .thread); | |
| 6298 | |
| 6299 // Overscroll initiated inside layers will be handled by the main thread. | |
|
bokan
2016/07/01 19:02:28
Could you add a similar test that doesn't set the
Eric Seckler
2016/07/04 08:33:26
Done.
| |
| 6300 EXPECT_NE(nullptr, host_impl_->active_tree()->FindLayerThatIsHitByPoint( | |
| 6301 gfx::PointF(0, 0))); | |
| 6302 EXPECT_EQ( | |
| 6303 InputHandler::SCROLL_ON_MAIN_THREAD, | |
| 6304 host_impl_ | |
| 6305 ->ScrollBegin(BeginState(gfx::Point(0, 0)).get(), InputHandler::WHEEL) | |
| 6306 .thread); | |
| 6307 } | |
| 6308 | |
| 6273 class BlendStateCheckLayer : public LayerImpl { | 6309 class BlendStateCheckLayer : public LayerImpl { |
| 6274 public: | 6310 public: |
| 6275 static std::unique_ptr<LayerImpl> Create( | 6311 static std::unique_ptr<LayerImpl> Create( |
| 6276 LayerTreeImpl* tree_impl, | 6312 LayerTreeImpl* tree_impl, |
| 6277 int id, | 6313 int id, |
| 6278 ResourceProvider* resource_provider) { | 6314 ResourceProvider* resource_provider) { |
| 6279 return base::WrapUnique( | 6315 return base::WrapUnique( |
| 6280 new BlendStateCheckLayer(tree_impl, id, resource_provider)); | 6316 new BlendStateCheckLayer(tree_impl, id, resource_provider)); |
| 6281 } | 6317 } |
| 6282 | 6318 |
| (...skipping 4669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10952 | 10988 |
| 10953 // Re-initialize with a software output surface. | 10989 // Re-initialize with a software output surface. |
| 10954 output_surface_ = FakeOutputSurface::CreateSoftware( | 10990 output_surface_ = FakeOutputSurface::CreateSoftware( |
| 10955 base::WrapUnique(new SoftwareOutputDevice)); | 10991 base::WrapUnique(new SoftwareOutputDevice)); |
| 10956 host_impl_->InitializeRenderer(output_surface_.get()); | 10992 host_impl_->InitializeRenderer(output_surface_.get()); |
| 10957 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); | 10993 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); |
| 10958 } | 10994 } |
| 10959 | 10995 |
| 10960 } // namespace | 10996 } // namespace |
| 10961 } // namespace cc | 10997 } // namespace cc |
| OLD | NEW |