summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/view_manager/BUILD.gn2
-rw-r--r--components/view_manager/connection_manager.cc42
-rw-r--r--components/view_manager/connection_manager.h21
-rw-r--r--components/view_manager/display_manager.cc42
-rw-r--r--components/view_manager/display_manager.h37
-rw-r--r--components/view_manager/display_manager_delegate.h39
-rw-r--r--components/view_manager/display_manager_factory.h31
-rw-r--r--components/view_manager/event_dispatcher.cc5
-rw-r--r--components/view_manager/view_manager_app.cc8
-rw-r--r--components/view_manager/view_manager_service_unittest.cc36
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",