Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/chromeos/arc/optin/arc_terms_of_service_oobe_negotiator .h" | 5 #include "chrome/browser/chromeos/arc/optin/arc_terms_of_service_oobe_negotiator .h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "chrome/browser/chromeos/login/screens/arc_terms_of_service_screen_acto r.h" | 8 #include "chrome/browser/chromeos/login/screens/arc_terms_of_service_screen_view .h" |
| 9 #include "chrome/browser/chromeos/login/ui/login_display_host.h" | 9 #include "chrome/browser/chromeos/login/ui/login_display_host.h" |
| 10 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" | 10 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" |
| 11 | 11 |
| 12 namespace arc { | 12 namespace arc { |
| 13 | 13 |
| 14 namespace { | 14 namespace { |
| 15 | 15 |
| 16 chromeos::ArcTermsOfServiceScreenActor* g_actor_for_testing = nullptr; | 16 chromeos::ArcTermsOfServiceScreenView* g_actor_for_testing = nullptr; |
|
hidehiko
2017/02/23 05:34:07
s/_actor_/_view_/ too?
jdufault
2017/02/24 00:40:15
Done.
| |
| 17 | 17 |
| 18 chromeos::ArcTermsOfServiceScreenActor* GetScreenActor() { | 18 chromeos::ArcTermsOfServiceScreenView* GetScreenView() { |
| 19 // Inject testing instance. | 19 // Inject testing instance. |
| 20 if (g_actor_for_testing) | 20 if (g_actor_for_testing) |
| 21 return g_actor_for_testing; | 21 return g_actor_for_testing; |
| 22 | 22 |
| 23 chromeos::LoginDisplayHost* host = chromeos::LoginDisplayHost::default_host(); | 23 chromeos::LoginDisplayHost* host = chromeos::LoginDisplayHost::default_host(); |
| 24 DCHECK(host); | 24 DCHECK(host); |
| 25 DCHECK(host->GetOobeUI()); | 25 DCHECK(host->GetOobeUI()); |
| 26 return host->GetOobeUI()->GetArcTermsOfServiceScreenActor(); | 26 return host->GetOobeUI()->GetArcTermsOfServiceScreenView(); |
| 27 } | 27 } |
| 28 | 28 |
| 29 } // namespace | 29 } // namespace |
| 30 | 30 |
| 31 // static | 31 // static |
| 32 void ArcTermsOfServiceOobeNegotiator::SetArcTermsOfServiceScreenActorForTesting( | 32 void ArcTermsOfServiceOobeNegotiator::SetArcTermsOfServiceScreenActorForTesting( |
| 33 chromeos::ArcTermsOfServiceScreenActor* actor) { | 33 chromeos::ArcTermsOfServiceScreenView* actor) { |
| 34 g_actor_for_testing = actor; | 34 g_actor_for_testing = actor; |
| 35 } | 35 } |
| 36 | 36 |
| 37 ArcTermsOfServiceOobeNegotiator::ArcTermsOfServiceOobeNegotiator() = default; | 37 ArcTermsOfServiceOobeNegotiator::ArcTermsOfServiceOobeNegotiator() = default; |
| 38 | 38 |
| 39 ArcTermsOfServiceOobeNegotiator::~ArcTermsOfServiceOobeNegotiator() { | 39 ArcTermsOfServiceOobeNegotiator::~ArcTermsOfServiceOobeNegotiator() { |
| 40 DCHECK(!screen_actor_); | 40 DCHECK(!screen_view_); |
| 41 } | 41 } |
| 42 | 42 |
| 43 void ArcTermsOfServiceOobeNegotiator::StartNegotiationImpl() { | 43 void ArcTermsOfServiceOobeNegotiator::StartNegotiationImpl() { |
| 44 DCHECK(!screen_actor_); | 44 DCHECK(!screen_view_); |
| 45 screen_actor_ = GetScreenActor(); | 45 screen_view_ = GetScreenView(); |
| 46 DCHECK(screen_actor_); | 46 DCHECK(screen_view_); |
| 47 screen_actor_->AddObserver(this); | 47 screen_view_->AddObserver(this); |
| 48 } | 48 } |
| 49 | 49 |
| 50 void ArcTermsOfServiceOobeNegotiator::HandleTermsAccepted(bool accepted) { | 50 void ArcTermsOfServiceOobeNegotiator::HandleTermsAccepted(bool accepted) { |
| 51 DCHECK(screen_actor_); | 51 DCHECK(screen_view_); |
| 52 screen_actor_->RemoveObserver(this); | 52 screen_view_->RemoveObserver(this); |
| 53 screen_actor_ = nullptr; | 53 screen_view_ = nullptr; |
| 54 ReportResult(accepted); | 54 ReportResult(accepted); |
| 55 } | 55 } |
| 56 | 56 |
| 57 void ArcTermsOfServiceOobeNegotiator::OnSkip() { | 57 void ArcTermsOfServiceOobeNegotiator::OnSkip() { |
| 58 HandleTermsAccepted(false); | 58 HandleTermsAccepted(false); |
| 59 } | 59 } |
| 60 | 60 |
| 61 void ArcTermsOfServiceOobeNegotiator::OnAccept() { | 61 void ArcTermsOfServiceOobeNegotiator::OnAccept() { |
| 62 HandleTermsAccepted(true); | 62 HandleTermsAccepted(true); |
| 63 } | 63 } |
| 64 | 64 |
| 65 void ArcTermsOfServiceOobeNegotiator::OnActorDestroyed( | 65 void ArcTermsOfServiceOobeNegotiator::OnViewDestroyed( |
| 66 chromeos::ArcTermsOfServiceScreenActor* actor) { | 66 chromeos::ArcTermsOfServiceScreenView* view) { |
| 67 DCHECK_EQ(actor, screen_actor_); | 67 DCHECK_EQ(view, screen_view_); |
| 68 HandleTermsAccepted(false); | 68 HandleTermsAccepted(false); |
| 69 } | 69 } |
| 70 | 70 |
| 71 } // namespace arc | 71 } // namespace arc |
| OLD | NEW |