#include "extensions/browser/events/event_ack_data.h"
#include <string>
#include <utility>
#include "base/containers/map_util.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/metrics/histogram_functions.h"
#include "base/uuid.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/service_worker_context.h"
#include "content/public/browser/service_worker_external_request_result.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_event_histogram_value.h"
namespace extensions {
namespace {
void EmitLateAckedEventTaskMetrics(const EventAckData::EventInfo& event_info) { … }
}
EventAckData::EventInfo::EventInfo(
const base::Uuid& request_uuid,
int render_process_id,
bool start_ok,
content::ServiceWorkerExternalRequestResult external_request_result,
base::TimeTicks dispatch_start_time,
EventDispatchSource dispatch_source,
bool lazy_background_active_on_dispatch,
const events::HistogramValue histogram_value)
: … { … }
EventAckData::EventInfo::EventInfo(EventInfo&& other) = default;
EventAckData::EventAckData() = default;
EventAckData::~EventAckData() = default;
void EventAckData::IncrementInflightEvent(
content::ServiceWorkerContext* context,
int render_process_id,
int64_t version_id,
int event_id,
base::TimeTicks dispatch_start_time,
EventDispatchSource dispatch_source,
bool lazy_background_active_on_dispatch,
events::HistogramValue histogram_value) { … }
void EventAckData::EmitLateAckedEventTask(int event_id) { … }
void EventAckData::EmitDispatchTimeMetrics(EventInfo& event_info) { … }
void EventAckData::DecrementInflightEvent(
content::ServiceWorkerContext* context,
int render_process_id,
int64_t version_id,
int event_id,
bool worker_stopped,
base::OnceClosure failure_callback) { … }
void EventAckData::ClearUnackedEventsForRenderProcess(int render_process_id) { … }
EventAckData::EventInfo* EventAckData::GetUnackedEventForTesting(int event_id) { … }
}