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

Unified Diff: chrome/browser/instant/instant_controller.h

Issue 11262015: Remove unused / unnecessary stuff from Instant. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove SuggestedTextView entirely Created 8 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
« no previous file with comments | « chrome/browser/instant/instant_browsertest.cc ('k') | chrome/browser/instant/instant_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/instant/instant_controller.h
diff --git a/chrome/browser/instant/instant_controller.h b/chrome/browser/instant/instant_controller.h
index 6647332fbbdbb3b5d8b79f5556fbd21a3abf25f8..92a9913db8c51e8e84dc1d77bea80ac4cdde5c76 100644
--- a/chrome/browser/instant/instant_controller.h
+++ b/chrome/browser/instant/instant_controller.h
@@ -16,7 +16,6 @@
#include "base/string16.h"
#include "base/timer.h"
#include "chrome/browser/instant/instant_commit_type.h"
-#include "chrome/browser/instant/instant_loader_delegate.h"
#include "chrome/browser/instant/instant_model.h"
#include "chrome/common/instant_types.h"
#include "content/public/common/page_transition_types.h"
@@ -26,30 +25,27 @@
struct AutocompleteMatch;
class AutocompleteProvider;
-class InstantControllerDelegate;
class InstantLoader;
class PrefService;
class Profile;
class TabContents;
class TemplateURL;
+namespace chrome {
+class BrowserInstantController;
+}
+
// InstantController maintains a WebContents that is intended to give a
// preview of search results. InstantController is owned by Browser via
// BrowserInstantController.
//
// At any time the WebContents maintained by InstantController may be hidden
// from view by way of Hide(), which may result in a change in the model's
-// display state and subsequent change in model observers. Similarly the preview
-// may be committed at any time by invoking CommitCurrentPreview(), which
-// results in CommitInstant() being invoked on the delegate.
-class InstantController : public InstantLoaderDelegate {
+// display state and subsequent change in model observers. Similarly, the
+// preview may be committed at any time by invoking CommitCurrentPreview(),
+// which results in CommitInstant() being invoked on the browser.
+class InstantController {
public:
- // Amount of time to wait before starting the animation for suggested text.
- static const int kInlineAutocompletePauseTimeMS = 1000;
-
- // Duration of the suggested text animation in which the colors change.
- static const int kInlineAutocompleteFadeInTimeMS = 300;
-
// InstantController may operate in one of these modes:
// EXTENDED: The default search engine is preloaded when the omnibox gets
// focus. Queries are issued as the user types. Predicted queries are
@@ -58,17 +54,10 @@ class InstantController : public InstantLoaderDelegate {
// within the search results preview.
// INSTANT: Same as EXTENDED, without URL previews. Search suggestions are
// rendered by the omnibox drop down, and not by the preview page.
- // SUGGEST: Same as INSTANT, without visible previews.
- // HIDDEN: Same as SUGGEST, without the inline autocompletion.
- // SILENT: Same as HIDDEN, without issuing queries as the user types. The
- // query is sent only after the user presses <Enter>.
// DISABLED: Instant is disabled.
enum Mode {
EXTENDED,
INSTANT,
- SUGGEST,
- HIDDEN,
- SILENT,
DISABLED,
};
@@ -78,8 +67,9 @@ class InstantController : public InstantLoaderDelegate {
// |profile| pointer is not cached, so the underlying profile object need not
// live beyond this call. ***NOTE***: May return NULL, which means that
// Instant is disabled in this profile.
- static InstantController* CreateInstant(Profile* profile,
- InstantControllerDelegate* delegate);
+ static InstantController* CreateInstant(
+ Profile* profile,
+ chrome::BrowserInstantController* browser);
// Returns true if Instant is enabled and supports the extended API.
static bool IsExtendedAPIEnabled(Profile* profile);
@@ -87,9 +77,6 @@ class InstantController : public InstantLoaderDelegate {
// Returns true if Instant is enabled in a visible, preview-showing mode.
static bool IsInstantEnabled(Profile* profile);
- // Returns true if Instant will provide autocomplete suggestions.
- static bool IsSuggestEnabled(Profile* profile);
-
// Registers Instant related preferences.
static void RegisterUserPrefs(PrefService* prefs);
@@ -130,7 +117,7 @@ class InstantController : public InstantLoaderDelegate {
// we've processed the last Update() and we know the loader supports Instant.
bool IsCurrent() const;
- // Commits the preview. Calls CommitInstant() on the delegate.
+ // Commits the preview. Calls CommitInstant() on the browser.
void CommitCurrentPreview(InstantCommitType type);
// The autocomplete edit that was initiating the current Instant session has
@@ -154,32 +141,45 @@ class InstantController : public InstantLoaderDelegate {
return last_transition_type_;
}
- // InstantLoaderDelegate:
- virtual void SetSuggestions(
- InstantLoader* loader,
- const std::vector<InstantSuggestion>& suggestions) OVERRIDE;
- virtual void CommitInstantLoader(InstantLoader* loader) OVERRIDE;
- virtual void ShowInstantPreview(InstantLoader* loader,
- InstantShownReason reason,
- int height,
- InstantSizeUnits units) OVERRIDE;
- virtual void InstantLoaderPreviewLoaded(InstantLoader* loader) OVERRIDE;
- virtual void InstantSupportDetermined(InstantLoader* loader,
- bool supports_instant) OVERRIDE;
- virtual void SwappedTabContents(InstantLoader* loader) OVERRIDE;
- virtual void InstantLoaderContentsFocused(InstantLoader* loader) OVERRIDE;
+ const InstantModel* model() const { return &model_; }
+
+ // Invoked by InstantLoader when it has suggested text.
+ void SetSuggestions(InstantLoader* loader,
+ const std::vector<InstantSuggestion>& suggestions);
+
+ // Invoked by InstantLoader to commit the preview.
+ void CommitInstantLoader(InstantLoader* loader);
+
+ // Invoked by InstantLoader to request that the preview be shown.
+ void ShowInstantPreview(InstantLoader* loader,
+ InstantShownReason reason,
+ int height,
+ InstantSizeUnits units);
+
+ // Invoked by InstantLoader to notify that the Instant URL completed loading.
+ void InstantLoaderPreviewLoaded(InstantLoader* loader);
+
+ // Invoked by InstantLoader when it has determined whether or not the page
+ // supports the Instant API.
+ void InstantSupportDetermined(InstantLoader* loader, bool supports_instant);
+
+ // Invoked by InstantLoader when it has swapped a different TabContents into
+ // the preview, usually because a prerendered page was navigated to.
+ void SwappedTabContents(InstantLoader* loader);
+
+ // Invoked by InstantLoader when the preview gains focus, usually due to the
+ // user clicking on it.
+ void InstantLoaderContentsFocused(InstantLoader* loader);
#if defined(UNIT_TEST)
// Accessors used only in tests.
InstantLoader* loader() const { return loader_.get(); }
#endif
- const InstantModel* model() const { return &model_; }
-
private:
FRIEND_TEST_ALL_PREFIXES(InstantTest, InstantLoaderRefresh);
- InstantController(InstantControllerDelegate* delegate, Mode mode);
+ InstantController(chrome::BrowserInstantController* browser, Mode mode);
// Creates a new loader if necessary (for example, if the |instant_url| has
// changed since the last time we created the loader).
@@ -201,7 +201,7 @@ class InstantController : public InstantLoaderDelegate {
// Destroys the |loader_| and its preview contents.
void DeleteLoader();
- // Counterpart to Hide(). Asks the |delegate_| to display the preview with
+ // Counterpart to Hide(). Asks the |browser_| to display the preview with
// the given |height|.
void Show(int height, InstantSizeUnits units);
@@ -220,7 +220,7 @@ class InstantController : public InstantLoaderDelegate {
// Update() was for a URL and not a search query, or the user switched tabs.
bool IsOutOfDate() const;
- InstantControllerDelegate* const delegate_;
+ chrome::BrowserInstantController* const browser_;
InstantModel model_;
@@ -289,7 +289,7 @@ class InstantController : public InstantLoaderDelegate {
// up in autocomplete history matches.
GURL url_for_history_;
- DISALLOW_IMPLICIT_CONSTRUCTORS(InstantController);
+ DISALLOW_COPY_AND_ASSIGN(InstantController);
};
#endif // CHROME_BROWSER_INSTANT_INSTANT_CONTROLLER_H_
« no previous file with comments | « chrome/browser/instant/instant_browsertest.cc ('k') | chrome/browser/instant/instant_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698