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