// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_NOTIFICATION_MANAGER_H_ #define CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_NOTIFICATION_MANAGER_H_ #include <stdint.h> #include <vector> #include "base/functional/callback_forward.h" #include "base/gtest_prod_util.h" #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "build/chromeos_buildflags.h" #include "chrome/browser/push_messaging/budget_database.h" #include "extensions/buildflags/buildflags.h" class GURL; class Profile; // These values are persisted to logs. Entries should not be renumbered and // numeric values should never be reused. enum class SilentPushEvent { … }; namespace content { class WebContents; } // namespace content // Developers may be required to display a Web Notification in response to an // incoming push message in order to clarify to the user that something has // happened in the background. When they forget to do so, a default notification // has to be displayed on their behalf. // // This class implements the heuristics for determining whether the default // notification is necessary, as well as the functionality of displaying the // default notification when it is. // // See the following document and bug for more context: // https://docs.google.com/document/d/13VxFdLJbMwxHrvnpDm8RXnU41W2ZlcP0mdWWe9zXQT8/edit // https://crbug.com/437277 class PushMessagingNotificationManager { … }; #endif // CHROME_BROWSER_PUSH_MESSAGING_PUSH_MESSAGING_NOTIFICATION_MANAGER_H_