Index: chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/layouts/OverviewModeBehavior.java |
diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/layouts/OverviewModeBehavior.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/layouts/OverviewModeBehavior.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..72f088108d593910e695dcf69f715d86cc646f7b |
--- /dev/null |
+++ b/chrome/android/java_staging/src/org/chromium/chrome/browser/compositor/layouts/OverviewModeBehavior.java |
@@ -0,0 +1,57 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.compositor.layouts; |
+ |
+/** |
+ * Exposes the current overview mode state as well as a way to listen to overview mode state |
+ * changes. |
+ */ |
+public interface OverviewModeBehavior { |
+ /** |
+ * An observer that is notified when the overview mode state changes. |
+ */ |
+ public interface OverviewModeObserver { |
+ /** |
+ * Called when overview mode starts showing. |
+ * @param showToolbar Whether or not to show the normal toolbar when animating into overview |
+ * mode. |
+ */ |
+ void onOverviewModeStartedShowing(boolean showToolbar); |
+ |
+ /** |
+ * Called when overview mode finishes showing. |
+ */ |
+ void onOverviewModeFinishedShowing(); |
+ |
+ /** |
+ * Called when overview mode starts hiding. |
+ * @param showToolbar Whether or not to show the normal toolbar when animating out of |
+ * overview mode. |
+ * @param delayAnimation Whether or not to delay any related overview animations until after |
+ * overview mode is finished hiding. |
+ */ |
+ void onOverviewModeStartedHiding(boolean showToolbar, boolean delayAnimation); |
+ |
+ /** |
+ * Called when overview mode finishes hiding. |
+ */ |
+ void onOverviewModeFinishedHiding(); |
+ } |
+ |
+ /** |
+ * @return Whether or not the overview {@link Layout} is visible. |
+ */ |
+ boolean overviewVisible(); |
+ |
+ /** |
+ * @param listener Registers {@code listener} for overview mode status changes. |
+ */ |
+ void addOverviewModeObserver(OverviewModeObserver listener); |
+ |
+ /** |
+ * @param listener Unregisters {@code listener} for overview mode status changes. |
+ */ |
+ void removeOverviewModeObserver(OverviewModeObserver listener); |
+} |