summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-17 19:08:15 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-17 19:08:15 +0000
commitc785414184a625167d66155a6943d9e86f5f6e63 (patch)
tree70be8582f7e8215dd91f333cf1a378310b0fd9cc
parent925eb5037abd06906478d6662f1d276214825f5f (diff)
downloadchromium_src-c785414184a625167d66155a6943d9e86f5f6e63.zip
chromium_src-c785414184a625167d66155a6943d9e86f5f6e63.tar.gz
chromium_src-c785414184a625167d66155a6943d9e86f5f6e63.tar.bz2
Nukes change_ids from view manager
change_ids are more trouble then they are worth. I'm going to try something else for resolving conflicts. BUG=389339 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/397263004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283830 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc43
-rw-r--r--mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.h9
-rw-r--r--mojo/services/public/interfaces/view_manager/view_manager.mojom47
-rw-r--r--mojo/services/view_manager/root_node_manager.cc27
-rw-r--r--mojo/services/view_manager/root_node_manager.h23
-rw-r--r--mojo/services/view_manager/test_change_tracker.cc33
-rw-r--r--mojo/services/view_manager/test_change_tracker.h10
-rw-r--r--mojo/services/view_manager/view_manager_service_impl.cc102
-rw-r--r--mojo/services/view_manager/view_manager_service_impl.h10
-rw-r--r--mojo/services/view_manager/view_manager_unittest.cc386
10 files changed, 186 insertions, 504 deletions
diff --git a/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc b/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc
index 4a69ff0..76bf054 100644
--- a/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc
+++ b/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc
@@ -133,10 +133,6 @@ class ViewManagerTransaction {
ViewManagerService* service() { return client_->service_; }
- Id GetAndAdvanceNextServerChangeId() {
- return client_->next_server_change_id_++;
- }
-
// TODO(sky): nuke this and covert all to new one, then rename
// ActionCompletedCallbackWithErrorCode to ActionCompletedCallback.
base::Callback<void(bool)> ActionCompletedCallback() {
@@ -246,9 +242,7 @@ class DestroyNodeTransaction : public ViewManagerTransaction {
private:
// Overridden from ViewManagerTransaction:
virtual void DoCommit() OVERRIDE {
- service()->DeleteNode(node_id_,
- GetAndAdvanceNextServerChangeId(),
- ActionCompletedCallback());
+ service()->DeleteNode(node_id_, ActionCompletedCallback());
}
virtual void DoActionCompleted(bool success) OVERRIDE {
// TODO(beng): recovery?
@@ -272,10 +266,7 @@ class AddChildTransaction : public ViewManagerTransaction {
private:
// Overridden from ViewManagerTransaction:
virtual void DoCommit() OVERRIDE {
- service()->AddNode(parent_id_,
- child_id_,
- GetAndAdvanceNextServerChangeId(),
- ActionCompletedCallback());
+ service()->AddNode(parent_id_, child_id_, ActionCompletedCallback());
}
virtual void DoActionCompleted(bool success) OVERRIDE {
@@ -299,10 +290,7 @@ class RemoveChildTransaction : public ViewManagerTransaction {
private:
// Overridden from ViewManagerTransaction:
virtual void DoCommit() OVERRIDE {
- service()->RemoveNodeFromParent(
- child_id_,
- GetAndAdvanceNextServerChangeId(),
- ActionCompletedCallback());
+ service()->RemoveNodeFromParent(child_id_, ActionCompletedCallback());
}
virtual void DoActionCompleted(bool success) OVERRIDE {
@@ -333,7 +321,6 @@ class ReorderNodeTransaction : public ViewManagerTransaction {
service()->ReorderNode(node_id_,
relative_id_,
direction_,
- GetAndAdvanceNextServerChangeId(),
ActionCompletedCallback());
}
@@ -478,7 +465,6 @@ class EmbedTransaction : public ViewManagerTransaction {
private:
// Overridden from ViewManagerTransaction:
virtual void DoCommit() OVERRIDE {
- GetAndAdvanceNextServerChangeId();
service()->Embed(url_, node_id_, ActionCompletedCallback());
}
virtual void DoActionCompleted(bool success) OVERRIDE {
@@ -542,7 +528,6 @@ ViewManagerClientImpl::ViewManagerClientImpl(ApplicationConnection* connection,
: connected_(false),
connection_id_(0),
next_id_(1),
- next_server_change_id_(0),
delegate_(delegate),
dispatcher_(NULL) {}
@@ -733,12 +718,10 @@ void ViewManagerClientImpl::OnConnectionEstablished() {
void ViewManagerClientImpl::OnViewManagerConnectionEstablished(
ConnectionSpecificId connection_id,
const String& creator_url,
- Id next_server_change_id,
Array<NodeDataPtr> nodes) {
connected_ = true;
connection_id_ = connection_id;
creator_url_ = TypeConverter<String, std::string>::ConvertFrom(creator_url);
- next_server_change_id_ = next_server_change_id;
DCHECK(pending_transactions_.empty());
AddRoot(BuildNodeTree(this, nodes));
@@ -748,11 +731,6 @@ void ViewManagerClientImpl::OnRootAdded(Array<NodeDataPtr> nodes) {
AddRoot(BuildNodeTree(this, nodes));
}
-void ViewManagerClientImpl::OnServerChangeIdAdvanced(
- Id next_server_change_id) {
- next_server_change_id_ = next_server_change_id;
-}
-
void ViewManagerClientImpl::OnNodeBoundsChanged(Id node_id,
RectPtr old_bounds,
RectPtr new_bounds) {
@@ -765,10 +743,7 @@ void ViewManagerClientImpl::OnNodeHierarchyChanged(
Id node_id,
Id new_parent_id,
Id old_parent_id,
- Id server_change_id,
mojo::Array<NodeDataPtr> nodes) {
- next_server_change_id_ = server_change_id + 1;
-
BuildNodeTree(this, nodes);
Node* new_parent = GetNodeById(new_parent_id);
@@ -782,20 +757,14 @@ void ViewManagerClientImpl::OnNodeHierarchyChanged(
void ViewManagerClientImpl::OnNodeReordered(Id node_id,
Id relative_node_id,
- OrderDirection direction,
- Id server_change_id) {
- next_server_change_id_ = server_change_id + 1;
-
+ OrderDirection direction) {
Node* node = GetNodeById(node_id);
Node* relative_node = GetNodeById(relative_node_id);
- if (node && relative_node) {
+ if (node && relative_node)
NodePrivate(node).LocalReorder(relative_node, direction);
- }
}
-void ViewManagerClientImpl::OnNodeDeleted(Id node_id, Id server_change_id) {
- next_server_change_id_ = server_change_id + 1;
-
+void ViewManagerClientImpl::OnNodeDeleted(Id node_id) {
Node* node = GetNodeById(node_id);
if (node)
NodePrivate(node).LocalDestroy();
diff --git a/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.h b/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.h
index 8383648..69715b0 100644
--- a/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.h
+++ b/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.h
@@ -102,23 +102,19 @@ class ViewManagerClientImpl : public ViewManager,
virtual void OnViewManagerConnectionEstablished(
ConnectionSpecificId connection_id,
const String& creator_url,
- Id next_server_change_id,
Array<NodeDataPtr> nodes) OVERRIDE;
virtual void OnRootAdded(Array<NodeDataPtr> nodes) OVERRIDE;
- virtual void OnServerChangeIdAdvanced(Id next_server_change_id) OVERRIDE;
virtual void OnNodeBoundsChanged(Id node_id,
RectPtr old_bounds,
RectPtr new_bounds) OVERRIDE;
virtual void OnNodeHierarchyChanged(Id node_id,
Id new_parent_id,
Id old_parent_id,
- Id server_change_id,
Array<NodeDataPtr> nodes) OVERRIDE;
virtual void OnNodeReordered(Id node_id,
Id relative_node_id,
- OrderDirection direction,
- Id server_change_id) OVERRIDE;
- virtual void OnNodeDeleted(Id node_id, Id server_change_id) OVERRIDE;
+ OrderDirection direction) OVERRIDE;
+ virtual void OnNodeDeleted(Id node_id) OVERRIDE;
virtual void OnNodeViewReplaced(Id node,
Id new_view_id,
Id old_view_id) OVERRIDE;
@@ -143,7 +139,6 @@ class ViewManagerClientImpl : public ViewManager,
bool connected_;
ConnectionSpecificId connection_id_;
ConnectionSpecificId next_id_;
- Id next_server_change_id_;
std::string creator_url_;
diff --git a/mojo/services/public/interfaces/view_manager/view_manager.mojom b/mojo/services/public/interfaces/view_manager/view_manager.mojom
index e65cc6c..caf57a9 100644
--- a/mojo/services/public/interfaces/view_manager/view_manager.mojom
+++ b/mojo/services/public/interfaces/view_manager/view_manager.mojom
@@ -20,7 +20,6 @@ enum ErrorCode {
NONE,
VALUE_IN_USE,
ILLEGAL_ARGUMENT,
- UNEXPECTED_CHANGE_ID,
};
// ViewManagerInitService is responsible for launching the client that controls
@@ -30,12 +29,6 @@ interface ViewManagerInitService {
EmbedRoot(string url) => (bool success);
};
-// Functions that mutate the hierarchy take a change id. This is an ever
-// increasing integer used to identify the change. Every hierarchy change
-// increases this value. The server only accepts changes where the supplied
-// |server_change_id| matches the expected next value. This ensures changes are
-// made in a well defined order.
-//
// Nodes and Views are identified by a uint32. The upper 16 bits are the
// connection id, and the lower 16 the id assigned by the client.
//
@@ -55,7 +48,7 @@ interface ViewManagerService {
// Deletes a node. This does not recurse. No hierarchy change notifications
// are sent as a result of this. Only the connection that created the node can
// delete it.
- DeleteNode(uint32 node_id, uint32 change_id) => (bool success);
+ DeleteNode(uint32 node_id) => (bool success);
// Sets the specified bounds of the specified node.
SetNodeBounds(uint32 node_id, mojo.Rect bounds) => (bool success);
@@ -65,30 +58,25 @@ interface ViewManagerService {
// any of their roots.
SetNodeVisibility(uint32 node_id, bool visible) => (bool success);
- // Reparents a node. See description above class for details of |change_id|.
+ // Reparents a node.
// This fails for any of the following reasons:
- // . |server_change_id| is not the expected id.
// . |parent| or |child| does not identify a valid node.
// . |child| is an ancestor of |parent|.
// . |child| is already a child of |parent|.
//
// This may result in a connection getting OnNodeDeleted(). See
// RemoveNodeFromParent for details.
- AddNode(uint32 parent,
- uint32 child,
- uint32 server_change_id) => (bool success);
+ AddNode(uint32 parent, uint32 child) => (bool success);
- // Removes a view from its current parent. See description above class for
- // details of |change_id|. This fails if the node is not valid,
- // |server_change_id| doesn't match, or the node already has no parent.
+ // Removes a view from its current parent. This fails if the node is not
+ // valid, |server_change_id| doesn't match, or the node already has no parent.
//
// Removing a node from a parent may result in OnNodeDeleted() being sent to
// other connections. For example, connection A has nodes 1 and 2, with 2 a
// child of 1. Connection B has a root 1. If 2 is removed from 1 then B gets
// OnNodeDeleted(). This is done as node 2 is effectively no longer visible to
// connection B.
- RemoveNodeFromParent(uint32 node_id,
- uint32 server_change_id) => (bool success);
+ RemoveNodeFromParent(uint32 node_id) => (bool success);
// Reorders a node in its parent, relative to |relative_node_id| according to
// |direction|.
@@ -96,8 +84,7 @@ interface ViewManagerService {
// children.
ReorderNode(uint32 node_id,
uint32 relative_node_id,
- OrderDirection direction,
- uint32 server_change_id) => (bool success);
+ OrderDirection direction) => (bool success);
// Returns the nodes comprising the tree starting at |node_id|. |node_id| is
// the first result in the return value, unless |node_id| is invalid, in which
@@ -155,26 +142,16 @@ interface ViewManagerService {
[Client=ViewManagerService]
interface ViewManagerClient {
// Invoked once the connection has been established. |connection_id| is the id
- // that uniquely identifies this connection. |next_server_change_id| is the
- // id of the next change the server is expecting. |nodes| are the nodes
- // parented to the root.
+ // that uniquely identifies this connection. |nodes| are the nodes parented to
+ // the root.
OnViewManagerConnectionEstablished(uint16 connection_id,
string creator_url,
- uint32 next_server_change_id,
NodeData[] nodes);
// See description of ViewManagerService::Embed() for details as to when
// this is invoked.
OnRootAdded(NodeData[] nodes);
- // This is sent to clients when a change is made to the server that results
- // in the |server_change_id| changing but the client isn't notified. This is
- // not sent if the client receives a callback giving a new
- // |server_change_id|. For example, if a client 1 changes the hierarchy in
- // some way but client 2 isn't notified of the change, then client 2 gets
- // OnServerChangeIdAdvanced().
- OnServerChangeIdAdvanced(uint32 next_server_change_id);
-
// Invoked when a node's bounds have changed.
OnNodeBoundsChanged(uint32 node, mojo.Rect old_bounds, mojo.Rect new_bounds);
@@ -187,17 +164,15 @@ interface ViewManagerClient {
OnNodeHierarchyChanged(uint32 node,
uint32 new_parent,
uint32 old_parent,
- uint32 server_change_id,
NodeData[] nodes);
// Invoked when the order of nodes within a parent changes.
OnNodeReordered(uint32 node_id,
uint32 relative_node_id,
- OrderDirection direction,
- uint32 server_change_id);
+ OrderDirection direction);
// Invoked when a node is deleted.
- OnNodeDeleted(uint32 node, uint32 server_change_id);
+ OnNodeDeleted(uint32 node);
// Invoked when the view associated with a node is replaced by another view.
// 0 is used to identify a null view.
diff --git a/mojo/services/view_manager/root_node_manager.cc b/mojo/services/view_manager/root_node_manager.cc
index 1b19bf5..fe608e8 100644
--- a/mojo/services/view_manager/root_node_manager.cc
+++ b/mojo/services/view_manager/root_node_manager.cc
@@ -20,11 +20,9 @@ namespace service {
RootNodeManager::ScopedChange::ScopedChange(
ViewManagerServiceImpl* connection,
RootNodeManager* root,
- RootNodeManager::ChangeType change_type,
bool is_delete_node)
: root_(root),
connection_id_(connection->id()),
- change_type_(change_type),
is_delete_node_(is_delete_node) {
root_->PrepareForChange(this);
}
@@ -33,10 +31,6 @@ RootNodeManager::ScopedChange::~ScopedChange() {
root_->FinishChange();
}
-void RootNodeManager::ScopedChange::SendServerChangeIdAdvanced() {
- root_->SendServerChangeIdAdvanced();
-}
-
RootNodeManager::Context::Context() {
// Pass in false as native viewport creates the PlatformEventSource.
aura::Env::CreateInstance(false);
@@ -52,7 +46,6 @@ RootNodeManager::RootNodeManager(
const Callback<void()>& native_viewport_closed_callback)
: app_connection_(app_connection),
next_connection_id_(1),
- next_server_change_id_(1),
root_view_manager_(app_connection,
this,
view_manager_delegate,
@@ -184,8 +177,7 @@ void RootNodeManager::ProcessNodeHierarchyChanged(const Node* node,
for (ConnectionMap::iterator i = connection_map_.begin();
i != connection_map_.end(); ++i) {
i->second->ProcessNodeHierarchyChanged(
- node, new_parent, old_parent, next_server_change_id_,
- IsChangeSource(i->first));
+ node, new_parent, old_parent, IsChangeSource(i->first));
}
}
@@ -195,8 +187,7 @@ void RootNodeManager::ProcessNodeReorder(const Node* node,
for (ConnectionMap::iterator i = connection_map_.begin();
i != connection_map_.end(); ++i) {
i->second->ProcessNodeReorder(
- node, relative_node, direction, next_server_change_id_,
- IsChangeSource(i->first));
+ node, relative_node, direction, IsChangeSource(i->first));
}
}
@@ -213,8 +204,7 @@ void RootNodeManager::ProcessNodeViewReplaced(const Node* node,
void RootNodeManager::ProcessNodeDeleted(const NodeId& node) {
for (ConnectionMap::iterator i = connection_map_.begin();
i != connection_map_.end(); ++i) {
- i->second->ProcessNodeDeleted(node, next_server_change_id_,
- IsChangeSource(i->first));
+ i->second->ProcessNodeDeleted(node, IsChangeSource(i->first));
}
}
@@ -245,20 +235,9 @@ void RootNodeManager::PrepareForChange(ScopedChange* change) {
void RootNodeManager::FinishChange() {
// PrepareForChange/FinishChange should be balanced.
CHECK(current_change_);
- if (current_change_->change_type() == CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID)
- next_server_change_id_++;
current_change_ = NULL;
}
-void RootNodeManager::SendServerChangeIdAdvanced() {
- CHECK(current_change_);
- for (ConnectionMap::iterator i = connection_map_.begin();
- i != connection_map_.end(); ++i) {
- if (!DidConnectionMessageClient(i->first))
- i->second->client()->OnServerChangeIdAdvanced(next_server_change_id_ + 1);
- }
-}
-
ViewManagerServiceImpl* RootNodeManager::EmbedImpl(
const ConnectionSpecificId creator_id,
const String& url,
diff --git a/mojo/services/view_manager/root_node_manager.h b/mojo/services/view_manager/root_node_manager.h
index 0b20fdc..d0a4b2f 100644
--- a/mojo/services/view_manager/root_node_manager.h
+++ b/mojo/services/view_manager/root_node_manager.h
@@ -38,25 +38,16 @@ class MOJO_VIEW_MANAGER_EXPORT RootNodeManager
: public NodeDelegate,
public aura::client::FocusChangeObserver {
public:
- // Used to indicate if the server id should be incremented after notifiying
- // clients of the change.
- enum ChangeType {
- CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID,
- CHANGE_TYPE_DONT_ADVANCE_SERVER_CHANGE_ID,
- };
-
// Create when a ViewManagerServiceImpl is about to make a change. Ensures
// clients are notified of the correct change id.
class ScopedChange {
public:
ScopedChange(ViewManagerServiceImpl* connection,
RootNodeManager* root,
- RootNodeManager::ChangeType change_type,
bool is_delete_node);
~ScopedChange();
ConnectionSpecificId connection_id() const { return connection_id_; }
- ChangeType change_type() const { return change_type_; }
bool is_delete_node() const { return is_delete_node_; }
// Marks the connection with the specified id as having seen a message.
@@ -69,14 +60,9 @@ class MOJO_VIEW_MANAGER_EXPORT RootNodeManager
return message_ids_.count(connection_id) > 0;
}
- // Sends OnServerChangeIdAdvanced() to all connections that have not yet
- // been messaged.
- void SendServerChangeIdAdvanced();
-
private:
RootNodeManager* root_;
const ConnectionSpecificId connection_id_;
- const ChangeType change_type_;
const bool is_delete_node_;
// See description of MarkConnectionAsMessaged/DidMessageConnection.
@@ -93,10 +79,6 @@ class MOJO_VIEW_MANAGER_EXPORT RootNodeManager
// Returns the id for the next ViewManagerServiceImpl.
ConnectionSpecificId GetAndAdvanceNextConnectionId();
- Id next_server_change_id() const {
- return next_server_change_id_;
- }
-
void AddConnection(ViewManagerServiceImpl* connection);
void RemoveConnection(ViewManagerServiceImpl* connection);
@@ -185,9 +167,6 @@ class MOJO_VIEW_MANAGER_EXPORT RootNodeManager
// Balances a call to PrepareForChange().
void FinishChange();
- // See description in ScopedChange.
- void SendServerChangeIdAdvanced();
-
// Returns true if the specified connection originated the current change.
bool IsChangeSource(ConnectionSpecificId connection_id) const {
return current_change_ && current_change_->connection_id() == connection_id;
@@ -219,8 +198,6 @@ class MOJO_VIEW_MANAGER_EXPORT RootNodeManager
// ID to use for next ViewManagerServiceImpl.
ConnectionSpecificId next_connection_id_;
- Id next_server_change_id_;
-
// Set of ViewManagerServiceImpls.
ConnectionMap connection_map_;
diff --git a/mojo/services/view_manager/test_change_tracker.cc b/mojo/services/view_manager/test_change_tracker.cc
index 381e7e6..827a77d 100644
--- a/mojo/services/view_manager/test_change_tracker.cc
+++ b/mojo/services/view_manager/test_change_tracker.cc
@@ -39,11 +39,6 @@ std::string ChangeToDescription1(const Change& change) {
case CHANGE_TYPE_ROOTS_ADDED:
return "OnRootAdded";
- case CHANGE_TYPE_SERVER_CHANGE_ID_ADVANCED:
- return base::StringPrintf(
- "ServerChangeIdAdvanced %d", static_cast<int>(change.change_id));
-
-
case CHANGE_TYPE_NODE_BOUNDS_CHANGED:
return base::StringPrintf(
"BoundsChanged node=%s old_bounds=%s new_bounds=%s",
@@ -53,23 +48,20 @@ std::string ChangeToDescription1(const Change& change) {
case CHANGE_TYPE_NODE_HIERARCHY_CHANGED:
return base::StringPrintf(
- "HierarchyChanged change_id=%d node=%s new_parent=%s old_parent=%s",
- static_cast<int>(change.change_id),
+ "HierarchyChanged node=%s new_parent=%s old_parent=%s",
NodeIdToString(change.node_id).c_str(),
NodeIdToString(change.node_id2).c_str(),
NodeIdToString(change.node_id3).c_str());
case CHANGE_TYPE_NODE_REORDERED:
return base::StringPrintf(
- "Reordered change_id=%d node=%s relative=%s direction=%s",
- static_cast<int>(change.change_id),
+ "Reordered node=%s relative=%s direction=%s",
NodeIdToString(change.node_id).c_str(),
NodeIdToString(change.node_id2).c_str(),
DirectionToString(change.direction).c_str());
case CHANGE_TYPE_NODE_DELETED:
- return base::StringPrintf("NodeDeleted change_id=%d node=%s",
- static_cast<int>(change.change_id),
+ return base::StringPrintf("NodeDeleted node=%s",
NodeIdToString(change.node_id).c_str());
case CHANGE_TYPE_VIEW_DELETED:
@@ -125,7 +117,6 @@ void NodeDatasToTestNodes(const Array<NodeDataPtr>& data,
Change::Change()
: type(CHANGE_TYPE_CONNECTION_ESTABLISHED),
connection_id(0),
- change_id(0),
node_id(0),
node_id2(0),
node_id3(0),
@@ -148,12 +139,10 @@ TestChangeTracker::~TestChangeTracker() {
void TestChangeTracker::OnViewManagerConnectionEstablished(
ConnectionSpecificId connection_id,
const String& creator_url,
- Id next_server_change_id,
Array<NodeDataPtr> nodes) {
Change change;
change.type = CHANGE_TYPE_CONNECTION_ESTABLISHED;
change.connection_id = connection_id;
- change.change_id = next_server_change_id;
change.creator_url = creator_url;
NodeDatasToTestNodes(nodes, &change.nodes);
AddChange(change);
@@ -166,13 +155,6 @@ void TestChangeTracker::OnRootAdded(Array<NodeDataPtr> nodes) {
AddChange(change);
}
-void TestChangeTracker::OnServerChangeIdAdvanced(Id change_id) {
- Change change;
- change.type = CHANGE_TYPE_SERVER_CHANGE_ID_ADVANCED;
- change.change_id = change_id;
- AddChange(change);
-}
-
void TestChangeTracker::OnNodeBoundsChanged(Id node_id,
RectPtr old_bounds,
RectPtr new_bounds) {
@@ -187,36 +169,31 @@ void TestChangeTracker::OnNodeBoundsChanged(Id node_id,
void TestChangeTracker::OnNodeHierarchyChanged(Id node_id,
Id new_parent_id,
Id old_parent_id,
- Id server_change_id,
Array<NodeDataPtr> nodes) {
Change change;
change.type = CHANGE_TYPE_NODE_HIERARCHY_CHANGED;
change.node_id = node_id;
change.node_id2 = new_parent_id;
change.node_id3 = old_parent_id;
- change.change_id = server_change_id;
NodeDatasToTestNodes(nodes, &change.nodes);
AddChange(change);
}
void TestChangeTracker::OnNodeReordered(Id node_id,
Id relative_node_id,
- OrderDirection direction,
- Id server_change_id) {
+ OrderDirection direction) {
Change change;
change.type = CHANGE_TYPE_NODE_REORDERED;
change.node_id = node_id;
change.node_id2 = relative_node_id;
change.direction = direction;
- change.change_id = server_change_id;
AddChange(change);
}
-void TestChangeTracker::OnNodeDeleted(Id node_id, Id server_change_id) {
+void TestChangeTracker::OnNodeDeleted(Id node_id) {
Change change;
change.type = CHANGE_TYPE_NODE_DELETED;
change.node_id = node_id;
- change.change_id = server_change_id;
AddChange(change);
}
diff --git a/mojo/services/view_manager/test_change_tracker.h b/mojo/services/view_manager/test_change_tracker.h
index 6021611..d597c6f 100644
--- a/mojo/services/view_manager/test_change_tracker.h
+++ b/mojo/services/view_manager/test_change_tracker.h
@@ -20,7 +20,6 @@ namespace service {
enum ChangeType {
CHANGE_TYPE_CONNECTION_ESTABLISHED,
CHANGE_TYPE_ROOTS_ADDED,
- CHANGE_TYPE_SERVER_CHANGE_ID_ADVANCED,
CHANGE_TYPE_NODE_BOUNDS_CHANGED,
CHANGE_TYPE_NODE_HIERARCHY_CHANGED,
CHANGE_TYPE_NODE_REORDERED,
@@ -48,7 +47,6 @@ struct Change {
ChangeType type;
ConnectionSpecificId connection_id;
- Id change_id;
std::vector<TestNode> nodes;
Id node_id;
Id node_id2;
@@ -99,21 +97,17 @@ class TestChangeTracker {
// ViewManagerClient function.
void OnViewManagerConnectionEstablished(ConnectionSpecificId connection_id,
const String& creator_url,
- Id next_server_change_id,
Array<NodeDataPtr> nodes);
void OnRootAdded(Array<NodeDataPtr> nodes);
- void OnServerChangeIdAdvanced(Id change_id);
void OnNodeBoundsChanged(Id node_id, RectPtr old_bounds, RectPtr new_bounds);
void OnNodeHierarchyChanged(Id node_id,
Id new_parent_id,
Id old_parent_id,
- Id server_change_id,
Array<NodeDataPtr> nodes);
void OnNodeReordered(Id node_id,
Id relative_node_id,
- OrderDirection direction,
- Id server_change_id);
- void OnNodeDeleted(Id node_id, Id server_change_id);
+ OrderDirection direction);
+ void OnNodeDeleted(Id node_id);
void OnViewDeleted(Id view_id);
void OnNodeViewReplaced(Id node_id, Id new_view_id, Id old_view_id);
void OnViewInputEvent(Id view_id, EventPtr event);
diff --git a/mojo/services/view_manager/view_manager_service_impl.cc b/mojo/services/view_manager/view_manager_service_impl.cc
index 793a4543..ee2c795 100644
--- a/mojo/services/view_manager/view_manager_service_impl.cc
+++ b/mojo/services/view_manager/view_manager_service_impl.cc
@@ -60,9 +60,7 @@ ViewManagerServiceImpl::~ViewManagerServiceImpl() {
// Ditto the nodes.
if (!node_map_.empty()) {
- RootNodeManager::ScopedChange change(
- this, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, true);
+ RootNodeManager::ScopedChange change(this, root_node_manager_, true);
while (!node_map_.empty())
delete node_map_.begin()->second;
}
@@ -115,7 +113,6 @@ void ViewManagerServiceImpl::ProcessNodeHierarchyChanged(
const Node* node,
const Node* new_parent,
const Node* old_parent,
- Id server_change_id,
bool originated_change) {
if (known_nodes_.count(NodeIdToTransportId(node->id())) > 0) {
if (originated_change)
@@ -124,8 +121,7 @@ void ViewManagerServiceImpl::ProcessNodeHierarchyChanged(
// Node was a descendant of roots and is no longer, treat it as though the
// node was deleted.
RemoveFromKnown(node, NULL);
- client()->OnNodeDeleted(NodeIdToTransportId(node->id()),
- server_change_id);
+ client()->OnNodeDeleted(NodeIdToTransportId(node->id()));
root_node_manager_->OnConnectionMessagedClient(id_);
return;
}
@@ -136,10 +132,6 @@ void ViewManagerServiceImpl::ProcessNodeHierarchyChanged(
std::vector<const Node*> to_send;
if (!ShouldNotifyOnHierarchyChange(node, &new_parent, &old_parent,
&to_send)) {
- if (root_node_manager_->IsProcessingChange()) {
- client()->OnServerChangeIdAdvanced(
- root_node_manager_->next_server_change_id() + 1);
- }
return;
}
const NodeId new_parent_id(new_parent ? new_parent->id() : NodeId());
@@ -151,14 +143,12 @@ void ViewManagerServiceImpl::ProcessNodeHierarchyChanged(
client()->OnNodeHierarchyChanged(NodeIdToTransportId(node->id()),
NodeIdToTransportId(new_parent_id),
NodeIdToTransportId(old_parent_id),
- server_change_id,
NodesToNodeDatas(to_send));
}
void ViewManagerServiceImpl::ProcessNodeReorder(const Node* node,
const Node* relative_node,
OrderDirection direction,
- Id server_change_id,
bool originated_change) {
if (originated_change ||
!known_nodes_.count(NodeIdToTransportId(node->id())) ||
@@ -168,8 +158,7 @@ void ViewManagerServiceImpl::ProcessNodeReorder(const Node* node,
client()->OnNodeReordered(NodeIdToTransportId(node->id()),
NodeIdToTransportId(relative_node->id()),
- direction,
- server_change_id);
+ direction);
}
void ViewManagerServiceImpl::ProcessNodeViewReplaced(
@@ -188,7 +177,6 @@ void ViewManagerServiceImpl::ProcessNodeViewReplaced(
}
void ViewManagerServiceImpl::ProcessNodeDeleted(const NodeId& node,
- Id server_change_id,
bool originated_change) {
node_map_.erase(node.node_id);
@@ -202,12 +190,10 @@ void ViewManagerServiceImpl::ProcessNodeDeleted(const NodeId& node,
return;
if (in_known) {
- client()->OnNodeDeleted(NodeIdToTransportId(node), server_change_id);
+ client()->OnNodeDeleted(NodeIdToTransportId(node));
root_node_manager_->OnConnectionMessagedClient(id_);
} else if (root_node_manager_->IsProcessingChange() &&
!root_node_manager_->DidConnectionMessageClient(id_)) {
- client()->OnServerChangeIdAdvanced(
- root_node_manager_->next_server_change_id() + 1);
root_node_manager_->OnConnectionMessagedClient(id_);
}
}
@@ -361,9 +347,7 @@ bool ViewManagerServiceImpl::DeleteNodeImpl(ViewManagerServiceImpl* source,
Node* node = GetNode(node_id);
if (!node)
return false;
- RootNodeManager::ScopedChange change(
- source, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, true);
+ RootNodeManager::ScopedChange change(source, root_node_manager_, true);
delete node;
return true;
}
@@ -374,9 +358,7 @@ bool ViewManagerServiceImpl::DeleteViewImpl(ViewManagerServiceImpl* source,
View* view = GetView(view_id);
if (!view)
return false;
- RootNodeManager::ScopedChange change(
- source, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_DONT_ADVANCE_SERVER_CHANGE_ID, false);
+ RootNodeManager::ScopedChange change(source, root_node_manager_, false);
if (view->node())
view->node()->SetView(NULL);
view_map_.erase(view_id.view_id);
@@ -391,9 +373,7 @@ bool ViewManagerServiceImpl::DeleteViewImpl(ViewManagerServiceImpl* source,
bool ViewManagerServiceImpl::SetViewImpl(Node* node, const ViewId& view_id) {
DCHECK(node); // CanSetView() should have verified node exists.
View* view = GetView(view_id);
- RootNodeManager::ScopedChange change(
- this, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_DONT_ADVANCE_SERVER_CHANGE_ID, false);
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false);
node->SetView(view);
return true;
}
@@ -457,8 +437,7 @@ void ViewManagerServiceImpl::RemoveRoot(const NodeId& node_id) {
if (node_id.connection_id == id_)
return;
- client()->OnNodeDeleted(transport_node_id,
- root_node_manager_->next_server_change_id());
+ client()->OnNodeDeleted(transport_node_id);
root_node_manager_->OnConnectionMessagedClient(id_);
// This connection no longer knows about the node. Unparent any nodes that
@@ -572,12 +551,10 @@ void ViewManagerServiceImpl::CreateNode(
void ViewManagerServiceImpl::DeleteNode(
Id transport_node_id,
- Id server_change_id,
const Callback<void(bool)>& callback) {
const NodeId node_id(NodeIdFromTransportId(transport_node_id));
bool success = false;
- if (server_change_id == root_node_manager_->next_server_change_id() &&
- CanDeleteNode(node_id)) {
+ if (CanDeleteNode(node_id)) {
ViewManagerServiceImpl* connection = root_node_manager_->GetConnection(
node_id.connection_id);
success = connection && connection->DeleteNodeImpl(this, node_id);
@@ -588,37 +565,27 @@ void ViewManagerServiceImpl::DeleteNode(
void ViewManagerServiceImpl::AddNode(
Id parent_id,
Id child_id,
- Id server_change_id,
const Callback<void(bool)>& callback) {
bool success = false;
- if (server_change_id == root_node_manager_->next_server_change_id()) {
- Node* parent = GetNode(NodeIdFromTransportId(parent_id));
- Node* child = GetNode(NodeIdFromTransportId(child_id));
- if (CanAddNode(parent, child)) {
- success = true;
- RootNodeManager::ScopedChange change(
- this, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, false);
- parent->Add(child);
- }
+ Node* parent = GetNode(NodeIdFromTransportId(parent_id));
+ Node* child = GetNode(NodeIdFromTransportId(child_id));
+ if (CanAddNode(parent, child)) {
+ success = true;
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false);
+ parent->Add(child);
}
callback.Run(success);
}
void ViewManagerServiceImpl::RemoveNodeFromParent(
Id node_id,
- Id server_change_id,
const Callback<void(bool)>& callback) {
bool success = false;
- if (server_change_id == root_node_manager_->next_server_change_id()) {
- Node* node = GetNode(NodeIdFromTransportId(node_id));
- if (CanRemoveNodeFromParent(node)) {
- success = true;
- RootNodeManager::ScopedChange change(
- this, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, false);
- node->GetParent()->Remove(node);
- }
+ Node* node = GetNode(NodeIdFromTransportId(node_id));
+ if (CanRemoveNodeFromParent(node)) {
+ success = true;
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false);
+ node->GetParent()->Remove(node);
}
callback.Run(success);
}
@@ -626,20 +593,15 @@ void ViewManagerServiceImpl::RemoveNodeFromParent(
void ViewManagerServiceImpl::ReorderNode(Id node_id,
Id relative_node_id,
OrderDirection direction,
- Id server_change_id,
const Callback<void(bool)>& callback) {
bool success = false;
- if (server_change_id == root_node_manager_->next_server_change_id()) {
- Node* node = GetNode(NodeIdFromTransportId(node_id));
- Node* relative_node = GetNode(NodeIdFromTransportId(relative_node_id));
- if (CanReorderNode(node, relative_node, direction)) {
- success = true;
- RootNodeManager::ScopedChange change(
- this, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, false);
- node->GetParent()->Reorder(node, relative_node, direction);
- root_node_manager_->ProcessNodeReorder(node, relative_node, direction);
- }
+ Node* node = GetNode(NodeIdFromTransportId(node_id));
+ Node* relative_node = GetNode(NodeIdFromTransportId(relative_node_id));
+ if (CanReorderNode(node, relative_node, direction)) {
+ success = true;
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false);
+ node->GetParent()->Reorder(node, relative_node, direction);
+ root_node_manager_->ProcessNodeReorder(node, relative_node, direction);
}
callback.Run(success);
}
@@ -740,9 +702,7 @@ void ViewManagerServiceImpl::SetNodeBounds(
return;
}
- RootNodeManager::ScopedChange change(
- this, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_DONT_ADVANCE_SERVER_CHANGE_ID, false);
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false);
gfx::Rect old_bounds = node->window()->bounds();
node->window()->SetBounds(bounds.To<gfx::Rect>());
callback.Run(true);
@@ -777,9 +737,7 @@ void ViewManagerServiceImpl::Embed(const String& url,
if ((connection_by_url != connection_with_node_as_root ||
(!connection_by_url && !connection_with_node_as_root)) &&
(!connection_by_url || !connection_by_url->HasRoot(node_id))) {
- RootNodeManager::ScopedChange change(
- this, root_node_manager_,
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, true);
+ RootNodeManager::ScopedChange change(this, root_node_manager_, true);
// Never message the originating connection.
root_node_manager_->OnConnectionMessagedClient(id_);
if (connection_with_node_as_root)
@@ -788,7 +746,6 @@ void ViewManagerServiceImpl::Embed(const String& url,
connection_by_url->AddRoot(node_id);
else
root_node_manager_->Embed(id_, url, transport_node_id);
- change.SendServerChangeIdAdvanced();
} else {
success = false;
}
@@ -828,7 +785,6 @@ void ViewManagerServiceImpl::OnConnectionEstablished() {
client()->OnViewManagerConnectionEstablished(
id_,
creator_url_,
- root_node_manager_->next_server_change_id(),
NodesToNodeDatas(to_send));
}
diff --git a/mojo/services/view_manager/view_manager_service_impl.h b/mojo/services/view_manager/view_manager_service_impl.h
index b9b6de27..00b61cb 100644
--- a/mojo/services/view_manager/view_manager_service_impl.h
+++ b/mojo/services/view_manager/view_manager_service_impl.h
@@ -84,20 +84,16 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerServiceImpl
void ProcessNodeHierarchyChanged(const Node* node,
const Node* new_parent,
const Node* old_parent,
- Id server_change_id,
bool originated_change);
void ProcessNodeReorder(const Node* node,
const Node* relative_node,
OrderDirection direction,
- Id server_change_id,
bool originated_change);
void ProcessNodeViewReplaced(const Node* node,
const View* new_view,
const View* old_view,
bool originated_change);
- void ProcessNodeDeleted(const NodeId& node,
- Id server_change_id,
- bool originated_change);
+ void ProcessNodeDeleted(const NodeId& node, bool originated_change);
void ProcessViewDeleted(const ViewId& view, bool originated_change);
void ProcessFocusChanged(const Node* focused_node,
const Node* blurred_node,
@@ -176,20 +172,16 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerServiceImpl
virtual void CreateNode(Id transport_node_id,
const Callback<void(ErrorCode)>& callback) OVERRIDE;
virtual void DeleteNode(Id transport_node_id,
- Id server_change_id,
const Callback<void(bool)>& callback) OVERRIDE;
virtual void AddNode(Id parent_id,
Id child_id,
- Id server_change_id,
const Callback<void(bool)>& callback) OVERRIDE;
virtual void RemoveNodeFromParent(
Id node_id,
- Id server_change_id,
const Callback<void(bool)>& callback) OVERRIDE;
virtual void ReorderNode(Id node_id,
Id relative_node_id,
OrderDirection direction,
- Id server_change_id,
const Callback<void(bool)>& callback) OVERRIDE;
virtual void GetNodeTree(
Id node_id,
diff --git a/mojo/services/view_manager/view_manager_unittest.cc b/mojo/services/view_manager/view_manager_unittest.cc
index e630147..73153737 100644
--- a/mojo/services/view_manager/view_manager_unittest.cc
+++ b/mojo/services/view_manager/view_manager_unittest.cc
@@ -117,19 +117,19 @@ class ViewManagerProxy : public TestChangeTracker::Delegate {
RunMainLoop();
return result;
}
- bool AddNode(Id parent, Id child, Id server_change_id) {
+ bool AddNode(Id parent, Id child) {
changes_.clear();
bool result = false;
- view_manager_->AddNode(parent, child, server_change_id,
+ view_manager_->AddNode(parent, child,
base::Bind(&ViewManagerProxy::GotResult,
base::Unretained(this), &result));
RunMainLoop();
return result;
}
- bool RemoveNodeFromParent(Id node_id, Id server_change_id) {
+ bool RemoveNodeFromParent(Id node_id) {
changes_.clear();
bool result = false;
- view_manager_->RemoveNodeFromParent(node_id, server_change_id,
+ view_manager_->RemoveNodeFromParent(node_id,
base::Bind(&ViewManagerProxy::GotResult,
base::Unretained(this), &result));
RunMainLoop();
@@ -137,12 +137,10 @@ class ViewManagerProxy : public TestChangeTracker::Delegate {
}
bool ReorderNode(Id node_id,
Id relative_node_id,
- OrderDirection direction,
- Id server_change_id) {
+ OrderDirection direction) {
changes_.clear();
bool result = false;
view_manager_->ReorderNode(node_id, relative_node_id, direction,
- server_change_id,
base::Bind(&ViewManagerProxy::GotResult,
base::Unretained(this), &result));
RunMainLoop();
@@ -183,11 +181,10 @@ class ViewManagerProxy : public TestChangeTracker::Delegate {
RunMainLoop();
return result;
}
- bool DeleteNode(Id node_id, Id server_change_id) {
+ bool DeleteNode(Id node_id) {
changes_.clear();
bool result = false;
view_manager_->DeleteNode(node_id,
- server_change_id,
base::Bind(&ViewManagerProxy::GotResult,
base::Unretained(this), &result));
RunMainLoop();
@@ -325,18 +322,13 @@ class TestViewManagerClientConnection
virtual void OnViewManagerConnectionEstablished(
ConnectionSpecificId connection_id,
const String& creator_url,
- Id next_server_change_id,
Array<NodeDataPtr> nodes) OVERRIDE {
tracker_.OnViewManagerConnectionEstablished(
- connection_id, creator_url, next_server_change_id, nodes.Pass());
+ connection_id, creator_url, nodes.Pass());
}
virtual void OnRootAdded(Array<NodeDataPtr> nodes) OVERRIDE {
tracker_.OnRootAdded(nodes.Pass());
}
- virtual void OnServerChangeIdAdvanced(
- Id next_server_change_id) OVERRIDE {
- tracker_.OnServerChangeIdAdvanced(next_server_change_id);
- }
virtual void OnNodeBoundsChanged(Id node_id,
RectPtr old_bounds,
RectPtr new_bounds) OVERRIDE {
@@ -345,20 +337,16 @@ class TestViewManagerClientConnection
virtual void OnNodeHierarchyChanged(Id node,
Id new_parent,
Id old_parent,
- Id server_change_id,
Array<NodeDataPtr> nodes) OVERRIDE {
- tracker_.OnNodeHierarchyChanged(node, new_parent, old_parent,
- server_change_id, nodes.Pass());
+ tracker_.OnNodeHierarchyChanged(node, new_parent, old_parent, nodes.Pass());
}
virtual void OnNodeReordered(Id node_id,
Id relative_node_id,
- OrderDirection direction,
- Id server_change_id) OVERRIDE {
- tracker_.OnNodeReordered(node_id, relative_node_id, direction,
- server_change_id);
+ OrderDirection direction) OVERRIDE {
+ tracker_.OnNodeReordered(node_id, relative_node_id, direction);
}
- virtual void OnNodeDeleted(Id node, Id server_change_id) OVERRIDE {
- tracker_.OnNodeDeleted(node, server_change_id);
+ virtual void OnNodeDeleted(Id node) OVERRIDE {
+ tracker_.OnNodeDeleted(node);
}
virtual void OnViewDeleted(Id view) OVERRIDE {
tracker_.OnViewDeleted(view);
@@ -539,9 +527,6 @@ TEST_F(ViewManagerTest, ValidId) {
// All these tests assume 1 for the client id. The only real assertion here is
// the client id is not zero, but adding this as rest of code here assumes 1.
EXPECT_EQ(1, connection_->changes()[0].connection_id);
-
- // Change ids start at 1 as well.
- EXPECT_EQ(static_cast<Id>(1), connection_->changes()[0].change_id);
}
// Verifies two clients/connections get different ids.
@@ -554,9 +539,6 @@ TEST_F(ViewManagerTest, TwoClientsGetDifferentConnectionIds) {
// tests are written assuming that is the case. The key thing is the
// connection ids of |connection_| and |connection2_| differ.
EXPECT_EQ(2, connection2_->changes()[0].connection_id);
-
- // Change ids start at 1 as well.
- EXPECT_EQ(static_cast<Id>(1), connection2_->changes()[0].change_id);
}
// Verifies client gets a valid id.
@@ -570,9 +552,8 @@ TEST_F(ViewManagerTest, CreateNode) {
EXPECT_TRUE(connection_->changes().empty());
// Can't create a node with a bogus connection id.
- EXPECT_EQ(
- ERROR_CODE_ILLEGAL_ARGUMENT,
- connection_->CreateNodeWithErrorCode(BuildNodeId(2, 1)));
+ EXPECT_EQ(ERROR_CODE_ILLEGAL_ARGUMENT,
+ connection_->CreateNodeWithErrorCode(BuildNodeId(2, 1)));
EXPECT_TRUE(connection_->changes().empty());
}
@@ -581,36 +562,6 @@ TEST_F(ViewManagerTest, CreateViewFailsWithBogusConnectionId) {
EXPECT_TRUE(connection_->changes().empty());
}
-// Verifies hierarchy changes.
-TEST_F(ViewManagerTest, AddRemoveNotify) {
- ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
- ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 3)));
-
- ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(true));
-
- // Make 3 a child of 2.
- {
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 3), 2));
- EXPECT_TRUE(connection_->changes().empty());
-
- connection2_->DoRunLoopUntilChangesCount(1);
- const Changes changes(ChangesToDescription1(connection2_->changes()));
- ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("ServerChangeIdAdvanced 3", changes[0]);
- }
-
- // Remove 3 from its parent.
- {
- ASSERT_TRUE(connection_->RemoveNodeFromParent(BuildNodeId(1, 3), 3));
- EXPECT_TRUE(connection_->changes().empty());
-
- connection2_->DoRunLoopUntilChangesCount(1);
- const Changes changes(ChangesToDescription1(connection2_->changes()));
- ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("ServerChangeIdAdvanced 4", changes[0]);
- }
-}
-
// Verifies AddNode fails when node is already in position.
TEST_F(ViewManagerTest, AddNodeWithNoChange) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
@@ -619,19 +570,10 @@ TEST_F(ViewManagerTest, AddNodeWithNoChange) {
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(true));
// Make 3 a child of 2.
- {
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 3), 2));
-
- connection2_->DoRunLoopUntilChangesCount(1);
- const Changes changes(ChangesToDescription1(connection2_->changes()));
- ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("ServerChangeIdAdvanced 3", changes[0]);
- }
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 3)));
// Try again, this should fail.
- {
- EXPECT_FALSE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 3), 3));
- }
+ EXPECT_FALSE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 3)));
}
// Verifies AddNode fails when node is already in position.
@@ -642,28 +584,10 @@ TEST_F(ViewManagerTest, AddAncestorFails) {
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(true));
// Make 3 a child of 2.
- {
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 3), 2));
- connection2_->DoRunLoopUntilChangesCount(1);
- const Changes changes(ChangesToDescription1(connection2_->changes()));
- ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("ServerChangeIdAdvanced 3", changes[0]);
- }
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 3)));
// Try to make 2 a child of 3, this should fail since 2 is an ancestor of 3.
- {
- EXPECT_FALSE(connection_->AddNode(BuildNodeId(1, 3), BuildNodeId(1, 2), 3));
- }
-}
-
-// Verifies adding with an invalid id fails.
-TEST_F(ViewManagerTest, AddWithInvalidServerId) {
- // Create two nodes.
- ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 1)));
- ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
-
- // Make 2 a child of 1. Supply an invalid change id, which should fail.
- ASSERT_FALSE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 0));
+ EXPECT_FALSE(connection_->AddNode(BuildNodeId(1, 3), BuildNodeId(1, 2)));
}
// Verifies adding to root sends right notifications.
@@ -674,25 +598,17 @@ TEST_F(ViewManagerTest, AddToRoot) {
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(true));
// Make 3 a child of 21.
- {
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 21), BuildNodeId(1, 3), 2));
-
- connection2_->DoRunLoopUntilChangesCount(1);
- const Changes changes(ChangesToDescription1(connection2_->changes()));
- ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("ServerChangeIdAdvanced 3", changes[0]);
- }
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 21), BuildNodeId(1, 3)));
// Make 21 a child of 1.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 21), 3));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 21)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "HierarchyChanged change_id=3 node=1,21 new_parent=1,1 old_parent=null",
- changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,21 new_parent=1,1 old_parent=null",
+ changes[0]);
}
}
@@ -701,13 +617,13 @@ TEST_F(ViewManagerTest, NodeHierarchyChangedNodes) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 11)));
// Make 11 a child of 2.
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 11), 1));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 11)));
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(true));
// Make 2 a child of 1.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 3));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2)));
// Client 2 should get a hierarchy change that includes the new nodes as it
// has not yet seen them.
@@ -715,8 +631,7 @@ TEST_F(ViewManagerTest, NodeHierarchyChangedNodes) {
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
EXPECT_EQ(
- "HierarchyChanged change_id=3 node=1,2 new_parent=1,1 old_parent=null",
- changes[0]);
+ "HierarchyChanged node=1,2 new_parent=1,1 old_parent=null", changes[0]);
EXPECT_EQ("[node=1,2 parent=1,1 view=null],"
"[node=1,11 parent=1,2 view=null]",
ChangeNodeDescription(connection2_->changes()));
@@ -724,58 +639,53 @@ TEST_F(ViewManagerTest, NodeHierarchyChangedNodes) {
// Add 1 to the root.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 4));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
// Client 2 should get a hierarchy change that includes the new nodes as it
// has not yet seen them.
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "HierarchyChanged change_id=4 node=1,1 new_parent=null old_parent=null",
- changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,1 new_parent=null old_parent=null",
+ changes[0]);
EXPECT_EQ(std::string(), ChangeNodeDescription(connection2_->changes()));
}
// Remove 1 from its parent.
{
- ASSERT_TRUE(connection_->RemoveNodeFromParent(BuildNodeId(1, 1), 5));
+ ASSERT_TRUE(connection_->RemoveNodeFromParent(BuildNodeId(1, 1)));
EXPECT_TRUE(connection_->changes().empty());
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "HierarchyChanged change_id=5 node=1,1 new_parent=null old_parent=null",
- changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,1 new_parent=null old_parent=null",
+ changes[0]);
}
// Create another node, 111, parent it to 11.
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 111)));
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 11), BuildNodeId(1, 111),
- 6));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 11), BuildNodeId(1, 111)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "HierarchyChanged change_id=6 node=1,111 new_parent=1,11 "
- "old_parent=null", changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,111 new_parent=1,11 old_parent=null",
+ changes[0]);
EXPECT_EQ("[node=1,111 parent=1,11 view=null]",
ChangeNodeDescription(connection2_->changes()));
}
// Reattach 1 to the root.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 7));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "HierarchyChanged change_id=7 node=1,1 new_parent=null old_parent=null",
- changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,1 new_parent=null old_parent=null",
+ changes[0]);
EXPECT_EQ(std::string(), ChangeNodeDescription(connection2_->changes()));
}
}
@@ -789,38 +699,35 @@ TEST_F(ViewManagerTest, NodeHierarchyChangedAddingKnownToUnknown) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 21)));
// Set up the hierarchy.
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 1));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 11), 2));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 21), 3));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 11)));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 21)));
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
- {
- EXPECT_EQ("[node=1,1 parent=null view=null],"
- "[node=1,11 parent=1,1 view=null]",
- ChangeNodeDescription(connection2_->changes()));
- }
+ EXPECT_EQ("[node=1,1 parent=null view=null],"
+ "[node=1,11 parent=1,1 view=null]",
+ ChangeNodeDescription(connection2_->changes()));
// Remove 11, should result in a delete (since 11 is no longer in connection
// 2's root).
{
- ASSERT_TRUE(connection_->RemoveNodeFromParent(BuildNodeId(1, 11), 5));
+ ASSERT_TRUE(connection_->RemoveNodeFromParent(BuildNodeId(1, 11)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("NodeDeleted change_id=5 node=1,11", changes[0]);
+ EXPECT_EQ("NodeDeleted node=1,11", changes[0]);
}
// Add 2 to 1.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 6));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "HierarchyChanged change_id=6 node=1,2 new_parent=1,1 old_parent=null",
- changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,2 new_parent=1,1 old_parent=null",
+ changes[0]);
EXPECT_EQ("[node=1,2 parent=1,1 view=null],"
"[node=1,21 parent=1,2 view=null]",
ChangeNodeDescription(connection2_->changes()));
@@ -844,67 +751,55 @@ TEST_F(ViewManagerTest, ReorderNode) {
ASSERT_TRUE(connection_->CreateNode(node6_id));
ASSERT_TRUE(connection_->CreateNode(node7_id));
ASSERT_TRUE(connection_->CreateNode(node8_id));
- ASSERT_TRUE(connection_->AddNode(node1_id, node2_id, 1));
- ASSERT_TRUE(connection_->AddNode(node2_id, node6_id, 2));
- ASSERT_TRUE(connection_->AddNode(node1_id, node3_id, 3));
+ ASSERT_TRUE(connection_->AddNode(node1_id, node2_id));
+ ASSERT_TRUE(connection_->AddNode(node2_id, node6_id));
+ ASSERT_TRUE(connection_->AddNode(node1_id, node3_id));
ASSERT_TRUE(connection_->AddNode(
- NodeIdToTransportId(RootNodeId()), node4_id, 4));
+ NodeIdToTransportId(RootNodeId()), node4_id));
ASSERT_TRUE(connection_->AddNode(
- NodeIdToTransportId(RootNodeId()), node5_id, 5));
+ NodeIdToTransportId(RootNodeId()), node5_id));
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
{
- connection_->ReorderNode(node2_id, node3_id, ORDER_DIRECTION_ABOVE, 7);
+ connection_->ReorderNode(node2_id, node3_id, ORDER_DIRECTION_ABOVE);
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "Reordered change_id=7 node=1,2 relative=1,3 direction=above",
- changes[0]);
+ EXPECT_EQ("Reordered node=1,2 relative=1,3 direction=above",
+ changes[0]);
}
{
- connection_->ReorderNode(node2_id, node3_id, ORDER_DIRECTION_BELOW, 8);
+ connection_->ReorderNode(node2_id, node3_id, ORDER_DIRECTION_BELOW);
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "Reordered change_id=8 node=1,2 relative=1,3 direction=below",
- changes[0]);
+ EXPECT_EQ("Reordered node=1,2 relative=1,3 direction=below",
+ changes[0]);
}
- {
- // node2 is already below node3.
- EXPECT_FALSE(
- connection_->ReorderNode(node2_id, node3_id, ORDER_DIRECTION_BELOW, 9));
- }
+ // node2 is already below node3.
+ EXPECT_FALSE(
+ connection_->ReorderNode(node2_id, node3_id, ORDER_DIRECTION_BELOW));
- {
- // node4 & 5 are unknown to connection2_.
- EXPECT_FALSE(connection2_->ReorderNode(
- node4_id, node5_id, ORDER_DIRECTION_ABOVE, 9));
- }
+ // node4 & 5 are unknown to connection2_.
+ EXPECT_FALSE(connection2_->ReorderNode(
+ node4_id, node5_id, ORDER_DIRECTION_ABOVE));
- {
- // node6 & node3 have different parents.
- EXPECT_FALSE(
- connection_->ReorderNode(node3_id, node6_id, ORDER_DIRECTION_ABOVE, 9));
- }
+ // node6 & node3 have different parents.
+ EXPECT_FALSE(
+ connection_->ReorderNode(node3_id, node6_id, ORDER_DIRECTION_ABOVE));
- {
- // Non-existent node-ids
- EXPECT_FALSE(connection_->ReorderNode(
- BuildNodeId(1, 27), BuildNodeId(1, 28), ORDER_DIRECTION_ABOVE, 9));
- }
+ // Non-existent node-ids
+ EXPECT_FALSE(connection_->ReorderNode(
+ BuildNodeId(1, 27), BuildNodeId(1, 28), ORDER_DIRECTION_ABOVE));
- {
- // node7 & node8 are un-parented.
- EXPECT_FALSE(
- connection_->ReorderNode(node7_id, node8_id, ORDER_DIRECTION_ABOVE, 9));
- }
+ // node7 & node8 are un-parented.
+ EXPECT_FALSE(
+ connection_->ReorderNode(node7_id, node8_id, ORDER_DIRECTION_ABOVE));
}
// Verifies DeleteNode works.
@@ -915,30 +810,30 @@ TEST_F(ViewManagerTest, DeleteNode) {
// Make 2 a child of 1.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 2));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("HierarchyChanged change_id=2 node=1,2 new_parent=1,1 "
- "old_parent=null", changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,2 new_parent=1,1 old_parent=null",
+ changes[0]);
}
// Delete 2.
{
- ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 2), 3));
+ ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 2)));
EXPECT_TRUE(connection_->changes().empty());
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("NodeDeleted change_id=3 node=1,2", changes[0]);
+ EXPECT_EQ("NodeDeleted node=1,2", changes[0]);
}
}
// Verifies DeleteNode isn't allowed from a separate connection.
TEST_F(ViewManagerTest, DeleteNodeFromAnotherConnectionDisallowed) {
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(true));
- EXPECT_FALSE(connection2_->DeleteNode(BuildNodeId(1, 1), 1));
+ EXPECT_FALSE(connection2_->DeleteNode(BuildNodeId(1, 1)));
}
// Verifies DeleteView isn't allowed from a separate connection.
@@ -956,37 +851,35 @@ TEST_F(ViewManagerTest, ReuseDeletedNodeId) {
// Add 2 to 1.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 2));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
- EXPECT_EQ(
- "HierarchyChanged change_id=2 node=1,2 new_parent=1,1 old_parent=null",
- changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,2 new_parent=1,1 old_parent=null",
+ changes[0]);
EXPECT_EQ("[node=1,2 parent=1,1 view=null]",
ChangeNodeDescription(connection2_->changes()));
}
// Delete 2.
{
- ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 2), 3));
+ ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 2)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("NodeDeleted change_id=3 node=1,2", changes[0]);
+ EXPECT_EQ("NodeDeleted node=1,2", changes[0]);
}
// Create 2 again, and add it back to 1. Should get the same notification.
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 4));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
- EXPECT_EQ(
- "HierarchyChanged change_id=4 node=1,2 new_parent=1,1 old_parent=null",
- changes[0]);
+ EXPECT_EQ("HierarchyChanged node=1,2 new_parent=1,1 old_parent=null",
+ changes[0]);
EXPECT_EQ("[node=1,2 parent=1,1 view=null]",
ChangeNodeDescription(connection2_->changes()));
}
@@ -999,8 +892,8 @@ TEST_F(ViewManagerTest, SetView) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 3)));
ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 11)));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 1));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 3), 2));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2)));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 3)));
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
@@ -1044,17 +937,10 @@ TEST_F(ViewManagerTest, DeleteNodeWithView) {
// Delete node 2. The second connection should not see this because the node
// was not known to it.
- {
- ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 2), 2));
-
- connection2_->DoRunLoopUntilChangesCount(1);
- const Changes changes(ChangesToDescription1(connection2_->changes()));
- ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("ServerChangeIdAdvanced 3", changes[0]);
- }
+ ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 2)));
// Parent 3 to 1.
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 3), 3));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 3)));
connection2_->DoRunLoopUntilChangesCount(1);
// Set view 11 on node 3.
@@ -1069,12 +955,12 @@ TEST_F(ViewManagerTest, DeleteNodeWithView) {
// Delete 3.
{
- ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 3), 4));
+ ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 3)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("NodeDeleted change_id=4 node=1,3", changes[0]);
+ EXPECT_EQ("NodeDeleted node=1,3", changes[0]);
}
}
@@ -1113,14 +999,14 @@ TEST_F(ViewManagerTest, GetNodeTree) {
// Create 11 in first connection and make it a child of 1.
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 11)));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 2));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 11), 3));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 11)));
// Create two nodes in second connection, 2 and 3, both children of 1.
ASSERT_TRUE(connection2_->CreateNode(BuildNodeId(2, 2)));
ASSERT_TRUE(connection2_->CreateNode(BuildNodeId(2, 3)));
- ASSERT_TRUE(connection2_->AddNode(BuildNodeId(1, 1), BuildNodeId(2, 2), 4));
- ASSERT_TRUE(connection2_->AddNode(BuildNodeId(1, 1), BuildNodeId(2, 3), 5));
+ ASSERT_TRUE(connection2_->AddNode(BuildNodeId(1, 1), BuildNodeId(2, 2)));
+ ASSERT_TRUE(connection2_->AddNode(BuildNodeId(1, 1), BuildNodeId(2, 3)));
// Attach view to node 11 in the first connection.
ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 51)));
@@ -1159,7 +1045,7 @@ TEST_F(ViewManagerTest, GetNodeTree) {
TEST_F(ViewManagerTest, SetNodeBounds) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 1)));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 1));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
@@ -1186,7 +1072,7 @@ TEST_F(ViewManagerTest, SetRoots) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 3)));
// Parent 1 to the root.
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 1));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
// Establish the second connection with roots 1 and 3.
{
@@ -1201,48 +1087,37 @@ TEST_F(ViewManagerTest, SetRoots) {
ChangeNodeDescription(connection2_->changes()));
}
- // Create 4 and add it to the root, connection 2 should only get id advanced.
+ // Create 4 and add it to the root, connection 2 should not getting anything.
{
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 4)));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 4), 4));
-
- connection2_->DoRunLoopUntilChangesCount(1);
- const Changes changes(ChangesToDescription1(connection2_->changes()));
- ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("ServerChangeIdAdvanced 5", changes[0]);
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 4)));
}
// Move 4 under 3, this should expose 4 to the client.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 3), BuildNodeId(1, 4), 5));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 3), BuildNodeId(1, 4)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
EXPECT_EQ(
- "HierarchyChanged change_id=5 node=1,4 new_parent=1,3 "
- "old_parent=null", changes[0]);
+ "HierarchyChanged node=1,4 new_parent=1,3 old_parent=null", changes[0]);
EXPECT_EQ("[node=1,4 parent=1,3 view=null]",
ChangeNodeDescription(connection2_->changes()));
}
// Move 4 under 2, since 2 isn't a root client should get a delete.
{
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 4), 6));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 2), BuildNodeId(1, 4)));
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("NodeDeleted change_id=6 node=1,4", changes[0]);
+ EXPECT_EQ("NodeDeleted node=1,4", changes[0]);
}
// Delete 4, client shouldn't receive a delete since it should no longer know
// about 4.
{
- ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 4), 7));
-
- connection2_->DoRunLoopUntilChangesCount(1);
- const Changes changes(ChangesToDescription1(connection2_->changes()));
- ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("ServerChangeIdAdvanced 8", changes[0]);
+ ASSERT_TRUE(connection_->DeleteNode(BuildNodeId(1, 4)));
}
}
@@ -1256,11 +1131,11 @@ TEST_F(ViewManagerTest, CantMoveNodesFromOtherRoot) {
// Try to move 2 to be a child of 1 from connection 2. This should fail as 2
// should not be able to access 1.
- ASSERT_FALSE(connection2_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 1));
+ ASSERT_FALSE(connection2_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2)));
// Try to reparent 1 to the root. A connection is not allowed to reparent its
// roots.
- ASSERT_FALSE(connection2_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 1));
+ ASSERT_FALSE(connection2_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
}
// Verify RemoveNodeFromParent fails for nodes that are descendants of the
@@ -1270,24 +1145,24 @@ TEST_F(ViewManagerTest, CantRemoveNodesInOtherRoots) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 1)));
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 1));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 2), 2));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 2)));
// Establish the second connection and give it the root 1.
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
// Connection 2 should not be able to remove node 2 or 1 from its parent.
- ASSERT_FALSE(connection2_->RemoveNodeFromParent(BuildNodeId(1, 2), 4));
- ASSERT_FALSE(connection2_->RemoveNodeFromParent(BuildNodeId(1, 1), 4));
+ ASSERT_FALSE(connection2_->RemoveNodeFromParent(BuildNodeId(1, 2)));
+ ASSERT_FALSE(connection2_->RemoveNodeFromParent(BuildNodeId(1, 1)));
// Create nodes 10 and 11 in 2.
ASSERT_TRUE(connection2_->CreateNode(BuildNodeId(2, 10)));
ASSERT_TRUE(connection2_->CreateNode(BuildNodeId(2, 11)));
// Parent 11 to 10.
- ASSERT_TRUE(connection2_->AddNode(BuildNodeId(2, 10), BuildNodeId(2, 11), 4));
+ ASSERT_TRUE(connection2_->AddNode(BuildNodeId(2, 10), BuildNodeId(2, 11)));
// Remove 11 from 10.
- ASSERT_TRUE(connection2_->RemoveNodeFromParent( BuildNodeId(2, 11), 5));
+ ASSERT_TRUE(connection2_->RemoveNodeFromParent( BuildNodeId(2, 11)));
// Verify nothing was actually removed.
{
@@ -1306,8 +1181,8 @@ TEST_F(ViewManagerTest, CantRemoveSetViewInOtherRoots) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 1)));
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 1));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 2), 2));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 2)));
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
@@ -1326,8 +1201,8 @@ TEST_F(ViewManagerTest, CantGetNodeTreeOfOtherRoots) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 1)));
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1), 1));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 2), 2));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 1)));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(0, 1), BuildNodeId(1, 2)));
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
@@ -1351,15 +1226,13 @@ TEST_F(ViewManagerTest, ConnectTwice) {
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 1)));
ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
- ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2), 1));
+ ASSERT_TRUE(connection_->AddNode(BuildNodeId(1, 1), BuildNodeId(1, 2)));
ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
// Try to connect again to 1,1, this should fail as already connected to that
// root.
- {
- ASSERT_FALSE(connection_->Embed(BuildNodeId(1, 1), kTestServiceURL));
- }
+ ASSERT_FALSE(connection_->Embed(BuildNodeId(1, 1), kTestServiceURL));
// Connecting to 1,2 should succeed and end up in connection2.
{
@@ -1414,7 +1287,7 @@ TEST_F(ViewManagerTest, EmbedWithSameNodeId) {
connection2_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection2_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ("NodeDeleted change_id=2 node=1,1", changes[0]);
+ EXPECT_EQ("NodeDeleted node=1,1", changes[0]);
}
// Connection2 has no root. Verify it can't see node 1,1 anymore.
@@ -1448,22 +1321,17 @@ TEST_F(ViewManagerTest, EmbedWithSameNodeId2) {
// Create a node in the third connection and parent it to the root.
ASSERT_TRUE(connection3->CreateNode(BuildNodeId(3, 1)));
- ASSERT_TRUE(connection3->AddNode(BuildNodeId(1, 1), BuildNodeId(3, 1), 3));
+ ASSERT_TRUE(connection3->AddNode(BuildNodeId(1, 1), BuildNodeId(3, 1)));
// Connection 1 should have been told about the add (it owns the node).
{
connection_->DoRunLoopUntilChangesCount(1);
const Changes changes(ChangesToDescription1(connection_->changes()));
ASSERT_EQ(1u, changes.size());
- EXPECT_EQ(
- "HierarchyChanged change_id=3 node=3,1 new_parent=1,1 old_parent=null",
- changes[0]);
+ EXPECT_EQ("HierarchyChanged node=3,1 new_parent=1,1 old_parent=null",
+ changes[0]);
}
- // connection2_ should get an advance.
- connection2_->DoRunLoopUntilChangesCount(1);
- connection2_->ClearChanges();
-
// Embed 1,1 back in connection 2.
{
// 2 should be told about the new embed.
@@ -1478,7 +1346,7 @@ TEST_F(ViewManagerTest, EmbedWithSameNodeId2) {
// And 3 should get a delete.
connection3->DoRunLoopUntilChangesCount(1);
ASSERT_EQ(1u, connection3->changes().size());
- EXPECT_EQ("NodeDeleted change_id=4 node=1,1",
+ EXPECT_EQ("NodeDeleted node=1,1",
ChangesToDescription1(connection3->changes())[0]);
}
@@ -1510,7 +1378,7 @@ TEST_F(ViewManagerTest, EmbedWithSameNodeId2) {
}
// TODO(sky): add coverage of test that destroys connections and ensures other
-// connections get deletion notification (or advanced server id).
+// connections get deletion notification.
// TODO(sky): need to better track changes to initial connection. For example,
// that SetBounsdNodes/AddNode and the like don't result in messages to the