| Index: chrome/browser/chromeos/arc/extensions/fake_arc_support.cc
|
| diff --git a/chrome/browser/chromeos/arc/extensions/fake_arc_support.cc b/chrome/browser/chromeos/arc/extensions/fake_arc_support.cc
|
| index 2b2063ac1c8d92f58eea59e8d079e6ccbe820a82..1479710fd46ee07f59fb5139e7e16d2e2512bb31 100644
|
| --- a/chrome/browser/chromeos/arc/extensions/fake_arc_support.cc
|
| +++ b/chrome/browser/chromeos/arc/extensions/fake_arc_support.cc
|
| @@ -24,8 +24,9 @@ FakeArcSupport::FakeArcSupport(ArcSupportHost* support_host)
|
|
|
| FakeArcSupport::~FakeArcSupport() {
|
| // Ensure that message host is disconnected.
|
| - if (native_message_host_)
|
| - Close();
|
| + if (!native_message_host_)
|
| + return;
|
| + UnsetMessageHost();
|
| }
|
|
|
| void FakeArcSupport::Open(Profile* profile) {
|
| @@ -39,13 +40,24 @@ void FakeArcSupport::Open(Profile* profile) {
|
| void FakeArcSupport::Close() {
|
| DCHECK(native_message_host_);
|
| native_message_host_->OnMessage("{\"event\": \"onWindowClosed\"}");
|
| - support_host_->UnsetMessageHost(
|
| - static_cast<ArcSupportMessageHost*>(native_message_host_.get()));
|
| - native_message_host_.reset();
|
| + UnsetMessageHost();
|
| }
|
|
|
| -void FakeArcSupport::ClickAgreeButton() {
|
| +void FakeArcSupport::EmulateAuthCodeResponse(const std::string& auth_code) {
|
| + DCHECK_EQ(ui_page_, ArcSupportHost::UIPage::LSO);
|
| + base::DictionaryValue message;
|
| + message.SetString("event", "onAuthSucceeded");
|
| + message.SetString("code", auth_code);
|
| + OnMessage(message);
|
| +}
|
| +
|
| +void FakeArcSupport::EmulateAuthFailure() {
|
| DCHECK(native_message_host_);
|
| + DCHECK_EQ(ui_page_, ArcSupportHost::UIPage::LSO);
|
| + native_message_host_->OnMessage("{\"event\": \"onAuthFailed\"}");
|
| +}
|
| +
|
| +void FakeArcSupport::ClickAgreeButton() {
|
| DCHECK_EQ(ui_page_, ArcSupportHost::UIPage::TERMS);
|
|
|
| base::DictionaryValue message;
|
| @@ -53,13 +65,7 @@ void FakeArcSupport::ClickAgreeButton() {
|
| message.SetBoolean("isMetricsEnabled", metrics_mode_);
|
| message.SetBoolean("isBackupRestoreEnabled", backup_and_restore_mode_);
|
| message.SetBoolean("isLocationServiceEnabled", location_service_mode_);
|
| -
|
| - std::string message_string;
|
| - if (!base::JSONWriter::Write(message, &message_string)) {
|
| - NOTREACHED();
|
| - return;
|
| - }
|
| - native_message_host_->OnMessage(message_string);
|
| + OnMessage(message);
|
| }
|
|
|
| void FakeArcSupport::ClickRetryButton() {
|
| @@ -68,6 +74,18 @@ void FakeArcSupport::ClickRetryButton() {
|
| native_message_host_->OnMessage("{\"event\": \"onRetryClicked\"}");
|
| }
|
|
|
| +void FakeArcSupport::ClickSendFeedbackButton() {
|
| + DCHECK(native_message_host_);
|
| + DCHECK_EQ(ui_page_, ArcSupportHost::UIPage::ERROR);
|
| + native_message_host_->OnMessage("{\"event\": \"onSendFeedbackClicked\"}");
|
| +}
|
| +
|
| +void FakeArcSupport::UnsetMessageHost() {
|
| + support_host_->UnsetMessageHost(
|
| + static_cast<ArcSupportMessageHost*>(native_message_host_.get()));
|
| + native_message_host_.reset();
|
| +}
|
| +
|
| void FakeArcSupport::PostMessageFromNativeHost(
|
| const std::string& message_string) {
|
| std::unique_ptr<base::DictionaryValue> message =
|
| @@ -124,4 +142,14 @@ void FakeArcSupport::CloseChannel(const std::string& error_message) {
|
| NOTREACHED();
|
| }
|
|
|
| +void FakeArcSupport::OnMessage(const base::DictionaryValue& message) {
|
| + DCHECK(native_message_host_);
|
| + std::string message_string;
|
| + if (!base::JSONWriter::Write(message, &message_string)) {
|
| + NOTREACHED();
|
| + return;
|
| + }
|
| + native_message_host_->OnMessage(message_string);
|
| +}
|
| +
|
| } // namespace arc
|
|
|