OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/extensions/api/history/history_api.h" | 5 #include "chrome/browser/extensions/api/history/history_api.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "chrome/browser/history/history_service.h" | 23 #include "chrome/browser/history/history_service.h" |
24 #include "chrome/browser/history/history_service_factory.h" | 24 #include "chrome/browser/history/history_service_factory.h" |
25 #include "chrome/browser/history/history_types.h" | 25 #include "chrome/browser/history/history_types.h" |
26 #include "chrome/browser/profiles/profile.h" | 26 #include "chrome/browser/profiles/profile.h" |
27 #include "chrome/common/chrome_switches.h" | 27 #include "chrome/common/chrome_switches.h" |
28 #include "chrome/common/extensions/api/history.h" | 28 #include "chrome/common/extensions/api/history.h" |
29 #include "chrome/common/pref_names.h" | 29 #include "chrome/common/pref_names.h" |
30 #include "content/public/browser/notification_details.h" | 30 #include "content/public/browser/notification_details.h" |
31 #include "content/public/browser/notification_source.h" | 31 #include "content/public/browser/notification_source.h" |
32 #include "extensions/browser/event_router.h" | 32 #include "extensions/browser/event_router.h" |
33 #include "extensions/browser/extension_system.h" | |
34 #include "extensions/browser/extension_system_provider.h" | 33 #include "extensions/browser/extension_system_provider.h" |
35 #include "extensions/browser/extensions_browser_client.h" | 34 #include "extensions/browser/extensions_browser_client.h" |
36 | 35 |
37 namespace extensions { | 36 namespace extensions { |
38 | 37 |
39 using api::history::HistoryItem; | 38 using api::history::HistoryItem; |
40 using api::history::VisitItem; | 39 using api::history::VisitItem; |
41 using extensions::ActivityLog; | 40 using extensions::ActivityLog; |
42 | 41 |
43 typedef std::vector<linked_ptr<api::history::HistoryItem> > | 42 typedef std::vector<linked_ptr<api::history::HistoryItem> > |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 removed.urls.reset(urls); | 185 removed.urls.reset(urls); |
187 | 186 |
188 scoped_ptr<base::ListValue> args = OnVisitRemoved::Create(removed); | 187 scoped_ptr<base::ListValue> args = OnVisitRemoved::Create(removed); |
189 DispatchEvent(profile, api::history::OnVisitRemoved::kEventName, args.Pass()); | 188 DispatchEvent(profile, api::history::OnVisitRemoved::kEventName, args.Pass()); |
190 } | 189 } |
191 | 190 |
192 void HistoryEventRouter::DispatchEvent( | 191 void HistoryEventRouter::DispatchEvent( |
193 Profile* profile, | 192 Profile* profile, |
194 const std::string& event_name, | 193 const std::string& event_name, |
195 scoped_ptr<base::ListValue> event_args) { | 194 scoped_ptr<base::ListValue> event_args) { |
196 if (profile && extensions::ExtensionSystem::Get(profile)->event_router()) { | 195 if (profile && extensions::EventRouter::Get(profile)) { |
197 scoped_ptr<extensions::Event> event(new extensions::Event( | 196 scoped_ptr<extensions::Event> event(new extensions::Event( |
198 event_name, event_args.Pass())); | 197 event_name, event_args.Pass())); |
199 event->restrict_to_browser_context = profile; | 198 event->restrict_to_browser_context = profile; |
200 extensions::ExtensionSystem::Get(profile)->event_router()-> | 199 extensions::EventRouter::Get(profile)->BroadcastEvent(event.Pass()); |
201 BroadcastEvent(event.Pass()); | |
202 } | 200 } |
203 } | 201 } |
204 | 202 |
205 HistoryAPI::HistoryAPI(content::BrowserContext* context) | 203 HistoryAPI::HistoryAPI(content::BrowserContext* context) |
206 : browser_context_(context) { | 204 : browser_context_(context) { |
207 ExtensionSystem::Get(browser_context_)->event_router()->RegisterObserver( | 205 EventRouter* event_router = EventRouter::Get(browser_context_); |
208 this, api::history::OnVisited::kEventName); | 206 event_router->RegisterObserver(this, api::history::OnVisited::kEventName); |
209 ExtensionSystem::Get(browser_context_)->event_router()->RegisterObserver( | 207 event_router->RegisterObserver(this, |
210 this, api::history::OnVisitRemoved::kEventName); | 208 api::history::OnVisitRemoved::kEventName); |
211 } | 209 } |
212 | 210 |
213 HistoryAPI::~HistoryAPI() { | 211 HistoryAPI::~HistoryAPI() { |
214 } | 212 } |
215 | 213 |
216 void HistoryAPI::Shutdown() { | 214 void HistoryAPI::Shutdown() { |
217 ExtensionSystem::Get(browser_context_)->event_router()->UnregisterObserver( | 215 EventRouter::Get(browser_context_)->UnregisterObserver(this); |
218 this); | |
219 } | 216 } |
220 | 217 |
221 static base::LazyInstance<BrowserContextKeyedAPIFactory<HistoryAPI> > | 218 static base::LazyInstance<BrowserContextKeyedAPIFactory<HistoryAPI> > |
222 g_factory = LAZY_INSTANCE_INITIALIZER; | 219 g_factory = LAZY_INSTANCE_INITIALIZER; |
223 | 220 |
224 // static | 221 // static |
225 BrowserContextKeyedAPIFactory<HistoryAPI>* HistoryAPI::GetFactoryInstance() { | 222 BrowserContextKeyedAPIFactory<HistoryAPI>* HistoryAPI::GetFactoryInstance() { |
226 return g_factory.Pointer(); | 223 return g_factory.Pointer(); |
227 } | 224 } |
228 | 225 |
229 template <> | 226 template <> |
230 void BrowserContextKeyedAPIFactory<HistoryAPI>::DeclareFactoryDependencies() { | 227 void BrowserContextKeyedAPIFactory<HistoryAPI>::DeclareFactoryDependencies() { |
231 DependsOn(ActivityLog::GetFactoryInstance()); | 228 DependsOn(ActivityLog::GetFactoryInstance()); |
232 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); | 229 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); |
233 } | 230 } |
234 | 231 |
235 void HistoryAPI::OnListenerAdded(const EventListenerInfo& details) { | 232 void HistoryAPI::OnListenerAdded(const EventListenerInfo& details) { |
236 history_event_router_.reset( | 233 history_event_router_.reset( |
237 new HistoryEventRouter(Profile::FromBrowserContext(browser_context_))); | 234 new HistoryEventRouter(Profile::FromBrowserContext(browser_context_))); |
238 ExtensionSystem::Get(browser_context_)->event_router()->UnregisterObserver( | 235 EventRouter::Get(browser_context_)->UnregisterObserver(this); |
239 this); | |
240 } | 236 } |
241 | 237 |
242 void HistoryFunction::Run() { | 238 void HistoryFunction::Run() { |
243 if (!RunImpl()) { | 239 if (!RunImpl()) { |
244 SendResponse(false); | 240 SendResponse(false); |
245 } | 241 } |
246 } | 242 } |
247 | 243 |
248 bool HistoryFunction::ValidateUrl(const std::string& url_string, GURL* url) { | 244 bool HistoryFunction::ValidateUrl(const std::string& url_string, GURL* url) { |
249 GURL temp_url(url_string); | 245 GURL temp_url(url_string); |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 } | 481 } |
486 | 482 |
487 return true; | 483 return true; |
488 } | 484 } |
489 | 485 |
490 void HistoryDeleteAllFunction::DeleteComplete() { | 486 void HistoryDeleteAllFunction::DeleteComplete() { |
491 SendAsyncResponse(); | 487 SendAsyncResponse(); |
492 } | 488 } |
493 | 489 |
494 } // namespace extensions | 490 } // namespace extensions |
OLD | NEW |