Index: chrome/renderer/searchbox/searchbox.cc |
diff --git a/chrome/renderer/searchbox/searchbox.cc b/chrome/renderer/searchbox/searchbox.cc |
index d72a60cb974e1980cc468d7c80dacee9f005c40e..5130222bba2615eff921b21a6cb7a10048beb304 100644 |
--- a/chrome/renderer/searchbox/searchbox.cc |
+++ b/chrome/renderer/searchbox/searchbox.cc |
@@ -67,6 +67,7 @@ SearchBox::SearchBox(content::RenderView* render_view) |
is_key_capture_enabled_(false), |
display_instant_results_(false), |
omnibox_font_size_(0), |
+ is_focused_(false), |
autocomplete_results_cache_(kMaxInstantAutocompleteResultItemCacheSize), |
most_visited_items_cache_(kMaxInstantMostVisitedItemCacheSize) { |
} |
@@ -209,6 +210,8 @@ bool SearchBox::OnMessageReceived(const IPC::Message& message) { |
OnFontInformationReceived) |
IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxMostVisitedItemsChanged, |
OnMostVisitedChanged) |
+ IPC_MESSAGE_HANDLER(ChromeViewMsg_SearchBoxFocusChanged, |
+ OnFocusChanged) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -442,3 +445,11 @@ bool SearchBox::GetMostVisitedItemWithID( |
return most_visited_items_cache_.GetItemWithRestrictedID(most_visited_item_id, |
item); |
} |
+ |
+void SearchBox::OnFocusChanged(bool is_focused) { |
+ is_focused_ = is_focused; |
+ if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) { |
+ extensions_v8::SearchBoxExtension::DispatchFocusChange( |
+ render_view()->GetWebView()->mainFrame()); |
+ } |
+} |