#include "third_party/blink/renderer/core/fragment_directive/text_fragment_handler.h"
#include "base/metrics/histogram_functions.h"
#include "base/strings/strcat.h"
#include "components/shared_highlighting/core/common/disabled_sites.h"
#include "components/shared_highlighting/core/common/fragment_directives_utils.h"
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/renderer/core/annotation/annotation_agent_impl.h"
#include "third_party/blink/renderer/core/annotation/annotation_selector.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/editing/markers/document_marker.h"
#include "third_party/blink/renderer/core/editing/markers/document_marker_controller.h"
#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/editing/range_in_flat_tree.h"
#include "third_party/blink/renderer/core/editing/selection_editor.h"
#include "third_party/blink/renderer/core/editing/visible_units.h"
#include "third_party/blink/renderer/core/fragment_directive/fragment_directive_utils.h"
#include "third_party/blink/renderer/core/fragment_directive/text_fragment_anchor.h"
#include "third_party/blink/renderer/core/fragment_directive/text_fragment_selector_generator.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/layout/hit_test_result.h"
#include "third_party/blink/renderer/core/loader/document_loader.h"
namespace blink {
TextFragmentHandler::TextFragmentHandler(LocalFrame* frame) : … { … }
void TextFragmentHandler::BindTextFragmentReceiver(
mojo::PendingReceiver<mojom::blink::TextFragmentReceiver> producer) { … }
void TextFragmentHandler::Cancel() { … }
void TextFragmentHandler::RequestSelector(RequestSelectorCallback callback) { … }
void TextFragmentHandler::GetExistingSelectors(
GetExistingSelectorsCallback callback) { … }
void TextFragmentHandler::RemoveFragments() { … }
bool TextFragmentHandler::IsOverTextFragment(const HitTestResult& result) { … }
void TextFragmentHandler::ExtractTextFragmentsMatches(
ExtractTextFragmentsMatchesCallback callback) { … }
void TextFragmentHandler::ExtractFirstFragmentRect(
ExtractFirstFragmentRectCallback callback) { … }
void TextFragmentHandler::DidFinishSelectorGeneration(
const TextFragmentSelector& selector,
shared_highlighting::LinkGenerationError error) { … }
void TextFragmentHandler::StartGeneratingForCurrentSelection() { … }
void TextFragmentHandler::Trace(Visitor* visitor) const { … }
void TextFragmentHandler::DidDetachDocumentOrFrame() { … }
void TextFragmentHandler::InvokeReplyCallback(
const TextFragmentSelector& selector,
shared_highlighting::LinkGenerationError error) { … }
TextFragmentAnchor* TextFragmentHandler::GetTextFragmentAnchor() { … }
bool TextFragmentHandler::ShouldPreemptivelyGenerateFor(LocalFrame* frame) { … }
void TextFragmentHandler::OpenedContextMenuOverSelection(LocalFrame* frame) { … }
void TextFragmentHandler::DidCreateTextFragment(AnnotationAgentImpl& agent,
Document& owning_document) { … }
}