Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: components/mus/ws/window_tree_client_unittest.cc

Issue 1882423004: Move shell service to toplevel shell namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/mus/ws/window_manager_state.cc ('k') | components/resource_provider/main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "base/strings/stringprintf.h" 12 #include "base/strings/stringprintf.h"
13 #include "components/mus/public/cpp/tests/window_server_shelltest_base.h" 13 #include "components/mus/public/cpp/tests/window_server_shelltest_base.h"
14 #include "components/mus/public/interfaces/window_tree.mojom.h" 14 #include "components/mus/public/interfaces/window_tree.mojom.h"
15 #include "components/mus/public/interfaces/window_tree_host.mojom.h" 15 #include "components/mus/public/interfaces/window_tree_host.mojom.h"
16 #include "components/mus/ws/ids.h" 16 #include "components/mus/ws/ids.h"
17 #include "components/mus/ws/test_change_tracker.h" 17 #include "components/mus/ws/test_change_tracker.h"
18 #include "mojo/converters/geometry/geometry_type_converters.h" 18 #include "mojo/converters/geometry/geometry_type_converters.h"
19 #include "mojo/public/cpp/bindings/associated_binding.h" 19 #include "mojo/public/cpp/bindings/associated_binding.h"
20 #include "services/shell/public/cpp/shell_test.h" 20 #include "services/shell/public/cpp/shell_test.h"
21 21
22 using mojo::Array; 22 using mojo::Array;
23 using mojo::Callback; 23 using mojo::Callback;
24 using mojo::Connection; 24 using shell::Connection;
25 using mojo::InterfaceRequest; 25 using mojo::InterfaceRequest;
26 using mojo::RectPtr; 26 using mojo::RectPtr;
27 using mojo::ShellClient; 27 using shell::ShellClient;
28 using mojo::String; 28 using mojo::String;
29 using mus::mojom::ErrorCode; 29 using mus::mojom::ErrorCode;
30 using mus::mojom::EventPtr; 30 using mus::mojom::EventPtr;
31 using mus::mojom::ViewportMetricsPtr; 31 using mus::mojom::ViewportMetricsPtr;
32 using mus::mojom::WindowDataPtr; 32 using mus::mojom::WindowDataPtr;
33 using mus::mojom::WindowTree; 33 using mus::mojom::WindowTree;
34 using mus::mojom::WindowTreeClient; 34 using mus::mojom::WindowTreeClient;
35 35
36 namespace mus { 36 namespace mus {
37 namespace ws { 37 namespace ws {
(...skipping 19 matching lines...) Expand all
57 57
58 void EmbedCallbackImpl(base::RunLoop* run_loop, 58 void EmbedCallbackImpl(base::RunLoop* run_loop,
59 bool* result_cache, 59 bool* result_cache,
60 bool result) { 60 bool result) {
61 *result_cache = result; 61 *result_cache = result;
62 run_loop->Quit(); 62 run_loop->Quit();
63 } 63 }
64 64
65 // ----------------------------------------------------------------------------- 65 // -----------------------------------------------------------------------------
66 66
67 bool EmbedUrl(mojo::Connector* connector, 67 bool EmbedUrl(shell::Connector* connector,
68 WindowTree* tree, 68 WindowTree* tree,
69 const String& url, 69 const String& url,
70 Id root_id) { 70 Id root_id) {
71 bool result = false; 71 bool result = false;
72 base::RunLoop run_loop; 72 base::RunLoop run_loop;
73 { 73 {
74 mojom::WindowTreeClientPtr client; 74 mojom::WindowTreeClientPtr client;
75 connector->ConnectToInterface(url.get(), &client); 75 connector->ConnectToInterface(url.get(), &client);
76 tree->Embed(root_id, std::move(client), 76 tree->Embed(root_id, std::move(client),
77 base::Bind(&EmbedCallbackImpl, &run_loop, &result)); 77 base::Bind(&EmbedCallbackImpl, &run_loop, &result));
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 window_manager_binding_; 437 window_manager_binding_;
438 mojom::WindowManagerClientAssociatedPtr window_manager_client_; 438 mojom::WindowManagerClientAssociatedPtr window_manager_client_;
439 439
440 DISALLOW_COPY_AND_ASSIGN(TestWindowTreeClientImpl); 440 DISALLOW_COPY_AND_ASSIGN(TestWindowTreeClientImpl);
441 }; 441 };
442 442
443 // ----------------------------------------------------------------------------- 443 // -----------------------------------------------------------------------------
444 444
445 // InterfaceFactory for vending TestWindowTreeClientImpls. 445 // InterfaceFactory for vending TestWindowTreeClientImpls.
446 class WindowTreeClientFactory 446 class WindowTreeClientFactory
447 : public mojo::InterfaceFactory<WindowTreeClient> { 447 : public shell::InterfaceFactory<WindowTreeClient> {
448 public: 448 public:
449 WindowTreeClientFactory() {} 449 WindowTreeClientFactory() {}
450 ~WindowTreeClientFactory() override {} 450 ~WindowTreeClientFactory() override {}
451 451
452 // Runs a nested MessageLoop until a new instance has been created. 452 // Runs a nested MessageLoop until a new instance has been created.
453 scoped_ptr<TestWindowTreeClientImpl> WaitForInstance() { 453 scoped_ptr<TestWindowTreeClientImpl> WaitForInstance() {
454 if (!client_impl_.get()) { 454 if (!client_impl_.get()) {
455 DCHECK(!run_loop_); 455 DCHECK(!run_loop_);
456 run_loop_.reset(new base::RunLoop); 456 run_loop_.reset(new base::RunLoop);
457 run_loop_->Run(); 457 run_loop_->Run();
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 client->WaitForOnEmbed(); 566 client->WaitForOnEmbed();
567 567
568 EXPECT_EQ("OnEmbed", 568 EXPECT_EQ("OnEmbed",
569 SingleChangeToDescription(*client->tracker()->changes())); 569 SingleChangeToDescription(*client->tracker()->changes()));
570 if (connection_id) 570 if (connection_id)
571 *connection_id = (*client->tracker()->changes())[0].connection_id; 571 *connection_id = (*client->tracker()->changes())[0].connection_id;
572 return client; 572 return client;
573 } 573 }
574 574
575 // WindowServerShellTestBase: 575 // WindowServerShellTestBase:
576 bool AcceptConnection(mojo::Connection* connection) override { 576 bool AcceptConnection(shell::Connection* connection) override {
577 connection->AddInterface(client_factory_.get()); 577 connection->AddInterface(client_factory_.get());
578 return true; 578 return true;
579 } 579 }
580 580
581 void SetUp() override { 581 void SetUp() override {
582 client_factory_.reset(new WindowTreeClientFactory()); 582 client_factory_.reset(new WindowTreeClientFactory());
583 583
584 WindowServerShellTestBase::SetUp(); 584 WindowServerShellTestBase::SetUp();
585 585
586 mojom::WindowTreeHostFactoryPtr factory; 586 mojom::WindowTreeHostFactoryPtr factory;
(...skipping 1446 matching lines...) Expand 10 before | Expand all | Expand 10 after
2033 2033
2034 // TODO(sky): make sure coverage of what was 2034 // TODO(sky): make sure coverage of what was
2035 // WindowManagerTest.SecondEmbedRoot_InitService and 2035 // WindowManagerTest.SecondEmbedRoot_InitService and
2036 // WindowManagerTest.MultipleEmbedRootsBeforeWTHReady gets added to window 2036 // WindowManagerTest.MultipleEmbedRootsBeforeWTHReady gets added to window
2037 // manager 2037 // manager
2038 // tests. 2038 // tests.
2039 2039
2040 } // namespace test 2040 } // namespace test
2041 } // namespace ws 2041 } // namespace ws
2042 } // namespace mus 2042 } // namespace mus
OLDNEW
« no previous file with comments | « components/mus/ws/window_manager_state.cc ('k') | components/resource_provider/main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698