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

Unified Diff: components/mus/ws/test_utils.cc

Issue 2119963002: Move mus to //services/ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/mus/ws/test_utils.h ('k') | components/mus/ws/touch_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/mus/ws/test_utils.cc
diff --git a/components/mus/ws/test_utils.cc b/components/mus/ws/test_utils.cc
deleted file mode 100644
index 78f7d4714d3b3f4bcf929a74d29b63563c53b941..0000000000000000000000000000000000000000
--- a/components/mus/ws/test_utils.cc
+++ /dev/null
@@ -1,496 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/mus/ws/test_utils.h"
-
-#include "base/memory/ptr_util.h"
-#include "cc/output/copy_output_request.h"
-#include "components/mus/surfaces/surfaces_state.h"
-#include "components/mus/ws/display_binding.h"
-#include "components/mus/ws/display_manager.h"
-#include "components/mus/ws/server_window_surface_manager_test_api.h"
-#include "components/mus/ws/window_manager_access_policy.h"
-#include "components/mus/ws/window_manager_window_tree_factory.h"
-#include "services/shell/public/interfaces/connector.mojom.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace mus {
-namespace ws {
-namespace test {
-namespace {
-
-// -----------------------------------------------------------------------------
-// Empty implementation of PlatformDisplay.
-class TestPlatformDisplay : public PlatformDisplay {
- public:
- explicit TestPlatformDisplay(int32_t* cursor_id_storage)
- : cursor_id_storage_(cursor_id_storage) {
- display_metrics_.size_in_pixels = gfx::Size(400, 300);
- display_metrics_.device_scale_factor = 1.f;
- }
- ~TestPlatformDisplay() override {}
-
- // PlatformDisplay:
- void Init(PlatformDisplayDelegate* delegate) override {
- // It is necessary to tell the delegate about the ViewportMetrics to make
- // sure that the DisplayBinding is correctly initialized (and a root-window
- // is created).
- delegate->OnViewportMetricsChanged(ViewportMetrics(), display_metrics_);
- }
- void SchedulePaint(const ServerWindow* window,
- const gfx::Rect& bounds) override {}
- void SetViewportSize(const gfx::Size& size) override {}
- void SetTitle(const base::string16& title) override {}
- void SetCapture() override {}
- void ReleaseCapture() override {}
- void SetCursorById(int32_t cursor) override { *cursor_id_storage_ = cursor; }
- mojom::Rotation GetRotation() override { return mojom::Rotation::VALUE_0; }
- float GetDeviceScaleFactor() override {
- return display_metrics_.device_scale_factor;
- }
- void UpdateTextInputState(const ui::TextInputState& state) override {}
- void SetImeVisibility(bool visible) override {}
- bool IsFramePending() const override { return false; }
- void RequestCopyOfOutput(
- std::unique_ptr<cc::CopyOutputRequest> output_request) override {}
- int64_t GetDisplayId() const override { return 1; }
-
- private:
- ViewportMetrics display_metrics_;
-
- int32_t* cursor_id_storage_;
-
- DISALLOW_COPY_AND_ASSIGN(TestPlatformDisplay);
-};
-
-ClientWindowId NextUnusedClientWindowId(WindowTree* tree) {
- ClientWindowId client_id;
- for (ClientSpecificId id = 1;; ++id) {
- // Used the id of the client in the upper bits to simplify things.
- const ClientWindowId client_id =
- ClientWindowId(WindowIdToTransportId(WindowId(tree->id(), id)));
- if (!tree->GetWindowByClientId(client_id))
- return client_id;
- }
-}
-
-} // namespace
-
-// WindowManagerWindowTreeFactorySetTestApi ------------------------------------
-
-WindowManagerWindowTreeFactorySetTestApi::
- WindowManagerWindowTreeFactorySetTestApi(
- WindowManagerWindowTreeFactorySet*
- window_manager_window_tree_factory_set)
- : window_manager_window_tree_factory_set_(
- window_manager_window_tree_factory_set) {}
-
-WindowManagerWindowTreeFactorySetTestApi::
- ~WindowManagerWindowTreeFactorySetTestApi() {}
-
-void WindowManagerWindowTreeFactorySetTestApi::Add(const UserId& user_id) {
- WindowManagerWindowTreeFactory* factory =
- window_manager_window_tree_factory_set_->Add(user_id, nullptr);
- factory->CreateWindowTree(nullptr, nullptr);
-}
-
-// TestPlatformDisplayFactory -------------------------------------------------
-
-TestPlatformDisplayFactory::TestPlatformDisplayFactory(
- int32_t* cursor_id_storage)
- : cursor_id_storage_(cursor_id_storage) {}
-
-TestPlatformDisplayFactory::~TestPlatformDisplayFactory() {}
-
-PlatformDisplay* TestPlatformDisplayFactory::CreatePlatformDisplay() {
- return new TestPlatformDisplay(cursor_id_storage_);
-}
-
-// WindowTreeTestApi ---------------------------------------------------------
-
-WindowTreeTestApi::WindowTreeTestApi(WindowTree* tree) : tree_(tree) {}
-WindowTreeTestApi::~WindowTreeTestApi() {}
-
-void WindowTreeTestApi::SetEventObserver(mojom::EventMatcherPtr matcher,
- uint32_t event_observer_id) {
- tree_->SetEventObserver(std::move(matcher), event_observer_id);
-}
-
-// DisplayTestApi ------------------------------------------------------------
-
-DisplayTestApi::DisplayTestApi(Display* display) : display_(display) {}
-DisplayTestApi::~DisplayTestApi() {}
-
-// EventDispatcherTestApi ----------------------------------------------------
-
-bool EventDispatcherTestApi::IsWindowPointerTarget(
- const ServerWindow* window) const {
- for (const auto& pair : ed_->pointer_targets_) {
- if (pair.second.window == window)
- return true;
- }
- return false;
-}
-
-int EventDispatcherTestApi::NumberPointerTargetsForWindow(
- ServerWindow* window) {
- int count = 0;
- for (const auto& pair : ed_->pointer_targets_)
- if (pair.second.window == window)
- count++;
- return count;
-}
-
-// TestDisplayBinding ---------------------------------------------------------
-
-WindowTree* TestDisplayBinding::CreateWindowTree(ServerWindow* root) {
- const uint32_t embed_flags = 0;
- WindowTree* tree = window_server_->EmbedAtWindow(
- root, shell::mojom::kRootUserID, mus::mojom::WindowTreeClientPtr(),
- embed_flags, base::WrapUnique(new WindowManagerAccessPolicy));
- tree->ConfigureWindowManager();
- return tree;
-}
-
-// TestWindowManager ----------------------------------------------------------
-
-void TestWindowManager::WmCreateTopLevelWindow(
- uint32_t change_id,
- ClientSpecificId requesting_client_id,
- mojo::Map<mojo::String, mojo::Array<uint8_t>> properties) {
- got_create_top_level_window_ = true;
- change_id_ = change_id;
-}
-
-void TestWindowManager::WmClientJankinessChanged(ClientSpecificId client_id,
- bool janky) {}
-
-void TestWindowManager::OnAccelerator(uint32_t id,
- std::unique_ptr<ui::Event> event) {
- on_accelerator_called_ = true;
- on_accelerator_id_ = id;
-}
-
-// TestWindowTreeClient -------------------------------------------------------
-
-TestWindowTreeClient::TestWindowTreeClient()
- : binding_(this), record_on_change_completed_(false) {}
-TestWindowTreeClient::~TestWindowTreeClient() {}
-
-void TestWindowTreeClient::Bind(
- mojo::InterfaceRequest<mojom::WindowTreeClient> request) {
- binding_.Bind(std::move(request));
-}
-
-void TestWindowTreeClient::OnEmbed(uint16_t client_id,
- mojom::WindowDataPtr root,
- mus::mojom::WindowTreePtr tree,
- int64_t display_id,
- Id focused_window_id,
- bool drawn) {
- // TODO(sky): add test coverage of |focused_window_id|.
- tracker_.OnEmbed(client_id, std::move(root), drawn);
-}
-
-void TestWindowTreeClient::OnEmbeddedAppDisconnected(uint32_t window) {
- tracker_.OnEmbeddedAppDisconnected(window);
-}
-
-void TestWindowTreeClient::OnUnembed(Id window_id) {
- tracker_.OnUnembed(window_id);
-}
-
-void TestWindowTreeClient::OnLostCapture(Id window_id) {}
-
-void TestWindowTreeClient::OnTopLevelCreated(uint32_t change_id,
- mojom::WindowDataPtr data,
- int64_t display_id,
- bool drawn) {
- tracker_.OnTopLevelCreated(change_id, std::move(data), drawn);
-}
-
-void TestWindowTreeClient::OnWindowBoundsChanged(uint32_t window,
- const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds) {
- tracker_.OnWindowBoundsChanged(window, std::move(old_bounds),
- std::move(new_bounds));
-}
-
-void TestWindowTreeClient::OnClientAreaChanged(
- uint32_t window_id,
- const gfx::Insets& new_client_area,
- mojo::Array<gfx::Rect> new_additional_client_areas) {}
-
-void TestWindowTreeClient::OnTransientWindowAdded(
- uint32_t window_id,
- uint32_t transient_window_id) {}
-
-void TestWindowTreeClient::OnTransientWindowRemoved(
- uint32_t window_id,
- uint32_t transient_window_id) {}
-
-void TestWindowTreeClient::OnWindowHierarchyChanged(
- uint32_t window,
- uint32_t old_parent,
- uint32_t new_parent,
- mojo::Array<mojom::WindowDataPtr> windows) {
- tracker_.OnWindowHierarchyChanged(window, old_parent, new_parent,
- std::move(windows));
-}
-
-void TestWindowTreeClient::OnWindowReordered(uint32_t window_id,
- uint32_t relative_window_id,
- mojom::OrderDirection direction) {
- tracker_.OnWindowReordered(window_id, relative_window_id, direction);
-}
-
-void TestWindowTreeClient::OnWindowDeleted(uint32_t window) {
- tracker_.OnWindowDeleted(window);
-}
-
-void TestWindowTreeClient::OnWindowVisibilityChanged(uint32_t window,
- bool visible) {
- tracker_.OnWindowVisibilityChanged(window, visible);
-}
-
-void TestWindowTreeClient::OnWindowOpacityChanged(uint32_t window,
- float old_opacity,
- float new_opacity) {
- tracker_.OnWindowOpacityChanged(window, new_opacity);
-}
-
-void TestWindowTreeClient::OnWindowParentDrawnStateChanged(uint32_t window,
- bool drawn) {
- tracker_.OnWindowParentDrawnStateChanged(window, drawn);
-}
-
-void TestWindowTreeClient::OnWindowSharedPropertyChanged(
- uint32_t window,
- const mojo::String& name,
- mojo::Array<uint8_t> new_data) {
- tracker_.OnWindowSharedPropertyChanged(window, name, std::move(new_data));
-}
-
-void TestWindowTreeClient::OnWindowInputEvent(uint32_t event_id,
- uint32_t window,
- std::unique_ptr<ui::Event> event,
- uint32_t event_observer_id) {
- tracker_.OnWindowInputEvent(window, *event.get(), event_observer_id);
-}
-
-void TestWindowTreeClient::OnEventObserved(std::unique_ptr<ui::Event> event,
- uint32_t event_observer_id) {
- tracker_.OnEventObserved(*event.get(), event_observer_id);
-}
-
-void TestWindowTreeClient::OnWindowFocused(uint32_t focused_window_id) {
- tracker_.OnWindowFocused(focused_window_id);
-}
-
-void TestWindowTreeClient::OnWindowPredefinedCursorChanged(
- uint32_t window_id,
- mojom::Cursor cursor_id) {
- tracker_.OnWindowPredefinedCursorChanged(window_id, cursor_id);
-}
-
-void TestWindowTreeClient::OnChangeCompleted(uint32_t change_id, bool success) {
- if (record_on_change_completed_)
- tracker_.OnChangeCompleted(change_id, success);
-}
-
-void TestWindowTreeClient::RequestClose(uint32_t window_id) {}
-
-void TestWindowTreeClient::GetWindowManager(
- mojo::AssociatedInterfaceRequest<mojom::WindowManager> internal) {}
-
-// TestWindowTreeBinding ------------------------------------------------------
-
-TestWindowTreeBinding::TestWindowTreeBinding(WindowTree* tree)
- : WindowTreeBinding(&client_), tree_(tree) {}
-TestWindowTreeBinding::~TestWindowTreeBinding() {}
-
-mojom::WindowManager* TestWindowTreeBinding::GetWindowManager() {
- if (!window_manager_.get())
- window_manager_.reset(new TestWindowManager);
- return window_manager_.get();
-}
-void TestWindowTreeBinding::SetIncomingMethodCallProcessingPaused(bool paused) {
- is_paused_ = paused;
-}
-
-// TestWindowServerDelegate ----------------------------------------------
-
-TestWindowServerDelegate::TestWindowServerDelegate() {}
-TestWindowServerDelegate::~TestWindowServerDelegate() {}
-
-Display* TestWindowServerDelegate::AddDisplay() {
- // Display manages its own lifetime.
- Display* display = new Display(window_server_, PlatformDisplayInitParams());
- display->Init(nullptr);
- return display;
-}
-
-void TestWindowServerDelegate::OnNoMoreDisplays() {
- got_on_no_more_displays_ = true;
-}
-
-std::unique_ptr<WindowTreeBinding>
-TestWindowServerDelegate::CreateWindowTreeBinding(
- BindingType type,
- ws::WindowServer* window_server,
- ws::WindowTree* tree,
- mojom::WindowTreeRequest* tree_request,
- mojom::WindowTreeClientPtr* client) {
- std::unique_ptr<TestWindowTreeBinding> binding(
- new TestWindowTreeBinding(tree));
- bindings_.push_back(binding.get());
- return std::move(binding);
-}
-
-void TestWindowServerDelegate::CreateDefaultDisplays() {
- DCHECK(num_displays_to_create_);
- DCHECK(window_server_);
-
- for (int i = 0; i < num_displays_to_create_; ++i)
- AddDisplay();
-}
-
-bool TestWindowServerDelegate::IsTestConfig() const {
- return true;
-}
-
-// WindowEventTargetingHelper ------------------------------------------------
-
-WindowEventTargetingHelper::WindowEventTargetingHelper()
- : wm_client_(nullptr),
- cursor_id_(0),
- platform_display_factory_(&cursor_id_),
- display_binding_(nullptr),
- display_(nullptr),
- surfaces_state_(new SurfacesState()),
- window_server_(nullptr) {
- PlatformDisplay::set_factory_for_testing(&platform_display_factory_);
- window_server_.reset(
- new WindowServer(&window_server_delegate_, surfaces_state_));
- PlatformDisplayInitParams display_init_params;
- display_init_params.surfaces_state = surfaces_state_;
- display_ = new Display(window_server_.get(), display_init_params);
- display_binding_ = new TestDisplayBinding(window_server_.get());
- display_->Init(base::WrapUnique(display_binding_));
- wm_client_ = window_server_delegate_.last_client();
- wm_client_->tracker()->changes()->clear();
-}
-
-WindowEventTargetingHelper::~WindowEventTargetingHelper() {}
-
-ServerWindow* WindowEventTargetingHelper::CreatePrimaryTree(
- const gfx::Rect& root_window_bounds,
- const gfx::Rect& window_bounds) {
- WindowTree* wm_tree = window_server_->GetTreeWithId(1);
- const ClientWindowId embed_window_id(
- WindowIdToTransportId(WindowId(wm_tree->id(), 1)));
- EXPECT_TRUE(wm_tree->NewWindow(embed_window_id, ServerWindow::Properties()));
- EXPECT_TRUE(wm_tree->SetWindowVisibility(embed_window_id, true));
- EXPECT_TRUE(wm_tree->AddWindow(FirstRootId(wm_tree), embed_window_id));
- display_->root_window()->SetBounds(root_window_bounds);
- mojom::WindowTreeClientPtr client;
- mojom::WindowTreeClientRequest client_request = GetProxy(&client);
- wm_client_->Bind(std::move(client_request));
- const uint32_t embed_flags = 0;
- wm_tree->Embed(embed_window_id, std::move(client), embed_flags);
- ServerWindow* embed_window = wm_tree->GetWindowByClientId(embed_window_id);
- WindowTree* tree1 = window_server_->GetTreeWithRoot(embed_window);
- EXPECT_NE(nullptr, tree1);
- EXPECT_NE(tree1, wm_tree);
- WindowTreeTestApi(tree1).set_user_id(wm_tree->user_id());
-
- embed_window->SetBounds(window_bounds);
-
- return embed_window;
-}
-
-void WindowEventTargetingHelper::CreateSecondaryTree(
- ServerWindow* embed_window,
- const gfx::Rect& window_bounds,
- TestWindowTreeClient** out_client,
- WindowTree** window_tree,
- ServerWindow** window) {
- WindowTree* tree1 = window_server_->GetTreeWithRoot(embed_window);
- ASSERT_TRUE(tree1 != nullptr);
- const ClientWindowId child1_id(
- WindowIdToTransportId(WindowId(tree1->id(), 1)));
- EXPECT_TRUE(tree1->NewWindow(child1_id, ServerWindow::Properties()));
- ServerWindow* child1 = tree1->GetWindowByClientId(child1_id);
- ASSERT_TRUE(child1);
- EXPECT_TRUE(tree1->AddWindow(ClientWindowIdForWindow(tree1, embed_window),
- child1_id));
- tree1->GetDisplay(embed_window)->AddActivationParent(embed_window);
-
- child1->SetVisible(true);
- child1->SetBounds(window_bounds);
- EnableHitTest(child1);
-
- TestWindowTreeClient* embed_client =
- window_server_delegate_.last_client();
- embed_client->tracker()->changes()->clear();
- wm_client_->tracker()->changes()->clear();
-
- *out_client = embed_client;
- *window_tree = tree1;
- *window = child1;
-}
-
-void WindowEventTargetingHelper::SetTaskRunner(
- scoped_refptr<base::SingleThreadTaskRunner> task_runner) {
- message_loop_.SetTaskRunner(task_runner);
-}
-
-// ----------------------------------------------------------------------------
-
-ServerWindow* FirstRoot(WindowTree* tree) {
- return tree->roots().size() == 1u
- ? tree->GetWindow((*tree->roots().begin())->id())
- : nullptr;
-}
-
-ClientWindowId FirstRootId(WindowTree* tree) {
- ServerWindow* first_root = FirstRoot(tree);
- return first_root ? ClientWindowIdForWindow(tree, first_root)
- : ClientWindowId();
-}
-
-ClientWindowId ClientWindowIdForWindow(WindowTree* tree,
- const ServerWindow* window) {
- ClientWindowId client_window_id;
- // If window isn't known we'll return 0, which should then error out.
- tree->IsWindowKnown(window, &client_window_id);
- return client_window_id;
-}
-
-ServerWindow* NewWindowInTree(WindowTree* tree, ClientWindowId* client_id) {
- return NewWindowInTreeWithParent(tree, FirstRoot(tree), client_id);
-}
-
-ServerWindow* NewWindowInTreeWithParent(WindowTree* tree,
- ServerWindow* parent,
- ClientWindowId* client_id) {
- if (!parent)
- return nullptr;
- ClientWindowId parent_client_id;
- if (!tree->IsWindowKnown(parent, &parent_client_id))
- return nullptr;
- ClientWindowId client_window_id = NextUnusedClientWindowId(tree);
- if (!tree->NewWindow(client_window_id, ServerWindow::Properties()))
- return nullptr;
- if (!tree->SetWindowVisibility(client_window_id, true))
- return nullptr;
- if (!tree->AddWindow(parent_client_id, client_window_id))
- return nullptr;
- *client_id = client_window_id;
- return tree->GetWindowByClientId(client_window_id);
-}
-
-} // namespace test
-} // namespace ws
-} // namespace mus
« no previous file with comments | « components/mus/ws/test_utils.h ('k') | components/mus/ws/touch_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698