#include "third_party/blink/renderer/core/exported/web_form_element_observer_impl.h"
#include "base/functional/callback.h"
#include "third_party/blink/public/web/web_form_control_element.h"
#include "third_party/blink/public/web/web_form_element.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_mutation_observer_init.h"
#include "third_party/blink/renderer/core/css/css_computed_style_declaration.h"
#include "third_party/blink/renderer/core/dom/mutation_observer.h"
#include "third_party/blink/renderer/core/dom/mutation_record.h"
#include "third_party/blink/renderer/core/dom/static_node_list.h"
#include "third_party/blink/renderer/core/html/forms/html_form_element.h"
#include "third_party/blink/renderer/core/html/html_element.h"
namespace blink {
namespace {
constexpr const char kNullCallbackErrorMessage[] = …;
}
class WebFormElementObserverImpl::ObserverCallback
: public MutationObserver::Delegate { … };
WebFormElementObserverImpl::ObserverCallback::ObserverCallback(
HTMLElement& element,
base::OnceClosure callback)
: … { … }
ExecutionContext*
WebFormElementObserverImpl::ObserverCallback::GetExecutionContext() const { … }
void WebFormElementObserverImpl::ObserverCallback::Deliver(
const MutationRecordVector& records,
MutationObserver&) { … }
void WebFormElementObserverImpl::ObserverCallback::Disconnect() { … }
void WebFormElementObserverImpl::ObserverCallback::Trace(
blink::Visitor* visitor) const { … }
WebFormElementObserver* WebFormElementObserver::Create(
WebFormElement& element,
base::OnceClosure callback) { … }
WebFormElementObserver* WebFormElementObserver::Create(
WebFormControlElement& element,
base::OnceClosure callback) { … }
WebFormElementObserverImpl::WebFormElementObserverImpl(
base::PassKey<WebFormElementObserver>,
HTMLElement& element,
base::OnceClosure callback) { … }
WebFormElementObserverImpl::~WebFormElementObserverImpl() = default;
void WebFormElementObserverImpl::Disconnect() { … }
void WebFormElementObserverImpl::Trace(Visitor* visitor) const { … }
}