| Index: ios/clean/chrome/browser/ui/overlays/overlay_service_impl.h
|
| diff --git a/ios/clean/chrome/browser/ui/overlays/overlay_service_impl.h b/ios/clean/chrome/browser/ui/overlays/overlay_service_impl.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3bb710c0e8cbd61212329a8d93e4748a8a95fc5d
|
| --- /dev/null
|
| +++ b/ios/clean/chrome/browser/ui/overlays/overlay_service_impl.h
|
| @@ -0,0 +1,53 @@
|
| +// Copyright 2017 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 IOS_CLEAN_CHROME_BROWSER_UI_OVERLAYS_OVERLAY_SERVICE_IMPL_H_
|
| +#define IOS_CLEAN_CHROME_BROWSER_UI_OVERLAYS_OVERLAY_SERVICE_IMPL_H_
|
| +
|
| +#import "ios/clean/chrome/browser/ui/overlays/overlay_service.h"
|
| +#import "ios/shared/chrome/browser/ui/browser_list/browser_list_observer.h"
|
| +
|
| +class BrowserList;
|
| +
|
| +// Concrete subclass of OverlayService.
|
| +class OverlayServiceImpl : public BrowserListObserver, public OverlayService {
|
| + public:
|
| + // Constructor for an OverlayService that schedules overlays for the Browsers
|
| + // in |browser_list|.
|
| + OverlayServiceImpl(BrowserList* browser_list);
|
| + ~OverlayServiceImpl() override = default;
|
| +
|
| + private:
|
| + // The BrowserList passed on implementation.
|
| + BrowserList* browser_list_;
|
| +
|
| + // BrowserListObserver:
|
| + void OnBrowserCreated(BrowserList* browser_list, Browser* browser) override;
|
| + void OnBrowserRemoved(BrowserList* browser_list, Browser* browser) override;
|
| +
|
| + // KeyedService:
|
| + void Shutdown() override;
|
| +
|
| + // OverlayService:
|
| + bool IsBrowserShowingOverlay(Browser* browser) const override;
|
| + void ReplaceVisibleOverlay(BrowserCoordinator* overlay_coordinator,
|
| + Browser* browser) override;
|
| + void ShowOverlayForWebState(BrowserCoordinator* overlay_coordinator,
|
| + web::WebState* web_state) override;
|
| + void SetWebStateParentCoordinator(BrowserCoordinator* parent_coordinator,
|
| + web::WebState* web_state) override;
|
| + void ShowOverlayForBrowser(BrowserCoordinator* overlay_coordinator,
|
| + BrowserCoordinator* parent_coordiantor,
|
| + Browser* browser) override;
|
| + void CancelOverlays() override;
|
| + void CancelOverlayForWebState(web::WebState* web_state) override;
|
| +
|
| + // Starts or stops an OverlayScheduler for |browser|.
|
| + void StartSchedulerForBrowser(Browser* browser);
|
| + void StopSchedulerForBrowser(Browser* browser);
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(OverlayServiceImpl);
|
| +};
|
| +
|
| +#endif // IOS_CLEAN_CHROME_BROWSER_UI_OVERLAYS_OVERLAY_SERVICE_IMPL_H_
|
|
|