Index: services/native_viewport/native_viewport_impl.cc |
diff --git a/services/native_viewport/native_viewport_impl.cc b/services/native_viewport/native_viewport_impl.cc |
index f39f53b3f9bad9bf35df8d60a8d2dc9442a3bc8d..464391fab3518c13d9555903048c63baa41a9bbf 100644 |
--- a/services/native_viewport/native_viewport_impl.cc |
+++ b/services/native_viewport/native_viewport_impl.cc |
@@ -10,10 +10,12 @@ |
#include "base/message_loop/message_loop.h" |
#include "base/time/time.h" |
#include "mojo/converters/geometry/geometry_type_converters.h" |
+#include "mojo/converters/native_viewport/surface_configuration_type_converters.h" |
#include "mojo/public/cpp/application/interface_factory.h" |
#include "services/gles2/gpu_state.h" |
#include "services/native_viewport/platform_viewport_headless.h" |
#include "ui/events/event.h" |
+#include "ui/gl/gl_surface.h" |
namespace native_viewport { |
@@ -36,10 +38,19 @@ NativeViewportImpl::~NativeViewportImpl() { |
platform_viewport_.reset(); |
} |
-void NativeViewportImpl::Create(mojo::SizePtr size, |
- const CreateCallback& callback) { |
+void NativeViewportImpl::Create( |
+ const mojo::SizePtr size, |
+ mojo::SurfaceConfigurationPtr requested_configuration, |
+ const CreateCallback& callback) { |
+ |
+ if (requested_configuration == nullptr) { |
+ requested_configuration = mojo::SurfaceConfiguration::New(); |
+ } |
+ |
create_callback_ = callback; |
metrics_->size = size.Clone(); |
+ context_provider_.set_surface_configuration( |
+ requested_configuration.To<gfx::SurfaceConfiguration>()); |
if (is_headless_) |
platform_viewport_ = PlatformViewportHeadless::Create(this); |
else |
@@ -70,7 +81,7 @@ void NativeViewportImpl::Close() { |
platform_viewport_->Close(); |
} |
-void NativeViewportImpl::SetSize(mojo::SizePtr size) { |
+void NativeViewportImpl::SetSize(const mojo::SizePtr size) { |
platform_viewport_->SetBounds(gfx::Rect(size.To<gfx::Size>())); |
} |