OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/search_engines/search_engine_tab_helper.h" | 5 #include "chrome/browser/ui/search_engines/search_engine_tab_helper.h" |
6 | 6 |
7 #include "chrome/browser/profiles/profile.h" | 7 #include "chrome/browser/profiles/profile.h" |
8 #include "chrome/browser/search_engines/template_url.h" | 8 #include "chrome/browser/search_engines/template_url.h" |
9 #include "chrome/browser/search_engines/template_url_fetcher.h" | 9 #include "chrome/browser/search_engines/template_url_fetcher.h" |
10 #include "chrome/browser/search_engines/template_url_service.h" | 10 #include "chrome/browser/search_engines/template_url_service.h" |
11 #include "chrome/browser/search_engines/template_url_service_factory.h" | 11 #include "chrome/browser/search_engines/template_url_service_factory.h" |
12 #include "chrome/browser/ui/search_engines/template_url_fetcher_ui_callbacks.h" | 12 #include "chrome/browser/ui/search_engines/template_url_fetcher_ui_callbacks.h" |
13 #include "chrome/common/render_messages.h" | 13 #include "chrome/common/render_messages.h" |
14 #include "content/common/view_messages.h" | |
15 #include "content/browser/tab_contents/tab_contents.h" | 14 #include "content/browser/tab_contents/tab_contents.h" |
| 15 #include "content/public/common/frame_navigate_params.h" |
16 | 16 |
17 namespace { | 17 namespace { |
18 | 18 |
19 // Returns true if the entry's transition type is FORM_SUBMIT. | 19 // Returns true if the entry's transition type is FORM_SUBMIT. |
20 bool IsFormSubmit(const NavigationEntry* entry) { | 20 bool IsFormSubmit(const NavigationEntry* entry) { |
21 return (content::PageTransitionStripQualifier(entry->transition_type()) == | 21 return (content::PageTransitionStripQualifier(entry->transition_type()) == |
22 content::PAGE_TRANSITION_FORM_SUBMIT); | 22 content::PAGE_TRANSITION_FORM_SUBMIT); |
23 } | 23 } |
24 | 24 |
25 } // namespace | 25 } // namespace |
26 | 26 |
27 SearchEngineTabHelper::SearchEngineTabHelper(TabContents* tab_contents) | 27 SearchEngineTabHelper::SearchEngineTabHelper(TabContents* tab_contents) |
28 : TabContentsObserver(tab_contents) { | 28 : TabContentsObserver(tab_contents) { |
29 DCHECK(tab_contents); | 29 DCHECK(tab_contents); |
30 } | 30 } |
31 | 31 |
32 SearchEngineTabHelper::~SearchEngineTabHelper() { | 32 SearchEngineTabHelper::~SearchEngineTabHelper() { |
33 } | 33 } |
34 | 34 |
35 void SearchEngineTabHelper::DidNavigateMainFrame( | 35 void SearchEngineTabHelper::DidNavigateMainFrame( |
36 const content::LoadCommittedDetails& /*details*/, | 36 const content::LoadCommittedDetails& /*details*/, |
37 const ViewHostMsg_FrameNavigate_Params& params) { | 37 const content::FrameNavigateParams& params) { |
38 GenerateKeywordIfNecessary(params); | 38 GenerateKeywordIfNecessary(params); |
39 } | 39 } |
40 | 40 |
41 bool SearchEngineTabHelper::OnMessageReceived(const IPC::Message& message) { | 41 bool SearchEngineTabHelper::OnMessageReceived(const IPC::Message& message) { |
42 bool handled = true; | 42 bool handled = true; |
43 IPC_BEGIN_MESSAGE_MAP(SearchEngineTabHelper, message) | 43 IPC_BEGIN_MESSAGE_MAP(SearchEngineTabHelper, message) |
44 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_PageHasOSDD, OnPageHasOSDD) | 44 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_PageHasOSDD, OnPageHasOSDD) |
45 IPC_MESSAGE_UNHANDLED(handled = false) | 45 IPC_MESSAGE_UNHANDLED(handled = false) |
46 IPC_END_MESSAGE_MAP() | 46 IPC_END_MESSAGE_MAP() |
47 | 47 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 // new keyword will be created when done. | 120 // new keyword will be created when done. |
121 profile->GetTemplateURLFetcher()->ScheduleDownload( | 121 profile->GetTemplateURLFetcher()->ScheduleDownload( |
122 keyword, | 122 keyword, |
123 doc_url, | 123 doc_url, |
124 base_entry->favicon().url(), | 124 base_entry->favicon().url(), |
125 new TemplateURLFetcherUICallbacks(this, tab_contents()), | 125 new TemplateURLFetcherUICallbacks(this, tab_contents()), |
126 provider_type); | 126 provider_type); |
127 } | 127 } |
128 | 128 |
129 void SearchEngineTabHelper::GenerateKeywordIfNecessary( | 129 void SearchEngineTabHelper::GenerateKeywordIfNecessary( |
130 const ViewHostMsg_FrameNavigate_Params& params) { | 130 const content::FrameNavigateParams& params) { |
131 if (!params.searchable_form_url.is_valid()) | 131 if (!params.searchable_form_url.is_valid()) |
132 return; | 132 return; |
133 | 133 |
134 Profile* profile = | 134 Profile* profile = |
135 Profile::FromBrowserContext(tab_contents()->browser_context()); | 135 Profile::FromBrowserContext(tab_contents()->browser_context()); |
136 if (profile->IsOffTheRecord()) | 136 if (profile->IsOffTheRecord()) |
137 return; | 137 return; |
138 | 138 |
139 const NavigationController& controller = tab_contents()->controller(); | 139 const NavigationController& controller = tab_contents()->controller(); |
140 int last_index = controller.last_committed_entry_index(); | 140 int last_index = controller.last_committed_entry_index(); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 // The favicon url isn't valid. This means there really isn't a favicon, | 196 // The favicon url isn't valid. This means there really isn't a favicon, |
197 // or the favicon url wasn't obtained before the load started. This assumes | 197 // or the favicon url wasn't obtained before the load started. This assumes |
198 // the later. | 198 // the later. |
199 // TODO(sky): Need a way to set the favicon that doesn't involve generating | 199 // TODO(sky): Need a way to set the favicon that doesn't involve generating |
200 // its url. | 200 // its url. |
201 new_url->SetFaviconURL(TemplateURL::GenerateFaviconURL(params.referrer)); | 201 new_url->SetFaviconURL(TemplateURL::GenerateFaviconURL(params.referrer)); |
202 } | 202 } |
203 new_url->set_safe_for_autoreplace(true); | 203 new_url->set_safe_for_autoreplace(true); |
204 url_service->Add(new_url); | 204 url_service->Add(new_url); |
205 } | 205 } |
OLD | NEW |