chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/background_response_processor.h

// 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 THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_URL_LOADER_BACKGROUND_RESPONSE_PROCESSOR_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_URL_LOADER_BACKGROUND_RESPONSE_PROCESSOR_H_

#include <memory>
#include <optional>
#include <vector>

#include "mojo/public/cpp/base/big_buffer.h"
#include "mojo/public/cpp/system/data_pipe.h"
#include "services/network/public/mojom/url_response_head.mojom-forward.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
#include "third_party/blink/public/platform/web_common.h"
#include "third_party/blink/renderer/platform/wtf/deque.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
#include "third_party/blink/renderer/platform/wtf/shared_buffer.h"
#include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h"

namespace base {
class SequencedTaskRunner;
}  // namespace base

namespace blink {

// BackgroundResponseProcessor is used for processing the response on the
// background thread of the BackgroundURLLoader. This class is created by
// a BackgroundResponseProcessorFactory on the background thread, and lives in
// the background thread.
class BLINK_PLATFORM_EXPORT BackgroundResponseProcessor {};

// A factory for BackgroundResponseProcessor. This is created in the main
// thread, and passed to the background thread.
class BLINK_PLATFORM_EXPORT BackgroundResponseProcessorFactory {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_URL_LOADER_BACKGROUND_RESPONSE_PROCESSOR_H_