Merge from Chromium at DEPS revision 290040
This commit was generated by merge_to_master.py.
Change-Id: I694ec52d1e0b553f163c2faf4373d63270ab1aac
diff --git a/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc b/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc
index 6b1bdd3..9f47292 100644
--- a/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc
+++ b/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc
@@ -7,15 +7,15 @@
#include "base/auto_reset.h"
#include "base/bind.h"
#include "base/logging.h"
+#include "mojo/application_manager/application_manager.h"
#include "mojo/public/cpp/application/application_connection.h"
#include "mojo/public/cpp/application/application_delegate.h"
#include "mojo/public/cpp/application/application_impl.h"
-#include "mojo/service_manager/service_manager.h"
-#include "mojo/services/public/cpp/view_manager/lib/node_private.h"
+#include "mojo/public/cpp/application/service_provider_impl.h"
+#include "mojo/public/interfaces/application/service_provider.mojom.h"
#include "mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.h"
-#include "mojo/services/public/cpp/view_manager/node_observer.h"
+#include "mojo/services/public/cpp/view_manager/lib/view_private.h"
#include "mojo/services/public/cpp/view_manager/util.h"
-#include "mojo/services/public/cpp/view_manager/view.h"
#include "mojo/services/public/cpp/view_manager/view_manager_client_factory.h"
#include "mojo/services/public/cpp/view_manager/view_manager_delegate.h"
#include "mojo/services/public/cpp/view_manager/view_observer.h"
@@ -41,19 +41,19 @@
current_run_loop->Quit();
}
-class ConnectServiceLoader : public ServiceLoader,
- public ApplicationDelegate,
- public ViewManagerDelegate {
+class ConnectApplicationLoader : public ApplicationLoader,
+ public ApplicationDelegate,
+ public ViewManagerDelegate {
public:
- typedef base::Callback<void(ViewManager*, Node*)> LoadedCallback;
+ typedef base::Callback<void(ViewManager*, View*)> LoadedCallback;
- explicit ConnectServiceLoader(const LoadedCallback& callback)
+ explicit ConnectApplicationLoader(const LoadedCallback& callback)
: callback_(callback), view_manager_client_factory_(this) {}
- virtual ~ConnectServiceLoader() {}
+ virtual ~ConnectApplicationLoader() {}
private:
- // Overridden from ServiceLoader:
- virtual void Load(ServiceManager* manager,
+ // Overridden from ApplicationLoader:
+ virtual void Load(ApplicationManager* manager,
const GURL& url,
scoped_refptr<LoadCallbacks> callbacks) OVERRIDE {
ScopedMessagePipeHandle shell_handle = callbacks->RegisterApplication();
@@ -64,9 +64,8 @@
apps_.push_back(app.release());
}
- virtual void OnServiceError(ServiceManager* manager,
- const GURL& url) OVERRIDE {
- }
+ virtual void OnServiceError(ApplicationManager* manager,
+ const GURL& url) OVERRIDE {}
virtual bool ConfigureIncomingConnection(ApplicationConnection* connection)
OVERRIDE {
@@ -75,7 +74,10 @@
}
// Overridden from ViewManagerDelegate:
- virtual void OnEmbed(ViewManager* view_manager, Node* root) OVERRIDE {
+ virtual void OnEmbed(ViewManager* view_manager,
+ View* root,
+ ServiceProviderImpl* exported_services,
+ scoped_ptr<ServiceProvider> imported_services) OVERRIDE {
callback_.Run(view_manager, root);
}
virtual void OnViewManagerDisconnected(ViewManager* view_manager) OVERRIDE {}
@@ -84,126 +86,87 @@
LoadedCallback callback_;
ViewManagerClientFactory view_manager_client_factory_;
- DISALLOW_COPY_AND_ASSIGN(ConnectServiceLoader);
+ DISALLOW_COPY_AND_ASSIGN(ConnectApplicationLoader);
};
-class ActiveViewChangedObserver : public NodeObserver {
+class BoundsChangeObserver : public ViewObserver {
public:
- explicit ActiveViewChangedObserver(Node* node)
- : node_(node) {}
- virtual ~ActiveViewChangedObserver() {}
-
- private:
- // Overridden from NodeObserver:
- virtual void OnNodeActiveViewChanged(Node* node,
- View* old_view,
- View* new_view) OVERRIDE {
- DCHECK_EQ(node, node_);
- QuitRunLoop();
- }
-
- Node* node_;
-
- DISALLOW_COPY_AND_ASSIGN(ActiveViewChangedObserver);
-};
-
-// Waits until the active view id of the supplied node changes.
-void WaitForActiveViewToChange(Node* node) {
- ActiveViewChangedObserver observer(node);
- node->AddObserver(&observer);
- DoRunLoop();
- node->RemoveObserver(&observer);
-}
-
-class BoundsChangeObserver : public NodeObserver {
- public:
- explicit BoundsChangeObserver(Node* node) : node_(node) {}
+ explicit BoundsChangeObserver(View* view) : view_(view) {}
virtual ~BoundsChangeObserver() {}
private:
- // Overridden from NodeObserver:
- virtual void OnNodeBoundsChanged(Node* node,
+ // Overridden from ViewObserver:
+ virtual void OnViewBoundsChanged(View* view,
const gfx::Rect& old_bounds,
const gfx::Rect& new_bounds) OVERRIDE {
- DCHECK_EQ(node, node_);
+ DCHECK_EQ(view, view_);
QuitRunLoop();
}
- Node* node_;
+ View* view_;
DISALLOW_COPY_AND_ASSIGN(BoundsChangeObserver);
};
-// Wait until the bounds of the supplied node change.
-void WaitForBoundsToChange(Node* node) {
- BoundsChangeObserver observer(node);
- node->AddObserver(&observer);
+// Wait until the bounds of the supplied view change.
+void WaitForBoundsToChange(View* view) {
+ BoundsChangeObserver observer(view);
+ view->AddObserver(&observer);
DoRunLoop();
- node->RemoveObserver(&observer);
+ view->RemoveObserver(&observer);
}
-// Spins a runloop until the tree beginning at |root| has |tree_size| nodes
+// Spins a runloop until the tree beginning at |root| has |tree_size| views
// (including |root|).
-class TreeSizeMatchesObserver : public NodeObserver {
+class TreeSizeMatchesObserver : public ViewObserver {
public:
- TreeSizeMatchesObserver(Node* tree, size_t tree_size)
+ TreeSizeMatchesObserver(View* tree, size_t tree_size)
: tree_(tree),
tree_size_(tree_size) {}
virtual ~TreeSizeMatchesObserver() {}
bool IsTreeCorrectSize() {
- return CountNodes(tree_) == tree_size_;
+ return CountViews(tree_) == tree_size_;
}
private:
- // Overridden from NodeObserver:
+ // Overridden from ViewObserver:
virtual void OnTreeChanged(const TreeChangeParams& params) OVERRIDE {
if (IsTreeCorrectSize())
QuitRunLoop();
}
- size_t CountNodes(const Node* node) const {
+ size_t CountViews(const View* view) const {
size_t count = 1;
- Node::Children::const_iterator it = node->children().begin();
- for (; it != node->children().end(); ++it)
- count += CountNodes(*it);
+ View::Children::const_iterator it = view->children().begin();
+ for (; it != view->children().end(); ++it)
+ count += CountViews(*it);
return count;
}
- Node* tree_;
+ View* tree_;
size_t tree_size_;
DISALLOW_COPY_AND_ASSIGN(TreeSizeMatchesObserver);
};
-void WaitForTreeSizeToMatch(Node* node, size_t tree_size) {
- TreeSizeMatchesObserver observer(node, tree_size);
+void WaitForTreeSizeToMatch(View* view, size_t tree_size) {
+ TreeSizeMatchesObserver observer(view, tree_size);
if (observer.IsTreeCorrectSize())
return;
- node->AddObserver(&observer);
+ view->AddObserver(&observer);
DoRunLoop();
- node->RemoveObserver(&observer);
+ view->RemoveObserver(&observer);
}
-// Utility class that waits for the destruction of some number of nodes and
+// Utility class that waits for the destruction of some number of views and
// views.
-class DestructionObserver : public NodeObserver, public ViewObserver {
+class DestructionObserver : public ViewObserver {
public:
- // |nodes| or |views| can be NULL.
- DestructionObserver(std::set<Id>* nodes, std::set<Id>* views)
- : nodes_(nodes),
- views_(views) {}
+ // |views| or |views| can be NULL.
+ explicit DestructionObserver(std::set<Id>* views) : views_(views) {}
private:
- // Overridden from NodeObserver:
- virtual void OnNodeDestroyed(Node* node) OVERRIDE {
- std::set<Id>::iterator it = nodes_->find(node->id());
- if (it != nodes_->end())
- nodes_->erase(it);
- if (CanQuit())
- QuitRunLoop();
- }
-
// Overridden from ViewObserver:
virtual void OnViewDestroyed(View* view) OVERRIDE {
std::set<Id>::iterator it = views_->find(view->id());
@@ -214,26 +177,17 @@
}
bool CanQuit() {
- return (!nodes_ || nodes_->empty()) && (!views_ || views_->empty());
+ return !views_ || views_->empty();
}
- std::set<Id>* nodes_;
std::set<Id>* views_;
DISALLOW_COPY_AND_ASSIGN(DestructionObserver);
};
-void WaitForDestruction(ViewManager* view_manager,
- std::set<Id>* nodes,
- std::set<Id>* views) {
- DestructionObserver observer(nodes, views);
- DCHECK(nodes || views);
- if (nodes) {
- for (std::set<Id>::const_iterator it = nodes->begin();
- it != nodes->end(); ++it) {
- view_manager->GetNodeById(*it)->AddObserver(&observer);
- }
- }
+void WaitForDestruction(ViewManager* view_manager, std::set<Id>* views) {
+ DestructionObserver observer(views);
+ DCHECK(views);
if (views) {
for (std::set<Id>::const_iterator it = views->begin();
it != views->end(); ++it) {
@@ -243,58 +197,58 @@
DoRunLoop();
}
-class OrderChangeObserver : public NodeObserver {
+class OrderChangeObserver : public ViewObserver {
public:
- OrderChangeObserver(Node* node) : node_(node) {
- node_->AddObserver(this);
+ OrderChangeObserver(View* view) : view_(view) {
+ view_->AddObserver(this);
}
virtual ~OrderChangeObserver() {
- node_->RemoveObserver(this);
+ view_->RemoveObserver(this);
}
private:
- // Overridden from NodeObserver:
- virtual void OnNodeReordered(Node* node,
- Node* relative_node,
+ // Overridden from ViewObserver:
+ virtual void OnViewReordered(View* view,
+ View* relative_view,
OrderDirection direction) OVERRIDE {
- DCHECK_EQ(node, node_);
+ DCHECK_EQ(view, view_);
QuitRunLoop();
}
- Node* node_;
+ View* view_;
DISALLOW_COPY_AND_ASSIGN(OrderChangeObserver);
};
-void WaitForOrderChange(ViewManager* view_manager, Node* node) {
- OrderChangeObserver observer(node);
+void WaitForOrderChange(ViewManager* view_manager, View* view) {
+ OrderChangeObserver observer(view);
DoRunLoop();
}
-// Tracks a node's destruction. Query is_valid() for current state.
-class NodeTracker : public NodeObserver {
+// Tracks a view's destruction. Query is_valid() for current state.
+class ViewTracker : public ViewObserver {
public:
- explicit NodeTracker(Node* node) : node_(node) {
- node_->AddObserver(this);
+ explicit ViewTracker(View* view) : view_(view) {
+ view_->AddObserver(this);
}
- virtual ~NodeTracker() {
- if (node_)
- node_->RemoveObserver(this);
+ virtual ~ViewTracker() {
+ if (view_)
+ view_->RemoveObserver(this);
}
- bool is_valid() const { return !!node_; }
+ bool is_valid() const { return !!view_; }
private:
- // Overridden from NodeObserver:
- virtual void OnNodeDestroyed(Node* node) OVERRIDE {
- DCHECK_EQ(node, node_);
- node_ = NULL;
+ // Overridden from ViewObserver:
+ virtual void OnViewDestroyed(View* view) OVERRIDE {
+ DCHECK_EQ(view, view_);
+ view_ = NULL;
}
int id_;
- Node* node_;
+ View* view_;
- DISALLOW_COPY_AND_ASSIGN(NodeTracker);
+ DISALLOW_COPY_AND_ASSIGN(ViewTracker);
};
} // namespace
@@ -302,7 +256,7 @@
// ViewManager -----------------------------------------------------------------
// These tests model synchronization of two peer connections to the view manager
-// service, that are given access to some root node.
+// service, that are given access to some root view.
class ViewManagerTest : public testing::Test {
public:
@@ -315,26 +269,21 @@
protected:
ViewManager* window_manager() { return window_manager_; }
- Node* CreateNodeInParent(Node* parent) {
- ViewManager* parent_manager = NodePrivate(parent).view_manager();
- Node* node = Node::Create(parent_manager);
- parent->AddChild(node);
- return node;
+ View* CreateViewInParent(View* parent) {
+ ViewManager* parent_manager = ViewPrivate(parent).view_manager();
+ View* view = View::Create(parent_manager);
+ parent->AddChild(view);
+ return view;
}
- // Embeds another version of the test app @ node.
- ViewManager* Embed(ViewManager* view_manager, Node* node) {
- DCHECK_EQ(view_manager, NodePrivate(node).view_manager());
- node->Embed(kEmbeddedApp1URL);
+ // Embeds another version of the test app @ view.
+ ViewManager* Embed(ViewManager* view_manager, View* view) {
+ DCHECK_EQ(view_manager, ViewPrivate(view).view_manager());
+ view->Embed(kEmbeddedApp1URL);
RunRunLoop();
return GetLoadedViewManager();
}
- // TODO(beng): remove these methods once all the tests are migrated.
- void DestroyViewManager1() {}
- ViewManager* view_manager_1() { return NULL; }
- ViewManager* view_manager_2() { return NULL; }
-
ViewManager* GetLoadedViewManager() {
ViewManager* view_manager = loaded_view_manager_;
loaded_view_manager_ = NULL;
@@ -342,24 +291,25 @@
}
void UnloadApplication(const GURL& url) {
- test_helper_.SetLoaderForURL(scoped_ptr<ServiceLoader>(), url);
+ test_helper_.SetLoaderForURL(scoped_ptr<ApplicationLoader>(), url);
}
private:
// Overridden from testing::Test:
virtual void SetUp() OVERRIDE {
- ConnectServiceLoader::LoadedCallback ready_callback =
- base::Bind(&ViewManagerTest::OnViewManagerLoaded,
- base::Unretained(this));
+ ConnectApplicationLoader::LoadedCallback ready_callback = base::Bind(
+ &ViewManagerTest::OnViewManagerLoaded, base::Unretained(this));
test_helper_.Init();
test_helper_.SetLoaderForURL(
- scoped_ptr<ServiceLoader>(new ConnectServiceLoader(ready_callback)),
+ scoped_ptr<ApplicationLoader>(
+ new ConnectApplicationLoader(ready_callback)),
GURL(kWindowManagerURL));
test_helper_.SetLoaderForURL(
- scoped_ptr<ServiceLoader>(new ConnectServiceLoader(ready_callback)),
+ scoped_ptr<ApplicationLoader>(
+ new ConnectApplicationLoader(ready_callback)),
GURL(kEmbeddedApp1URL));
- test_helper_.service_manager()->ConnectToService(
+ test_helper_.application_manager()->ConnectToService(
GURL("mojo:mojo_view_manager"), &view_manager_init_);
ASSERT_TRUE(EmbedRoot(view_manager_init_.get(), kWindowManagerURL));
}
@@ -371,8 +321,10 @@
bool EmbedRoot(ViewManagerInitService* view_manager_init,
const std::string& url) {
bool result = false;
+ ServiceProviderPtr sp;
+ BindToProxy(new ServiceProviderImpl, &sp);
view_manager_init->Embed(
- url,
+ url, sp.Pass(),
base::Bind(&ViewManagerTest::EmbedRootCallback, base::Unretained(this),
&result));
RunRunLoop();
@@ -380,7 +332,7 @@
return result;
}
- void OnViewManagerLoaded(ViewManager* view_manager, Node* root) {
+ void OnViewManagerLoaded(ViewManager* view_manager, View* root) {
loaded_view_manager_ = view_manager;
connect_loop_->Quit();
}
@@ -398,7 +350,7 @@
// Used to receive the most recent view manager loaded by an embed action.
ViewManager* loaded_view_manager_;
// The View Manager connection held by the window manager (app running at the
- // root node).
+ // root view).
ViewManager* window_manager_;
int commit_count_;
@@ -408,26 +360,26 @@
TEST_F(ViewManagerTest, SetUp) {}
TEST_F(ViewManagerTest, Embed) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
+ View* view = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view);
+ ViewManager* embedded = Embed(window_manager(), view);
EXPECT_TRUE(NULL != embedded);
- Node* node_in_embedded = embedded->GetRoots().front();
- EXPECT_EQ(node->parent(), window_manager()->GetRoots().front());
- EXPECT_EQ(NULL, node_in_embedded->parent());
+ View* view_in_embedded = embedded->GetRoots().front();
+ EXPECT_EQ(view->parent(), window_manager()->GetRoots().front());
+ EXPECT_EQ(NULL, view_in_embedded->parent());
}
-// Window manager has two nodes, N1 and N11. Embeds A at N1. A should not see
+// Window manager has two views, N1 and N11. Embeds A at N1. A should not see
// N11.
// TODO(sky): Update client lib to match server.
TEST_F(ViewManagerTest, DISABLED_EmbeddedDoesntSeeChild) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- Node* nested = Node::Create(window_manager());
- node->AddChild(nested);
+ View* view = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view);
+ View* nested = View::Create(window_manager());
+ view->AddChild(nested);
- ViewManager* embedded = Embed(window_manager(), node);
+ ViewManager* embedded = Embed(window_manager(), view);
EXPECT_EQ(embedded->GetRoots().front()->children().front()->id(),
nested->id());
EXPECT_TRUE(embedded->GetRoots().front()->children().empty());
@@ -435,237 +387,135 @@
}
// http://crbug.com/396300
-TEST_F(ViewManagerTest, DISABLED_ViewManagerDestroyed_CleanupNode) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
-
- Id node_id = node->id();
-
- UnloadApplication(GURL(kWindowManagerURL));
-
- std::set<Id> nodes;
- nodes.insert(node_id);
- WaitForDestruction(embedded, &nodes, NULL);
-
- EXPECT_TRUE(embedded->GetRoots().empty());
-}
-
-TEST_F(ViewManagerTest, SetActiveView) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
-
+TEST_F(ViewManagerTest, DISABLED_ViewManagerDestroyed_CleanupView) {
View* view = View::Create(window_manager());
- node->SetActiveView(view);
-
- Node* node_in_embedded = embedded->GetNodeById(node->id());
- WaitForActiveViewToChange(node_in_embedded);
-
- EXPECT_EQ(node_in_embedded->active_view()->id(), view->id());
-}
-
-// TODO(sky): rethink this and who should be notified when views are
-// detached/destroyed.
-TEST_F(ViewManagerTest, DISABLED_DestroyView) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
-
- View* view = View::Create(window_manager());
- node->SetActiveView(view);
-
- Node* node_in_embedded = embedded->GetNodeById(node->id());
- WaitForActiveViewToChange(node_in_embedded);
-
- EXPECT_EQ(node_in_embedded->active_view()->id(), view->id());
+ window_manager()->GetRoots().front()->AddChild(view);
+ ViewManager* embedded = Embed(window_manager(), view);
Id view_id = view->id();
- view->Destroy();
+
+ UnloadApplication(GURL(kWindowManagerURL));
std::set<Id> views;
views.insert(view_id);
- WaitForDestruction(embedded, NULL, &views);
- EXPECT_EQ(NULL, node_in_embedded->active_view());
- EXPECT_EQ(NULL, embedded->GetViewById(view_id));
-}
-
-// Destroying the connection that created a node and view should result in that
-// node and view disappearing from all connections that see them.
-// http://crbug.com/396300
-TEST_F(ViewManagerTest, DISABLED_ViewManagerDestroyed_CleanupNodeAndView) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- View* view = View::Create(window_manager());
- node->SetActiveView(view);
- ViewManager* embedded = Embed(window_manager(), node);
-
- Id node_id = node->id();
- Id view_id = view->id();
-
- UnloadApplication(GURL(kWindowManagerURL));
-
- std::set<Id> observed_nodes;
- observed_nodes.insert(node_id);
- std::set<Id> observed_views;
- observed_views.insert(view_id);
- WaitForDestruction(embedded, &observed_nodes, &observed_views);
+ WaitForDestruction(embedded, &views);
EXPECT_TRUE(embedded->GetRoots().empty());
- EXPECT_EQ(NULL, embedded->GetNodeById(node_id));
- EXPECT_EQ(NULL, embedded->GetViewById(view_id));
}
+// TODO(beng): write a replacement test for the one that once existed here:
// This test validates the following scenario:
-// - a node originating from one connection
+// - a view originating from one connection
// - a view originating from a second connection
-// + the connection originating the node is destroyed
+// + the connection originating the view is destroyed
// -> the view should still exist (since the second connection is live) but
-// should be disconnected from any nodes.
+// should be disconnected from any views.
// http://crbug.com/396300
-TEST_F(
- ViewManagerTest,
- DISABLED_ViewManagerDestroyed_CleanupNodeAndViewFromDifferentConnections) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
- View* view_in_embedded = View::Create(embedded);
- Node* node_in_embedded = embedded->GetNodeById(node->id());
- node_in_embedded->SetActiveView(view_in_embedded);
+//
+// TODO(beng): The new test should validate the scenario as described above
+// except that the second connection still has a valid tree.
- WaitForActiveViewToChange(node);
-
- Id node_id = node->id();
- Id view_id = view_in_embedded->id();
-
- UnloadApplication(GURL(kWindowManagerURL));
- std::set<Id> nodes;
- nodes.insert(node_id);
- WaitForDestruction(embedded, &nodes, NULL);
-
- EXPECT_TRUE(embedded->GetRoots().empty());
- // node was owned by the window manager, so it should be gone.
- EXPECT_EQ(NULL, embedded->GetNodeById(node_id));
- // view_in_embedded was owned by the embedded app, so it should still exist,
- // but disconnected from the node tree.
- EXPECT_EQ(view_in_embedded, embedded->GetViewById(view_id));
- EXPECT_EQ(NULL, view_in_embedded->node());
-}
-
-// This test verifies that it is not possible to set the active view to a view
-// defined in a different connection.
-// TODO(beng): write these tests for Node::AddChild(), RemoveChild() and
-// Contains().
-TEST_F(ViewManagerTest, SetActiveViewAcrossConnection) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
-
- View* view_in_embedded = View::Create(embedded);
- EXPECT_DEATH_IF_SUPPORTED(node->SetActiveView(view_in_embedded), "");
-}
-
-// Verifies that bounds changes applied to a node hierarchy in one connection
+// Verifies that bounds changes applied to a view hierarchy in one connection
// are reflected to another.
TEST_F(ViewManagerTest, SetBounds) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
+ View* view = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view);
+ ViewManager* embedded = Embed(window_manager(), view);
- Node* node_in_embedded = embedded->GetNodeById(node->id());
- EXPECT_EQ(node->bounds(), node_in_embedded->bounds());
+ View* view_in_embedded = embedded->GetViewById(view->id());
+ EXPECT_EQ(view->bounds(), view_in_embedded->bounds());
- node->SetBounds(gfx::Rect(100, 100));
- EXPECT_NE(node->bounds(), node_in_embedded->bounds());
- WaitForBoundsToChange(node_in_embedded);
- EXPECT_EQ(node->bounds(), node_in_embedded->bounds());
+ view->SetBounds(gfx::Rect(100, 100));
+ EXPECT_NE(view->bounds(), view_in_embedded->bounds());
+ WaitForBoundsToChange(view_in_embedded);
+ EXPECT_EQ(view->bounds(), view_in_embedded->bounds());
}
-// Verifies that bounds changes applied to a node owned by a different
+// Verifies that bounds changes applied to a view owned by a different
// connection are refused.
TEST_F(ViewManagerTest, SetBoundsSecurity) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
+ View* view = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view);
+ ViewManager* embedded = Embed(window_manager(), view);
- Node* node_in_embedded = embedded->GetNodeById(node->id());
- node->SetBounds(gfx::Rect(800, 600));
- WaitForBoundsToChange(node_in_embedded);
+ View* view_in_embedded = embedded->GetViewById(view->id());
+ view->SetBounds(gfx::Rect(800, 600));
+ WaitForBoundsToChange(view_in_embedded);
- node_in_embedded->SetBounds(gfx::Rect(1024, 768));
+ view_in_embedded->SetBounds(gfx::Rect(1024, 768));
// Bounds change should have been rejected.
- EXPECT_EQ(node->bounds(), node_in_embedded->bounds());
+ EXPECT_EQ(view->bounds(), view_in_embedded->bounds());
}
-// Verifies that a node can only be destroyed by the connection that created it.
+// Verifies that a view can only be destroyed by the connection that created it.
TEST_F(ViewManagerTest, DestroySecurity) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
+ View* view = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view);
+ ViewManager* embedded = Embed(window_manager(), view);
- Node* node_in_embedded = embedded->GetNodeById(node->id());
+ View* view_in_embedded = embedded->GetViewById(view->id());
- NodeTracker tracker2(node_in_embedded);
- node_in_embedded->Destroy();
- // Node should not have been destroyed.
+ ViewTracker tracker2(view_in_embedded);
+ view_in_embedded->Destroy();
+ // View should not have been destroyed.
EXPECT_TRUE(tracker2.is_valid());
- NodeTracker tracker1(node);
- node->Destroy();
+ ViewTracker tracker1(view);
+ view->Destroy();
EXPECT_FALSE(tracker1.is_valid());
}
TEST_F(ViewManagerTest, MultiRoots) {
- Node* node1 = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node1);
- Node* node2 = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node2);
- ViewManager* embedded1 = Embed(window_manager(), node1);
- ViewManager* embedded2 = Embed(window_manager(), node2);
+ View* view1 = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view1);
+ View* view2 = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view2);
+ ViewManager* embedded1 = Embed(window_manager(), view1);
+ ViewManager* embedded2 = Embed(window_manager(), view2);
EXPECT_EQ(embedded1, embedded2);
}
TEST_F(ViewManagerTest, EmbeddingIdentity) {
- Node* node = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node);
- ViewManager* embedded = Embed(window_manager(), node);
+ View* view = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view);
+ ViewManager* embedded = Embed(window_manager(), view);
EXPECT_EQ(kWindowManagerURL, embedded->GetEmbedderURL());
}
TEST_F(ViewManagerTest, Reorder) {
- Node* node1 = Node::Create(window_manager());
- window_manager()->GetRoots().front()->AddChild(node1);
+ View* view1 = View::Create(window_manager());
+ window_manager()->GetRoots().front()->AddChild(view1);
- ViewManager* embedded = Embed(window_manager(), node1);
+ ViewManager* embedded = Embed(window_manager(), view1);
- Node* node11 = Node::Create(embedded);
- embedded->GetRoots().front()->AddChild(node11);
- Node* node12 = Node::Create(embedded);
- embedded->GetRoots().front()->AddChild(node12);
+ View* view11 = View::Create(embedded);
+ embedded->GetRoots().front()->AddChild(view11);
+ View* view12 = View::Create(embedded);
+ embedded->GetRoots().front()->AddChild(view12);
- Node* node1_in_wm = window_manager()->GetNodeById(node1->id());
+ View* view1_in_wm = window_manager()->GetViewById(view1->id());
{
- WaitForTreeSizeToMatch(node1, 2u);
- node11->MoveToFront();
+ WaitForTreeSizeToMatch(view1, 2u);
+ view11->MoveToFront();
WaitForOrderChange(window_manager(),
- window_manager()->GetNodeById(node11->id()));
+ window_manager()->GetViewById(view11->id()));
- EXPECT_EQ(node1_in_wm->children().front(),
- window_manager()->GetNodeById(node12->id()));
- EXPECT_EQ(node1_in_wm->children().back(),
- window_manager()->GetNodeById(node11->id()));
+ EXPECT_EQ(view1_in_wm->children().front(),
+ window_manager()->GetViewById(view12->id()));
+ EXPECT_EQ(view1_in_wm->children().back(),
+ window_manager()->GetViewById(view11->id()));
}
{
- node11->MoveToBack();
+ view11->MoveToBack();
WaitForOrderChange(window_manager(),
- window_manager()->GetNodeById(node11->id()));
+ window_manager()->GetViewById(view11->id()));
- EXPECT_EQ(node1_in_wm->children().front(),
- window_manager()->GetNodeById(node11->id()));
- EXPECT_EQ(node1_in_wm->children().back(),
- window_manager()->GetNodeById(node12->id()));
+ EXPECT_EQ(view1_in_wm->children().front(),
+ window_manager()->GetViewById(view11->id()));
+ EXPECT_EQ(view1_in_wm->children().back(),
+ window_manager()->GetViewById(view12->id()));
}
}
@@ -673,8 +523,8 @@
// - verify that we see events for all views.
// TODO(beng): tests for focus:
-// - focus between two nodes known to a connection
-// - focus between nodes unknown to one of the connections.
-// - focus between nodes unknown to either connection.
+// - focus between two views known to a connection
+// - focus between views unknown to one of the connections.
+// - focus between views unknown to either connection.
} // namespace mojo