| Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
|
| index da07d0f642fe6fd69b78d10fe53d83e8e9c3ab23..6fa509282faa75ce1b629ab3413a342a9ca52aaa 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
|
| @@ -463,6 +463,9 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
|
| mUpdateHost.startHiding(nextTabId, hintAtTabSelection);
|
| mIsHiding = true;
|
| mNextTabId = nextTabId;
|
| + for (int i = 0; i < mSceneOverlays.size(); i++) {
|
| + mSceneOverlays.get(i).onHideLayout();
|
| + }
|
| }
|
|
|
| /**
|
| @@ -738,6 +741,10 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
|
| * @return Whether or not the layout consumed the event.
|
| */
|
| public boolean onBackPressed() {
|
| + for (int i = 0; i < mSceneOverlays.size(); i++) {
|
| + // If the back button was consumed by any overlays, return true.
|
| + if (mSceneOverlays.get(i).onBackPressed()) return true;
|
| + }
|
| return false;
|
| }
|
|
|
| @@ -1070,6 +1077,15 @@ public abstract class Layout implements TabContentManager.ThumbnailChangeListene
|
| * @return Whether the layout is handling the model updates when a tab is creating.
|
| */
|
| public boolean handlesTabCreating() {
|
| + if (mLayoutTabs == null || mLayoutTabs.length != 1) return false;
|
| + for (int i = 0; i < mSceneOverlays.size(); i++) {
|
| + if (mSceneOverlays.get(i).handlesTabCreating()) {
|
| + // Prevent animation from happening if the overlay handles creation.
|
| + startHiding(mLayoutTabs[0].getId(), false);
|
| + doneHiding();
|
| + return true;
|
| + }
|
| + }
|
| return false;
|
| }
|
|
|
|
|