blob: 398f01531d0a9b37f0059320511d827e6d516082 [file] [log] [blame]
// Copyright 2021 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_PDF_CHROME_PDF_STREAM_DELEGATE_H_
#define CHROME_BROWSER_PDF_CHROME_PDF_STREAM_DELEGATE_H_
#include "components/pdf/browser/pdf_stream_delegate.h"
#include "content/public/browser/frame_tree_node_id.h"
class ChromePdfStreamDelegate : public pdf::PdfStreamDelegate {
public:
ChromePdfStreamDelegate();
ChromePdfStreamDelegate(const ChromePdfStreamDelegate&) = delete;
ChromePdfStreamDelegate operator=(const ChromePdfStreamDelegate&) = delete;
~ChromePdfStreamDelegate() override;
// `pdf::PdfStreamDelegate`:
std::optional<GURL> MapToOriginalUrl(
content::NavigationHandle& navigation_handle) override;
std::optional<StreamInfo> GetStreamInfo(
content::RenderFrameHost* embedder_frame) override;
void OnPdfEmbedderSandboxed(
content::FrameTreeNodeId frame_tree_node_id) override;
bool ShouldAllowPdfFrameNavigation(
content::NavigationHandle* navigation_handle) override;
bool ShouldAllowPdfExtensionFrameNavigation(
content::NavigationHandle* navigation_handle) override;
};
#endif // CHROME_BROWSER_PDF_CHROME_PDF_STREAM_DELEGATE_H_