// 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 "content/browser/sms/sms_queue.h" #include "base/functional/callback.h" #include "base/metrics/histogram_macros.h" #include "base/observer_list.h" namespace content { SmsQueue::SmsQueue() = default; SmsQueue::~SmsQueue() = default; void SmsQueue::Push(const OriginList& origin_list, Subscriber* subscriber) { … } SmsQueue::Subscriber* SmsQueue::Pop(const OriginList& origin_list) { … } void SmsQueue::Remove(const OriginList& origin_list, Subscriber* subscriber) { … } bool SmsQueue::HasSubscribers() { … } bool SmsQueue::HasSubscriber(const OriginList& origin_list, const Subscriber* subscriber) { … } // Currently we cannot extract the origin information upon failure because it's // not visible to the service. If we have a single origin in the queue we simply // assume failure belongs to that origin. This assumption should hold for vast // majority of cases given that a single pending origin is the most likely // scenario (confirmed by UMA histogram). However if there is more than one // origin waiting we do not pass up the error to avoid over-counting failures. // Similar to the success case, we only notify the first subscriber with that // origin. bool SmsQueue::NotifyFailure(FailureType failure_type) { … } } // namespace content