summaryrefslogtreecommitdiff
path: root/chromium/content/browser/devtools/devtools_stream_file.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-08-24 12:15:48 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-08-28 13:30:04 +0000
commitb014812705fc80bff0a5c120dfcef88f349816dc (patch)
tree25a2e2d9fa285f1add86aa333389a839f81a39ae /chromium/content/browser/devtools/devtools_stream_file.h
parent9f4560b1027ae06fdb497023cdcaf91b8511fa74 (diff)
downloadqtwebengine-chromium-b014812705fc80bff0a5c120dfcef88f349816dc.tar.gz
BASELINE: Update Chromium to 68.0.3440.125
Change-Id: I23f19369e01f688e496f5bf179abb521ad73874f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/content/browser/devtools/devtools_stream_file.h')
-rw-r--r--chromium/content/browser/devtools/devtools_stream_file.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/chromium/content/browser/devtools/devtools_stream_file.h b/chromium/content/browser/devtools/devtools_stream_file.h
new file mode 100644
index 00000000000..1c63e39f5d0
--- /dev/null
+++ b/chromium/content/browser/devtools/devtools_stream_file.h
@@ -0,0 +1,44 @@
+// Copyright 2018 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 CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_STREAM_FILE_H_
+#define CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_STREAM_FILE_H_
+
+#include "base/files/file.h"
+#include "base/memory/scoped_refptr.h"
+#include "content/browser/devtools/devtools_io_context.h"
+
+#include <string>
+
+namespace content {
+
+class DevToolsStreamFile : public DevToolsIOContext::Stream {
+ public:
+ static scoped_refptr<DevToolsStreamFile> Create(DevToolsIOContext* context,
+ bool binary);
+ const std::string& handle() const { return handle_; }
+ void Append(std::unique_ptr<std::string> data);
+
+ private:
+ DevToolsStreamFile(DevToolsIOContext* context, bool binary);
+ ~DevToolsStreamFile() override;
+
+ void Read(off_t position, size_t max_size, ReadCallback callback) override;
+
+ void ReadOnFileSequence(off_t pos, size_t max_size, ReadCallback callback);
+ void AppendOnFileSequence(std::unique_ptr<std::string> data);
+ bool InitOnFileSequenceIfNeeded();
+
+ const std::string handle_;
+ const bool binary_;
+
+ base::File file_;
+ scoped_refptr<base::SequencedTaskRunner> task_runner_;
+ bool had_errors_;
+ off_t last_read_pos_;
+};
+
+} // namespace content
+
+#endif // CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_STREAM_FILE_H_