blob: efe38265508fe426147accdabbe0139657ff6503 [file] [log] [blame]
// Copyright 2019 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_BADGING_BADGE_MANAGER_DELEGATE_WIN_H_
#define CHROME_BROWSER_BADGING_BADGE_MANAGER_DELEGATE_WIN_H_
#include <string>
#include "base/optional.h"
#include "chrome/browser/badging/badge_manager_delegate.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/extensions/hosted_app_browser_controller.h"
class Profile;
namespace badging {
// Windows specific implementation of the BadgeManagerDelegate.
class BadgeManagerDelegateWin : public BadgeManagerDelegate {
public:
explicit BadgeManagerDelegateWin(Profile* profile);
void OnBadgeSet(const std::string& app_id,
base::Optional<uint64_t> contents) override;
void OnBadgeCleared(const std::string& app_id) override;
private:
// Determines if a browser is for a specific hosted app, on this profile.
bool IsAppBrowser(Browser* browser, const std::string& app_id);
};
} // namespace badging
#endif // CHROME_BROWSER_BADGING_BADGE_MANAGER_DELEGATE_WIN_H_