Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java |
index c68d28b10607067a54c62ccfc3d03c27e11e6092..f2d836b303e8352ca60e52cca77d0c24dfab7b4b 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java |
@@ -11,7 +11,9 @@ import android.os.Handler; |
import org.chromium.base.ActivityState; |
import org.chromium.base.ApiCompatibilityUtils; |
import org.chromium.base.VisibleForTesting; |
+ |
import org.chromium.chrome.R; |
+import org.chromium.chrome.browser.compositor.LayerTitleCache; |
import org.chromium.chrome.browser.compositor.bottombar.OverlayContentProgressObserver; |
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel; |
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelContent; |
@@ -19,8 +21,9 @@ import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager; |
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager.PanelPriority; |
import org.chromium.chrome.browser.compositor.bottombar.contextualsearch.ContextualSearchPromoControl.ContextualSearchPromoHost; |
import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost; |
+import org.chromium.chrome.browser.compositor.layouts.eventfilter.EventFilterHost; |
import org.chromium.chrome.browser.compositor.scene_layer.ContextualSearchSceneLayer; |
-import org.chromium.chrome.browser.compositor.scene_layer.SceneLayer; |
+import org.chromium.chrome.browser.compositor.scene_layer.SceneOverlayLayer; |
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManagementDelegate; |
import org.chromium.chrome.browser.util.MathUtils; |
import org.chromium.ui.resources.ResourceManager; |
@@ -72,12 +75,12 @@ public class ContextualSearchPanel extends OverlayPanel { |
/** |
* @param context The current Android {@link Context}. |
* @param updateHost The {@link LayoutUpdateHost} used to request updates in the Layout. |
+ * @param eventHost The {@link EventFilterHost} for propagating events. |
* @param panelManager The object managing the how different panels are shown. |
*/ |
public ContextualSearchPanel(Context context, LayoutUpdateHost updateHost, |
- OverlayPanelManager panelManager) { |
- super(context, updateHost, panelManager); |
- |
+ EventFilterHost eventHost, OverlayPanelManager panelManager) { |
+ super(context, updateHost, eventHost, panelManager); |
mSceneLayer = createNewContextualSearchSceneLayer(); |
mPanelMetrics = new ContextualSearchPanelMetrics(); |
@@ -124,30 +127,26 @@ public class ContextualSearchPanel extends OverlayPanel { |
} |
// ============================================================================================ |
- // Scene layer |
+ // Scene Overlay |
// ============================================================================================ |
- @Override |
- public SceneLayer getSceneLayer() { |
- return mSceneLayer; |
+ /** |
+ * Create a new scene layer for this panel. This should be overridden by tests as necessary. |
+ */ |
+ protected ContextualSearchSceneLayer createNewContextualSearchSceneLayer() { |
+ return new ContextualSearchSceneLayer(mContext.getResources().getDisplayMetrics().density); |
} |
@Override |
- public void updateSceneLayer(ResourceManager resourceManager) { |
- if (mSceneLayer == null) return; |
- |
+ public SceneOverlayLayer getUpdatedSceneOverlayTree(LayerTitleCache layerTitleCache, |
+ ResourceManager resourceManager, float yOffset) { |
mSceneLayer.update(resourceManager, this, |
getSearchBarControl(), |
getPeekPromoControl(), |
getPromoControl(), |
getIconSpriteControl()); |
- } |
- /** |
- * Create a new scene layer for this panel. This should be overridden by tests as necessary. |
- */ |
- protected ContextualSearchSceneLayer createNewContextualSearchSceneLayer() { |
- return new ContextualSearchSceneLayer(mContext.getResources().getDisplayMetrics().density); |
+ return mSceneLayer; |
} |
// ============================================================================================ |
@@ -255,6 +254,8 @@ public class ContextualSearchPanel extends OverlayPanel { |
setProgressBarVisible(false); |
super.onClosed(reason); |
+ |
+ if (mSceneLayer != null) mSceneLayer.hideTree(); |
} |
// ============================================================================================ |
@@ -327,11 +328,6 @@ public class ContextualSearchPanel extends OverlayPanel { |
} |
@Override |
- public boolean supportsContextualSearchLayout() { |
- return mManagementDelegate != null && !mManagementDelegate.isRunningInCompatibilityMode(); |
- } |
- |
- @Override |
public void notifyBarTouched(float x) { |
if (canDisplayContentInPanel()) { |
getOverlayPanelContent().showContent(); |