Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1649)

Side by Side Diff: components/translate/core/browser/translate_manager.cc

Issue 2822383002: check network connectivity in onPageTranslated callback. (Closed)
Patch Set: add unit tests Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "components/translate/core/browser/translate_manager.h" 5 #include "components/translate/core/browser/translate_manager.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 // Trigger the "translating now" UI. 354 // Trigger the "translating now" UI.
355 translate_client_->ShowTranslateUI( 355 translate_client_->ShowTranslateUI(
356 translate::TRANSLATE_STEP_TRANSLATING, source_lang, target_lang, 356 translate::TRANSLATE_STEP_TRANSLATING, source_lang, target_lang,
357 TranslateErrors::NONE, triggered_from_menu); 357 TranslateErrors::NONE, triggered_from_menu);
358 358
359 TranslateScript* script = TranslateDownloadManager::GetInstance()->script(); 359 TranslateScript* script = TranslateDownloadManager::GetInstance()->script();
360 DCHECK(script != NULL); 360 DCHECK(script != NULL);
361 361
362 const std::string& script_data = script->data(); 362 const std::string& script_data = script->data();
363 if (!script_data.empty()) { 363 if (!script_data.empty()) {
364 if (net::NetworkChangeNotifier::IsOffline()) {
365 translate_client_->ShowTranslateUI(
366 translate::TRANSLATE_STEP_TRANSLATE_ERROR, source_lang, target_lang,
367 TranslateErrors::NETWORK, false);
368 return;
369 }
370
364 DoTranslatePage(script_data, source_lang, target_lang); 371 DoTranslatePage(script_data, source_lang, target_lang);
365 return; 372 return;
366 } 373 }
367 374
368 // The script is not available yet. Queue that request and query for the 375 // The script is not available yet. Queue that request and query for the
369 // script. Once it is downloaded we'll do the translate. 376 // script. Once it is downloaded we'll do the translate.
370 TranslateScript::RequestCallback callback = 377 TranslateScript::RequestCallback callback =
371 base::Bind(&TranslateManager::OnTranslateScriptFetchComplete, 378 base::Bind(&TranslateManager::OnTranslateScriptFetchComplete,
372 GetWeakPtr(), source_lang, target_lang); 379 GetWeakPtr(), source_lang, target_lang);
373 380
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 source_language) && 608 source_language) &&
602 !ShouldOverrideDecision( 609 !ShouldOverrideDecision(
603 metrics::TranslateEventProto::LANGUAGE_DISABLED_BY_AUTO_BLACKLIST)) { 610 metrics::TranslateEventProto::LANGUAGE_DISABLED_BY_AUTO_BLACKLIST)) {
604 return true; 611 return true;
605 } 612 }
606 613
607 return false; 614 return false;
608 } 615 }
609 616
610 } // namespace translate 617 } // namespace translate
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698