Chromium Code Reviews| Index: components/autofill/browser/autocomplete_history_manager.cc |
| diff --git a/components/autofill/browser/autocomplete_history_manager.cc b/components/autofill/browser/autocomplete_history_manager.cc |
| index 2f6ce6356e20b0887005d98542ec8c9338fdc875..bff521cb899e66bb35c281fd15efe4a00eceaa55 100644 |
| --- a/components/autofill/browser/autocomplete_history_manager.cc |
| +++ b/components/autofill/browser/autocomplete_history_manager.cc |
| @@ -9,6 +9,7 @@ |
| #include "base/prefs/pref_service.h" |
| #include "base/strings/string16.h" |
| #include "base/strings/utf_string_conversions.h" |
| +#include "components/autofill/browser/autofill_driver.h" |
| #include "components/autofill/browser/autofill_external_delegate.h" |
| #include "components/autofill/browser/validation.h" |
| #include "components/autofill/common/autofill_messages.h" |
| @@ -18,6 +19,7 @@ |
| #include "content/public/browser/browser_context.h" |
| #include "content/public/browser/render_view_host.h" |
| #include "content/public/browser/web_contents.h" |
| +#include "ipc/ipc_message_macros.h" |
| using content::BrowserContext; |
| using content::WebContents; |
| @@ -42,14 +44,15 @@ bool IsTextField(const FormFieldData& field) { |
| } // namespace |
| AutocompleteHistoryManager::AutocompleteHistoryManager( |
| - WebContents* web_contents) |
| - : content::WebContentsObserver(web_contents), |
| - browser_context_(web_contents->GetBrowserContext()), |
| + AutofillDriver* driver) |
|
Ilya Sherman
2013/06/12 00:07:46
nit: Looks like this fits on the previous line.
blundell
2013/06/12 16:29:37
Done.
|
| + : browser_context_(driver->GetWebContents()->GetBrowserContext()), |
| + driver_(driver), |
| autofill_data_( |
| AutofillWebDataService::FromBrowserContext(browser_context_)), |
| pending_query_handle_(0), |
| query_id_(0), |
| - external_delegate_(NULL) { |
| + external_delegate_(NULL), |
| + send_IPC_(true) { |
| autofill_enabled_.Init( |
| prefs::kAutofillEnabled, |
| user_prefs::UserPrefs::Get(browser_context_)); |
| @@ -59,17 +62,6 @@ AutocompleteHistoryManager::~AutocompleteHistoryManager() { |
| CancelPendingQuery(); |
| } |
| -bool AutocompleteHistoryManager::OnMessageReceived( |
| - const IPC::Message& message) { |
| - bool handled = true; |
| - IPC_BEGIN_MESSAGE_MAP(AutocompleteHistoryManager, message) |
| - IPC_MESSAGE_HANDLER(AutofillHostMsg_RemoveAutocompleteEntry, |
| - OnRemoveAutocompleteEntry) |
| - IPC_MESSAGE_UNHANDLED(handled = false) |
| - IPC_END_MESSAGE_MAP() |
| - return handled; |
| -} |
| - |
| void AutocompleteHistoryManager::OnWebDataServiceRequestDone( |
| WebDataServiceBase::Handle h, |
| const WDTypedResult* result) { |
| @@ -207,12 +199,16 @@ void AutocompleteHistoryManager::SendSuggestions( |
| autofill_icons_, |
| autofill_unique_ids_); |
| } else { |
| - Send(new AutofillMsg_SuggestionsReturned(routing_id(), |
| - query_id_, |
| - autofill_values_, |
| - autofill_labels_, |
| - autofill_icons_, |
| - autofill_unique_ids_)); |
| + WebContents* web_contents = driver_->GetWebContents(); |
| + if (web_contents) { |
|
blundell
2013/06/12 16:29:37
This is where send_ipc_ should have been used (and
|
| + web_contents->Send( |
| + new AutofillMsg_SuggestionsReturned(web_contents->GetRoutingID(), |
| + query_id_, |
| + autofill_values_, |
| + autofill_labels_, |
| + autofill_icons_, |
| + autofill_unique_ids_)); |
| + } |
| } |
| query_id_ = 0; |