Make OffscreenCanvas resizable

When OffscreenCanvas's width or height is changed, we reshape the
OffscreenCanvasFrameDispatcher's size and mark
m_changeSizeForNextCommit as true. In the next incoming commit(),
OffscreenCanvasFrameDispatcher picks up the new size and generate
new LocalFrameId. On browser side, Surface will be re-created once
a different LocalFrameId is received (all is handled in
CompositorFrameSinkSupport), prompting OffscreenCanvasSurfaceImpl
to send OnSurfaceCreated message back to CanvasSurfaceLayerBridge,
which will then change the SurfaceInfo in the existing SurfaceLayer.

BUG=662498
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2588053003
Cr-Commit-Position: refs/heads/master@{#440150}
7 files changed