#include "content/browser/blob_storage/file_backed_blob_factory_base.h"
#include "base/functional/callback_helpers.h"
#include "base/process/process_handle.h"
#include "base/task/bind_post_task.h"
#include "base/task/sequenced_task_runner.h"
#include "content/browser/blob_storage/chrome_blob_storage_context.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_process_host.h"
#include "storage/browser/blob/blob_data_builder.h"
#include "storage/browser/blob/blob_impl.h"
#include "storage/browser/blob/blob_registry_impl.h"
#include "third_party/blink/public/mojom/blob/data_element.mojom.h"
#include "url/gurl.h"
namespace content {
namespace {
file_access::ScopedFileAccessDelegate::RequestFilesAccessIOCallback
GetAccessCallback(const GURL& url_for_file_access_checks) { … }
void ContinueRegisterBlob(
mojo::PendingReceiver<blink::mojom::Blob> blob,
std::string uuid,
std::string content_type,
blink::mojom::DataElementFilePtr file,
file_access::ScopedFileAccessDelegate::RequestFilesAccessIOCallback
file_access,
bool security_check_success,
mojo::ReportBadMessageCallback bad_message_callback,
scoped_refptr<ChromeBlobStorageContext> blob_storage_context,
blink::mojom::FileBackedBlobFactory::RegisterBlobSyncCallback
finish_callback) { … }
}
FileBackedBlobFactoryBase::FileBackedBlobFactoryBase(int process_id)
: … { … }
FileBackedBlobFactoryBase::~FileBackedBlobFactoryBase() = default;
void FileBackedBlobFactoryBase::RegisterBlob(
mojo::PendingReceiver<blink::mojom::Blob> blob,
const std::string& uuid,
const std::string& content_type,
blink::mojom::DataElementFilePtr file) { … }
void FileBackedBlobFactoryBase::RegisterBlobSync(
mojo::PendingReceiver<blink::mojom::Blob> blob,
const std::string& uuid,
const std::string& content_type,
blink::mojom::DataElementFilePtr file,
RegisterBlobSyncCallback finish_callback) { … }
}