Commit 3b167405 authored by ben@chromium.org's avatar ben@chromium.org

Revert 266940 "First step at synchronizing client model changes ..."

> First step at synchronizing client model changes with service.
> 
> R=sky@chromium.org
> http://crbug.com/365012
> 
> Review URL: https://codereview.chromium.org/258623005

TBR=ben@chromium.org

Review URL: https://codereview.chromium.org/261513002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266944 0039d316-1c4b-4281-b951-d872f2087c98
parent 20b21445
......@@ -2,17 +2,16 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/at_exit.h"
#include "base/bind.h"
#include "base/command_line.h"
#include "base/message_loop/message_loop.h"
#include "mojo/public/cpp/bindings/allocation_scope.h"
#include "mojo/public/cpp/bindings/remote_ptr.h"
#include "mojo/public/cpp/environment/environment.h"
#include "mojo/public/cpp/shell/application.h"
#include "mojo/public/cpp/system/core.h"
#include "mojo/public/cpp/system/macros.h"
#include "mojo/public/cpp/utility/run_loop.h"
#include "mojo/services/public/cpp/view_manager/view_manager.h"
#include "mojo/services/public/cpp/view_manager/view_tree_node.h"
#include "mojo/public/interfaces/shell/shell.mojom.h"
#include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h"
#if defined(WIN32)
#if !defined(CDECL)
......@@ -27,28 +26,43 @@
namespace mojo {
namespace examples {
class SampleApp : public Application {
class SampleApp : public Application,
public services::view_manager::ViewManagerClient {
public:
explicit SampleApp(MojoHandle shell_handle)
: Application(shell_handle) {
view_manager_.reset(new services::view_manager::ViewManager(shell()));
node_1_.reset(
new services::view_manager::ViewTreeNode(view_manager_.get()));
node_11_.reset(
new services::view_manager::ViewTreeNode(view_manager_.get()));
node_1_->AddChild(node_11_.get());
explicit SampleApp(MojoHandle shell_handle) : Application(shell_handle) {
InterfacePipe<services::view_manager::ViewManager, AnyInterface>
view_manager_pipe;
AllocationScope scope;
shell()->Connect("mojo:mojo_view_manager",
view_manager_pipe.handle_to_peer.Pass());
view_manager_.reset(view_manager_pipe.handle_to_self.Pass(), this);
view_manager_->CreateNode(1, base::Bind(&SampleApp::OnCreatedView,
base::Unretained(this)));
}
virtual ~SampleApp() {
}
// ViewManagerClient::
virtual void OnConnectionEstablished(uint16_t connection_id) OVERRIDE {
}
virtual void OnNodeHierarchyChanged(uint32_t node,
uint32_t new_parent,
uint32_t old_parent,
uint32_t change_id) OVERRIDE {
}
virtual void OnNodeViewReplaced(uint32_t node,
uint32_t old_view_id,
uint32_t new_view_id,
uint32_t change_id) OVERRIDE {
}
private:
// SampleApp creates a ViewManager and a trivial node hierarchy.
scoped_ptr<services::view_manager::ViewManager> view_manager_;
scoped_ptr<services::view_manager::ViewTreeNode> node_1_;
scoped_ptr<services::view_manager::ViewTreeNode> node_11_;
void OnCreatedView(bool success) {
DCHECK(success);
}
DISALLOW_COPY_AND_ASSIGN(SampleApp);
RemotePtr<services::view_manager::ViewManager> view_manager_;
};
} // namespace examples
......@@ -56,7 +70,8 @@ class SampleApp : public Application {
extern "C" SAMPLE_APP_EXPORT MojoResult CDECL MojoMain(
MojoHandle shell_handle) {
base::MessageLoop loop;
mojo::Environment env;
mojo::RunLoop loop;
mojo::examples::SampleApp app(shell_handle);
loop.Run();
......
......@@ -284,11 +284,11 @@
'../ui/gfx/gfx.gyp:gfx_geometry',
'../ui/gl/gl.gyp:gl',
'mojo_bindings',
'mojo_environment_chromium',
'mojo_environment_standalone',
'mojo_gles2',
'mojo_view_manager_lib',
'mojo_view_manager_bindings',
'mojo_shell_client',
'mojo_system_impl',
'mojo_system',
'mojo_utility',
],
'sources': [
......
......@@ -118,37 +118,15 @@
}],
],
},
{
'target_name': 'mojo_view_manager_bindings',
'type': 'static_library',
'sources': [
'services/public/interfaces/view_manager/view_manager.mojom',
],
'variables': {
'mojom_base_output_dir': 'mojo',
},
'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
'export_dependent_settings': [
'mojo_bindings',
],
'dependencies': [
'mojo_bindings',
],
},
{
'target_name': 'mojo_view_manager_lib',
'type': 'static_library',
'dependencies': [
'../base/base.gyp:base',
'mojo_view_manager_bindings',
],
'sources': [
'services/public/cpp/view_manager/lib/view.cc',
'services/public/cpp/view_manager/lib/view_manager.cc',
'services/public/cpp/view_manager/lib/view_manager_private.cc',
'services/public/cpp/view_manager/lib/view_manager_private.h',
'services/public/cpp/view_manager/lib/view_manager_synchronizer.cc',
'services/public/cpp/view_manager/lib/view_manager_synchronizer.h',
'services/public/cpp/view_manager/lib/view_tree_host.cc',
'services/public/cpp/view_manager/lib/view_tree_node.cc',
'services/public/cpp/view_manager/lib/view_tree_node_observer.cc',
......@@ -182,6 +160,23 @@
'conditions': [
['use_aura==1', {
'targets': [
{
'target_name': 'mojo_view_manager_bindings',
'type': 'static_library',
'sources': [
'services/public/interfaces/view_manager/view_manager.mojom',
],
'variables': {
'mojom_base_output_dir': 'mojo',
},
'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
'export_dependent_settings': [
'mojo_bindings',
],
'dependencies': [
'mojo_bindings',
],
},
{
'target_name': 'mojo_view_manager',
'type': '<(component)',
......
// Copyright 2014 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.
#include "mojo/services/public/cpp/view_manager/view_manager.h"
#include "mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h"
namespace mojo {
namespace services {
namespace view_manager {
ViewManager::ViewManager(Shell* shell)
: shell_(shell),
synchronizer_(new ViewManagerSynchronizer(this)) {}
ViewManager::~ViewManager() {}
} // namespace view_manager
} // namespace services
} // namespace mojo
// Copyright 2014 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.
#include "mojo/services/public/cpp/view_manager/lib/view_manager_private.h"
namespace mojo {
namespace services {
namespace view_manager {
ViewManagerPrivate::ViewManagerPrivate(ViewManager* manager)
: manager_(manager) {}
ViewManagerPrivate::~ViewManagerPrivate() {}
} // namespace view_manager
} // namespace services
} // namespace mojo
// Copyright 2014 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 MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_PRIVATE_H_
#define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_PRIVATE_H_
#include "base/basictypes.h"
#include "mojo/services/public/cpp/view_manager/view_manager.h"
namespace mojo {
namespace services {
namespace view_manager {
class ViewManagerSynchronizer;
class ViewManagerPrivate {
public:
explicit ViewManagerPrivate(ViewManager* manager);
~ViewManagerPrivate();
ViewManagerSynchronizer* synchronizer() {
return manager_->synchronizer_.get();
}
Shell* shell() { return manager_->shell_; }
private:
ViewManager* manager_;
DISALLOW_COPY_AND_ASSIGN(ViewManagerPrivate);
};
} // namespace view_manager
} // namespace services
} // namespace mojo
#endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_PRIVATE_H_
// Copyright 2014 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.
#include "mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h"
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "mojo/public/cpp/bindings/allocation_scope.h"
#include "mojo/public/interfaces/shell/shell.mojom.h"
#include "mojo/services/public/cpp/view_manager/lib/view_manager_private.h"
namespace mojo {
namespace services {
namespace view_manager {
class ViewManagerTransaction {
public:
virtual ~ViewManagerTransaction() {}
void Commit() {
DCHECK(!committed_);
DoCommit();
committed_ = true;
}
bool committed() const { return committed_; }
uint32_t change_id() const { return change_id_; }
// General callback to be used for commits to the service.
void OnActionCompleted(bool success) {
DCHECK(success);
DoActionCompleted(success);
synchronizer_->RemoveFromPendingQueue(this);
}
protected:
enum TransactionType {
// Node creation.
TYPE_CREATE_VIEW_TREE_NODE,
// Modifications to the hierarchy (addition of or removal of nodes from a
// parent.)
TYPE_HIERARCHY
};
ViewManagerTransaction(TransactionType transaction_type,
ViewManagerSynchronizer* synchronizer)
: transaction_type_(transaction_type),
change_id_(synchronizer->GetNextChangeId()),
committed_(false),
synchronizer_(synchronizer) {
}
// Overridden to perform transaction-specific commit actions.
virtual void DoCommit() = 0;
// Overridden to perform transaction-specific cleanup on commit ack from the
// service.
virtual void DoActionCompleted(bool success) = 0;
IViewManager* service() { return synchronizer_->service_.get(); }
uint32_t MakeTransportId(uint16_t id) {
return (synchronizer_->connection_id_ << 16) | id;
}
private:
const TransactionType transaction_type_;
const uint32_t change_id_;
bool committed_;
ViewManagerSynchronizer* synchronizer_;
DISALLOW_COPY_AND_ASSIGN(ViewManagerTransaction);
};
class CreateViewTreeNodeTransaction
: public ViewManagerTransaction {
public:
CreateViewTreeNodeTransaction(uint16_t node_id,
ViewManagerSynchronizer* synchronizer)
: ViewManagerTransaction(TYPE_CREATE_VIEW_TREE_NODE, synchronizer),
node_id_(node_id) {}
virtual ~CreateViewTreeNodeTransaction() {}
private:
// Overridden from ViewManagerTransaction:
virtual void DoCommit() OVERRIDE {
service()->CreateNode(
node_id_,
base::Bind(&ViewManagerTransaction::OnActionCompleted,
base::Unretained(this)));
}
void DoActionCompleted(bool success) {
// TODO(beng): Failure means we tried to create with an extant id for this
// connection. Figure out what to do.
}
const uint16_t node_id_;
DISALLOW_COPY_AND_ASSIGN(CreateViewTreeNodeTransaction);
};
class HierarchyTransaction : public ViewManagerTransaction {
public:
enum HierarchyChangeType {
TYPE_ADD,
TYPE_REMOVE
};
HierarchyTransaction(HierarchyChangeType hierarchy_change_type,
uint16_t child_id,
uint16_t parent_id,
ViewManagerSynchronizer* synchronizer)
: ViewManagerTransaction(TYPE_HIERARCHY, synchronizer),
hierarchy_change_type_(hierarchy_change_type),
child_id_(child_id),
parent_id_(parent_id) {}
virtual ~HierarchyTransaction() {}
private:
// Overridden from ViewManagerTransaction:
virtual void DoCommit() OVERRIDE {
switch (hierarchy_change_type_) {
case TYPE_ADD:
service()->AddNode(
MakeTransportId(parent_id_),
MakeTransportId(child_id_),
change_id(),
base::Bind(&ViewManagerTransaction::OnActionCompleted,
base::Unretained(this)));
break;
case TYPE_REMOVE:
service()->RemoveNodeFromParent(
MakeTransportId(child_id_),
change_id(),
base::Bind(&ViewManagerTransaction::OnActionCompleted,
base::Unretained(this)));
break;
}
}
void DoActionCompleted(bool success) {
// TODO(beng): Failure means either one of the nodes specified didn't exist,
// or we passed the same node id for both params. Roll back?
}
const HierarchyChangeType hierarchy_change_type_;
const uint16_t child_id_;
const uint16_t parent_id_;
DISALLOW_COPY_AND_ASSIGN(HierarchyTransaction);
};
ViewManagerSynchronizer::ViewManagerSynchronizer(ViewManager* view_manager)
: view_manager_(view_manager),
connected_(false),
connection_id_(0),
next_id_(0),
next_change_id_(0) {
InterfacePipe<services::view_manager::IViewManager, AnyInterface>
view_manager_pipe;
AllocationScope scope;
ViewManagerPrivate(view_manager_).shell()->Connect(
"mojo:mojo_view_manager", view_manager_pipe.handle_to_peer.Pass());
service_.reset(view_manager_pipe.handle_to_self.Pass(), this);
}
ViewManagerSynchronizer::~ViewManagerSynchronizer() {
}
uint16_t ViewManagerSynchronizer::CreateViewTreeNode() {
uint16_t id = next_id_++;
pending_transactions_.push_back(new CreateViewTreeNodeTransaction(id, this));
ScheduleSync();
return id;
}
void ViewManagerSynchronizer::AddChild(uint16_t child_id, uint16_t parent_id) {
pending_transactions_.push_back(
new HierarchyTransaction(HierarchyTransaction::TYPE_ADD,
child_id,
parent_id,
this));
ScheduleSync();
}
void ViewManagerSynchronizer::RemoveChild(uint16_t child_id,
uint16_t parent_id) {
pending_transactions_.push_back(
new HierarchyTransaction(HierarchyTransaction::TYPE_REMOVE,
child_id,
parent_id,
this));
ScheduleSync();
}
////////////////////////////////////////////////////////////////////////////////
// ViewManagerSynchronizer, IViewManagerClient implementation:
void ViewManagerSynchronizer::OnConnectionEstablished(uint16 connection_id) {
connected_ = true;
connection_id_ = connection_id;
ScheduleSync();
}
void ViewManagerSynchronizer::OnNodeHierarchyChanged(uint32_t node,
uint32_t new_parent,
uint32_t old_parent,
uint32_t change_id) {
if (change_id == 0) {
// TODO(beng): Apply changes from another client.
}
}
void ViewManagerSynchronizer::OnNodeViewReplaced(uint32_t node,
uint32_t new_view_id,
uint32_t old_view_id,
uint32_t change_id) {
// ..
}
////////////////////////////////////////////////////////////////////////////////
// ViewManagerSynchronizer, private:
void ViewManagerSynchronizer::ScheduleSync() {
base::MessageLoop::current()->PostTask(
FROM_HERE,
base::Bind(&ViewManagerSynchronizer::DoSync, base::Unretained(this)));
}
void ViewManagerSynchronizer::DoSync() {
// The service connection may not be set up yet. OnConnectionEstablished()
// will schedule another sync when it is.
if (!connected_)
return;
Transactions::const_iterator it = pending_transactions_.begin();
for (; it != pending_transactions_.end(); ++it) {
if (!(*it)->committed())
(*it)->Commit();
}
}
uint32_t ViewManagerSynchronizer::GetNextChangeId() {
// TODO(beng): deal with change id collisions? Important in the "never ack'ed
// change" case mentioned in OnNodeHierarchyChanged().
// "0" is a special value passed to other connected clients, so we can't use
// it.
next_change_id_ = std::max(1u, ++next_change_id_);
return next_change_id_;
}
void ViewManagerSynchronizer::RemoveFromPendingQueue(
ViewManagerTransaction* transaction) {
DCHECK_EQ(transaction, pending_transactions_.front());
pending_transactions_.erase(pending_transactions_.begin());
}
} // namespace view_manager
} // namespace services
} // namespace mojo
// Copyright 2014 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 MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_SYNCHRONIZER_H_
#define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_SYNCHRONIZER_H_
#include "base/basictypes.h"
#include "base/memory/scoped_vector.h"
#include "mojo/public/cpp/bindings/remote_ptr.h"
#include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h"
namespace mojo {
namespace services {
namespace view_manager {
class ViewManager;
class ViewManagerTransaction;
// Manages the connection with the View Manager service.
class ViewManagerSynchronizer : public IViewManagerClient {
public:
explicit ViewManagerSynchronizer(ViewManager* view_manager);
virtual ~ViewManagerSynchronizer();
// API exposed to the node implementation that pushes local changes to the
// service.
uint16_t CreateViewTreeNode();
void AddChild(uint16_t child_id, uint16_t parent_id);
void RemoveChild(uint16_t child_id, uint16_t parent_id);
private:
friend class ViewManagerTransaction;
typedef ScopedVector<ViewManagerTransaction> Transactions;
// Overridden from IViewManagerClient:
virtual void OnConnectionEstablished(uint16 connection_id) OVERRIDE;
virtual void OnNodeHierarchyChanged(uint32 node,
uint32 new_parent,
uint32 old_parent,
uint32 change_id) OVERRIDE;
virtual void OnNodeViewReplaced(uint32_t node,
uint32_t new_view_id,
uint32_t old_view_id,
uint32_t change_id) OVERRIDE;
// Called to schedule a sync of the client model with the service after a
// return to the message loop.
void ScheduleSync();
// Sync the client model with the service by enumerating the pending
// transaction queue and applying them in order.
void DoSync();
// Used by individual transactions to generate a connection-specific change
// id.
// TODO(beng): What happens when there are more than sizeof(int) changes in
// the queue?
uint32_t GetNextChangeId();
// Removes |transaction| from the pending queue. |transaction| must be at the
// front of the queue.
void RemoveFromPendingQueue(ViewManagerTransaction* transaction);
ViewManager* view_manager_;
bool connected_;
uint16_t connection_id_;
uint16_t next_id_;
uint32_t next_change_id_;
Transactions pending_transactions_;
RemotePtr<IViewManager> service_;
DISALLOW_COPY_AND_ASSIGN(ViewManagerSynchronizer);
};
} // namespace view_manager
} // namespace services
} // namespace mojo
#endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_SYNCHRONIZER_H_
......@@ -4,8 +4,6 @@
#include "mojo/services/public/cpp/view_manager/view_tree_node.h"
#include "mojo/services/public/cpp/view_manager/lib/view_manager_private.h"
#include "mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h"
#include "mojo/services/public/cpp/view_manager/lib/view_tree_node_private.h"
#include "mojo/services/public/cpp/view_manager/view_tree_node_observer.h"
......@@ -90,17 +88,7 @@ void RemoveChildImpl(ViewTreeNode* child, ViewTreeNode::Children* children) {
////////////////////////////////////////////////////////////////////////////////
// ViewTreeNode, public:
ViewTreeNode::ViewTreeNode()
: manager_(NULL),
id_(-1),
owned_by_parent_(true),
parent_(NULL) {}
ViewTreeNode::ViewTreeNode(ViewManager* manager)
: manager_(manager),
id_(ViewManagerPrivate(manager).synchronizer()->CreateViewTreeNode()),
owned_by_parent_(true),
parent_(NULL) {}
ViewTreeNode::ViewTreeNode() : owned_by_parent_(true), parent_(NULL) {}
ViewTreeNode::~ViewTreeNode() {
while (!children_.empty()) {
......@@ -134,14 +122,12 @@ void ViewTreeNode::AddChild(ViewTreeNode* child) {
RemoveChildImpl(child, &child->parent_->children_);
children_.push_back(child);
child->parent_ = this;
ViewManagerPrivate(manager_).synchronizer()->AddChild(child->id(), id_);
}
void ViewTreeNode::RemoveChild(ViewTreeNode* child) {
DCHECK_EQ(this, child->parent());
ScopedTreeNotifier(child, this, NULL);
RemoveChildImpl(child, &children_);
ViewManagerPrivate(manager_).synchronizer()->RemoveChild(child->id(), id_);
}
bool ViewTreeNode::Contains(ViewTreeNode* child) const {
......
......@@ -6,31 +6,14 @@
#define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_VIEW_MANAGER_H_
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
namespace mojo {
class Shell;
namespace services {
namespace view_manager {
class ViewManagerSynchronizer;
// Approximately encapsulates the View Manager service.
// Owns a synchronizer that keeps a client model in sync with the service.
// Owned by the creator.
//
// TODO: displays
class ViewManager {
public:
explicit ViewManager(Shell* shell);
~ViewManager();
private:
friend class ViewManagerPrivate;
Shell* shell_;
scoped_ptr<ViewManagerSynchronizer> synchronizer_;
DISALLOW_COPY_AND_ASSIGN(ViewManager);
};
......
......@@ -14,19 +14,16 @@ namespace mojo {
namespace services {
namespace view_manager {
class ViewManager;
class ViewTreeNodeObserver;
class ViewTreeNode {
public:
typedef std::vector<ViewTreeNode*> Children;
explicit ViewTreeNode(ViewManager* manager);
ViewTreeNode(); // Used for tests.
ViewTreeNode();
~ViewTreeNode();
// Configuration.
uint16_t id() const { return id_; }
void set_owned_by_parent(bool owned_by_parent) {
owned_by_parent_ = owned_by_parent;
}
......@@ -48,8 +45,6 @@ class ViewTreeNode {
private:
friend class ViewTreeNodePrivate;
ViewManager* manager_;
uint16_t id_;
bool owned_by_parent_;
ViewTreeNode* parent_;
Children children_;
......
......@@ -15,8 +15,8 @@ module mojo.services.view_manager {
// uint16 as the connection id of the originating connection is used.
//
// The root node is identified with a connection id of 0, and value of 1.
[Peer=IViewManagerClient]
interface IViewManager {
[Peer=ViewManagerClient]
interface ViewManager {
// Creates a new node with the specified id. It is up to the client to ensure
// the id is unique to the connection (the id need not be globally unique).
CreateNode(uint16 node_id) => (bool success);
......@@ -43,8 +43,8 @@ interface IViewManager {
SetView(uint32 node_id, uint32 view_id, uint32 change_id) => (bool success);
};
[Peer=IViewManager]
interface IViewManagerClient {
[Peer=ViewManager]
interface ViewManagerClient {
// Invoked once the connection has been established. |connection_id| is the id
// used to uniquely identify the connection.
OnConnectionEstablished(uint16 connection_id);
......
......@@ -39,7 +39,7 @@ void ViewManagerConnection::Initialize(
ServiceConnector<ViewManagerConnection, RootNodeManager>* service_factory,
ScopedMessagePipeHandle client_handle) {
DCHECK_EQ(0, id_); // Should only get Initialize() once.
ServiceConnection<IViewManager, ViewManagerConnection, RootNodeManager>::
ServiceConnection<ViewManager, ViewManagerConnection, RootNodeManager>::
Initialize(service_factory, client_handle.Pass());
id_ = context()->GetAndAdvanceNextConnectionId();
context()->AddConnection(this);
......
......@@ -24,7 +24,7 @@ class View;
// Manages a connection from the client.
class MOJO_VIEW_MANAGER_EXPORT ViewManagerConnection
: public ServiceConnection<IViewManager, ViewManagerConnection,
: public ServiceConnection<ViewManager, ViewManagerConnection,
RootNodeManager>,
public NodeDelegate {
public:
......@@ -75,7 +75,7 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerConnection
const ViewId& view_id,
ChangeId change_id);
// Overridden from IViewManager:
// Overridden from ViewManager:
virtual void CreateNode(uint16_t node_id,
const Callback<void(bool)>& callback) OVERRIDE;
virtual void DeleteNode(uint32_t transport_node_id,
......@@ -99,7 +99,7 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerConnection
ChangeId change_id,
const mojo::Callback<void(bool)>& callback) OVERRIDE;
// Overridden from NodeDelegate:
// Overriden from NodeDelegate:
virtual void OnNodeHierarchyChanged(const NodeId& node,
const NodeId& new_parent,
const NodeId& old_parent) OVERRIDE;
......
......@@ -70,7 +70,7 @@ uint32_t CreateViewId(uint16_t connection_id, uint16_t view_id) {
// Creates a node with the specified id. Returns true on success. Blocks until
// we get back result from server.
bool CreateNode(IViewManager* view_manager, uint16_t id) {
bool CreateNode(ViewManager* view_manager, uint16_t id) {
bool result = false;
view_manager->CreateNode(id, base::Bind(&BooleanCallback, &result));
DoRunLoop();
......@@ -80,7 +80,7 @@ bool CreateNode(IViewManager* view_manager, uint16_t id) {
// TODO(sky): make a macro for these functions, they are all the same.
// Deletes a node, blocking until done.
bool DeleteNode(IViewManager* view_manager,
bool DeleteNode(ViewManager* view_manager,
uint32_t node_id,
ChangeId change_id) {
bool result = false;
......@@ -91,7 +91,7 @@ bool DeleteNode(IViewManager* view_manager,
}
// Adds a node, blocking until done.
bool AddNode(IViewManager* view_manager,
bool AddNode(ViewManager* view_manager,
uint32_t parent,
uint32_t child,
ChangeId change_id) {
......@@ -103,7 +103,7 @@ bool AddNode(IViewManager* view_manager,
}
// Removes a node, blocking until done.
bool RemoveNodeFromParent(IViewManager* view_manager,
bool RemoveNodeFromParent(ViewManager* view_manager,
uint32_t node_id,
ChangeId change_id) {
bool result = false;
......@@ -115,7 +115,7 @@ bool RemoveNodeFromParent(IViewManager* view_manager,
// Creates a view with the specified id. Returns true on success. Blocks until
// we get back result from server.
bool CreateView(IViewManager* view_manager, uint16_t id) {
bool CreateView(ViewManager* view_manager, uint16_t id) {
bool result = false;
view_manager->CreateView(id, base::Bind(&BooleanCallback, &result));
DoRunLoop();
......@@ -124,7 +124,7 @@ bool CreateView(IViewManager* view_manager, uint16_t id) {
// Sets a view on the specified node. Returns true on success. Blocks until we
// get back result from server.
bool SetView(IViewManager* view_manager,
bool SetView(ViewManager* view_manager,
uint32_t node_id,
uint32_t view_id,
ChangeId change_id) {
......@@ -139,7 +139,7 @@ bool SetView(IViewManager* view_manager,
typedef std::vector<std::string> Changes;
class ViewManagerClientImpl : public IViewManagerClient {
class ViewManagerClientImpl : public ViewManagerClient {
public:
ViewManagerClientImpl() : id_(0), quit_count_(0) {}
......@@ -164,7 +164,7 @@ class ViewManagerClientImpl : public IViewManagerClient {
}
private:
// IViewManagerClient overrides:
// ViewManagerClient overrides:
virtual void OnConnectionEstablished(uint16_t connection_id) OVERRIDE {
id_ = connection_id;
if (current_run_loop)
......@@ -219,7 +219,7 @@ class ViewManagerConnectionTest : public testing::Test {
test_helper_.Init();
InterfacePipe<IViewManager, AnyInterface> pipe;
InterfacePipe<ViewManager, AnyInterface> pipe;
test_helper_.shell()->Connect("mojo:mojo_view_manager",
pipe.handle_to_peer.Pass());
view_manager_.reset(pipe.handle_to_self.Pass(), &client_);
......@@ -231,7 +231,7 @@ class ViewManagerConnectionTest : public testing::Test {
// Creates a second connection to the viewmanager.
void EstablishSecondConnection() {
AllocationScope allocation_scope;
InterfacePipe<IViewManager, AnyInterface> pipe;
InterfacePipe<ViewManager, AnyInterface> pipe;
test_helper_.shell()->Connect("mojo:mojo_view_manager",
pipe.handle_to_peer.Pass());
view_manager2_.reset(pipe.handle_to_self.Pass(), &client2_);
......@@ -247,10 +247,10 @@ class ViewManagerConnectionTest : public testing::Test {
shell::ShellTestHelper test_helper_;
ViewManagerClientImpl client_;
RemotePtr<IViewManager> view_manager_;
RemotePtr<ViewManager> view_manager_;
ViewManagerClientImpl client2_;
RemotePtr<IViewManager> view_manager2_;
RemotePtr<ViewManager> view_manager2_;
DISALLOW_COPY_AND_ASSIGN(ViewManagerConnectionTest);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment