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

Side by Side Diff: mojo/services/window_manager/window_manager_impl.cc

Issue 765753003: Move window_manager service implementation to //services (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "mojo/services/window_manager/window_manager_impl.h"
6
7 #include "mojo/services/window_manager/window_manager_app.h"
8
9 namespace mojo {
10
11 WindowManagerImpl::WindowManagerImpl(WindowManagerApp* window_manager,
12 bool from_vm)
13 : window_manager_(window_manager), from_vm_(from_vm), binding_(this) {
14 window_manager_->AddConnection(this);
15 binding_.set_error_handler(this);
16 }
17
18 WindowManagerImpl::~WindowManagerImpl() {
19 window_manager_->RemoveConnection(this);
20 }
21
22 void WindowManagerImpl::Bind(ScopedMessagePipeHandle window_manager_pipe) {
23 binding_.Bind(window_manager_pipe.Pass());
24 }
25
26 void WindowManagerImpl::NotifyViewFocused(Id new_focused_id,
27 Id old_focused_id) {
28 if (from_vm_)
29 client()->OnFocusChanged(old_focused_id, new_focused_id);
30 }
31
32 void WindowManagerImpl::NotifyWindowActivated(Id new_active_id,
33 Id old_active_id) {
34 if (from_vm_)
35 client()->OnActiveWindowChanged(old_active_id, new_active_id);
36 }
37
38 void WindowManagerImpl::Embed(
39 const String& url,
40 InterfaceRequest<ServiceProvider> service_provider) {
41 window_manager_->Embed(url, service_provider.Pass());
42 }
43
44 void WindowManagerImpl::SetCapture(Id view,
45 const Callback<void(bool)>& callback) {
46 if (!from_vm_)
47 return; // See comments for |from_vm_| on this.
48
49 bool success = window_manager_->IsReady();
50 if (success)
51 window_manager_->SetCapture(view);
52 callback.Run(success);
53 }
54
55 void WindowManagerImpl::FocusWindow(Id view,
56 const Callback<void(bool)>& callback) {
57 if (!from_vm_)
58 return; // See comments for |from_vm_| on this.
59
60 bool success = window_manager_->IsReady();
61 if (success)
62 window_manager_->FocusWindow(view);
63 callback.Run(success);
64 }
65
66 void WindowManagerImpl::ActivateWindow(Id view,
67 const Callback<void(bool)>& callback) {
68 if (!from_vm_)
69 return; // See comments for |from_vm_| on this.
70
71 bool success = window_manager_->IsReady();
72 if (success)
73 window_manager_->ActivateWindow(view);
74 callback.Run(success);
75 }
76
77 void WindowManagerImpl::OnConnectionError() {
78 delete this;
79 }
80
81 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/window_manager/window_manager_impl.h ('k') | mojo/services/window_manager/window_manager_test_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698