Update to Chromium revision 2b3ae3b8 (#394939)

This commit is contained in:
Marshall Greenblatt
2016-05-24 19:35:43 -04:00
parent 582ce074aa
commit ab2636b012
125 changed files with 619 additions and 626 deletions

View File

@@ -1,23 +1,23 @@
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
index 9a4ad65..5a6d428 100644
index ea713fd..e4119f6 100644
--- content/browser/compositor/gpu_process_transport_factory.cc
+++ content/browser/compositor/gpu_process_transport_factory.cc
@@ -130,6 +130,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
scoped_ptr<cc::SoftwareOutputDevice>
@@ -188,6 +188,13 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() {
std::unique_ptr<cc::SoftwareOutputDevice>
GpuProcessTransportFactory::CreateSoftwareOutputDevice(
ui::Compositor* compositor) {
+ if (compositor->delegate()) {
+ scoped_ptr<cc::SoftwareOutputDevice> output_device =
+ std::unique_ptr<cc::SoftwareOutputDevice> output_device =
+ compositor->delegate()->CreateSoftwareOutputDevice(compositor);
+ if (output_device.get())
+ if (output_device)
+ return output_device;
+ }
+
#if defined(MOJO_RUNNER_CLIENT)
if (IsRunningInMojoShell()) {
return scoped_ptr<cc::SoftwareOutputDevice>(
return std::unique_ptr<cc::SoftwareOutputDevice>(
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index acae0be..90ff7e1 100644
index a6245da..edfdeb5c 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -17,6 +17,7 @@
@@ -28,15 +28,15 @@ index acae0be..90ff7e1 100644
#include "cc/surfaces/surface_sequence.h"
#include "cc/trees/layer_tree_host_client.h"
#include "cc/trees/layer_tree_host_single_thread_client.h"
@@ -152,6 +153,17 @@ class COMPOSITOR_EXPORT CompositorBeginFrameObserver {
virtual void OnSendBeginFrame(const cc::BeginFrameArgs& args) = 0;
@@ -156,6 +157,17 @@ class COMPOSITOR_EXPORT CompositorLock
DISALLOW_COPY_AND_ASSIGN(CompositorLock);
};
+class COMPOSITOR_EXPORT CompositorDelegate {
+ public:
+ virtual scoped_ptr<cc::SoftwareOutputDevice> CreateSoftwareOutputDevice(
+ virtual std::unique_ptr<cc::SoftwareOutputDevice> CreateSoftwareOutputDevice(
+ ui::Compositor* compositor) {
+ return scoped_ptr<cc::SoftwareOutputDevice>();
+ return nullptr;
+ }
+
+ protected:
@@ -46,7 +46,7 @@ index acae0be..90ff7e1 100644
// Compositor object to take care of GPU painting.
// A Browser compositor object is responsible for generating the final
// displayable form of pixels comprising a single widget's contents. It draws an
@@ -172,6 +184,9 @@ class COMPOSITOR_EXPORT Compositor
@@ -176,6 +188,9 @@ class COMPOSITOR_EXPORT Compositor
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
@@ -56,7 +56,7 @@ index acae0be..90ff7e1 100644
// Sets the root of the layer tree drawn by this Compositor. The root layer
// must have no parent. The compositor's root layer is reset if the root layer
// is destroyed. NULL can be passed to reset the root layer, in which case the
@@ -346,6 +361,8 @@ class COMPOSITOR_EXPORT Compositor
@@ -345,6 +360,8 @@ class COMPOSITOR_EXPORT Compositor
ui::ContextFactory* context_factory_;