OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h" | 5 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/format_macros.h" | 10 #include "base/format_macros.h" |
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 // typed. If we can successfully generate a URL_WHAT_YOU_TYPED match doing | 576 // typed. If we can successfully generate a URL_WHAT_YOU_TYPED match doing |
577 // that, then we use this. These matches are marked as generated by the | 577 // that, then we use this. These matches are marked as generated by the |
578 // HistoryURLProvider so we only generate them if this provider is present. | 578 // HistoryURLProvider so we only generate them if this provider is present. |
579 if (control_key_state_ == DOWN_WITHOUT_CHANGE && !KeywordIsSelected() && | 579 if (control_key_state_ == DOWN_WITHOUT_CHANGE && !KeywordIsSelected() && |
580 autocomplete_controller()->history_url_provider()) { | 580 autocomplete_controller()->history_url_provider()) { |
581 // Generate a new AutocompleteInput, copying the latest one but using "com" | 581 // Generate a new AutocompleteInput, copying the latest one but using "com" |
582 // as the desired TLD. Then use this autocomplete input to generate a | 582 // as the desired TLD. Then use this autocomplete input to generate a |
583 // URL_WHAT_YOU_TYPED AutocompleteMatch. Note that using the most recent | 583 // URL_WHAT_YOU_TYPED AutocompleteMatch. Note that using the most recent |
584 // input instead of the currently visible text means we'll ignore any | 584 // input instead of the currently visible text means we'll ignore any |
585 // visible inline autocompletion: if a user types "foo" and is autocompleted | 585 // visible inline autocompletion: if a user types "foo" and is autocompleted |
586 // to "foodnetwork.com", ctrl-enter will navigate to "foo.com", not | 586 // to "foodnetwork.com", ctrl-enter will navigate to "foo.com", not |
587 // "foodnetwork.com". At the time of writing, this behavior matches | 587 // "foodnetwork.com". At the time of writing, this behavior matches |
588 // Internet Explorer, but not Firefox. | 588 // Internet Explorer, but not Firefox. |
589 const AutocompleteInput& old_input = autocomplete_controller()->input(); | 589 const AutocompleteInput& old_input = autocomplete_controller()->input(); |
590 AutocompleteInput input( | 590 AutocompleteInput input( |
591 has_temporary_text_ ? | 591 has_temporary_text_ ? |
592 UserTextFromDisplayText(view_->GetText()) : old_input.text(), | 592 UserTextFromDisplayText(view_->GetText()) : old_input.text(), |
593 old_input.cursor_position(), ASCIIToUTF16("com"), | 593 old_input.cursor_position(), ASCIIToUTF16("com"), |
594 GURL(), old_input.current_page_classification(), | 594 GURL(), old_input.current_page_classification(), |
595 old_input.prevent_inline_autocomplete(), old_input.prefer_keyword(), | 595 old_input.prevent_inline_autocomplete(), old_input.prefer_keyword(), |
596 old_input.allow_exact_keyword_match(), old_input.matches_requested()); | 596 old_input.allow_exact_keyword_match(), old_input.matches_requested()); |
597 AutocompleteMatch url_match = HistoryURLProvider::SuggestExactInput( | 597 AutocompleteMatch url_match( |
598 autocomplete_controller()->history_url_provider(), input, true); | 598 autocomplete_controller()->history_url_provider()->SuggestExactInput( |
| 599 input.text(), input.canonicalized_url(), false)); |
599 | 600 |
600 if (url_match.destination_url.is_valid()) { | 601 if (url_match.destination_url.is_valid()) { |
601 // We have a valid URL, we use this newly generated AutocompleteMatch. | 602 // We have a valid URL, we use this newly generated AutocompleteMatch. |
602 match = url_match; | 603 match = url_match; |
603 alternate_nav_url = GURL(); | 604 alternate_nav_url = GURL(); |
604 } | 605 } |
605 } | 606 } |
606 | 607 |
607 if (!match.destination_url.is_valid()) | 608 if (!match.destination_url.is_valid()) |
608 return; | 609 return; |
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1385 instant->OmniboxFocusChanged(state, reason, NULL); | 1386 instant->OmniboxFocusChanged(state, reason, NULL); |
1386 | 1387 |
1387 // Update state and notify view if the omnibox has focus and the caret | 1388 // Update state and notify view if the omnibox has focus and the caret |
1388 // visibility changed. | 1389 // visibility changed. |
1389 const bool was_caret_visible = is_caret_visible(); | 1390 const bool was_caret_visible = is_caret_visible(); |
1390 focus_state_ = state; | 1391 focus_state_ = state; |
1391 if (focus_state_ != OMNIBOX_FOCUS_NONE && | 1392 if (focus_state_ != OMNIBOX_FOCUS_NONE && |
1392 is_caret_visible() != was_caret_visible) | 1393 is_caret_visible() != was_caret_visible) |
1393 view_->ApplyCaretVisibility(); | 1394 view_->ApplyCaretVisibility(); |
1394 } | 1395 } |
OLD | NEW |