Index: content/browser/compositor/onscreen_display_client.cc |
diff --git a/content/browser/compositor/onscreen_display_client.cc b/content/browser/compositor/onscreen_display_client.cc |
index 3906085860d059ef836fc12516dc365190d88824..814f0fcc53ec144635a06f03388a893e34b08757 100644 |
--- a/content/browser/compositor/onscreen_display_client.cc |
+++ b/content/browser/compositor/onscreen_display_client.cc |
@@ -5,20 +5,25 @@ |
#include "content/browser/compositor/onscreen_display_client.h" |
#include "cc/output/output_surface.h" |
+#include "content/common/host_shared_bitmap_manager.h" |
namespace content { |
OnscreenDisplayClient::OnscreenDisplayClient( |
const scoped_refptr<cc::ContextProvider>& onscreen_context_provider, |
+ scoped_ptr<cc::OutputSurface> software_surface, |
cc::SurfaceManager* manager) |
: onscreen_context_provider_(onscreen_context_provider), |
- display_(this, manager) { |
+ software_surface_(software_surface.Pass()), |
+ display_(this, manager, HostSharedBitmapManager::current()) { |
} |
OnscreenDisplayClient::~OnscreenDisplayClient() { |
} |
scoped_ptr<cc::OutputSurface> OnscreenDisplayClient::CreateOutputSurface() { |
+ if (!onscreen_context_provider_) |
+ return software_surface_.Pass(); |
return make_scoped_ptr(new cc::OutputSurface(onscreen_context_provider_)) |
.Pass(); |
} |