| Index: pdf/url_loader_wrapper.h
|
| diff --git a/pdf/url_loader_wrapper.h b/pdf/url_loader_wrapper.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b95cfd299ff9ce84d2a1e5e1f0bcf5340a9c4ae7
|
| --- /dev/null
|
| +++ b/pdf/url_loader_wrapper.h
|
| @@ -0,0 +1,62 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef PDF_URL_LOADER_WRAPPER_H_
|
| +#define PDF_URL_LOADER_WRAPPER_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/macros.h"
|
| +#include "ppapi/cpp/completion_callback.h"
|
| +
|
| +namespace chrome_pdf {
|
| +
|
| +class URLLoaderWrapper {
|
| + public:
|
| + virtual ~URLLoaderWrapper() {}
|
| +
|
| + // Returns length of content, will be -1, if it is unknown.
|
| + virtual int GetContentLength() const = 0;
|
| + // Returns if the response headers contains "accept-ranges".
|
| + virtual bool IsAcceptRangesBytes() const = 0;
|
| + // Returns if the content encoded in response.
|
| + virtual bool IsContentEncoded() const = 0;
|
| + // Returns response content type.
|
| + virtual std::string GetContentType() const = 0;
|
| + // Returns response content disposition.
|
| + virtual std::string GetContentDisposition() const = 0;
|
| + // Returns response status code.
|
| + virtual int GetStatusCode() const = 0;
|
| + // Returns if the response contains multi parts.
|
| + virtual bool IsMultipart() const = 0;
|
| + // If true, [start,end] - is byte range contains in response (include end).
|
| + // If false, response contains full document, start/end will be undefined.
|
| + virtual bool GetByteRange(int* start, int* end) const = 0;
|
| +
|
| + // Close connection.
|
| + virtual void Close() = 0;
|
| + // Open new connection and send http range request.
|
| + virtual void OpenRange(const std::string& url,
|
| + const std::string& referrer_url,
|
| + uint32_t position,
|
| + uint32_t size,
|
| + const pp::CompletionCallback& cc) = 0;
|
| + // Read the response body. The size of the buffer must be large enough to
|
| + // hold the specified number of bytes to read.
|
| + // This function might perform a partial read.
|
| + virtual void ReadResponseBody(char* buffer,
|
| + int buffer_size,
|
| + const pp::CompletionCallback& cc) = 0;
|
| + // Returns the current download progress.
|
| + // Progress only refers to the response body and does not include the headers.
|
| + // If false, progress is unknown, bytes_received/total_bytes_to_be_received
|
| + // will be undefined.
|
| + virtual bool GetDownloadProgress(
|
| + int64_t* bytes_received,
|
| + int64_t* total_bytes_to_be_received) const = 0;
|
| +};
|
| +
|
| +} // namespace chrome_pdf
|
| +
|
| +#endif // PDF_URL_LOADER_WRAPPER_H_
|
|
|