summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/browser/renderer_host/compositor_impl_android.cc78
-rw-r--r--content/browser/renderer_host/compositor_impl_android.h3
-rw-r--r--content/browser/renderer_host/image_transport_factory.cc37
-rw-r--r--content/renderer/gpu/compositor_output_surface.cc34
-rw-r--r--content/renderer/gpu/compositor_output_surface.h31
-rw-r--r--content/renderer/gpu/compositor_software_output_device_gl_adapter.cc8
-rw-r--r--content/renderer/gpu/compositor_software_output_device_gl_adapter.h12
-rw-r--r--content/renderer/render_view_impl.cc2
8 files changed, 97 insertions, 108 deletions
diff --git a/content/browser/renderer_host/compositor_impl_android.cc b/content/browser/renderer_host/compositor_impl_android.cc
index 9d32f1e..c5a6159 100644
--- a/content/browser/renderer_host/compositor_impl_android.cc
+++ b/content/browser/renderer_host/compositor_impl_android.cc
@@ -15,6 +15,7 @@
#include "cc/input_handler.h"
#include "cc/layer.h"
#include "cc/layer_tree_host.h"
+#include "cc/output_surface.h"
#include "cc/thread_impl.h"
#include "content/browser/gpu/browser_gpu_channel_host_factory.h"
#include "content/browser/gpu/gpu_surface_tracker.h"
@@ -26,7 +27,6 @@
#include "content/public/common/content_switches.h"
#include "third_party/khronos/GLES2/gl2.h"
#include "third_party/khronos/GLES2/gl2ext.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebCompositorOutputSurface.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h"
#include "ui/gfx/android/java_bitmap.h"
#include "webkit/glue/webthread_impl.h"
@@ -42,46 +42,43 @@ static bool g_initialized = false;
static webkit_glue::WebThreadImpl* g_impl_thread = NULL;
static bool g_use_direct_gl = false;
-// Adapts a pure WebGraphicsContext3D into a WebCompositorOutputSurface.
-class WebGraphicsContextToOutputSurfaceAdapter :
- public WebKit::WebCompositorOutputSurface {
-public:
- explicit WebGraphicsContextToOutputSurfaceAdapter(
- WebKit::WebGraphicsContext3D* context)
- : m_context3D(context)
- , m_client(0)
- {
- }
+// Adapts a pure WebGraphicsContext3D into a cc::OutputSurface.
+class WebGraphicsContextToOutputSurfaceAdapter : public cc::OutputSurface {
+ public:
+ explicit WebGraphicsContextToOutputSurfaceAdapter(
+ WebKit::WebGraphicsContext3D* context)
+ : context3d_(context),
+ client_(0) {
+ }
- virtual bool bindToClient(
- WebKit::WebCompositorOutputSurfaceClient* client) OVERRIDE
- {
- DCHECK(client);
- if (!m_context3D->makeContextCurrent())
- return false;
- m_client = client;
- return true;
- }
+ virtual bool BindToClient(cc::OutputSurfaceClient* client) OVERRIDE {
+ DCHECK(client);
+ if (!context3d_->makeContextCurrent())
+ return false;
+ client_ = client;
+ return true;
+ }
- virtual const Capabilities& capabilities() const OVERRIDE
- {
- return m_capabilities;
- }
+ virtual const struct Capabilities& Capabilities() const OVERRIDE {
+ return capabilities_;
+ }
- virtual WebKit::WebGraphicsContext3D* context3D() const OVERRIDE
- {
- return m_context3D.get();
- }
+ virtual WebKit::WebGraphicsContext3D* Context3D() const OVERRIDE {
+ return context3d_.get();
+ }
- virtual void sendFrameToParentCompositor(
- const WebKit::WebCompositorFrame&) OVERRIDE
- {
- }
+ virtual cc::SoftwareOutputDevice* SoftwareDevice() const OVERRIDE {
+ return NULL;
+ }
+
+ virtual void SendFrameToParentCompositor(
+ const cc::CompositorFrame&) OVERRIDE {
+ }
-private:
- scoped_ptr<WebKit::WebGraphicsContext3D> m_context3D;
- Capabilities m_capabilities;
- WebKit::WebCompositorOutputSurfaceClient* m_client;
+ private:
+ scoped_ptr<WebKit::WebGraphicsContext3D> context3d_;
+ struct Capabilities capabilities_;
+ cc::OutputSurfaceClient* client_;
};
} // anonymous namespace
@@ -278,8 +275,7 @@ void CompositorImpl::applyScrollAndScale(gfx::Vector2d scrollDelta,
float pageScale) {
}
-scoped_ptr<WebKit::WebCompositorOutputSurface>
- CompositorImpl::createOutputSurface() {
+scoped_ptr<cc::OutputSurface> CompositorImpl::createOutputSurface() {
if (g_use_direct_gl) {
WebKit::WebGraphicsContext3D::Attributes attrs;
attrs.shareResources = false;
@@ -289,7 +285,7 @@ scoped_ptr<WebKit::WebCompositorOutputSurface>
attrs,
window_,
NULL));
- return scoped_ptr<WebKit::WebCompositorOutputSurface>(
+ return scoped_ptr<cc::OutputSurface>(
new WebGraphicsContextToOutputSurfaceAdapter(context.release()));
} else {
DCHECK(window_ && surface_id_);
@@ -308,9 +304,9 @@ scoped_ptr<WebKit::WebCompositorOutputSurface>
false,
CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE)) {
LOG(ERROR) << "Failed to create 3D context for compositor.";
- return scoped_ptr<WebKit::WebCompositorOutputSurface>();
+ return scoped_ptr<cc::OutputSurface>();
}
- return scoped_ptr<WebKit::WebCompositorOutputSurface>(
+ return scoped_ptr<cc::OutputSurface>(
new WebGraphicsContextToOutputSurfaceAdapter(context.release()));
}
}
diff --git a/content/browser/renderer_host/compositor_impl_android.h b/content/browser/renderer_host/compositor_impl_android.h
index bf44a93..1514fcf51 100644
--- a/content/browser/renderer_host/compositor_impl_android.h
+++ b/content/browser/renderer_host/compositor_impl_android.h
@@ -65,8 +65,7 @@ class CONTENT_EXPORT CompositorImpl
virtual void layout() OVERRIDE;
virtual void applyScrollAndScale(gfx::Vector2d scrollDelta,
float pageScale) OVERRIDE;
- virtual scoped_ptr<WebKit::WebCompositorOutputSurface> createOutputSurface()
- OVERRIDE;
+ virtual scoped_ptr<cc::OutputSurface> createOutputSurface() OVERRIDE;
virtual scoped_ptr<cc::InputHandler> createInputHandler() OVERRIDE;
virtual void didRecreateOutputSurface(bool success) OVERRIDE;
virtual void willCommit() OVERRIDE {}
diff --git a/content/browser/renderer_host/image_transport_factory.cc b/content/browser/renderer_host/image_transport_factory.cc
index 60dbdd8..7e3e6e3 100644
--- a/content/browser/renderer_host/image_transport_factory.cc
+++ b/content/browser/renderer_host/image_transport_factory.cc
@@ -12,6 +12,8 @@
#include "base/memory/ref_counted.h"
#include "base/observer_list.h"
#include "base/threading/non_thread_safe.h"
+#include "cc/output_surface.h"
+#include "cc/output_surface_client.h"
#include "content/browser/gpu/browser_gpu_channel_host_factory.h"
#include "content/browser/gpu/gpu_data_manager_impl.h"
#include "content/browser/gpu/gpu_process_host.h"
@@ -24,8 +26,6 @@
#include "content/common/webkitplatformsupport_impl.h"
#include "content/public/common/content_switches.h"
#include "gpu/ipc/command_buffer_proxy.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebCompositorOutputSurface.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebCompositorOutputSurfaceClient.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebGraphicsContext3D.h"
#include "ui/compositor/compositor.h"
#include "ui/compositor/compositor_setup.h"
@@ -270,10 +270,10 @@ class BrowserCompositorOutputSurfaceProxy :
// Adapts a WebGraphicsContext3DCommandBufferImpl into a
-// WebCompositorOutputSurface that also handles vsync parameter updates
+// cc::OutputSurface that also handles vsync parameter updates
// arriving from the GPU process.
class BrowserCompositorOutputSurface :
- public WebKit::WebCompositorOutputSurface,
+ public cc::OutputSurface,
public base::NonThreadSafe {
public:
explicit BrowserCompositorOutputSurface(
@@ -294,8 +294,8 @@ class BrowserCompositorOutputSurface :
output_surface_proxy_->RemoveSurface(surface_id_);
}
- virtual bool bindToClient(
- WebKit::WebCompositorOutputSurfaceClient* client) OVERRIDE {
+ virtual bool BindToClient(
+ cc::OutputSurfaceClient* client) OVERRIDE {
DCHECK(CalledOnValidThread());
DCHECK(client);
DCHECK(!client_);
@@ -309,36 +309,37 @@ class BrowserCompositorOutputSurface :
return true;
}
- virtual const Capabilities& capabilities() const OVERRIDE {
+ virtual const struct Capabilities& Capabilities() const OVERRIDE {
DCHECK(CalledOnValidThread());
return capabilities_;
}
- virtual WebKit::WebGraphicsContext3D* context3D() const OVERRIDE {
+ virtual WebKit::WebGraphicsContext3D* Context3D() const OVERRIDE {
DCHECK(CalledOnValidThread());
return context3D_.get();
}
- virtual void sendFrameToParentCompositor(
- const WebKit::WebCompositorFrame&) OVERRIDE {
+ virtual cc::SoftwareOutputDevice* SoftwareDevice() const OVERRIDE {
+ DCHECK(CalledOnValidThread());
+ return NULL;
+ }
+
+ virtual void SendFrameToParentCompositor(
+ const cc::CompositorFrame&) OVERRIDE {
}
void OnUpdateVSyncParameters(
base::TimeTicks timebase, base::TimeDelta interval) {
DCHECK(CalledOnValidThread());
DCHECK(client_);
- double monotonicTimebase = timebase.ToInternalValue() /
- static_cast<double>(base::Time::kMicrosecondsPerSecond);
- double intervalInSeconds = interval.ToInternalValue() /
- static_cast<double>(base::Time::kMicrosecondsPerSecond);
- client_->onVSyncParametersChanged(monotonicTimebase, intervalInSeconds);
+ client_->OnVSyncParametersChanged(timebase, interval);
}
private:
scoped_ptr<WebGraphicsContext3DCommandBufferImpl> context3D_;
int surface_id_;
- Capabilities capabilities_;
- WebKit::WebCompositorOutputSurfaceClient* client_;
+ struct Capabilities capabilities_;
+ cc::OutputSurfaceClient* client_;
scoped_refptr<BrowserCompositorOutputSurfaceProxy> output_surface_proxy_;
};
@@ -369,7 +370,7 @@ class GpuProcessTransportFactory :
return CreateContextCommon(swap_client, 0);
}
- virtual WebKit::WebCompositorOutputSurface* CreateOutputSurface(
+ virtual cc::OutputSurface* CreateOutputSurface(
ui::Compositor* compositor) OVERRIDE {
PerCompositorData* data = per_compositor_data_[compositor];
if (!data)
diff --git a/content/renderer/gpu/compositor_output_surface.cc b/content/renderer/gpu/compositor_output_surface.cc
index 71a4be8..21eaf80 100644
--- a/content/renderer/gpu/compositor_output_surface.cc
+++ b/content/renderer/gpu/compositor_output_surface.cc
@@ -5,15 +5,15 @@
#include "content/renderer/gpu/compositor_output_surface.h"
#include "base/message_loop_proxy.h"
+#include "cc/output_surface_client.h"
#include "content/common/view_messages.h"
#include "content/renderer/render_thread_impl.h"
#include "ipc/ipc_forwarding_message_filter.h"
#include "ipc/ipc_sync_channel.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebCompositorOutputSurfaceClient.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h"
+using cc::SoftwareOutputDevice;
using WebKit::WebGraphicsContext3D;
-using WebKit::WebCompositorSoftwareOutputDevice;
namespace content {
@@ -32,7 +32,7 @@ IPC::ForwardingMessageFilter* CompositorOutputSurface::CreateFilter(
CompositorOutputSurface::CompositorOutputSurface(
int32 routing_id,
WebGraphicsContext3D* context3D,
- WebCompositorSoftwareOutputDevice* software_device)
+ cc::SoftwareOutputDevice* software_device)
: output_surface_filter_(
RenderThreadImpl::current()->compositor_output_surface_filter()),
client_(NULL),
@@ -40,7 +40,7 @@ CompositorOutputSurface::CompositorOutputSurface(
context3D_(context3D),
software_device_(software_device) {
DCHECK(output_surface_filter_);
- capabilities_.hasParentCompositor = false;
+ capabilities_.has_parent_compositor = false;
DetachFromThread();
}
@@ -52,14 +52,14 @@ CompositorOutputSurface::~CompositorOutputSurface() {
output_surface_filter_->RemoveRoute(routing_id_);
}
-const WebKit::WebCompositorOutputSurface::Capabilities&
- CompositorOutputSurface::capabilities() const {
+const struct cc::OutputSurface::Capabilities&
+ CompositorOutputSurface::Capabilities() const {
DCHECK(CalledOnValidThread());
return capabilities_;
}
-bool CompositorOutputSurface::bindToClient(
- WebKit::WebCompositorOutputSurfaceClient* client) {
+bool CompositorOutputSurface::BindToClient(
+ cc::OutputSurfaceClient* client) {
DCHECK(CalledOnValidThread());
DCHECK(!client_);
if (context3D_.get()) {
@@ -78,18 +78,17 @@ bool CompositorOutputSurface::bindToClient(
return true;
}
-WebGraphicsContext3D* CompositorOutputSurface::context3D() const {
+WebGraphicsContext3D* CompositorOutputSurface::Context3D() const {
DCHECK(CalledOnValidThread());
return context3D_.get();
}
-WebCompositorSoftwareOutputDevice* CompositorOutputSurface::softwareDevice()
- const {
+cc::SoftwareOutputDevice* CompositorOutputSurface::SoftwareDevice() const {
return software_device_.get();
}
-void CompositorOutputSurface::sendFrameToParentCompositor(
- const WebKit::WebCompositorFrame&) {
+void CompositorOutputSurface::SendFrameToParentCompositor(
+ const cc::CompositorFrame&) {
DCHECK(CalledOnValidThread());
NOTREACHED();
}
@@ -104,15 +103,10 @@ void CompositorOutputSurface::OnMessageReceived(const IPC::Message& message) {
}
void CompositorOutputSurface::OnUpdateVSyncParameters(
- base::TimeTicks timebase,
- base::TimeDelta interval) {
+ base::TimeTicks timebase, base::TimeDelta interval) {
DCHECK(CalledOnValidThread());
DCHECK(client_);
- double monotonicTimebase = timebase.ToInternalValue() /
- static_cast<double>(base::Time::kMicrosecondsPerSecond);
- double intervalInSeconds = interval.ToInternalValue() /
- static_cast<double>(base::Time::kMicrosecondsPerSecond);
- client_->onVSyncParametersChanged(monotonicTimebase, intervalInSeconds);
+ client_->OnVSyncParametersChanged(timebase, interval);
}
} // namespace content
diff --git a/content/renderer/gpu/compositor_output_surface.h b/content/renderer/gpu/compositor_output_surface.h
index f5753a6..d288ad9 100644
--- a/content/renderer/gpu/compositor_output_surface.h
+++ b/content/renderer/gpu/compositor_output_surface.h
@@ -11,8 +11,8 @@
#include "base/memory/scoped_ptr.h"
#include "base/threading/non_thread_safe.h"
#include "base/time.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebCompositorOutputSurface.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebCompositorSoftwareOutputDevice.h"
+#include "cc/output_surface.h"
+#include "cc/software_output_device.h"
namespace base {
class TaskRunner;
@@ -28,25 +28,24 @@ namespace content {
// This class can be created only on the main thread, but then becomes pinned
// to a fixed thread when bindToClient is called.
class CompositorOutputSurface
- : NON_EXPORTED_BASE(public WebKit::WebCompositorOutputSurface),
- NON_EXPORTED_BASE(public base::NonThreadSafe) {
+ : NON_EXPORTED_BASE(public cc::OutputSurface),
+ NON_EXPORTED_BASE(public base::NonThreadSafe) {
public:
static IPC::ForwardingMessageFilter* CreateFilter(
base::TaskRunner* target_task_runner);
CompositorOutputSurface(int32 routing_id,
WebKit::WebGraphicsContext3D* context3d,
- WebKit::WebCompositorSoftwareOutputDevice* software);
+ cc::SoftwareOutputDevice* software);
virtual ~CompositorOutputSurface();
- // WebCompositorOutputSurface implementation.
- virtual bool bindToClient(
- WebKit::WebCompositorOutputSurfaceClient* client) OVERRIDE;
- virtual const Capabilities& capabilities() const OVERRIDE;
- virtual WebKit::WebGraphicsContext3D* context3D() const OVERRIDE;
- virtual WebKit::WebCompositorSoftwareOutputDevice* softwareDevice() const;
- virtual void sendFrameToParentCompositor(
- const WebKit::WebCompositorFrame&) OVERRIDE;
+ // cc::OutputSurface implementation.
+ virtual bool BindToClient(cc::OutputSurfaceClient* client) OVERRIDE;
+ virtual const struct Capabilities& Capabilities() const OVERRIDE;
+ virtual WebKit::WebGraphicsContext3D* Context3D() const OVERRIDE;
+ virtual cc::SoftwareOutputDevice* SoftwareDevice() const OVERRIDE;
+ virtual void SendFrameToParentCompositor(
+ const cc::CompositorFrame&) OVERRIDE;
private:
class CompositorOutputSurfaceProxy :
@@ -74,12 +73,12 @@ class CompositorOutputSurface
base::TimeTicks timebase, base::TimeDelta interval);
scoped_refptr<IPC::ForwardingMessageFilter> output_surface_filter_;
- WebKit::WebCompositorOutputSurfaceClient* client_;
+ cc::OutputSurfaceClient* client_;
scoped_refptr<CompositorOutputSurfaceProxy> output_surface_proxy_;
int routing_id_;
- Capabilities capabilities_;
+ struct Capabilities capabilities_;
scoped_ptr<WebKit::WebGraphicsContext3D> context3D_;
- scoped_ptr<WebKit::WebCompositorSoftwareOutputDevice> software_device_;
+ scoped_ptr<cc::SoftwareOutputDevice> software_device_;
};
} // namespace content
diff --git a/content/renderer/gpu/compositor_software_output_device_gl_adapter.cc b/content/renderer/gpu/compositor_software_output_device_gl_adapter.cc
index e9c8df41..1e9372a 100644
--- a/content/renderer/gpu/compositor_software_output_device_gl_adapter.cc
+++ b/content/renderer/gpu/compositor_software_output_device_gl_adapter.cc
@@ -39,20 +39,20 @@ CompositorSoftwareOutputDeviceGLAdapter::
Destroy();
}
-WebImage* CompositorSoftwareOutputDeviceGLAdapter::lock(bool forWrite) {
+WebImage* CompositorSoftwareOutputDeviceGLAdapter::Lock(bool forWrite) {
locked_for_write_ = forWrite;
image_ = device_->accessBitmap(forWrite);
return &image_;
}
-void CompositorSoftwareOutputDeviceGLAdapter::unlock() {
+void CompositorSoftwareOutputDeviceGLAdapter::Unlock() {
if (locked_for_write_)
Draw(device_->accessBitmap(false).pixelRef()->pixels());
image_.reset();
}
-void CompositorSoftwareOutputDeviceGLAdapter::didChangeViewportSize(
- WebSize size) {
+void CompositorSoftwareOutputDeviceGLAdapter::DidChangeViewportSize(
+ gfx::Size size) {
if (!initialized_)
Initialize();
diff --git a/content/renderer/gpu/compositor_software_output_device_gl_adapter.h b/content/renderer/gpu/compositor_software_output_device_gl_adapter.h
index 2073644..5d77edc 100644
--- a/content/renderer/gpu/compositor_software_output_device_gl_adapter.h
+++ b/content/renderer/gpu/compositor_software_output_device_gl_adapter.h
@@ -10,9 +10,9 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/ref_counted.h"
#include "base/threading/non_thread_safe.h"
+#include "cc/software_output_device.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebImage.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebCompositorSoftwareOutputDevice.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h"
#include "ui/gfx/size.h"
@@ -21,17 +21,17 @@ namespace content {
// This class can be created only on the main thread, but then becomes pinned
// to a fixed thread when bindToClient is called.
class CompositorSoftwareOutputDeviceGLAdapter
- : NON_EXPORTED_BASE(public WebKit::WebCompositorSoftwareOutputDevice),
+ : NON_EXPORTED_BASE(public cc::SoftwareOutputDevice),
NON_EXPORTED_BASE(public base::NonThreadSafe) {
public:
CompositorSoftwareOutputDeviceGLAdapter(
WebKit::WebGraphicsContext3D* context3d);
virtual ~CompositorSoftwareOutputDeviceGLAdapter();
- virtual WebKit::WebImage* lock(bool forWrite) OVERRIDE;
- virtual void unlock() OVERRIDE;
-
- virtual void didChangeViewportSize(WebKit::WebSize size) OVERRIDE;
+ // cc::SoftwareOutputDevice implementation
+ virtual WebKit::WebImage* Lock(bool forWrite) OVERRIDE;
+ virtual void Unlock() OVERRIDE;
+ virtual void DidChangeViewportSize(gfx::Size size) OVERRIDE;
private:
void Initialize();
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index b12859b..40a87b6 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -27,6 +27,7 @@
#include "base/sys_string_conversions.h"
#include "base/time.h"
#include "base/utf_string_conversions.h"
+#include "cc/output_surface.h"
#include "cc/switches.h"
#include "content/common/appcache/appcache_dispatcher.h"
#include "content/common/child_thread.h"
@@ -121,7 +122,6 @@
#include "net/base/net_errors.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "net/http/http_util.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebCompositorOutputSurface.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebAccessibilityObject.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebColorName.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebDOMEvent.h"