#include "extensions/browser/events/lazy_event_dispatcher.h"
#include <optional>
#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extensions_browser_client.h"
#include "extensions/browser/lazy_context_id.h"
#include "extensions/common/features/feature.h"
#include "extensions/common/mojom/context_type.mojom.h"
#include "extensions/common/mojom/event_dispatcher.mojom.h"
BrowserContext;
namespace extensions {
LazyEventDispatcher::LazyEventDispatcher(BrowserContext* browser_context,
DispatchFunction dispatch_function)
: … { … }
LazyEventDispatcher::~LazyEventDispatcher() = default;
void LazyEventDispatcher::Dispatch(Event& event,
const LazyContextId& dispatch_context,
const base::Value::Dict* listener_filter) { … }
bool LazyEventDispatcher::HasAlreadyDispatched(
const LazyContextId& dispatch_context) const { … }
bool LazyEventDispatcher::QueueEventDispatch(
Event& event,
const LazyContextId& dispatch_context,
const Extension* extension,
const base::Value::Dict* listener_filter) { … }
void LazyEventDispatcher::RecordAlreadyDispatched(
const LazyContextId& dispatch_context) { … }
}