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

Side by Side Diff: content/browser/renderer_host/offscreen_canvas_surface_manager.cc

Issue 2610723002: Unify SurfaceInfo (Closed)
Patch Set: Cleanup offscreen canvas Created 3 years, 11 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "base/lazy_instance.h" 5 #include "base/lazy_instance.h"
6 #include "cc/surfaces/surface_manager.h" 6 #include "cc/surfaces/surface_manager.h"
7 #include "content/browser/compositor/surface_utils.h" 7 #include "content/browser/compositor/surface_utils.h"
8 #include "content/browser/renderer_host/offscreen_canvas_surface_manager.h" 8 #include "content/browser/renderer_host/offscreen_canvas_surface_manager.h"
9 9
10 namespace content { 10 namespace content {
(...skipping 10 matching lines...) Expand all
21 OffscreenCanvasSurfaceManager::~OffscreenCanvasSurfaceManager() { 21 OffscreenCanvasSurfaceManager::~OffscreenCanvasSurfaceManager() {
22 registered_surface_instances_.clear(); 22 registered_surface_instances_.clear();
23 GetSurfaceManager()->RemoveObserver(this); 23 GetSurfaceManager()->RemoveObserver(this);
24 } 24 }
25 25
26 OffscreenCanvasSurfaceManager* OffscreenCanvasSurfaceManager::GetInstance() { 26 OffscreenCanvasSurfaceManager* OffscreenCanvasSurfaceManager::GetInstance() {
27 return g_manager.Pointer(); 27 return g_manager.Pointer();
28 } 28 }
29 29
30 void OffscreenCanvasSurfaceManager::OnSurfaceCreated( 30 void OffscreenCanvasSurfaceManager::OnSurfaceCreated(
31 const cc::SurfaceId& surface_id, 31 const cc::SurfaceInfo& surface_info) {
32 const gfx::Size& frame_size,
33 float device_scale_factor) {
34 auto surface_iter = 32 auto surface_iter =
35 registered_surface_instances_.find(surface_id.frame_sink_id()); 33 registered_surface_instances_.find(surface_info.id().frame_sink_id());
36 if (surface_iter == registered_surface_instances_.end()) 34 if (surface_iter == registered_surface_instances_.end())
37 return; 35 return;
38 OffscreenCanvasSurfaceImpl* surfaceImpl = surface_iter->second; 36 OffscreenCanvasSurfaceImpl* surfaceImpl = surface_iter->second;
39 surfaceImpl->OnSurfaceCreated(surface_id, frame_size, device_scale_factor); 37 surfaceImpl->OnSurfaceCreated(surface_info);
40 } 38 }
41 39
42 void OffscreenCanvasSurfaceManager::RegisterOffscreenCanvasSurfaceInstance( 40 void OffscreenCanvasSurfaceManager::RegisterOffscreenCanvasSurfaceInstance(
43 cc::FrameSinkId frame_sink_id, 41 cc::FrameSinkId frame_sink_id,
44 OffscreenCanvasSurfaceImpl* surface_instance) { 42 OffscreenCanvasSurfaceImpl* surface_instance) {
45 DCHECK(surface_instance); 43 DCHECK(surface_instance);
46 DCHECK_EQ(registered_surface_instances_.count(frame_sink_id), 0u); 44 DCHECK_EQ(registered_surface_instances_.count(frame_sink_id), 0u);
47 registered_surface_instances_[frame_sink_id] = surface_instance; 45 registered_surface_instances_[frame_sink_id] = surface_instance;
48 } 46 }
49 47
50 void OffscreenCanvasSurfaceManager::UnregisterOffscreenCanvasSurfaceInstance( 48 void OffscreenCanvasSurfaceManager::UnregisterOffscreenCanvasSurfaceInstance(
51 cc::FrameSinkId frame_sink_id) { 49 cc::FrameSinkId frame_sink_id) {
52 DCHECK_EQ(registered_surface_instances_.count(frame_sink_id), 1u); 50 DCHECK_EQ(registered_surface_instances_.count(frame_sink_id), 1u);
53 registered_surface_instances_.erase(frame_sink_id); 51 registered_surface_instances_.erase(frame_sink_id);
54 } 52 }
55 53
56 OffscreenCanvasSurfaceImpl* OffscreenCanvasSurfaceManager::GetSurfaceInstance( 54 OffscreenCanvasSurfaceImpl* OffscreenCanvasSurfaceManager::GetSurfaceInstance(
57 cc::FrameSinkId frame_sink_id) { 55 cc::FrameSinkId frame_sink_id) {
58 auto search = registered_surface_instances_.find(frame_sink_id); 56 auto search = registered_surface_instances_.find(frame_sink_id);
59 if (search != registered_surface_instances_.end()) { 57 if (search != registered_surface_instances_.end()) {
60 return search->second; 58 return search->second;
61 } 59 }
62 return nullptr; 60 return nullptr;
63 } 61 }
64 62
65 } // namespace content 63 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698