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

Side by Side Diff: sky/compositor/layer_host.cc

Issue 761503004: Fix several leaks in the Sky compositor (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Fix typo 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
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 "sky/compositor/layer_host.h" 5 #include "sky/compositor/layer_host.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "mojo/converters/geometry/geometry_type_converters.h" 9 #include "mojo/converters/geometry/geometry_type_converters.h"
10 #include "mojo/gpu/gl_context.h" 10 #include "mojo/gpu/gl_context.h"
11 #include "mojo/services/public/cpp/surfaces/surfaces_utils.h" 11 #include "mojo/services/public/cpp/surfaces/surfaces_utils.h"
12 #include "mojo/skia/ganesh_context.h" 12 #include "mojo/skia/ganesh_context.h"
13 #include "sky/compositor/layer.h" 13 #include "sky/compositor/layer.h"
14 14
15 namespace sky { 15 namespace sky {
16 16
17 LayerHost::LayerHost(LayerHostClient* client) 17 LayerHost::LayerHost(LayerHostClient* client)
18 : client_(client), 18 : client_(client),
19 state_(kWaitingForSurfaceService), 19 state_(kWaitingForSurfaceService),
20 frame_requested_(false), 20 frame_requested_(false),
21 surface_holder_(this, client->GetShell()), 21 surface_holder_(this, client->GetShell()),
22 gl_context_(mojo::GLContext::Create(client->GetShell())), 22 gl_context_owner_(client->GetShell()),
23 ganesh_context_(gl_context_), 23 ganesh_context_(gl_context()),
24 resource_manager_(gl_context_), 24 resource_manager_(gl_context()),
25 weak_factory_(this) { 25 weak_factory_(this) {
26 } 26 }
27 27
28 LayerHost::~LayerHost() { 28 LayerHost::~LayerHost() {
29 } 29 }
30 30
31 void LayerHost::SetNeedsAnimate() { 31 void LayerHost::SetNeedsAnimate() {
32 if (frame_requested_) 32 if (frame_requested_)
33 return; 33 return;
34 frame_requested_ = true; 34 frame_requested_ = true;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 } 140 }
141 141
142 void LayerHost::DidCompleteFrame() { 142 void LayerHost::DidCompleteFrame() {
143 DCHECK_EQ(state_, kWaitingForFrameAcknowldgement); 143 DCHECK_EQ(state_, kWaitingForFrameAcknowldgement);
144 state_ = kReadyForFrame; 144 state_ = kReadyForFrame;
145 if (frame_requested_) 145 if (frame_requested_)
146 BeginFrame(); 146 BeginFrame();
147 } 147 }
148 148
149 } // namespace sky 149 } // namespace sky
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698