| Index: services/native_viewport/onscreen_context_provider.cc
|
| diff --git a/services/native_viewport/onscreen_context_provider.cc b/services/native_viewport/onscreen_context_provider.cc
|
| index c34ff865c36cc74aba74ba189973f1c2c3a8fc4c..66f4987cb04188806287d060e9f32ceccd55d277 100644
|
| --- a/services/native_viewport/onscreen_context_provider.cc
|
| +++ b/services/native_viewport/onscreen_context_provider.cc
|
| @@ -23,12 +23,23 @@ void OnscreenContextProvider::Bind(
|
| binding_.Bind(request.Pass());
|
| }
|
|
|
| +void OnscreenContextProvider::NotifyOnViewportCreated(
|
| + const NotifyOnViewportCreatedCallback& callback) {
|
| + pending_viewport_callback_ = callback;
|
| +}
|
| +
|
| void OnscreenContextProvider::SetAcceleratedWidget(
|
| gfx::AcceleratedWidget widget) {
|
| widget_ = widget;
|
| - if (widget_ != gfx::kNullAcceleratedWidget &&
|
| - !pending_create_callback_.is_null())
|
| - CreateAndReturnCommandBuffer();
|
| + if (widget_ != gfx::kNullAcceleratedWidget) {
|
| + if (!pending_viewport_callback_.is_null()) {
|
| + pending_viewport_callback_.Run();
|
| + pending_viewport_callback_.reset();
|
| + }
|
| + if (!pending_create_callback_.is_null()) {
|
| + CreateAndReturnCommandBuffer();
|
| + }
|
| + }
|
| }
|
|
|
| void OnscreenContextProvider::Create(
|
|
|