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

Unified Diff: chrome/browser/ui/search/instant_controller.cc

Issue 12851023: Refactor omnibox focus API into a single method. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments. Created 7 years, 9 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/browser/ui/search/instant_controller.cc
diff --git a/chrome/browser/ui/search/instant_controller.cc b/chrome/browser/ui/search/instant_controller.cc
index 43b5951d17e353d5441acf1ddff69ec71710b30c..1e671c7b8126e655615356896b143910e543db10 100644
--- a/chrome/browser/ui/search/instant_controller.cc
+++ b/chrome/browser/ui/search/instant_controller.cc
@@ -1186,31 +1186,30 @@ void InstantController::ShowInstantOverlay(const content::WebContents* contents,
ShowOverlay(height, units);
}
-void InstantController::FocusOmnibox(const content::WebContents* contents) {
- if (!extended_enabled_)
- return;
-
- DCHECK(IsContentsFrom(instant_tab(), contents));
- browser_->FocusOmnibox(true);
-}
-
-void InstantController::StartCapturingKeyStrokes(
- const content::WebContents* contents) {
- if (!extended_enabled_)
- return;
-
- DCHECK(IsContentsFrom(instant_tab(), contents));
- browser_->FocusOmnibox(false);
-}
-
-void InstantController::StopCapturingKeyStrokes(
- content::WebContents* contents) {
- // Nothing to do if omnibox doesn't have invisible focus.
- if (!extended_enabled_ || omnibox_focus_state_ != OMNIBOX_FOCUS_INVISIBLE)
+void InstantController::FocusOmnibox(const content::WebContents* contents,
+ OmniboxFocusState state) {
+ if (!extended_enabled_ ||
+ !instant_tab_ ||
+ !IsContentsFrom(instant_tab(), contents))
return;
- DCHECK(IsContentsFrom(instant_tab(), contents));
- contents->GetView()->Focus();
+ switch (state) {
+ case OMNIBOX_FOCUS_VISIBLE:
+ if (instant_tab_->ShouldProcessFocusOmnibox())
sreeram 2013/04/01 16:04:38 These Should*() checks are not needed here. So, th
kmadhusu 2013/04/02 02:06:50 Done.
+ browser_->FocusOmnibox(true);
+ break;
+ case OMNIBOX_FOCUS_INVISIBLE:
+ if (instant_tab_->ShouldProcessStartCapturingKeyStrokes())
+ browser_->FocusOmnibox(false);
+ break;
+ case OMNIBOX_FOCUS_NONE:
+ if (instant_tab_->ShouldProcessStopCapturingKeyStrokes() &&
+ omnibox_focus_state_ != OMNIBOX_FOCUS_INVISIBLE)
+ contents->GetView()->Focus();
+ break;
+ default:
+ NOTREACHED();
+ }
}
void InstantController::NavigateToURL(const content::WebContents* contents,

Powered by Google App Engine
This is Rietveld 408576698