910e62b5创建于 1月15日历史提交
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/badging/badge_manager_delegate_mac.h"

#include "chrome/browser/apps/app_shim/app_shim_manager_mac.h"
#include "chrome/browser/badging/badge_manager.h"

namespace badging {

BadgeManagerDelegateMac::BadgeManagerDelegateMac(Profile* profile,
                                                 BadgeManager* badge_manager)
    : BadgeManagerDelegate(profile, badge_manager) {}

void BadgeManagerDelegateMac::OnAppBadgeUpdated(const webapps::AppId& app_id) {
  const std::optional<BadgeManager::BadgeValue>& badge =
      badge_manager()->GetBadgeValue(app_id);

  auto* shim_manager = apps::AppShimManager::Get();
  if (!shim_manager) {
    return;
  }

  shim_manager->UpdateAppBadge(profile(), app_id, badge);
}

}  // namespace badging