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

Unified Diff: mojo/services/view_manager/root_view_manager.cc

Issue 510483003: Rename RootViewManager to DisplayManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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
Index: mojo/services/view_manager/root_view_manager.cc
diff --git a/mojo/services/view_manager/root_view_manager.cc b/mojo/services/view_manager/root_view_manager.cc
deleted file mode 100644
index 43ab26f88d0f061c9604c17f1eba7f8bc25cbf7a..0000000000000000000000000000000000000000
--- a/mojo/services/view_manager/root_view_manager.cc
+++ /dev/null
@@ -1,228 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "mojo/services/view_manager/root_view_manager.h"
-
-#include "base/auto_reset.h"
-#include "base/scoped_observer.h"
-#include "mojo/public/cpp/application/application_connection.h"
-#include "mojo/services/public/interfaces/gpu/gpu.mojom.h"
-#include "mojo/services/view_manager/root_node_manager.h"
-#include "mojo/services/view_manager/root_view_manager_delegate.h"
-#include "mojo/services/view_manager/screen_impl.h"
-#include "mojo/services/view_manager/window_tree_host_impl.h"
-#include "ui/aura/client/default_capture_client.h"
-#include "ui/aura/client/focus_client.h"
-#include "ui/aura/client/window_tree_client.h"
-#include "ui/aura/window.h"
-#include "ui/aura/window_delegate.h"
-#include "ui/base/cursor/cursor.h"
-#include "ui/base/hit_test.h"
-#include "ui/compositor/layer.h"
-#include "ui/gfx/canvas.h"
-#include "ui/gfx/image/image_skia.h"
-#include "ui/gfx/native_widget_types.h"
-
-namespace mojo {
-namespace service {
-namespace {
-
-gfx::Rect ConvertRectToRoot(const Node* node, const gfx::Rect& bounds) {
- gfx::Point origin(bounds.origin());
- while (node->parent()) {
- origin += node->bounds().OffsetFromOrigin();
- node = node->parent();
- }
- return gfx::Rect(origin, bounds.size());
-}
-
-void PaintNodeTree(gfx::Canvas* canvas,
- const Node* node,
- const gfx::Point& origin) {
- if (!node->visible())
- return;
-
- canvas->DrawImageInt(gfx::ImageSkia::CreateFrom1xBitmap(node->bitmap()),
- origin.x(), origin.y());
- std::vector<const Node*> children(node->GetChildren());
- for (size_t i = 0; i < children.size(); ++i) {
- PaintNodeTree(canvas, children[i],
- origin + children[i]->bounds().OffsetFromOrigin());
- }
-}
-
-} // namespace
-
-class RootViewManager::RootWindowDelegateImpl : public aura::WindowDelegate {
- public:
- explicit RootWindowDelegateImpl(const Node* root_node)
- : root_node_(root_node) {}
- virtual ~RootWindowDelegateImpl() {}
-
- // aura::WindowDelegate:
- virtual gfx::Size GetMinimumSize() const OVERRIDE {
- return gfx::Size();
- }
- virtual gfx::Size GetMaximumSize() const OVERRIDE {
- return gfx::Size();
- }
- virtual void OnBoundsChanged(const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds) OVERRIDE {
- }
- virtual gfx::NativeCursor GetCursor(const gfx::Point& point) OVERRIDE {
- return gfx::kNullCursor;
- }
- virtual int GetNonClientComponent(const gfx::Point& point) const OVERRIDE {
- return HTCAPTION;
- }
- virtual bool ShouldDescendIntoChildForEventHandling(
- aura::Window* child,
- const gfx::Point& location) OVERRIDE {
- return true;
- }
- virtual bool CanFocus() OVERRIDE {
- return true;
- }
- virtual void OnCaptureLost() OVERRIDE {
- }
- virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE {
- PaintNodeTree(canvas, root_node_, gfx::Point());
- }
- virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE {
- }
- virtual void OnWindowDestroying(aura::Window* window) OVERRIDE {
- }
- virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE {
- }
- virtual void OnWindowTargetVisibilityChanged(bool visible) OVERRIDE {
- }
- virtual bool HasHitTestMask() const OVERRIDE {
- return false;
- }
- virtual void GetHitTestMask(gfx::Path* mask) const OVERRIDE {
- }
-
- private:
- const Node* root_node_;
-
- DISALLOW_COPY_AND_ASSIGN(RootWindowDelegateImpl);
-};
-
-// TODO(sky): Remove once aura is removed from the service.
-class FocusClientImpl : public aura::client::FocusClient {
- public:
- FocusClientImpl() {}
- virtual ~FocusClientImpl() {}
-
- private:
- // Overridden from aura::client::FocusClient:
- virtual void AddObserver(
- aura::client::FocusChangeObserver* observer) OVERRIDE {}
- virtual void RemoveObserver(
- aura::client::FocusChangeObserver* observer) OVERRIDE {}
- virtual void FocusWindow(aura::Window* window) OVERRIDE {}
- virtual void ResetFocusWithinActiveWindow(aura::Window* window) OVERRIDE {}
- virtual aura::Window* GetFocusedWindow() OVERRIDE { return NULL; }
-
- DISALLOW_COPY_AND_ASSIGN(FocusClientImpl);
-};
-
-class WindowTreeClientImpl : public aura::client::WindowTreeClient {
- public:
- explicit WindowTreeClientImpl(aura::Window* window) : window_(window) {
- aura::client::SetWindowTreeClient(window_, this);
- }
-
- virtual ~WindowTreeClientImpl() {
- aura::client::SetWindowTreeClient(window_, NULL);
- }
-
- // Overridden from aura::client::WindowTreeClient:
- virtual aura::Window* GetDefaultParent(aura::Window* context,
- aura::Window* window,
- const gfx::Rect& bounds) OVERRIDE {
- if (!capture_client_) {
- capture_client_.reset(
- new aura::client::DefaultCaptureClient(window_->GetRootWindow()));
- }
- return window_;
- }
-
- private:
- aura::Window* window_;
-
- scoped_ptr<aura::client::DefaultCaptureClient> capture_client_;
-
- DISALLOW_COPY_AND_ASSIGN(WindowTreeClientImpl);
-};
-
-RootViewManager::RootViewManager(
- ApplicationConnection* app_connection,
- RootNodeManager* root_node,
- RootViewManagerDelegate* delegate,
- const Callback<void()>& native_viewport_closed_callback)
- : delegate_(delegate),
- root_node_manager_(root_node),
- in_setup_(false),
- root_window_(NULL) {
- screen_.reset(ScreenImpl::Create());
- gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get());
- NativeViewportPtr viewport;
- app_connection->ConnectToService(
- "mojo:mojo_native_viewport_service", &viewport);
- GpuPtr gpu_service;
- // TODO(jamesr): Should be mojo:mojo_gpu_service
- app_connection->ConnectToService("mojo:mojo_native_viewport_service",
- &gpu_service);
- window_tree_host_.reset(new WindowTreeHostImpl(
- viewport.Pass(),
- gpu_service.Pass(),
- gfx::Rect(800, 600),
- base::Bind(&RootViewManager::OnCompositorCreated, base::Unretained(this)),
- native_viewport_closed_callback,
- base::Bind(&RootNodeManager::DispatchNodeInputEventToWindowManager,
- base::Unretained(root_node_manager_))));
-}
-
-RootViewManager::~RootViewManager() {
- window_tree_client_.reset();
- window_tree_host_.reset();
- gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, NULL);
-}
-
-void RootViewManager::SchedulePaint(const Node* node, const gfx::Rect& bounds) {
- if (root_window_)
- root_window_->SchedulePaintInRect(ConvertRectToRoot(node, bounds));
-}
-
-void RootViewManager::OnCompositorCreated() {
- base::AutoReset<bool> resetter(&in_setup_, true);
- window_tree_host_->InitHost();
-
- window_delegate_.reset(
- new RootWindowDelegateImpl(root_node_manager_->root()));
- root_window_ = new aura::Window(window_delegate_.get());
- root_window_->Init(aura::WINDOW_LAYER_TEXTURED);
- root_window_->Show();
- root_window_->SetBounds(
- gfx::Rect(window_tree_host_->window()->bounds().size()));
- window_tree_host_->window()->AddChild(root_window_);
-
- root_node_manager_->root()->SetBounds(
- gfx::Rect(window_tree_host_->window()->bounds().size()));
-
- window_tree_client_.reset(
- new WindowTreeClientImpl(window_tree_host_->window()));
-
- focus_client_.reset(new FocusClientImpl);
- aura::client::SetFocusClient(window_tree_host_->window(),
- focus_client_.get());
-
- window_tree_host_->Show();
-
- delegate_->OnRootViewManagerWindowTreeHostCreated();
-}
-
-} // namespace service
-} // namespace mojo
« no previous file with comments | « mojo/services/view_manager/root_view_manager.h ('k') | mojo/services/view_manager/root_view_manager_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698