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

Unified Diff: content/common/gpu/image_transport_surface.cc

Issue 1711533002: Decouple browser-specific GPU IPC messages from GPU service IPCs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Restored if guards on GpuChannelManager Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: content/common/gpu/image_transport_surface.cc
diff --git a/content/common/gpu/image_transport_surface.cc b/content/common/gpu/image_transport_surface.cc
index 8f5c1ab7f833116b0e89c4a2d4535451804c41a0..eae07e9d9390d00574ed8913d13d342dcd08c3a5 100644
--- a/content/common/gpu/image_transport_surface.cc
+++ b/content/common/gpu/image_transport_surface.cc
@@ -14,6 +14,7 @@
#include "build/build_config.h"
#include "content/common/gpu/gpu_channel.h"
#include "content/common/gpu/gpu_channel_manager.h"
+#include "content/common/gpu/gpu_channel_manager_delegate.h"
#include "content/common/gpu/gpu_command_buffer_stub.h"
#include "content/common/gpu/gpu_messages.h"
#include "gpu/command_buffer/service/sync_point_manager.h"
@@ -22,6 +23,11 @@
#include "ui/gl/gl_implementation.h"
#include "ui/gl/gl_switches.h"
+#if defined(OS_MACOSX)
+#include "content/common/gpu/accelerated_surface_buffers_swapped_params_mac.h"
+#include "ui/accelerated_widget_mac/accelerated_widget_mac.h"
+#endif
+
namespace content {
ImageTransportSurface::ImageTransportSurface() {}
@@ -53,8 +59,9 @@ ImageTransportHelper::ImageTransportHelper(ImageTransportSurface* surface,
manager_(manager),
stub_(stub->AsWeakPtr()),
handle_(handle) {
- route_id_ = manager_->GenerateRouteID();
- manager_->AddRoute(route_id_, this);
+#if defined(OS_MACOSX)
+ manager_->AddImageTransportSurface(handle_, this);
+#endif
}
ImageTransportHelper::~ImageTransportHelper() {
@@ -62,7 +69,9 @@ ImageTransportHelper::~ImageTransportHelper() {
stub_->SetLatencyInfoCallback(
base::Callback<void(const std::vector<ui::LatencyInfo>&)>());
}
- manager_->RemoveRoute(route_id_);
+#if defined(OS_MACOSX)
+ manager_->RemoveImageTransportSurface(handle_);
+#endif
}
bool ImageTransportHelper::Initialize(gfx::GLSurface::Format format) {
@@ -78,24 +87,14 @@ bool ImageTransportHelper::Initialize(gfx::GLSurface::Format format) {
return true;
}
-bool ImageTransportHelper::OnMessageReceived(const IPC::Message& message) {
#if defined(OS_MACOSX)
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(ImageTransportHelper, message)
- IPC_MESSAGE_HANDLER(AcceleratedSurfaceMsg_BufferPresented,
- OnBufferPresented)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-#else
- NOTREACHED();
- return false;
-#endif
+void ImageTransportHelper::BufferPresented(
+ const BufferPresentedParams& params) {
+ surface_->BufferPresented(params);
}
-#if defined(OS_MACOSX)
void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped(
- GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params) {
+ AcceleratedSurfaceBuffersSwappedParams params) {
// TRACE_EVENT for gpu tests:
TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers",
TRACE_EVENT_SCOPE_THREAD,
@@ -104,8 +103,7 @@ void ImageTransportHelper::SendAcceleratedSurfaceBuffersSwapped(
// On mac, handle_ is a surface id. See
// GpuProcessTransportFactory::CreatePerCompositorData
params.surface_id = handle_;
- params.route_id = route_id_;
- manager_->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped(params));
+ manager_->delegate()->SendAcceleratedSurfaceBuffersSwapped(params);
}
#endif
@@ -130,13 +128,6 @@ gpu::gles2::GLES2Decoder* ImageTransportHelper::Decoder() {
return stub_->decoder();
}
-#if defined(OS_MACOSX)
-void ImageTransportHelper::OnBufferPresented(
- const AcceleratedSurfaceMsg_BufferPresented_Params& params) {
- surface_->OnBufferPresented(params);
-}
-#endif
-
void ImageTransportHelper::SetLatencyInfo(
const std::vector<ui::LatencyInfo>& latency_info) {
surface_->SetLatencyInfo(latency_info);
@@ -240,8 +231,8 @@ bool PassThroughImageTransportSurface::OnMakeCurrent(gfx::GLContext* context) {
}
#if defined(OS_MACOSX)
-void PassThroughImageTransportSurface::OnBufferPresented(
- const AcceleratedSurfaceMsg_BufferPresented_Params& /* params */) {
+void PassThroughImageTransportSurface::BufferPresented(
+ const BufferPresentedParams& /* params */) {
NOTREACHED();
}
#endif
« no previous file with comments | « content/common/gpu/image_transport_surface.h ('k') | content/common/gpu/image_transport_surface_overlay_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698