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

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: fix tests Created 4 years, 8 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 bd9dc361f4ca6f52f149966704ce50987c1325db..ba4234f59cfe29270e027916d7b6ba65dd9caec7 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,10 +21,12 @@ 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.content.browser.ContentViewCore;
import org.chromium.ui.resources.ResourceManager;
/**
@@ -72,12 +76,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 +128,34 @@ 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) {
+ if (isShowing()) {
+ updateContentFocus();
pedro (no code reviews) 2016/04/22 02:11:05 I think we should only call the code to focus/unfo
mdjones 2016/04/22 17:03:41 The contentviewcore may not be created by the time
+ }
Theresa 2016/04/21 21:22:38 Not knowing the history of this code particularly
mdjones 2016/04/22 17:03:42 mSceneLayer is built in the constructor. The creat
mSceneLayer.update(resourceManager, this,
getSearchBarControl(),
getPeekPromoControl(),
getPromoControl(),
getIconSpriteControl());
+
+ 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);
+ private void focusBasePage() {
+ ContentViewCore baseContentView = mActivity.getActivityTab().getContentViewCore();
+
Theresa 2016/04/21 21:22:38 Left over method? It doesn't look like this is use
mdjones 2016/04/22 17:03:42 Definitely a method I cut the code from and forgot
}
// ============================================================================================
@@ -257,6 +265,8 @@ public class ContextualSearchPanel extends OverlayPanel {
setProgressBarVisible(false);
super.onClosed(reason);
+
+ if (mSceneLayer != null) mSceneLayer.hideTree();
pedro (no code reviews) 2016/04/22 02:11:05 Can't this be done by the OverlayPanel class?
mdjones 2016/04/22 17:03:41 OverlayPanel currently doesn't have a concept of S
}
// ============================================================================================
@@ -329,11 +339,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