#include "chrome/browser/content_extraction/inner_text.h"
#include "base/functional/bind.h"
#include "base/metrics/histogram_functions.h"
#include "content/public/browser/render_frame_host.h"
#include "mojo/public/cpp/bindings/callback_helpers.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/service_manager/public/cpp/interface_provider.h"
#include "third_party/blink/public/mojom/content_extraction/inner_text.mojom.h"
namespace content_extraction {
Segments;
namespace {
size_t CalculateTotalStringSize(const blink::mojom::InnerTextFrame& frame) { … }
void AppendFrameSegments(const blink::mojom::InnerTextFrame& frame,
InnerTextResult& result) { … }
void OnGotInnerText(base::TimeTicks start_time,
mojo::Remote<blink::mojom::InnerTextAgent> remote_interface,
InnerTextCallback callback,
blink::mojom::InnerTextFramePtr mojo_frame) { … }
}
void GetInnerText(content::RenderFrameHost& host,
std::optional<int> node_id,
InnerTextCallback callback) { … }
namespace internal {
bool IsInnerTextFrameValid(const blink::mojom::InnerTextFramePtr& frame) { … }
std::unique_ptr<InnerTextResult> CreateInnerTextResult(
const blink::mojom::InnerTextFrame& frame) { … }
}
}