910e62b5创建于 1月15日历史提交
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_CONTENT_EXTRACTION_INNER_HTML_H_
#define CHROME_BROWSER_CONTENT_EXTRACTION_INNER_HTML_H_

#include <optional>
#include <string>

#include "base/functional/callback_forward.h"

namespace content {
class RenderFrameHost;
}

namespace content_extraction {

using InnerHtmlCallback =
    base::OnceCallback<void(const std::optional<std::string>& result)>;

// Requests the inner-html for the specified `host`.
//
// If querying inner-html fails (renderer crash, or page shutdown during
// request) then the result does not contain a value.
//
// NOTE: This function services the request as soon as called, it does not wait
// for the page to finish loading.
//
// IMPORTANT: The inner-html retrieved by this function is untrustworthy and
// should not be processed in the browser process.
// TODO(crbug.com/370820145): These fields should be annotated as untrustworthy
// when possible.
void GetInnerHtml(content::RenderFrameHost& host, InnerHtmlCallback callback);

}  // namespace content_extraction

#endif  // CHROME_BROWSER_CONTENT_EXTRACTION_INNER_HTML_H_