blob: 5342afa15cb661aedc28b5c8f46dd0085433dd34 [file]
// Copyright 2026 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "extensions/browser/mime_handler/stream_container.h"
#include <utility>
#include "net/http/http_response_headers.h"
namespace extensions {
StreamContainer::StreamContainer(
int tab_id,
bool embedded,
const GURL& handler_url,
const ExtensionId& extension_id,
blink::mojom::TransferrableURLLoaderPtr transferrable_loader,
const GURL& original_url)
: embedded_(embedded),
tab_id_(tab_id),
handler_url_(handler_url),
extension_id_(extension_id),
transferrable_loader_(std::move(transferrable_loader)),
mime_type_(transferrable_loader_->head->mime_type),
original_url_(original_url),
stream_url_(transferrable_loader_->url),
response_headers_(transferrable_loader_->head->headers) {}
StreamContainer::~StreamContainer() = default;
base::WeakPtr<StreamContainer> StreamContainer::GetWeakPtr() {
return weak_factory_.GetWeakPtr();
}
blink::mojom::TransferrableURLLoaderPtr
StreamContainer::TakeTransferrableURLLoader() {
return std::move(transferrable_loader_);
}
} // namespace extensions