| 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();
|
|
|