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

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

Issue 2429173005: Mus+Ash: Replace (Server)WindowSurface with (Server)WindowCompositorFrameSink (Closed)
Patch Set: ui::CompositorFrameSink => ui::WindowCompositorFrameSink Created 4 years, 2 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
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/server_window.h" 5 #include "services/ui/ws/server_window.h"
6 6
7 #include <inttypes.h> 7 #include <inttypes.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
11 #include "services/ui/common/transient_window_utils.h" 11 #include "services/ui/common/transient_window_utils.h"
12 #include "services/ui/public/interfaces/window_manager.mojom.h" 12 #include "services/ui/public/interfaces/window_manager.mojom.h"
13 #include "services/ui/ws/server_window_compositor_frame_sink_manager.h"
13 #include "services/ui/ws/server_window_delegate.h" 14 #include "services/ui/ws/server_window_delegate.h"
14 #include "services/ui/ws/server_window_observer.h" 15 #include "services/ui/ws/server_window_observer.h"
15 #include "services/ui/ws/server_window_surface_manager.h"
16 16
17 namespace ui { 17 namespace ui {
18 18
19 namespace ws { 19 namespace ws {
20 20
21 ServerWindow::ServerWindow(ServerWindowDelegate* delegate, const WindowId& id) 21 ServerWindow::ServerWindow(ServerWindowDelegate* delegate, const WindowId& id)
22 : ServerWindow(delegate, id, Properties()) {} 22 : ServerWindow(delegate, id, Properties()) {}
23 23
24 ServerWindow::ServerWindow(ServerWindowDelegate* delegate, 24 ServerWindow::ServerWindow(ServerWindowDelegate* delegate,
25 const WindowId& id, 25 const WindowId& id,
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 76
77 void ServerWindow::RemoveObserver(ServerWindowObserver* observer) { 77 void ServerWindow::RemoveObserver(ServerWindowObserver* observer) {
78 DCHECK(observers_.HasObserver(observer)); 78 DCHECK(observers_.HasObserver(observer));
79 observers_.RemoveObserver(observer); 79 observers_.RemoveObserver(observer);
80 } 80 }
81 81
82 bool ServerWindow::HasObserver(ServerWindowObserver* observer) { 82 bool ServerWindow::HasObserver(ServerWindowObserver* observer) {
83 return observers_.HasObserver(observer); 83 return observers_.HasObserver(observer);
84 } 84 }
85 85
86 void ServerWindow::CreateSurface( 86 void ServerWindow::CreateCompositorFrameSink(
87 mojom::SurfaceType surface_type, 87 mojom::CompositorFrameSinkType compositor_frame_sink_type,
88 mojo::InterfaceRequest<cc::mojom::MojoCompositorFrameSink> request, 88 cc::mojom::MojoCompositorFrameSinkRequest request,
89 cc::mojom::MojoCompositorFrameSinkClientPtr client) { 89 cc::mojom::MojoCompositorFrameSinkClientPtr client) {
90 GetOrCreateSurfaceManager()->CreateSurface(surface_type, std::move(request), 90 GetOrCreateCompositorFrameSinkManager()->CreateCompositorFrameSink(
91 std::move(client)); 91 compositor_frame_sink_type, std::move(request), std::move(client));
92 } 92 }
93 93
94 void ServerWindow::Add(ServerWindow* child) { 94 void ServerWindow::Add(ServerWindow* child) {
95 // We assume validation checks happened already. 95 // We assume validation checks happened already.
96 DCHECK(child); 96 DCHECK(child);
97 DCHECK(child != this); 97 DCHECK(child != this);
98 DCHECK(!child->Contains(this)); 98 DCHECK(!child->Contains(this));
99 if (child->parent() == this) { 99 if (child->parent() == this) {
100 if (children_.size() == 1) 100 if (children_.size() == 1)
101 return; // Already in the right position. 101 return; // Already in the right position.
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 bool ServerWindow::IsDrawn() const { 357 bool ServerWindow::IsDrawn() const {
358 const ServerWindow* root = delegate_->GetRootWindow(this); 358 const ServerWindow* root = delegate_->GetRootWindow(this);
359 if (!root || !root->visible()) 359 if (!root || !root->visible())
360 return false; 360 return false;
361 const ServerWindow* window = this; 361 const ServerWindow* window = this;
362 while (window && window != root && window->visible()) 362 while (window && window != root && window->visible())
363 window = window->parent(); 363 window = window->parent();
364 return root == window; 364 return root == window;
365 } 365 }
366 366
367 ServerWindowSurfaceManager* ServerWindow::GetOrCreateSurfaceManager() { 367 ServerWindowCompositorFrameSinkManager*
368 if (!surface_manager_.get()) 368 ServerWindow::GetOrCreateCompositorFrameSinkManager() {
369 surface_manager_ = base::MakeUnique<ServerWindowSurfaceManager>(this); 369 if (!compositor_frame_sink_manager_.get())
370 return surface_manager_.get(); 370 compositor_frame_sink_manager_ =
371 base::MakeUnique<ServerWindowCompositorFrameSinkManager>(this);
372 return compositor_frame_sink_manager_.get();
371 } 373 }
372 374
373 void ServerWindow::SetUnderlayOffset(const gfx::Vector2d& offset) { 375 void ServerWindow::SetUnderlayOffset(const gfx::Vector2d& offset) {
374 if (offset == underlay_offset_) 376 if (offset == underlay_offset_)
375 return; 377 return;
376 378
377 underlay_offset_ = offset; 379 underlay_offset_ = offset;
378 delegate_->OnScheduleWindowPaint(this); 380 delegate_->OnScheduleWindowPaint(this);
379 } 381 }
380 382
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 } 457 }
456 458
457 // static 459 // static
458 ServerWindow** ServerWindow::GetStackingTarget(ServerWindow* window) { 460 ServerWindow** ServerWindow::GetStackingTarget(ServerWindow* window) {
459 return &window->stacking_target_; 461 return &window->stacking_target_;
460 } 462 }
461 463
462 } // namespace ws 464 } // namespace ws
463 465
464 } // namespace ui 466 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698