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

Unified Diff: chrome/browser/ui/omnibox/omnibox_edit_model.cc

Issue 214613003: [OriginChip] Show the URL on Esc key pressed (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix browser test Created 6 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
« no previous file with comments | « no previous file | chrome/browser/ui/omnibox/omnibox_view_browsertest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/omnibox/omnibox_edit_model.cc
diff --git a/chrome/browser/ui/omnibox/omnibox_edit_model.cc b/chrome/browser/ui/omnibox/omnibox_edit_model.cc
index 307ba14ddf24350c417df96f8594a44b12f1bd9f..592a0f53a024b005c2dc9eb0deaa7c16dd8164f9 100644
--- a/chrome/browser/ui/omnibox/omnibox_edit_model.cc
+++ b/chrome/browser/ui/omnibox/omnibox_edit_model.cc
@@ -501,24 +501,15 @@ void OmniboxEditModel::SetInputInProgress(bool in_progress) {
time_user_first_modified_omnibox_ = base::TimeTicks::Now();
content::RecordAction(base::UserMetricsAction("OmniboxInputInProgress"));
autocomplete_controller()->ResetSession();
- // Once the user starts editing, re-enable URL replacement, so that it will
- // kick in if applicable once the edit is committed or reverted. (While the
- // edit is in progress, this won't have a visible effect.)
- controller_->GetToolbarModel()->set_url_replacement_enabled(true);
}
- // The following code handles three cases:
+ // The following code handles two cases:
// * For HIDE_ON_USER_INPUT, it hides the chip when user input begins.
// * For HIDE_ON_MOUSE_RELEASE, which only hides the chip on mouse release if
// the omnibox is empty, it handles the "omnibox was not empty" case by
- // acting like HIDE_ON_USER_INPUT. (If the omnibox was empty, it
- // effectively no-ops.)
- // * For both hide behaviors, it allows the chip to be reshown once input
- // ends. (The chip won't actually be re-shown until there's no pending
- // typed navigation; see OriginChipView::ShouldShow() and
- // OriginChipDecoration::ShouldShow().)
- if (chrome::ShouldDisplayOriginChipV2())
- controller()->GetToolbarModel()->set_origin_chip_enabled(!in_progress);
+ // acting like HIDE_ON_USER_INPUT.
+ if (chrome::ShouldDisplayOriginChipV2() && in_progress)
+ controller()->GetToolbarModel()->set_origin_chip_enabled(false);
controller_->GetToolbarModel()->set_input_in_progress(in_progress);
controller_->Update(NULL);
@@ -970,6 +961,15 @@ bool OmniboxEditModel::OnEscapeKeyPressed() {
view_->Update();
}
+ // When using the origin chip, hitting escape to revert all should either
+ // display the URL (when search term replacement would not be performed for
+ // this page) or the search terms (when it would). To accomplish this,
+ // we'll need to disable URL replacement iff it's currently enabled and
+ // search term replacement wouldn't normally happen.
+ bool should_disable_url_replacement =
+ controller_->GetToolbarModel()->url_replacement_enabled() &&
+ !controller_->GetToolbarModel()->WouldPerformSearchTermReplacement(true);
+
// If the user wasn't editing, but merely had focus in the edit, allow <esc>
// to be processed as an accelerator, so it can still be used to stop a load.
// When the permanent text isn't all selected we still fall through to the
@@ -977,8 +977,8 @@ bool OmniboxEditModel::OnEscapeKeyPressed() {
// <esc> to quickly replace all the text; this matches IE.
const bool has_zero_suggest_match = match.provider &&
(match.provider->type() == AutocompleteProvider::TYPE_ZERO_SUGGEST);
- if (!has_zero_suggest_match && !user_input_in_progress_ &&
- view_->IsSelectAll())
+ if (!has_zero_suggest_match && !should_disable_url_replacement &&
+ !user_input_in_progress_ && view_->IsSelectAll())
return false;
if (!user_text_.empty()) {
@@ -986,7 +986,12 @@ bool OmniboxEditModel::OnEscapeKeyPressed() {
OMNIBOX_USER_TEXT_CLEARED_WITH_ESCAPE,
OMNIBOX_USER_TEXT_CLEARED_NUM_OF_ITEMS);
}
- view_->RevertAll();
+
+ if (should_disable_url_replacement) {
+ controller_->GetToolbarModel()->set_url_replacement_enabled(false);
+ UpdatePermanentText();
+ }
+ view_->RevertWithoutResettingSearchTermReplacement();
view_->SelectAll(true);
return true;
}
« no previous file with comments | « no previous file | chrome/browser/ui/omnibox/omnibox_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698