| OLD | NEW |
| 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 "mojo/services/view_manager/display_manager.h" | 5 #include "mojo/services/view_manager/display_manager.h" |
| 6 | 6 |
| 7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
| 8 #include "base/scoped_observer.h" | 8 #include "base/scoped_observer.h" |
| 9 #include "mojo/public/cpp/application/application_connection.h" | 9 #include "mojo/public/cpp/application/application_connection.h" |
| 10 #include "mojo/services/public/interfaces/gpu/gpu.mojom.h" | 10 #include "mojo/services/public/interfaces/gpu/gpu.mojom.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 for (size_t i = 0; i < children.size(); ++i) { | 50 for (size_t i = 0; i < children.size(); ++i) { |
| 51 PaintViewTree( | 51 PaintViewTree( |
| 52 canvas, children[i], origin + children[i]->bounds().OffsetFromOrigin()); | 52 canvas, children[i], origin + children[i]->bounds().OffsetFromOrigin()); |
| 53 } | 53 } |
| 54 } | 54 } |
| 55 | 55 |
| 56 } // namespace | 56 } // namespace |
| 57 | 57 |
| 58 class DisplayManager::RootWindowDelegateImpl : public aura::WindowDelegate { | 58 class DisplayManager::RootWindowDelegateImpl : public aura::WindowDelegate { |
| 59 public: | 59 public: |
| 60 explicit RootWindowDelegateImpl(const ServerView* root_view) | 60 explicit RootWindowDelegateImpl(ConnectionManager* connection_manager) |
| 61 : root_view_(root_view) {} | 61 : connection_manager_(connection_manager) {} |
| 62 virtual ~RootWindowDelegateImpl() {} | 62 virtual ~RootWindowDelegateImpl() {} |
| 63 | 63 |
| 64 // aura::WindowDelegate: | 64 // aura::WindowDelegate: |
| 65 virtual gfx::Size GetMinimumSize() const OVERRIDE { | 65 virtual gfx::Size GetMinimumSize() const OVERRIDE { |
| 66 return gfx::Size(); | 66 return gfx::Size(); |
| 67 } | 67 } |
| 68 virtual gfx::Size GetMaximumSize() const OVERRIDE { | 68 virtual gfx::Size GetMaximumSize() const OVERRIDE { |
| 69 return gfx::Size(); | 69 return gfx::Size(); |
| 70 } | 70 } |
| 71 virtual void OnBoundsChanged(const gfx::Rect& old_bounds, | 71 virtual void OnBoundsChanged(const gfx::Rect& old_bounds, |
| 72 const gfx::Rect& new_bounds) OVERRIDE { | 72 const gfx::Rect& new_bounds) OVERRIDE { |
| 73 connection_manager_->ProcessViewBoundsChanged(connection_manager_->root(), |
| 74 old_bounds, |
| 75 new_bounds); |
| 73 } | 76 } |
| 74 virtual gfx::NativeCursor GetCursor(const gfx::Point& point) OVERRIDE { | 77 virtual gfx::NativeCursor GetCursor(const gfx::Point& point) OVERRIDE { |
| 75 return gfx::kNullCursor; | 78 return gfx::kNullCursor; |
| 76 } | 79 } |
| 77 virtual int GetNonClientComponent(const gfx::Point& point) const OVERRIDE { | 80 virtual int GetNonClientComponent(const gfx::Point& point) const OVERRIDE { |
| 78 return HTCAPTION; | 81 return HTCAPTION; |
| 79 } | 82 } |
| 80 virtual bool ShouldDescendIntoChildForEventHandling( | 83 virtual bool ShouldDescendIntoChildForEventHandling( |
| 81 aura::Window* child, | 84 aura::Window* child, |
| 82 const gfx::Point& location) OVERRIDE { | 85 const gfx::Point& location) OVERRIDE { |
| 83 return true; | 86 return true; |
| 84 } | 87 } |
| 85 virtual bool CanFocus() OVERRIDE { | 88 virtual bool CanFocus() OVERRIDE { |
| 86 return true; | 89 return true; |
| 87 } | 90 } |
| 88 virtual void OnCaptureLost() OVERRIDE { | 91 virtual void OnCaptureLost() OVERRIDE { |
| 89 } | 92 } |
| 90 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { | 93 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { |
| 91 PaintViewTree(canvas, root_view_, gfx::Point()); | 94 PaintViewTree(canvas, connection_manager_->root(), gfx::Point()); |
| 92 } | 95 } |
| 93 virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE { | 96 virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE { |
| 94 } | 97 } |
| 95 virtual void OnWindowDestroying(aura::Window* window) OVERRIDE { | 98 virtual void OnWindowDestroying(aura::Window* window) OVERRIDE { |
| 96 } | 99 } |
| 97 virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE { | 100 virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE { |
| 98 } | 101 } |
| 99 virtual void OnWindowTargetVisibilityChanged(bool visible) OVERRIDE { | 102 virtual void OnWindowTargetVisibilityChanged(bool visible) OVERRIDE { |
| 100 } | 103 } |
| 101 virtual bool HasHitTestMask() const OVERRIDE { | 104 virtual bool HasHitTestMask() const OVERRIDE { |
| 102 return false; | 105 return false; |
| 103 } | 106 } |
| 104 virtual void GetHitTestMask(gfx::Path* mask) const OVERRIDE { | 107 virtual void GetHitTestMask(gfx::Path* mask) const OVERRIDE { |
| 105 } | 108 } |
| 106 | 109 |
| 107 private: | 110 private: |
| 108 const ServerView* root_view_; | 111 ConnectionManager* connection_manager_; |
| 109 | 112 |
| 110 DISALLOW_COPY_AND_ASSIGN(RootWindowDelegateImpl); | 113 DISALLOW_COPY_AND_ASSIGN(RootWindowDelegateImpl); |
| 111 }; | 114 }; |
| 112 | 115 |
| 113 // TODO(sky): Remove once aura is removed from the service. | 116 // TODO(sky): Remove once aura is removed from the service. |
| 114 class FocusClientImpl : public aura::client::FocusClient { | 117 class FocusClientImpl : public aura::client::FocusClient { |
| 115 public: | 118 public: |
| 116 FocusClientImpl() {} | 119 FocusClientImpl() {} |
| 117 virtual ~FocusClientImpl() {} | 120 virtual ~FocusClientImpl() {} |
| 118 | 121 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 const gfx::Rect& bounds) { | 199 const gfx::Rect& bounds) { |
| 197 if (root_window_) | 200 if (root_window_) |
| 198 root_window_->SchedulePaintInRect(ConvertRectToRoot(view, bounds)); | 201 root_window_->SchedulePaintInRect(ConvertRectToRoot(view, bounds)); |
| 199 } | 202 } |
| 200 | 203 |
| 201 void DisplayManager::OnCompositorCreated() { | 204 void DisplayManager::OnCompositorCreated() { |
| 202 base::AutoReset<bool> resetter(&in_setup_, true); | 205 base::AutoReset<bool> resetter(&in_setup_, true); |
| 203 window_tree_host_->InitHost(); | 206 window_tree_host_->InitHost(); |
| 204 | 207 |
| 205 window_delegate_.reset( | 208 window_delegate_.reset( |
| 206 new RootWindowDelegateImpl(connection_manager_->root())); | 209 new RootWindowDelegateImpl(connection_manager_)); |
| 207 root_window_ = new aura::Window(window_delegate_.get()); | 210 root_window_ = new aura::Window(window_delegate_.get()); |
| 208 root_window_->Init(aura::WINDOW_LAYER_TEXTURED); | 211 root_window_->Init(aura::WINDOW_LAYER_TEXTURED); |
| 209 root_window_->Show(); | 212 root_window_->Show(); |
| 210 root_window_->SetBounds( | 213 root_window_->SetBounds( |
| 211 gfx::Rect(window_tree_host_->window()->bounds().size())); | 214 gfx::Rect(window_tree_host_->window()->bounds().size())); |
| 212 window_tree_host_->window()->AddChild(root_window_); | 215 window_tree_host_->window()->AddChild(root_window_); |
| 213 | 216 |
| 214 connection_manager_->root()->SetBounds( | 217 connection_manager_->root()->SetBounds( |
| 215 gfx::Rect(window_tree_host_->window()->bounds().size())); | 218 gfx::Rect(window_tree_host_->window()->bounds().size())); |
| 216 | 219 |
| 217 window_tree_client_.reset( | 220 window_tree_client_.reset( |
| 218 new WindowTreeClientImpl(window_tree_host_->window())); | 221 new WindowTreeClientImpl(window_tree_host_->window())); |
| 219 | 222 |
| 220 focus_client_.reset(new FocusClientImpl); | 223 focus_client_.reset(new FocusClientImpl); |
| 221 aura::client::SetFocusClient(window_tree_host_->window(), | 224 aura::client::SetFocusClient(window_tree_host_->window(), |
| 222 focus_client_.get()); | 225 focus_client_.get()); |
| 223 | 226 |
| 224 window_tree_host_->Show(); | 227 window_tree_host_->Show(); |
| 225 | 228 |
| 226 delegate_->OnDisplayManagerWindowTreeHostCreated(); | 229 delegate_->OnDisplayManagerWindowTreeHostCreated(); |
| 227 } | 230 } |
| 228 | 231 |
| 229 } // namespace service | 232 } // namespace service |
| 230 } // namespace mojo | 233 } // namespace mojo |
| OLD | NEW |