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

Side by Side Diff: content/browser/compositor/onscreen_display_client.cc

Issue 303113007: Add software renderer support for surfaces. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
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 "content/browser/compositor/onscreen_display_client.h" 5 #include "content/browser/compositor/onscreen_display_client.h"
6 6
7 #include "cc/output/output_surface.h" 7 #include "cc/output/output_surface.h"
8 #include "content/common/host_shared_bitmap_manager.h"
8 9
9 namespace content { 10 namespace content {
10 11
11 OnscreenDisplayClient::OnscreenDisplayClient( 12 OnscreenDisplayClient::OnscreenDisplayClient(
12 const scoped_refptr<cc::ContextProvider>& onscreen_context_provider, 13 const scoped_refptr<cc::ContextProvider>& onscreen_context_provider,
14 scoped_ptr<cc::OutputSurface> software_surface,
13 cc::SurfaceManager* manager) 15 cc::SurfaceManager* manager)
14 : onscreen_context_provider_(onscreen_context_provider), 16 : onscreen_context_provider_(onscreen_context_provider),
15 display_(this, manager) { 17 software_surface_(software_surface.Pass()),
18 display_(this, manager, HostSharedBitmapManager::current()) {
16 } 19 }
17 20
18 OnscreenDisplayClient::~OnscreenDisplayClient() { 21 OnscreenDisplayClient::~OnscreenDisplayClient() {
19 } 22 }
20 23
21 scoped_ptr<cc::OutputSurface> OnscreenDisplayClient::CreateOutputSurface() { 24 scoped_ptr<cc::OutputSurface> OnscreenDisplayClient::CreateOutputSurface() {
25 if (!onscreen_context_provider_)
26 return software_surface_.Pass();
22 return make_scoped_ptr(new cc::OutputSurface(onscreen_context_provider_)) 27 return make_scoped_ptr(new cc::OutputSurface(onscreen_context_provider_))
23 .Pass(); 28 .Pass();
24 } 29 }
25 30
26 } // namespace content 31 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/compositor/onscreen_display_client.h ('k') | content/browser/compositor/surface_display_output_surface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698