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

Unified Diff: content/common/gpu/client/context_provider_command_buffer.cc

Issue 1937313003: Hide WebGraphicsContext3DCommandBufferImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: construct: . Created 4 years, 8 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/client/context_provider_command_buffer.cc
diff --git a/content/common/gpu/client/context_provider_command_buffer.cc b/content/common/gpu/client/context_provider_command_buffer.cc
index 9d60037f9fe983fdec70e3693dd6d2e2993813ec..ae843dc7d40384c921d8bfdc007ba4763b0a8246 100644
--- a/content/common/gpu/client/context_provider_command_buffer.cc
+++ b/content/common/gpu/client/context_provider_command_buffer.cc
@@ -16,9 +16,11 @@
#include "base/strings/stringprintf.h"
#include "cc/output/managed_memory_policy.h"
#include "content/common/gpu/client/command_buffer_metrics.h"
+#include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h"
#include "gpu/command_buffer/client/gles2_implementation.h"
#include "gpu/command_buffer/client/gles2_trace_implementation.h"
#include "gpu/command_buffer/client/gpu_switches.h"
+#include "gpu/ipc/client/gpu_channel_host.h"
#include "gpu/skia_bindings/grcontext_for_gles2_interface.h"
#include "third_party/skia/include/gpu/GrContext.h"
@@ -28,20 +30,29 @@ ContextProviderCommandBuffer::SharedProviders::SharedProviders() = default;
ContextProviderCommandBuffer::SharedProviders::~SharedProviders() = default;
ContextProviderCommandBuffer::ContextProviderCommandBuffer(
- std::unique_ptr<WebGraphicsContext3DCommandBufferImpl> context3d,
+ scoped_refptr<gpu::GpuChannelHost> channel,
+ gpu::SurfaceHandle surface_handle,
+ const GURL& active_url,
+ gfx::GpuPreference gpu_preference,
+ bool automatic_flushes,
const gpu::SharedMemoryLimits& memory_limits,
const gpu::gles2::ContextCreationAttribHelper& attributes,
ContextProviderCommandBuffer* shared_context_provider,
command_buffer_metrics::ContextType type)
- : shared_providers_(shared_context_provider
- ? shared_context_provider->shared_providers_
- : new SharedProviders),
- context3d_(std::move(context3d)),
+ : surface_handle_(surface_handle),
+ active_url_(active_url),
+ gpu_preference_(gpu_preference),
+ automatic_flushes_(automatic_flushes),
memory_limits_(memory_limits),
attributes_(attributes),
- context_type_(type) {
+ context_type_(type),
+ shared_providers_(shared_context_provider
+ ? shared_context_provider->shared_providers_
+ : new SharedProviders),
+ channel_(std::move(channel)),
+ context3d_(new WebGraphicsContext3DCommandBufferImpl) {
DCHECK(main_thread_checker_.CalledOnValidThread());
- DCHECK(context3d_);
+ DCHECK(channel_);
context_thread_checker_.DetachFromThread();
}
@@ -101,8 +112,9 @@ bool ContextProviderCommandBuffer::BindToCurrentThread() {
}
if (!context3d_->InitializeOnCurrentThread(
- memory_limits_, shared_command_buffer, std::move(share_group),
- attributes_, context_type_)) {
+ surface_handle_, active_url_, channel_.get(), gpu_preference_,
+ automatic_flushes_, memory_limits_, shared_command_buffer,
+ share_group, attributes_, context_type_)) {
context3d_ = nullptr;
return false;
}

Powered by Google App Engine
This is Rietveld 408576698