blob: de47ab595980d4034885286b3877b9e3b5f2b3f6 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/translate/translate_test_utils.h"
#include "chrome/browser/translate/chrome_translate_client.h"
#include "content/public/browser/web_contents.h"
namespace translate {
TranslateWaiter::TranslateWaiter(content::WebContents* web_contents,
WaitEvent wait_event)
: wait_event_(wait_event) {
scoped_observer_.Add(
ChromeTranslateClient::FromWebContents(web_contents)->translate_driver());
}
TranslateWaiter::~TranslateWaiter() = default;
void TranslateWaiter::Wait() {
run_loop_.Run();
}
// ContentTranslateDriver::Observer:
void TranslateWaiter::OnLanguageDetermined(
const LanguageDetectionDetails& details) {
if (wait_event_ == WaitEvent::kLanguageDetermined)
run_loop_.Quit();
}
void TranslateWaiter::OnPageTranslated(const std::string& original_lang,
const std::string& translated_lang,
TranslateErrors::Type error_type) {
if (wait_event_ == WaitEvent::kPageTranslated)
run_loop_.Quit();
}
} // namespace translate