Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1069)

Unified Diff: pdf/url_loader_wrapper.h

Issue 2455403002: Reland of Improve linearized pdf load/show time. (Closed)
Patch Set: Fix review issues Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pdf/timer.cc ('k') | pdf/url_loader_wrapper_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « pdf/timer.cc ('k') | pdf/url_loader_wrapper_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698