Index: chrome/browser/ui/search/instant_page.cc |
diff --git a/chrome/browser/ui/search/instant_page.cc b/chrome/browser/ui/search/instant_page.cc |
index e7a52752e499490ad950de8e43869b82e7bd0788..376a039615c7b4cb4e7cd01687574a68e2a808c4 100644 |
--- a/chrome/browser/ui/search/instant_page.cc |
+++ b/chrome/browser/ui/search/instant_page.cc |
@@ -122,6 +122,10 @@ bool InstantPage::ShouldProcessNavigateToURL() { |
return false; |
} |
+bool InstantPage::ShouldProcessPasteIntoOmnibox() { |
+ return false; |
+} |
+ |
bool InstantPage::ShouldProcessDeleteMostVisitedItem() { |
return false; |
} |
@@ -143,6 +147,8 @@ bool InstantPage::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_FocusOmnibox, OnFocusOmnibox) |
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SearchBoxNavigate, |
OnSearchBoxNavigate); |
+ IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SearchBoxPaste, |
+ OnSearchBoxPaste); |
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CountMouseover, OnCountMouseover); |
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_SearchBoxDeleteMostVisitedItem, |
OnDeleteMostVisitedItem); |
@@ -244,6 +250,17 @@ void InstantPage::OnSearchBoxNavigate(int page_id, |
contents(), url, transition, disposition, is_search_type); |
} |
+void InstantPage::OnSearchBoxPaste(int page_id, const string16& text) { |
+ if (!contents()->IsActiveEntry(page_id)) |
+ return; |
+ |
+ SearchTabHelper::FromWebContents(contents())->InstantSupportChanged(true); |
+ if (!ShouldProcessPasteIntoOmnibox()) |
+ return; |
+ |
+ delegate_->PasteIntoOmnibox(contents(), text); |
+} |
+ |
void InstantPage::OnCountMouseover(int page_id) { |
if (!contents()->IsActiveEntry(page_id)) |
return; |