diff options
author | Jared Duke <jdduke@chromium.org> | 2015-01-09 10:26:38 -0800 |
---|---|---|
committer | Jared Duke <jdduke@chromium.org> | 2015-01-09 18:30:26 +0000 |
commit | 7ea5c8102540e51b70f6ca976c74f21c8bbd4a7b (patch) | |
tree | 705410e7b3f37e0a9088780df1e5ef5c577dc1f9 | |
parent | 201131f3c253b0ad7d4f3c109d2a481f204b680e (diff) | |
download | chromium_src-7ea5c8102540e51b70f6ca976c74f21c8bbd4a7b.zip chromium_src-7ea5c8102540e51b70f6ca976c74f21c8bbd4a7b.tar.gz chromium_src-7ea5c8102540e51b70f6ca976c74f21c8bbd4a7b.tar.bz2 |
Flush the pending input ack when the RenderWidget is hidden
A throttled ack will be held until the commit, which may not happen if
the widget is hidden. Flush the ack when widget visibility changes,
ensuring the browser process gets a timely ack.
BUG=436379
Review URL: https://codereview.chromium.org/820843002
Cr-Commit-Position: refs/heads/master@{#309324}
(cherry picked from commit 8fac9d101f18be0e719477e27efb54cbde826546)
Review URL: https://codereview.chromium.org/847563002
Cr-Commit-Position: refs/branch-heads/2214@{#420}
Cr-Branched-From: 03655fd3f6d72165dc3c9bd2c89807305316fe6c-refs/heads/master@{#303346}
-rw-r--r-- | content/renderer/render_widget.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc index 9a09509..efa2519 100644 --- a/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc @@ -1690,8 +1690,11 @@ void RenderWidget::SetHidden(bool hidden) { if (is_hidden_ == hidden) return; - // The status has changed. Tell the RenderThread about it. + // The status has changed. Tell the RenderThread about it and ensure + // throttled acks are released in case frame production ceases. is_hidden_ = hidden; + FlushPendingInputEventAck(); + if (is_hidden_) RenderThreadImpl::current()->WidgetHidden(); else |