Chromium Code Reviews| Index: chrome/browser/chromeos/arc/optin/arc_terms_of_service_default_negotiator.h |
| diff --git a/chrome/browser/chromeos/arc/optin/arc_terms_of_service_negotiator.h b/chrome/browser/chromeos/arc/optin/arc_terms_of_service_default_negotiator.h |
| similarity index 55% |
| copy from chrome/browser/chromeos/arc/optin/arc_terms_of_service_negotiator.h |
| copy to chrome/browser/chromeos/arc/optin/arc_terms_of_service_default_negotiator.h |
| index 41871dde0650cd555c942837cb825cf9b71e3246..75542e390ad52c4e0254e7353355be0bd6c62532 100644 |
| --- a/chrome/browser/chromeos/arc/optin/arc_terms_of_service_negotiator.h |
| +++ b/chrome/browser/chromeos/arc/optin/arc_terms_of_service_default_negotiator.h |
| @@ -2,8 +2,8 @@ |
| // 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_NEGOTIATOR_H_ |
| -#define CHROME_BROWSER_CHROMEOS_ARC_OPTIN_ARC_TERMS_OF_SERVICE_NEGOTIATOR_H_ |
| +#ifndef CHROME_BROWSER_CHROMEOS_ARC_OPTIN_ARC_TERMS_OF_SERVICE_DEFAULT_NEGOTIATOR_H_ |
| +#define CHROME_BROWSER_CHROMEOS_ARC_OPTIN_ARC_TERMS_OF_SERVICE_DEFAULT_NEGOTIATOR_H_ |
| #include <memory> |
| #include <string> |
| @@ -12,6 +12,7 @@ |
| #include "base/macros.h" |
| #include "chrome/browser/chromeos/arc/arc_support_host.h" |
| #include "chrome/browser/chromeos/arc/optin/arc_optin_preference_handler_observer.h" |
| +#include "chrome/browser/chromeos/arc/optin/arc_terms_of_service_negotiator.h" |
| class PrefService; |
| @@ -19,22 +20,20 @@ namespace arc { |
| class ArcOptInPreferenceHandler; |
| -// Handles the Terms-of-service agreement user action. |
| -class ArcTermsOfServiceNegotiator : public ArcSupportHost::Observer, |
| - public ArcOptInPreferenceHandlerObserver { |
| +// Handles the Terms-of-service agreement user action via default OptIn UI. |
| +class ArcTermsOfServiceDefaultNegotiator |
| + : public ArcTermsOfServiceNegotiator, |
| + public ArcSupportHost::Observer, |
| + public ArcOptInPreferenceHandlerObserver { |
| public: |
| - ArcTermsOfServiceNegotiator(PrefService* pref_service, |
| - ArcSupportHost* support_host); |
| - ~ArcTermsOfServiceNegotiator() override; |
| + ArcTermsOfServiceDefaultNegotiator(PrefService* pref_service, |
| + ArcSupportHost* support_host); |
| + ~ArcTermsOfServiceDefaultNegotiator() override; |
| - // Shows "Terms of service" page on ARC support Chrome App. Invokes the |
| - // |callback| asynchronously with "|agreed| = true" if user agrees it. |
| - // Otherwise (e.g., user clicks "Cancel" or closes the window), invokes |
| - // |callback| with |agreed| = false. |
| - // Deleting this instance cancels the operation, so |callback| will never |
| - // be invoked then. |
| - using NegotiationCallback = base::Callback<void(bool accepted)>; |
| - void StartNegotiation(const NegotiationCallback& callback); |
| + protected: |
|
hidehiko
2016/12/19 15:49:44
I think this can be private.
khmel
2016/12/19 17:48:10
Done.
|
| + // ArcTermsOfServiceNegotiator: |
| + // Shows "Terms of service" page on ARC support Chrome App. |
| + void StartNegotiationImpl() override; |
| private: |
| // ArcSupportHost::Observer: |
| @@ -55,12 +54,11 @@ class ArcTermsOfServiceNegotiator : public ArcSupportHost::Observer, |
| // Owned by ArcSessionManager. |
| ArcSupportHost* const support_host_; |
| - NegotiationCallback pending_callback_; |
| std::unique_ptr<ArcOptInPreferenceHandler> preference_handler_; |
| - DISALLOW_COPY_AND_ASSIGN(ArcTermsOfServiceNegotiator); |
| + DISALLOW_COPY_AND_ASSIGN(ArcTermsOfServiceDefaultNegotiator); |
| }; |
| } // namespace arc |
| -#endif // CHROME_BROWSER_CHROMEOS_ARC_OPTIN_ARC_TERMS_OF_SERVICE_NEGOTIATOR_H_ |
| +#endif // CHROME_BROWSER_CHROMEOS_ARC_OPTIN_ARC_TERMS_OF_SERVICE_DEFAULT_NEGOTIATOR_H_ |