#include "third_party/blink/renderer/core/dom/subscriber.h"
#include "base/containers/adapters.h"
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_observer.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_observer_callback.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_observer_complete_callback.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_script_runner.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_subscribe_options.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_void_function.h"
#include "third_party/blink/renderer/core/dom/abort_controller.h"
#include "third_party/blink/renderer/core/dom/abort_signal.h"
#include "third_party/blink/renderer/core/dom/observable_internal_observer.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
namespace blink {
class Subscriber::CloseSubscriptionAlgorithm final
: public AbortSignal::Algorithm { … };
Subscriber::Subscriber(base::PassKey<Observable>,
ScriptState* script_state,
ObservableInternalObserver* internal_observer,
SubscribeOptions* options)
: … { … }
void Subscriber::next(ScriptValue value) { … }
void Subscriber::complete(ScriptState* script_state) { … }
void Subscriber::error(ScriptState* script_state, ScriptValue error_value) { … }
void Subscriber::addTeardown(V8VoidFunction* teardown) { … }
AbortSignal* Subscriber::signal() const { … }
void Subscriber::CloseSubscription(ScriptState* script_state,
std::optional<ScriptValue> abort_reason) { … }
void Subscriber::Trace(Visitor* visitor) const { … }
}