| 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/translate/translate_manager.h" | 5 #include "chrome/browser/translate/translate_manager.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| (...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 // We should know about this profile since we are listening for | 402 // We should know about this profile since we are listening for |
| 403 // notifications on it. | 403 // notifications on it. |
| 404 DCHECK(count == 1u); | 404 DCHECK(count == 1u); |
| 405 PrefChangeRegistrar* pref_change_registrar = | 405 PrefChangeRegistrar* pref_change_registrar = |
| 406 pref_change_registrars_[pref_service]; | 406 pref_change_registrars_[pref_service]; |
| 407 count = pref_change_registrars_.erase(pref_service); | 407 count = pref_change_registrars_.erase(pref_service); |
| 408 DCHECK(count == 1u); | 408 DCHECK(count == 1u); |
| 409 delete pref_change_registrar; | 409 delete pref_change_registrar; |
| 410 break; | 410 break; |
| 411 } | 411 } |
| 412 case chrome::NOTIFICATION_PREF_CHANGED: { | |
| 413 DCHECK(*content::Details<std::string>(details).ptr() == | |
| 414 prefs::kAcceptLanguages); | |
| 415 PrefService* prefs = content::Source<PrefService>(source).ptr(); | |
| 416 InitAcceptLanguages(prefs); | |
| 417 break; | |
| 418 } | |
| 419 default: | 412 default: |
| 420 NOTREACHED(); | 413 NOTREACHED(); |
| 421 } | 414 } |
| 422 } | 415 } |
| 423 | 416 |
| 417 void TranslateManager::OnPreferenceChanged(PrefServiceBase* service, |
| 418 const std::string& pref_name) { |
| 419 DCHECK_EQ(prefs::kAcceptLanguages, pref_name); |
| 420 InitAcceptLanguages(static_cast<PrefService*>(service)); |
| 421 } |
| 422 |
| 424 void TranslateManager::OnURLFetchComplete(const net::URLFetcher* source) { | 423 void TranslateManager::OnURLFetchComplete(const net::URLFetcher* source) { |
| 425 if (translate_script_request_pending_.get() != source && | 424 if (translate_script_request_pending_.get() != source && |
| 426 language_list_request_pending_.get() != source) { | 425 language_list_request_pending_.get() != source) { |
| 427 // Looks like crash on Mac is possibly caused with callback entering here | 426 // Looks like crash on Mac is possibly caused with callback entering here |
| 428 // with unknown fetcher when network is refreshed. | 427 // with unknown fetcher when network is refreshed. |
| 429 scoped_ptr<const net::URLFetcher> delete_ptr(source); | 428 scoped_ptr<const net::URLFetcher> delete_ptr(source); |
| 430 return; | 429 return; |
| 431 } | 430 } |
| 432 | 431 |
| 433 bool error = | 432 bool error = |
| (...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 925 | 924 |
| 926 for (size_t i = 0; i < infobar_helper->GetInfoBarCount(); ++i) { | 925 for (size_t i = 0; i < infobar_helper->GetInfoBarCount(); ++i) { |
| 927 TranslateInfoBarDelegate* delegate = | 926 TranslateInfoBarDelegate* delegate = |
| 928 infobar_helper->GetInfoBarDelegateAt(i)-> | 927 infobar_helper->GetInfoBarDelegateAt(i)-> |
| 929 AsTranslateInfoBarDelegate(); | 928 AsTranslateInfoBarDelegate(); |
| 930 if (delegate) | 929 if (delegate) |
| 931 return delegate; | 930 return delegate; |
| 932 } | 931 } |
| 933 return NULL; | 932 return NULL; |
| 934 } | 933 } |
| OLD | NEW |