Index: gpu/command_buffer/service/gpu_scheduler.cc |
diff --git a/gpu/command_buffer/service/gpu_scheduler.cc b/gpu/command_buffer/service/gpu_scheduler.cc |
index 5fa9ceb3fd917c63e764051fb2e78e4efc668c4a..53fcfa249f919ef41cc2b42f609b034cbbff2efa 100644 |
--- a/gpu/command_buffer/service/gpu_scheduler.cc |
+++ b/gpu/command_buffer/service/gpu_scheduler.cc |
@@ -276,7 +276,10 @@ void GpuScheduler::ResizeOffscreenFrameBuffer(const gfx::Size& size) { |
} |
void GpuScheduler::SetResizeCallback(Callback1<gfx::Size>::Type* callback) { |
- decoder_->SetResizeCallback(callback); |
+ wrapped_resize_callback_.reset(callback); |
+ decoder_->SetResizeCallback( |
+ NewCallback(this, |
+ &GpuScheduler::WillResize)); |
} |
void GpuScheduler::SetSwapBuffersCallback( |
@@ -298,4 +301,10 @@ void GpuScheduler::ScheduleProcessCommands() { |
method_factory_.NewRunnableMethod(&GpuScheduler::ProcessCommands)); |
} |
+void GpuScheduler::WillResize(gfx::Size size) { |
+ if (wrapped_resize_callback_.get()) { |
+ wrapped_resize_callback_->Run(size); |
+ } |
+} |
+ |
} // namespace gpu |