Commit f669bcf1 authored by Lijin Shen's avatar Lijin Shen Committed by Chromium LUCI CQ

[Messages] Fix queue is incorrectly suspended after tab switching

Queue should be resumed right after browsing mode is visible.

Bug: 1156113
Change-Id: Idedadb8662249bcd1e655e939b1f23a93323dd4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2586273Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Reviewed-by: default avatarPavel Yatsuk <pavely@chromium.org>
Commit-Queue: Lijin Shen <lazzzis@google.com>
Cr-Commit-Position: refs/heads/master@{#835960}
parent a59056c9
...@@ -57,15 +57,16 @@ public class ChromeMessageQueueMediator implements MessageQueueDelegate { ...@@ -57,15 +57,16 @@ public class ChromeMessageQueueMediator implements MessageQueueDelegate {
private LayoutStateObserver mLayoutStateObserver = new LayoutStateObserver() { private LayoutStateObserver mLayoutStateObserver = new LayoutStateObserver() {
private int mToken = TokenHolder.INVALID_TOKEN; private int mToken = TokenHolder.INVALID_TOKEN;
// Suspend the queue until browsing mode is visible.
@Override @Override
public void onStartedShowing(int layoutType, boolean showToolbar) { public void onStartedShowing(@LayoutType int layoutType, boolean showToolbar) {
if (mToken == TokenHolder.INVALID_TOKEN && layoutType != LayoutType.BROWSING) { if (mToken == TokenHolder.INVALID_TOKEN && layoutType != LayoutType.BROWSING) {
mToken = suspendQueue(); mToken = suspendQueue();
} }
} }
@Override @Override
public void onFinishedHiding(int layoutType) { public void onFinishedShowing(@LayoutType int layoutType) {
if (mToken != TokenHolder.INVALID_TOKEN && layoutType == LayoutType.BROWSING) { if (mToken != TokenHolder.INVALID_TOKEN && layoutType == LayoutType.BROWSING) {
resumeQueue(mToken); resumeQueue(mToken);
mToken = TokenHolder.INVALID_TOKEN; mToken = TokenHolder.INVALID_TOKEN;
......
...@@ -106,7 +106,7 @@ public class ChromeMessageQueueMediatorTest { ...@@ -106,7 +106,7 @@ public class ChromeMessageQueueMediatorTest {
doNothing().when(mLayoutStateProvider).addObserver(observer.capture()); doNothing().when(mLayoutStateProvider).addObserver(observer.capture());
initMediator(); initMediator();
observer.getValue().onStartedShowing(LayoutType.TAB_SWITCHER, false); observer.getValue().onStartedShowing(LayoutType.TAB_SWITCHER, false);
observer.getValue().onFinishedHiding(LayoutType.BROWSING); observer.getValue().onFinishedShowing(LayoutType.BROWSING);
verify(mMessageDispatcher).resume(EXPECTED_TOKEN); verify(mMessageDispatcher).resume(EXPECTED_TOKEN);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment