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

Side by Side Diff: services/ui/ws/window_tree.cc

Issue 2778363002: Mus-WS / Aura-Mus: Propagate LocalSurfaceId on WindowTreeHost creation (Closed)
Patch Set: Add comments Created 3 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 | « services/ui/ws/test_utils.cc ('k') | services/ui/ws/window_tree_client_unittest.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 "services/ui/ws/window_tree.h" 5 #include "services/ui/ws/window_tree.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 display ? display->GetFocusedWindow() : nullptr; 124 display ? display->GetFocusedWindow() : nullptr;
125 if (focused_window) 125 if (focused_window)
126 focused_window = access_policy_->GetWindowForFocusChange(focused_window); 126 focused_window = access_policy_->GetWindowForFocusChange(focused_window);
127 ClientWindowId focused_window_id; 127 ClientWindowId focused_window_id;
128 if (focused_window) 128 if (focused_window)
129 IsWindowKnown(focused_window, &focused_window_id); 129 IsWindowKnown(focused_window, &focused_window_id);
130 130
131 const bool drawn = root->parent() && root->parent()->IsDrawn(); 131 const bool drawn = root->parent() && root->parent()->IsDrawn();
132 client()->OnEmbed(id_, WindowToWindowData(to_send.front()), std::move(tree), 132 client()->OnEmbed(id_, WindowToWindowData(to_send.front()), std::move(tree),
133 display_id, focused_window_id.id, drawn, 133 display_id, focused_window_id.id, drawn,
134 root->frame_sink_id()); 134 root->frame_sink_id(), root->current_local_surface_id());
135 } 135 }
136 136
137 void WindowTree::ConfigureWindowManager() { 137 void WindowTree::ConfigureWindowManager() {
138 // ConfigureWindowManager() should be called early on, before anything 138 // ConfigureWindowManager() should be called early on, before anything
139 // else. |waiting_for_top_level_window_info_| must be null as if 139 // else. |waiting_for_top_level_window_info_| must be null as if
140 // |waiting_for_top_level_window_info_| is non-null it means we're about to 140 // |waiting_for_top_level_window_info_| is non-null it means we're about to
141 // create an associated interface, which doesn't work with pause/resume. 141 // create an associated interface, which doesn't work with pause/resume.
142 // TODO(sky): DCHECK temporary until 626869 is sorted out. 142 // TODO(sky): DCHECK temporary until 626869 is sorted out.
143 DCHECK(!waiting_for_top_level_window_info_); 143 DCHECK(!waiting_for_top_level_window_info_);
144 DCHECK(!window_manager_internal_); 144 DCHECK(!window_manager_internal_);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 DCHECK_EQ(0u, client_id_to_window_id_map_.count(client_window_id)); 209 DCHECK_EQ(0u, client_id_to_window_id_map_.count(client_window_id));
210 client_id_to_window_id_map_[client_window_id] = root->id(); 210 client_id_to_window_id_map_[client_window_id] = root->id();
211 window_id_to_client_id_map_[root->id()] = client_window_id; 211 window_id_to_client_id_map_[root->id()] = client_window_id;
212 roots_.insert(root); 212 roots_.insert(root);
213 213
214 Display* ws_display = GetDisplay(root); 214 Display* ws_display = GetDisplay(root);
215 DCHECK(ws_display); 215 DCHECK(ws_display);
216 216
217 window_manager_internal_->WmNewDisplayAdded( 217 window_manager_internal_->WmNewDisplayAdded(
218 ws_display->GetDisplay(), WindowToWindowData(root), 218 ws_display->GetDisplay(), WindowToWindowData(root),
219 root->parent()->IsDrawn(), root->frame_sink_id()); 219 root->parent()->IsDrawn(), root->frame_sink_id(),
220 root->current_local_surface_id());
220 } 221 }
221 222
222 void WindowTree::OnWindowDestroyingTreeImpl(WindowTree* tree) { 223 void WindowTree::OnWindowDestroyingTreeImpl(WindowTree* tree) {
223 if (event_source_wms_ && event_source_wms_->window_tree() == tree) 224 if (event_source_wms_ && event_source_wms_->window_tree() == tree)
224 event_source_wms_ = nullptr; 225 event_source_wms_ = nullptr;
225 226
226 // Notify our client if |tree| was embedded in any of our windows. 227 // Notify our client if |tree| was embedded in any of our windows.
227 for (const auto* tree_root : tree->roots_) { 228 for (const auto* tree_root : tree->roots_) {
228 const bool owns_tree_root = tree_root->id().client_id == id_; 229 const bool owns_tree_root = tree_root->id().client_id == id_;
229 if (owns_tree_root) { 230 if (owns_tree_root) {
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 } 551 }
551 client_id_to_window_id_map_[waiting_for_top_level_window_info 552 client_id_to_window_id_map_[waiting_for_top_level_window_info
552 ->client_window_id] = window->id(); 553 ->client_window_id] = window->id();
553 window_id_to_client_id_map_[window->id()] = 554 window_id_to_client_id_map_[window->id()] =
554 waiting_for_top_level_window_info->client_window_id; 555 waiting_for_top_level_window_info->client_window_id;
555 roots_.insert(window); 556 roots_.insert(window);
556 Display* display = GetDisplay(window); 557 Display* display = GetDisplay(window);
557 int64_t display_id = display ? display->GetId() : display::kInvalidDisplayId; 558 int64_t display_id = display ? display->GetId() : display::kInvalidDisplayId;
558 const bool drawn = window->parent() && window->parent()->IsDrawn(); 559 const bool drawn = window->parent() && window->parent()->IsDrawn();
559 client()->OnTopLevelCreated(client_change_id, WindowToWindowData(window), 560 client()->OnTopLevelCreated(client_change_id, WindowToWindowData(window),
560 display_id, drawn, window->frame_sink_id()); 561 display_id, drawn, window->frame_sink_id(),
562 window->current_local_surface_id());
561 } 563 }
562 564
563 void WindowTree::AddActivationParent(const ClientWindowId& window_id) { 565 void WindowTree::AddActivationParent(const ClientWindowId& window_id) {
564 ServerWindow* window = GetWindowByClientId(window_id); 566 ServerWindow* window = GetWindowByClientId(window_id);
565 if (window) { 567 if (window) {
566 Display* display = GetDisplay(window); 568 Display* display = GetDisplay(window);
567 if (display) 569 if (display)
568 display->AddActivationParent(window); 570 display->AddActivationParent(window);
569 else 571 else
570 DVLOG(1) << "AddActivationParent window not associated with display"; 572 DVLOG(1) << "AddActivationParent window not associated with display";
(...skipping 1708 matching lines...) Expand 10 before | Expand all | Expand 10 after
2279 client()->OnCompleteDrop(client_window_id.id, event_flags, cursor_offset, 2281 client()->OnCompleteDrop(client_window_id.id, event_flags, cursor_offset,
2280 effect_bitmask, callback); 2282 effect_bitmask, callback);
2281 } 2283 }
2282 2284
2283 void WindowTree::PerformOnDragDropDone() { 2285 void WindowTree::PerformOnDragDropDone() {
2284 client()->OnDragDropDone(); 2286 client()->OnDragDropDone();
2285 } 2287 }
2286 2288
2287 } // namespace ws 2289 } // namespace ws
2288 } // namespace ui 2290 } // namespace ui
OLDNEW
« no previous file with comments | « services/ui/ws/test_utils.cc ('k') | services/ui/ws/window_tree_client_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698