#include "third_party/blink/renderer/core/editing/spellcheck/spell_check_requester.h"
#include "base/ranges/algorithm.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/public/web/web_text_check_client.h"
#include "third_party/blink/public/web/web_text_checking_completion.h"
#include "third_party/blink/public/web/web_text_checking_result.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/node.h"
#include "third_party/blink/renderer/core/editing/editing_utilities.h"
#include "third_party/blink/renderer/core/editing/ephemeral_range.h"
#include "third_party/blink/renderer/core/editing/markers/document_marker_controller.h"
#include "third_party/blink/renderer/core/editing/spellcheck/spell_checker.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/html/forms/text_control_element.h"
#include "third_party/blink/renderer/platform/instrumentation/histogram.h"
namespace blink {
namespace {
static Vector<TextCheckingResult> ToCoreResults(
const WebVector<WebTextCheckingResult>& results) { … }
class WebTextCheckingCompletionImpl : public WebTextCheckingCompletion { … };
}
SpellCheckRequest::SpellCheckRequest(Range* checking_range,
const String& text,
int request_number)
: … { … }
SpellCheckRequest::~SpellCheckRequest() = default;
void SpellCheckRequest::Trace(Visitor* visitor) const { … }
void SpellCheckRequest::Dispose() { … }
SpellCheckRequest* SpellCheckRequest::Create(
const EphemeralRange& checking_range,
int request_number) { … }
bool SpellCheckRequest::IsValid() const { … }
void SpellCheckRequest::DidSucceed(const Vector<TextCheckingResult>& results) { … }
void SpellCheckRequest::DidCancel() { … }
void SpellCheckRequest::SetCheckerAndSequence(SpellCheckRequester* requester,
int sequence) { … }
SpellCheckRequester::SpellCheckRequester(LocalDOMWindow& window)
: … { … }
SpellCheckRequester::~SpellCheckRequester() = default;
WebTextCheckClient* SpellCheckRequester::GetTextCheckerClient() const { … }
void SpellCheckRequester::TimerFiredToProcessQueuedRequest() { … }
bool SpellCheckRequester::RequestCheckingFor(const EphemeralRange& range) { … }
bool SpellCheckRequester::RequestCheckingFor(const EphemeralRange& range,
int request_num) { … }
void SpellCheckRequester::CancelCheck() { … }
void SpellCheckRequester::Deactivate() { … }
void SpellCheckRequester::InvokeRequest(SpellCheckRequest* request) { … }
void SpellCheckRequester::ClearProcessingRequest() { … }
void SpellCheckRequester::EnqueueRequest(SpellCheckRequest* request) { … }
bool SpellCheckRequester::EnsureValidRequestQueueFor(int sequence) { … }
void SpellCheckRequester::DidCheck(int sequence) { … }
void SpellCheckRequester::DidCheckSucceed(
int sequence,
const Vector<TextCheckingResult>& results) { … }
void SpellCheckRequester::DidCheckCancel(int sequence) { … }
void SpellCheckRequester::Trace(Visitor* visitor) const { … }
}