| // 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" |
| #include "third_party/blink/public/mojom/content_extraction/inner_html.mojom-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_ |