blob: 6ad88cdb666787918aea17c344cf5bfacf0ee400 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_PDF_BROWSER_PDF_FRAME_UTIL_H_
#define COMPONENTS_PDF_BROWSER_PDF_FRAME_UTIL_H_
namespace content {
class RenderFrameHost;
class WebContents;
} // namespace content
namespace pdf_frame_util {
// For full-page OOPIF PDF viewer only. Searches the children of the primary
// main frame of `contents` to find a `RenderFrameHost` that hosts the PDF
// extension. Full-page PDF viewers must have only one PDF extension host.
content::RenderFrameHost* FindFullPagePdfExtensionHost(
content::WebContents* contents);
// Searches the children of the given `rfh` to find a `RenderFrameHost` that
// hosts PDF content.
content::RenderFrameHost* FindPdfChildFrame(content::RenderFrameHost* rfh);
// For OOPIF PDF viewer only. Gets the embedder `RenderFrameHost` given the PDF
// content host. Returns nullptr if `content_host` is an invalid PDF content
// host.
content::RenderFrameHost* GetEmbedderHost(
content::RenderFrameHost* content_host);
} // namespace pdf_frame_util
#endif // COMPONENTS_PDF_BROWSER_PDF_FRAME_UTIL_H_