Home | History | Annotate | Download | only in compositor
      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
      3 // found in the LICENSE file.
      4 
      5 #include "content/browser/compositor/onscreen_display_client.h"
      6 
      7 #include "cc/output/output_surface.h"
      8 #include "content/common/host_shared_bitmap_manager.h"
      9 
     10 namespace content {
     11 
     12 OnscreenDisplayClient::OnscreenDisplayClient(
     13     const scoped_refptr<cc::ContextProvider>& onscreen_context_provider,
     14     scoped_ptr<cc::OutputSurface> software_surface,
     15     cc::SurfaceManager* manager)
     16     : onscreen_context_provider_(onscreen_context_provider),
     17       software_surface_(software_surface.Pass()),
     18       display_(this, manager, HostSharedBitmapManager::current()) {
     19 }
     20 
     21 OnscreenDisplayClient::~OnscreenDisplayClient() {
     22 }
     23 
     24 scoped_ptr<cc::OutputSurface> OnscreenDisplayClient::CreateOutputSurface() {
     25   if (!onscreen_context_provider_)
     26     return software_surface_.Pass();
     27   return make_scoped_ptr(new cc::OutputSurface(onscreen_context_provider_))
     28       .Pass();
     29 }
     30 
     31 }  // namespace content
     32