Commit ba98a5ac authored by Tibor Goldschwendt's avatar Tibor Goldschwendt Committed by Commit Bot

Close page info dialog before exit VR request

After the user clicks on details on the page info dialog always dismiss
the page info dialog. By doing so, the dialog disappears in VR before
showing the user the exit VR request. That is consistent with what
happens when the user clicks the site settings button.

Bug: 829043
Change-Id: Id51477f08cf693107d11044c7ca2ec477c0118f8
Reviewed-on: https://chromium-review.googlesource.com/996305
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548284}
parent f34c8eed
...@@ -72,7 +72,6 @@ import org.chromium.chrome.browser.profiles.Profile; ...@@ -72,7 +72,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.ssl.SecurityStateModel; import org.chromium.chrome.browser.ssl.SecurityStateModel;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.util.UrlUtilities; import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.chrome.browser.vr_shell.OnExitVrRequestListener;
import org.chromium.chrome.browser.vr_shell.VrShellDelegate; import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
import org.chromium.chrome.browser.widget.TintedDrawable; import org.chromium.chrome.browser.widget.TintedDrawable;
import org.chromium.components.location.LocationUtils; import org.chromium.components.location.LocationUtils;
...@@ -825,26 +824,16 @@ public class PageInfoPopup implements OnClickListener, ModalDialogView.Controlle ...@@ -825,26 +824,16 @@ public class PageInfoPopup implements OnClickListener, ModalDialogView.Controlle
// Expand/collapse the displayed URL title. // Expand/collapse the displayed URL title.
mUrlTitle.toggleTruncation(); mUrlTitle.toggleTruncation();
} else if (view == mConnectionMessage) { } else if (view == mConnectionMessage) {
// TODO(crbug.com/819883): Port the connection info popup to VR. runAfterDismiss(() -> {
// TODO(crbug.com/826749): Track how often users encounter this via UMA. // TODO(crbug.com/819883): Port the connection info popup to VR.
if (VrShellDelegate.isInVr()) { // TODO(crbug.com/826749): Track how often users encounter this via UMA.
VrShellDelegate.requestToExitVr(new OnExitVrRequestListener() { if (VrShellDelegate.isInVr()) {
@Override VrShellDelegate.requestToExitVrAndRunOnSuccess(
public void onSucceeded() { PageInfoPopup.this ::showConnectionInfoPopup);
showConnectionInfoPopup(); } else {
} showConnectionInfoPopup();
}
@Override });
public void onDenied() {}
});
} else {
runAfterDismiss(new Runnable() {
@Override
public void run() {
showConnectionInfoPopup();
}
});
}
} else if (view.getId() == R.id.page_info_permission_row) { } else if (view.getId() == R.id.page_info_permission_row) {
final Object intentOverride = view.getTag(R.id.permission_intent_override); final Object intentOverride = view.getTag(R.id.permission_intent_override);
......
...@@ -525,6 +525,18 @@ public class VrShellDelegate ...@@ -525,6 +525,18 @@ public class VrShellDelegate
requestToExitVr(listener, UiUnsupportedMode.GENERIC_UNSUPPORTED_FEATURE); requestToExitVr(listener, UiUnsupportedMode.GENERIC_UNSUPPORTED_FEATURE);
} }
public static void requestToExitVrAndRunOnSuccess(Runnable onSuccess) {
requestToExitVr(new OnExitVrRequestListener() {
@Override
public void onSucceeded() {
onSuccess.run();
}
@Override
public void onDenied() {}
});
}
public static void requestToExitVr( public static void requestToExitVr(
OnExitVrRequestListener listener, @UiUnsupportedMode int reason) { OnExitVrRequestListener listener, @UiUnsupportedMode int reason) {
// If we're not in VR, just say that we've successfully exited VR. // If we're not in VR, just say that we've successfully exited VR.
......
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