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

Side by Side Diff: chrome/browser/autocomplete/autocomplete.cc

Issue 6340012: Fix a DCHECK failure in AutocompleteEditModel::OnPopupDataChanged() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update. Created 9 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/autocomplete/autocomplete.h" 5 #include "chrome/browser/autocomplete/autocomplete.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 // we're trying to only clear the popup, not touch the edit... this is all 788 // we're trying to only clear the popup, not touch the edit... this is all
789 // a mess and should be cleaned up :( 789 // a mess and should be cleaned up :(
790 } 790 }
791 latest_result_.CopyFrom(result_); 791 latest_result_.CopyFrom(result_);
792 } 792 }
793 793
794 void AutocompleteController::DeleteMatch(const AutocompleteMatch& match) { 794 void AutocompleteController::DeleteMatch(const AutocompleteMatch& match) {
795 DCHECK(match.deletable); 795 DCHECK(match.deletable);
796 match.provider->DeleteMatch(match); // This may synchronously call back to 796 match.provider->DeleteMatch(match); // This may synchronously call back to
797 // OnProviderUpdate(). 797 // OnProviderUpdate().
798 DCHECK(updated_latest_result_);
798 CommitResult(true); // Ensure any new result gets committed immediately. If 799 CommitResult(true); // Ensure any new result gets committed immediately. If
799 // it was committed already or hasn't been modified, this 800 // it was committed already or hasn't been modified, this
800 // is harmless. 801 // is harmless. We need to notify the edit box, because
802 // the default match may have been changed.
801 } 803 }
802 804
803 void AutocompleteController::CommitIfQueryHasNeverBeenCommitted() { 805 void AutocompleteController::CommitIfQueryHasNeverBeenCommitted() {
804 if (!have_committed_during_this_query_) 806 if (!have_committed_during_this_query_)
805 CommitResult(true); 807 CommitResult(true);
806 } 808 }
807 809
808 void AutocompleteController::OnProviderUpdate(bool updated_matches) { 810 void AutocompleteController::OnProviderUpdate(bool updated_matches) {
809 CheckIfDone(); 811 CheckIfDone();
810 if (updated_matches || done_) 812 if (updated_matches || done_)
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 void AutocompleteController::CheckIfDone() { 890 void AutocompleteController::CheckIfDone() {
889 for (ACProviders::const_iterator i(providers_.begin()); i != providers_.end(); 891 for (ACProviders::const_iterator i(providers_.begin()); i != providers_.end();
890 ++i) { 892 ++i) {
891 if (!(*i)->done()) { 893 if (!(*i)->done()) {
892 done_ = false; 894 done_ = false;
893 return; 895 return;
894 } 896 }
895 } 897 }
896 done_ = true; 898 done_ = true;
897 } 899 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698