Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4672)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java

Issue 1716653002: Implement OverlayPanels as SceneOverlays (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Prevent native call in test Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698