| Index: chrome/browser/chromeos/arc/optin/arc_terms_of_service_initial_oobe_negotiator_for_managed_user.h
|
| diff --git a/chrome/browser/chromeos/arc/optin/arc_terms_of_service_initial_oobe_negotiator_for_managed_user.h b/chrome/browser/chromeos/arc/optin/arc_terms_of_service_initial_oobe_negotiator_for_managed_user.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7193e33c21edcbfa6c2b07e26857b0bc05a8db61
|
| --- /dev/null
|
| +++ b/chrome/browser/chromeos/arc/optin/arc_terms_of_service_initial_oobe_negotiator_for_managed_user.h
|
| @@ -0,0 +1,48 @@
|
| +// Copyright 2016 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.
|
| +
|
| +#ifndef CHROME_BROWSER_CHROMEOS_ARC_OPTIN_ARC_TERMS_OF_SERVICE_INITIAL_OOBE_NEGOTIATOR_FOR_MANAGED_USER_H_
|
| +#define CHROME_BROWSER_CHROMEOS_ARC_OPTIN_ARC_TERMS_OF_SERVICE_INITIAL_OOBE_NEGOTIATOR_FOR_MANAGED_USER_H_
|
| +
|
| +#include "base/macros.h"
|
| +#include "chrome/browser/chromeos/arc/optin/arc_terms_of_service_negotiator.h"
|
| +#include "chrome/browser/chromeos/login/screens/arc_terms_of_service_screen_actor_observer.h"
|
| +
|
| +namespace arc {
|
| +
|
| +// Handles the Terms-of-service acceptance action for Arc managed user via OOBE
|
| +// OptIn UI. ArcTermsOfServiceInitialOobeNegotiatorForManagedUser is created
|
| +// after user passes GAIA credentials and before showing post wizard pages,
|
| +// including ARC OptIn OOBE. chromeos::ArcTermsOfServiceScreenActor is created
|
| +// during OOBE UI initialization and available on the moment of creation this
|
| +// negotiator. Once user accepts/rejects Terms Of Service, this event get
|
| +// dispatched to ArcSessionManager and this negotiator is deleted.
|
| +class ArcTermsOfServiceInitialOobeNegotiatorForManagedUser
|
| + : public ArcTermsOfServiceNegotiator,
|
| + public chromeos::ArcTermsOfServiceScreenActorObserver {
|
| + public:
|
| + ArcTermsOfServiceInitialOobeNegotiatorForManagedUser();
|
| + ~ArcTermsOfServiceInitialOobeNegotiatorForManagedUser() override;
|
| +
|
| + static void SetArcTermsOfServiceScreenActorForTesting(
|
| + chromeos::ArcTermsOfServiceScreenActor* actor);
|
| +
|
| + private:
|
| + void HandleTermsAccepted(bool accepted);
|
| +
|
| + // chromeos::ArcTermsOfServiceScreenActorObserver:
|
| + void OnSkip() override;
|
| + void OnAccept() override;
|
| + void OnActorDestroyed(chromeos::ArcTermsOfServiceScreenActor* actor) override;
|
| +
|
| + // ArcTermsOfServiceNegotiator:
|
| + void StartNegotiationImpl() override;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(
|
| + ArcTermsOfServiceInitialOobeNegotiatorForManagedUser);
|
| +};
|
| +
|
| +} // namespace arc
|
| +
|
| +#endif // CHROME_BROWSER_CHROMEOS_ARC_OPTIN_ARC_TERMS_OF_SERVICE_INITIAL_OOBE_NEGOTIATOR_FOR_MANAGED_USER_H_
|
|
|