Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/translate/translate_service.h" | 5 #include "chrome/browser/translate/translate_service.h" |
| 6 | 6 |
| 7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
| 8 #include "chrome/browser/translate/translate_manager.h" | 8 #include "chrome/browser/translate/translate_manager.h" |
| 9 #include "components/translate/core/browser/translate_download_manager.h" | 9 #include "components/translate/core/browser/translate_download_manager.h" |
| 10 | 10 |
| 11 namespace { | |
| 12 // The singleton instance of TranslateService. | |
| 13 TranslateService* g_translate_service = NULL; | |
| 14 } | |
| 15 | |
| 16 TranslateService::TranslateService() { | |
| 17 resource_request_allowed_notifier_.Init(this); | |
| 18 } | |
| 19 | |
| 20 TranslateService::~TranslateService() {} | |
| 21 | |
| 11 // static | 22 // static |
| 12 void TranslateService::Initialize() { | 23 void TranslateService::Initialize() { |
| 24 if (g_translate_service) | |
| 25 return; | |
| 26 | |
| 27 g_translate_service = new TranslateService; | |
| 28 g_translate_service->OnResourceRequestsAllowed(); | |
|
MAD
2014/02/03 14:02:43
I would add a comment here stating why we make thi
| |
| 13 // Create the TranslateManager singleton. | 29 // Create the TranslateManager singleton. |
| 14 TranslateManager::GetInstance(); | 30 TranslateManager::GetInstance(); |
| 15 TranslateDownloadManager* download_manager = | 31 TranslateDownloadManager* download_manager = |
| 16 TranslateDownloadManager::GetInstance(); | 32 TranslateDownloadManager::GetInstance(); |
| 17 download_manager->set_request_context( | 33 download_manager->set_request_context( |
| 18 g_browser_process->system_request_context()); | 34 g_browser_process->system_request_context()); |
| 19 download_manager->set_application_locale( | 35 download_manager->set_application_locale( |
| 20 g_browser_process->GetApplicationLocale()); | 36 g_browser_process->GetApplicationLocale()); |
| 21 } | 37 } |
| 22 | 38 |
| 23 // static | 39 // static |
| 24 void TranslateService::Shutdown(bool cleanup_pending_fetcher) { | 40 void TranslateService::Shutdown(bool cleanup_pending_fetcher) { |
| 25 if (cleanup_pending_fetcher) | 41 TranslateDownloadManager* download_manager = |
| 42 TranslateDownloadManager::GetInstance(); | |
| 43 if (cleanup_pending_fetcher) { | |
| 26 TranslateManager::GetInstance()->CleanupPendingUlrFetcher(); | 44 TranslateManager::GetInstance()->CleanupPendingUlrFetcher(); |
| 27 TranslateDownloadManager::GetInstance()->set_request_context(NULL); | 45 download_manager->Shutdown(); |
| 46 } | |
| 47 download_manager->set_request_context(NULL); | |
|
MAD
2014/02/03 14:02:43
Seems weird to call this after calling Shutdown ab
| |
| 28 } | 48 } |
| 49 | |
| 50 void TranslateService::OnResourceRequestsAllowed() { | |
| 51 TranslateLanguageList* language_list = | |
| 52 TranslateDownloadManager::GetInstance()->language_list(); | |
| 53 if (!language_list) { | |
| 54 NOTREACHED(); | |
| 55 return; | |
| 56 } | |
| 57 | |
| 58 language_list->SetResourceRequestsAllowed( | |
| 59 resource_request_allowed_notifier_.ResourceRequestsAllowed()); | |
| 60 } | |
| OLD | NEW |