Content Renderer FrameSwapMessageQueue: Fix DidActivate with DidNotSwap.

LayerTreeHostImpl::SwapBuffers may fail if frame.has_no_damage (SwapPromise::SWAP_FAILS).

IF FrameSwapMessageQueue::DidActivate happens during that frame
THEN
the outputSurface will NOT take care of the Drain+Send.
AND
QueueMessageSwapPromise::DidNotSwap will not send the
MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE message back.

As a result, the callback inserted with RenderFrameHostImpl::InsertVisualStateCallback never triggers.
PluginPowerSaverBrowserTest::VerifySnapshot hangs forever.

BUG=599484

Review-Url: https://codereview.chromium.org/2313593002
Cr-Commit-Position: refs/heads/master@{#417162}
3 files changed