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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java

Issue 1403813003: [Contextual Search] Fixes ContentView regressions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add TODO as per offline chat with mdjones@ Created 5 years, 2 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/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java
index ec1af94a354639a489e74fa09588b62204e18e99..3096a4fe7e5a9b1b4a83c2d9f2f451c9008dc133 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java
@@ -5,8 +5,11 @@
package org.chromium.chrome.browser.contextualsearch;
import org.chromium.base.VisibleForTesting;
+import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.compositor.bottombar.OverlayContentDelegate;
+import org.chromium.chrome.browser.compositor.bottombar.OverlayContentProgressObserver;
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelContent;
+import org.chromium.chrome.browser.compositor.bottombar.contextualsearch.OverlayPanelContentFactory;
import java.net.MalformedURLException;
import java.net.URL;
@@ -20,15 +23,21 @@ import javax.annotation.Nullable;
* be something like ContextualSearchFakeEnvironment.
*/
@VisibleForTesting
-class ContextualSearchFakeServer extends OverlayPanelContent
- implements ContextualSearchNetworkCommunicator {
+class ContextualSearchFakeServer
+ implements ContextualSearchNetworkCommunicator, OverlayPanelContentFactory {
private final ContextualSearchNetworkCommunicator mBaseManager;
+
+ private final OverlayContentDelegate mContentDelegate;
+ private final OverlayContentProgressObserver mProgressObserver;
+ private final ChromeActivity mActivity;
+
+ private OverlayPanelContent mContent;
+
private String mLoadedUrl;
+ private int mLoadedUrlCount;
private String mSearchTermRequested;
private boolean mShouldUseHttps;
- private int mLoadedUrlCount;
- private boolean mIsSearchContentViewCreated;
/**
* Constructs a fake Contextual Search server that will callback to the given baseManager.
@@ -36,24 +45,44 @@ class ContextualSearchFakeServer extends OverlayPanelContent
*/
@VisibleForTesting
ContextualSearchFakeServer(ContextualSearchNetworkCommunicator baseManager,
- OverlayContentDelegate observer) {
+ OverlayContentDelegate contentDelegate,
+ OverlayContentProgressObserver progressObserver,
+ ChromeActivity activity) {
mBaseManager = baseManager;
- setOverlayObserver(observer);
+
+ mContentDelegate = contentDelegate;
+ mProgressObserver = progressObserver;
+ mActivity = activity;
}
@Override
- public void startSearchTermResolutionRequest(String selection) {
- mLoadedUrl = null;
- mSearchTermRequested = selection;
+ public OverlayPanelContent createNewOverlayPanelContent() {
+ mContent = new OverlayPanelContent(mContentDelegate, mProgressObserver, mActivity) {
+ @Override
+ public void loadUrl(String url) {
+ mLoadedUrl = url;
+ mLoadedUrlCount++;
+ super.loadUrl(url);
+ }
+
+ @Override
+ public void removeLastHistoryEntry(String url, long timeInMs) {
+ // Override to prevent call to native code.
+ }
+ };
+
+ return mContent;
+ }
+
+ @VisibleForTesting
+ public boolean didCreateContentView() {
+ return mContent != null ? mContent.didCreateContentView() : false;
}
@Override
- public void loadUrl(String url) {
- mLoadedUrl = url;
- mLoadedUrlCount++;
- // This will not actually load a URL because no Search Content View will be created
- // when under test -- see comments in createNewSearchContentView.
- super.loadUrl(url);
+ public void startSearchTermResolutionRequest(String selection) {
+ mLoadedUrl = null;
+ mSearchTermRequested = selection;
}
@Override
@@ -79,26 +108,6 @@ class ContextualSearchFakeServer extends OverlayPanelContent
return baseUrl;
}
- @Override
- public void createNewContentView() {
- mIsSearchContentViewCreated = true;
- // Don't call the super method because that will cause loadUrl to make a live request!
- // This method is only called by loadUrl, which will subseqently check if the CV was
- // successfully created before issuing the search request.
- // TODO(donnd): This is brittle, improve! E.g. make live requests to a local server.
- }
-
- @Override
- public void destroyContentView() {
- mIsSearchContentViewCreated = false;
- super.destroyContentView();
- }
-
- @Override
- public void removeLastHistoryEntry(String url, long timeInMs) {
- // Override to prevent call to native code.
- }
-
/**
* @return The search term requested, or {@code null} if no search term was requested.
*/
@@ -132,22 +141,14 @@ class ContextualSearchFakeServer extends OverlayPanelContent
}
/**
- * @return Whether we tried to create the Search Content View.
- */
- @VisibleForTesting
- boolean isSearchContentViewCreated() {
- return mIsSearchContentViewCreated;
- }
-
- /**
* Resets the fake server's member data.
*/
@VisibleForTesting
void reset() {
+ mContent = null;
mLoadedUrl = null;
mSearchTermRequested = null;
mShouldUseHttps = false;
mLoadedUrlCount = 0;
- mIsSearchContentViewCreated = false;
}
}

Powered by Google App Engine
This is Rietveld 408576698