diff options
-rw-r--r-- | components/view_manager/BUILD.gn | 2 | ||||
-rw-r--r-- | components/view_manager/connection_manager.cc | 42 | ||||
-rw-r--r-- | components/view_manager/connection_manager.h | 21 | ||||
-rw-r--r-- | components/view_manager/display_manager.cc | 42 | ||||
-rw-r--r-- | components/view_manager/display_manager.h | 37 | ||||
-rw-r--r-- | components/view_manager/display_manager_delegate.h | 39 | ||||
-rw-r--r-- | components/view_manager/display_manager_factory.h | 31 | ||||
-rw-r--r-- | components/view_manager/event_dispatcher.cc | 5 | ||||
-rw-r--r-- | components/view_manager/view_manager_app.cc | 8 | ||||
-rw-r--r-- | components/view_manager/view_manager_service_unittest.cc | 36 |
10 files changed, 194 insertions, 69 deletions
diff --git a/components/view_manager/BUILD.gn b/components/view_manager/BUILD.gn index d850799..2badae1 100644 --- a/components/view_manager/BUILD.gn +++ b/components/view_manager/BUILD.gn @@ -69,6 +69,8 @@ source_set("lib") { "default_access_policy.h", "display_manager.cc", "display_manager.h", + "display_manager_delegate.h", + "display_manager_factory.h", "event_dispatcher.cc", "event_dispatcher.h", "focus_controller.cc", diff --git a/components/view_manager/connection_manager.cc b/components/view_manager/connection_manager.cc index bcc224d..d1ae77a 100644 --- a/components/view_manager/connection_manager.cc +++ b/components/view_manager/connection_manager.cc @@ -110,13 +110,17 @@ ConnectionManager::ScopedChange::~ScopedChange() { connection_manager_->FinishChange(); } -ConnectionManager::ConnectionManager(ConnectionManagerDelegate* delegate, - scoped_ptr<DisplayManager> display_manager) +ConnectionManager::ConnectionManager( + ConnectionManagerDelegate* delegate, + bool is_headless, + mojo::ApplicationImpl* app_impl, + const scoped_refptr<gles2::GpuState>& gpu_state) : delegate_(delegate), window_manager_client_connection_(nullptr), next_connection_id_(1), event_dispatcher_(this), - display_manager_(display_manager.Pass()), + display_manager_( + DisplayManager::Create(is_headless, app_impl, gpu_state)), root_(CreateServerView(RootViewId(0))), current_change_(nullptr), in_destructor_(false), @@ -125,7 +129,7 @@ ConnectionManager::ConnectionManager(ConnectionManagerDelegate* delegate, root_->SetBounds(gfx::Rect(800, 600)); root_->SetVisible(true); - display_manager_->Init(this, &event_dispatcher_); + display_manager_->Init(this); } ConnectionManager::~ConnectionManager() { @@ -318,16 +322,19 @@ void ConnectionManager::DispatchInputEventToView(const ServerView* view, base::Bind(&base::DoNothing)); } -void ConnectionManager::ProcessViewBoundsChanged(const ServerView* view, - const gfx::Rect& old_bounds, - const gfx::Rect& new_bounds) { - for (auto& pair : connection_map_) { - pair.second->service()->ProcessViewBoundsChanged( - view, old_bounds, new_bounds, IsChangeSource(pair.first)); - } +ServerView* ConnectionManager::GetRoot() { + return root_.get(); } -void ConnectionManager::ProcessViewportMetricsChanged( +void ConnectionManager::OnEvent(mojo::EventPtr event) { + event_dispatcher_.OnEvent(event.Pass()); +} + +void ConnectionManager::OnDisplayClosed() { + delegate_->OnLostConnectionToWindowManager(); +} + +void ConnectionManager::OnViewportMetricsChanged( const mojo::ViewportMetrics& old_metrics, const mojo::ViewportMetrics& new_metrics) { for (auto& pair : connection_map_) { @@ -336,6 +343,15 @@ void ConnectionManager::ProcessViewportMetricsChanged( } } +void ConnectionManager::ProcessViewBoundsChanged(const ServerView* view, + const gfx::Rect& old_bounds, + const gfx::Rect& new_bounds) { + for (auto& pair : connection_map_) { + pair.second->service()->ProcessViewBoundsChanged( + view, old_bounds, new_bounds, IsChangeSource(pair.first)); + } +} + void ConnectionManager::ProcessWillChangeViewHierarchy( const ServerView* view, const ServerView* new_parent, @@ -386,7 +402,7 @@ void ConnectionManager::FinishChange() { } void ConnectionManager::DoAnimation() { - if (!DecrementAnimatingViewsOpacity(root())) + if (!DecrementAnimatingViewsOpacity(GetRoot())) animation_timer_.Stop(); } diff --git a/components/view_manager/connection_manager.h b/components/view_manager/connection_manager.h index cdc133e..3b9502a 100644 --- a/components/view_manager/connection_manager.h +++ b/components/view_manager/connection_manager.h @@ -12,6 +12,7 @@ #include "base/memory/scoped_ptr.h" #include "base/timer/timer.h" #include "components/view_manager/animation_runner.h" +#include "components/view_manager/display_manager.h" #include "components/view_manager/event_dispatcher.h" #include "components/view_manager/focus_controller_delegate.h" #include "components/view_manager/ids.h" @@ -26,7 +27,6 @@ namespace view_manager { class ClientConnection; class ConnectionManagerDelegate; -class DisplayManager; class FocusController; class ServerView; class ViewManagerServiceImpl; @@ -36,7 +36,8 @@ class ViewManagerServiceImpl; class ConnectionManager : public ServerViewDelegate, public ServerViewObserver, public mojo::ViewManagerRoot, - public FocusControllerDelegate { + public FocusControllerDelegate, + public DisplayManagerDelegate { public: // Create when a ViewManagerServiceImpl is about to make a change. Ensures // clients are notified correctly. @@ -72,7 +73,9 @@ class ConnectionManager : public ServerViewDelegate, }; ConnectionManager(ConnectionManagerDelegate* delegate, - scoped_ptr<DisplayManager> display_manager); + bool is_headless, + mojo::ApplicationImpl* app_impl, + const scoped_refptr<gles2::GpuState>& gpu_state); ~ConnectionManager() override; // Creates a new ServerView. The return value is owned by the caller, but must @@ -104,8 +107,6 @@ class ConnectionManager : public ServerViewDelegate, void SetFocusedView(ServerView* view); ServerView* GetFocusedView(); - ServerView* root() { return root_.get(); } - // Returns whether |view| is a descendant of some root view but not itself a // root view. bool IsViewAttachedToRoot(const ServerView* view) const; @@ -156,14 +157,20 @@ class ConnectionManager : public ServerViewDelegate, // Dispatches |event| directly to the appropriate connection for |view|. void DispatchInputEventToView(const ServerView* view, mojo::EventPtr event); + // DisplayManager::Delegate: + ServerView* GetRoot() override; + void OnEvent(mojo::EventPtr event) override; + void OnDisplayClosed() override; + void OnViewportMetricsChanged( + const mojo::ViewportMetrics& old_metrics, + const mojo::ViewportMetrics& new_metrics) override; + // These functions trivially delegate to all ViewManagerServiceImpls, which in // term notify their clients. void ProcessViewDestroyed(ServerView* view); void ProcessViewBoundsChanged(const ServerView* view, const gfx::Rect& old_bounds, const gfx::Rect& new_bounds); - void ProcessViewportMetricsChanged(const mojo::ViewportMetrics& old_metrics, - const mojo::ViewportMetrics& new_metrics); void ProcessWillChangeViewHierarchy(const ServerView* view, const ServerView* new_parent, const ServerView* old_parent); diff --git a/components/view_manager/display_manager.cc b/components/view_manager/display_manager.cc index fd181e5..c292450 100644 --- a/components/view_manager/display_manager.cc +++ b/components/view_manager/display_manager.cc @@ -5,7 +5,7 @@ #include "components/view_manager/display_manager.h" #include "base/numerics/safe_conversions.h" -#include "components/view_manager/connection_manager.h" +#include "components/view_manager/display_manager_factory.h" #include "components/view_manager/gles2/gpu_state.h" #include "components/view_manager/native_viewport/onscreen_context_provider.h" #include "components/view_manager/public/interfaces/gpu.mojom.h" @@ -74,32 +74,39 @@ void DrawViewTree(mojo::Pass* pass, } // namespace +// static +DisplayManagerFactory* DisplayManager::factory_ = nullptr; + +// static +DisplayManager* DisplayManager::Create( + bool is_headless, + mojo::ApplicationImpl* app_impl, + const scoped_refptr<gles2::GpuState>& gpu_state) { + if (factory_) + return factory_->CreateDisplayManager(is_headless, app_impl, gpu_state); + return new DefaultDisplayManager(is_headless, app_impl, gpu_state); +} + DefaultDisplayManager::DefaultDisplayManager( bool is_headless, mojo::ApplicationImpl* app_impl, - const scoped_refptr<gles2::GpuState>& gpu_state, - const mojo::Callback<void()>& platform_viewport_closed_callback) + const scoped_refptr<gles2::GpuState>& gpu_state) : is_headless_(is_headless), app_impl_(app_impl), gpu_state_(gpu_state), - connection_manager_(nullptr), - event_dispatcher_(nullptr), + delegate_(nullptr), draw_timer_(false, false), frame_pending_(false), context_provider_( new native_viewport::OnscreenContextProvider(gpu_state)), - platform_viewport_closed_callback_(platform_viewport_closed_callback), weak_factory_(this) { metrics_.size_in_pixels = mojo::Size::New(); metrics_.size_in_pixels->width = 800; metrics_.size_in_pixels->height = 600; } -void DefaultDisplayManager::Init( - ConnectionManager* connection_manager, - EventDispatcher* event_dispatcher) { - connection_manager_ = connection_manager; - event_dispatcher_ = event_dispatcher; +void DefaultDisplayManager::Init(DisplayManagerDelegate* delegate) { + delegate_ = delegate; platform_viewport_ = native_viewport::PlatformViewport::Create(this, is_headless_).Pass(); @@ -134,7 +141,7 @@ void DefaultDisplayManager::SchedulePaint(const ServerView* view, if (!view->IsDrawn()) return; const gfx::Rect root_relative_rect = - ConvertRectBetweenViews(view, connection_manager_->root(), bounds); + ConvertRectBetweenViews(view, delegate_->GetRoot(), bounds); if (root_relative_rect.IsEmpty()) return; dirty_rect_.Union(root_relative_rect); @@ -154,7 +161,7 @@ void DefaultDisplayManager::Draw() { auto pass = mojo::CreateDefaultPass(1, rect); pass->damage_rect = Rect::From(dirty_rect_); - DrawViewTree(pass.get(), connection_manager_->root(), gfx::Vector2d(), 1.0f); + DrawViewTree(pass.get(), delegate_->GetRoot(), gfx::Vector2d(), 1.0f); auto frame = mojo::Frame::New(); frame->passes.push_back(pass.Pass()); @@ -192,7 +199,7 @@ void DefaultDisplayManager::OnAcceleratedWidgetDestroyed() { } void DefaultDisplayManager::OnEvent(mojo::EventPtr event) { - event_dispatcher_->OnEvent(event.Pass()); + delegate_->OnEvent(event.Pass()); } void DefaultDisplayManager::OnMetricsChanged(const gfx::Size& size, @@ -206,16 +213,15 @@ void DefaultDisplayManager::OnMetricsChanged(const gfx::Size& size, metrics.size_in_pixels = mojo::Size::From(size); metrics.device_pixel_ratio = device_scale_factor; - connection_manager_->root()->SetBounds(gfx::Rect(size)); - connection_manager_->ProcessViewportMetricsChanged(metrics_, metrics); + delegate_->GetRoot()->SetBounds(gfx::Rect(size)); + delegate_->OnViewportMetricsChanged(metrics_, metrics); metrics_.size_in_pixels = metrics.size_in_pixels.Clone(); metrics_.device_pixel_ratio = metrics.device_pixel_ratio; } void DefaultDisplayManager::OnDestroyed() { - if (!platform_viewport_closed_callback_.is_null()) - platform_viewport_closed_callback_.Run(); + delegate_->OnDisplayClosed(); } } // namespace view_manager diff --git a/components/view_manager/display_manager.h b/components/view_manager/display_manager.h index 6ba94d7..490549e 100644 --- a/components/view_manager/display_manager.h +++ b/components/view_manager/display_manager.h @@ -11,6 +11,7 @@ #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "base/timer/timer.h" +#include "components/view_manager/display_manager_delegate.h" #include "components/view_manager/native_viewport/platform_viewport.h" #include "components/view_manager/public/interfaces/display.mojom.h" #include "components/view_manager/public/interfaces/view_manager.mojom.h" @@ -35,8 +36,8 @@ class ApplicationImpl; namespace view_manager { +class DisplayManagerFactory; class EventDispatcher; -class ConnectionManager; class ServerView; // DisplayManager is used to connect the root ServerView to a display. @@ -44,9 +45,12 @@ class DisplayManager { public: virtual ~DisplayManager() {} - virtual void Init( - ConnectionManager* connection_manager, - EventDispatcher* event_dispatcher) = 0; + static DisplayManager* Create( + bool is_headless, + mojo::ApplicationImpl* app_impl, + const scoped_refptr<gles2::GpuState>& gpu_state); + + virtual void Init(DisplayManagerDelegate* delegate) = 0; // Schedules a paint for the specified region in the coordinates of |view|. virtual void SchedulePaint(const ServerView* view, @@ -55,6 +59,16 @@ class DisplayManager { virtual void SetViewportSize(const gfx::Size& size) = 0; virtual const mojo::ViewportMetrics& GetViewportMetrics() = 0; + + // Overrides factory for testing. Default (NULL) value indicates regular + // (non-test) environment. + static void set_factory_for_testing(DisplayManagerFactory* factory) { + DisplayManager::factory_ = factory; + } + + private: + // Static factory instance (always NULL for non-test). + static DisplayManagerFactory* factory_; }; // DisplayManager implementation that connects to the services necessary to @@ -63,16 +77,13 @@ class DefaultDisplayManager : public DisplayManager, public native_viewport::PlatformViewport::Delegate { public: - DefaultDisplayManager( - bool is_headless, - mojo::ApplicationImpl* app_impl, - const scoped_refptr<gles2::GpuState>& gpu_state, - const mojo::Callback<void()>& platform_viewport_closed_callback); + DefaultDisplayManager(bool is_headless, + mojo::ApplicationImpl* app_impl, + const scoped_refptr<gles2::GpuState>& gpu_state); ~DefaultDisplayManager() override; // DisplayManager: - void Init(ConnectionManager* connection_manager, - EventDispatcher* event_dispatcher) override; + void Init(DisplayManagerDelegate* delegate) override; void SchedulePaint(const ServerView* view, const gfx::Rect& bounds) override; void SetViewportSize(const gfx::Size& size) override; const mojo::ViewportMetrics& GetViewportMetrics() override; @@ -94,8 +105,7 @@ class DefaultDisplayManager : bool is_headless_; mojo::ApplicationImpl* app_impl_; scoped_refptr<gles2::GpuState> gpu_state_; - ConnectionManager* connection_manager_; - EventDispatcher* event_dispatcher_; + DisplayManagerDelegate* delegate_; mojo::ViewportMetrics metrics_; gfx::Rect dirty_rect_; @@ -105,7 +115,6 @@ class DefaultDisplayManager : mojo::DisplayPtr display_; scoped_ptr<native_viewport::OnscreenContextProvider> context_provider_; scoped_ptr<native_viewport::PlatformViewport> platform_viewport_; - mojo::Callback<void()> platform_viewport_closed_callback_; base::WeakPtrFactory<DefaultDisplayManager> weak_factory_; diff --git a/components/view_manager/display_manager_delegate.h b/components/view_manager/display_manager_delegate.h new file mode 100644 index 0000000..e52f15e --- /dev/null +++ b/components/view_manager/display_manager_delegate.h @@ -0,0 +1,39 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_VIEW_MANAGER_DISPLAY_MANAGER_DELEGATE_H_ +#define COMPONENTS_VIEW_MANAGER_DISPLAY_MANAGER_DELEGATE_H_ + +#include "components/view_manager/public/interfaces/view_manager.mojom.h" + +namespace view_manager { + +class ServerView; + +// A DisplayManagerDelegate an interface to be implemented by an object that +// manages the lifetime of a DisplayManager, forwards events to the appropriate +// views, and responses to changes in viewport size. +class DisplayManagerDelegate { + public: + // Returns the root view of this display. + virtual ServerView* GetRoot() = 0; + + // Called when the window managed by the DisplayManager is closed. + virtual void OnDisplayClosed() = 0; + + // Called when an event arrives. + virtual void OnEvent(mojo::EventPtr event) = 0; + + // Signals that the metrics of this display's viewport has changed. + virtual void OnViewportMetricsChanged( + const mojo::ViewportMetrics& old_metrics, + const mojo::ViewportMetrics& new_metrics) = 0; + + protected: + virtual ~DisplayManagerDelegate() {} +}; + +} // namespace view_manager + +#endif // COMPONENTS_VIEW_MANAGER_DISPLAY_MANAGER_DELEGATE_H_ diff --git a/components/view_manager/display_manager_factory.h b/components/view_manager/display_manager_factory.h new file mode 100644 index 0000000..4152b7d --- /dev/null +++ b/components/view_manager/display_manager_factory.h @@ -0,0 +1,31 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_VIEW_MANAGER_DISPLAY_MANAGER_FACTORY_H_ +#define COMPONENTS_VIEW_MANAGER_DISPLAY_MANAGER_FACTORY_H_ + +#include "components/view_manager/gles2/gpu_state.h" +#include "third_party/mojo/src/mojo/public/cpp/bindings/callback.h" + +namespace mojo { +class ApplicationImpl; +} // namespace mojo + +namespace view_manager { + +class DisplayManager; + +// Abstract factory for DisplayManagers. Used by tests to construct test +// DisplayManagers. +class DisplayManagerFactory { + public: + virtual DisplayManager* CreateDisplayManager( + bool is_headless, + mojo::ApplicationImpl* app_impl, + const scoped_refptr<gles2::GpuState>& gpu_state) = 0; +}; + +} // namespace view_manager + +#endif // COMPONENTS_VIEW_MANAGER_DISPLAY_MANAGER_FACTORY_H_ diff --git a/components/view_manager/event_dispatcher.cc b/components/view_manager/event_dispatcher.cc index edc2bc5..c3b1604 100644 --- a/components/view_manager/event_dispatcher.cc +++ b/components/view_manager/event_dispatcher.cc @@ -36,12 +36,13 @@ void EventDispatcher::OnEvent(mojo::EventPtr event) { static_cast<int>(event->pointer_data->y)); ServerView* target = connection_manager_->GetFocusedView(); if (event->action == mojo::EVENT_TYPE_POINTER_DOWN || !target) { - target = FindDeepestVisibleView(connection_manager_->root(), root_point); + target = + FindDeepestVisibleView(connection_manager_->GetRoot(), root_point); CHECK(target); connection_manager_->SetFocusedView(target); } const gfx::PointF local_point(ConvertPointFBetweenViews( - connection_manager_->root(), target, + connection_manager_->GetRoot(), target, gfx::PointF(event->pointer_data->x, event->pointer_data->y))); event->pointer_data->x = local_point.x(); event->pointer_data->y = local_point.y(); diff --git a/components/view_manager/view_manager_app.cc b/components/view_manager/view_manager_app.cc index 46da7ff..7cc7e20 100644 --- a/components/view_manager/view_manager_app.cc +++ b/components/view_manager/view_manager_app.cc @@ -51,14 +51,8 @@ void ViewManagerApp::Initialize(ApplicationImpl* app) { if (!gpu_state_.get()) gpu_state_ = new gles2::GpuState; - scoped_ptr<DefaultDisplayManager> display_manager(new DefaultDisplayManager( - is_headless_, - app_impl_, - gpu_state_, - base::Bind(&ViewManagerApp::OnLostConnectionToWindowManager, - base::Unretained(this)))); connection_manager_.reset( - new ConnectionManager(this, display_manager.Pass())); + new ConnectionManager(this, is_headless_, app_impl_, gpu_state_)); } bool ViewManagerApp::ConfigureIncomingConnection( diff --git a/components/view_manager/view_manager_service_unittest.cc b/components/view_manager/view_manager_service_unittest.cc index 215ab5a..2c9e6a6 100644 --- a/components/view_manager/view_manager_service_unittest.cc +++ b/components/view_manager/view_manager_service_unittest.cc @@ -10,6 +10,8 @@ #include "components/view_manager/connection_manager.h" #include "components/view_manager/connection_manager_delegate.h" #include "components/view_manager/display_manager.h" +#include "components/view_manager/display_manager_factory.h" +#include "components/view_manager/gles2/gpu_state.h" #include "components/view_manager/ids.h" #include "components/view_manager/public/cpp/types.h" #include "components/view_manager/public/cpp/util.h" @@ -171,15 +173,14 @@ class TestConnectionManagerDelegate : public ConnectionManagerDelegate { // ----------------------------------------------------------------------------- -// Empty implementation of DisplayManager. +// Empty implementation of nisplayManager. class TestDisplayManager : public DisplayManager { public: TestDisplayManager() {} ~TestDisplayManager() override {} // DisplayManager: - void Init(ConnectionManager* connection_manager, - EventDispatcher* event_dispatcher) override {} + void Init(DisplayManagerDelegate* delegate) override {} void SchedulePaint(const ServerView* view, const gfx::Rect& bounds) override { } void SetViewportSize(const gfx::Size& size) override {} @@ -193,6 +194,22 @@ class TestDisplayManager : public DisplayManager { DISALLOW_COPY_AND_ASSIGN(TestDisplayManager); }; +// Factory that dispenses TestDisplayManagers. +class TestDisplayManagerFactory : public DisplayManagerFactory { + public: + TestDisplayManagerFactory() {} + ~TestDisplayManagerFactory() {} + DisplayManager* CreateDisplayManager( + bool is_headless, + mojo::ApplicationImpl* app_impl, + const scoped_refptr<gles2::GpuState>& gpu_state9) override { + return new TestDisplayManager(); + } + + private: + DISALLOW_COPY_AND_ASSIGN(TestDisplayManagerFactory); +}; + mojo::EventPtr CreatePointerDownEvent(int x, int y) { mojo::EventPtr event(mojo::Event::New()); event->action = mojo::EVENT_TYPE_POINTER_DOWN; @@ -242,8 +259,10 @@ class ViewManagerServiceTest : public testing::Test { protected: // testing::Test: void SetUp() override { - connection_manager_.reset(new ConnectionManager( - &delegate_, scoped_ptr<DisplayManager>(new TestDisplayManager))); + DisplayManager::set_factory_for_testing(&display_manager_factory_); + connection_manager_.reset( + new ConnectionManager(&delegate_, true /* is_headless */, nullptr, + scoped_refptr<gles2::GpuState>(nullptr))); scoped_ptr<ViewManagerServiceImpl> service(new ViewManagerServiceImpl( connection_manager_.get(), kInvalidConnectionId, RootViewId(0))); scoped_ptr<TestClientConnection> client_connection( @@ -260,6 +279,7 @@ class ViewManagerServiceTest : public testing::Test { // TestViewManagerClient that is used for the WM connection. TestViewManagerClient* wm_client_; + TestDisplayManagerFactory display_manager_factory_; TestConnectionManagerDelegate delegate_; scoped_ptr<ConnectionManager> connection_manager_; base::MessageLoop message_loop_; @@ -476,7 +496,7 @@ TEST_F(ViewManagerServiceTest, FocusOnPointer) { EXPECT_TRUE(wm_connection()->SetViewVisibility(embed_view_id, true)); EXPECT_TRUE( wm_connection()->AddView(*(wm_connection()->root()), embed_view_id)); - connection_manager()->root()->SetBounds(gfx::Rect(0, 0, 100, 100)); + connection_manager()->GetRoot()->SetBounds(gfx::Rect(0, 0, 100, 100)); mojo::URLRequestPtr request(mojo::URLRequest::New()); wm_connection()->EmbedAllowingReembed(embed_view_id, request.Pass(), mojo::Callback<void(bool)>()); @@ -520,7 +540,7 @@ TEST_F(ViewManagerServiceTest, FocusOnPointer) { // the client1 doesn't see who has focus as the focused view (root) isn't // visible to it. connection_manager()->ProcessEvent(CreatePointerDownEvent(61, 22)); - EXPECT_EQ(connection_manager()->root(), + EXPECT_EQ(connection_manager()->GetRoot(), connection_manager()->GetFocusedView()); ASSERT_GE(wm_client()->tracker()->changes()->size(), 1u); EXPECT_EQ("Focused id=0,2", @@ -537,7 +557,7 @@ TEST_F(ViewManagerServiceTest, FocusOnPointer) { // Press in the same location. Should not get a focus change event (only input // event). connection_manager()->ProcessEvent(CreatePointerDownEvent(61, 22)); - EXPECT_EQ(connection_manager()->root(), + EXPECT_EQ(connection_manager()->GetRoot(), connection_manager()->GetFocusedView()); ASSERT_EQ(wm_client()->tracker()->changes()->size(), 1u); EXPECT_EQ("InputEvent view=0,2 event_action=4", |