blob: 2484aec00e0bdb96be09f8f183f954c56d5b1382 [file] [log] [blame]
// Copyright 2014 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.
#include "content/common/resource_request_body_impl.h"
#include "base/strings/utf_string_conversions.h"
#include "content/common/page_state_serialization.h"
using blink::WebHTTPBody;
using blink::WebString;
namespace content {
ResourceRequestBodyImpl::ResourceRequestBodyImpl()
: identifier_(0),
contains_sensitive_info_(false) {}
void ResourceRequestBodyImpl::AppendBytes(const char* bytes, int bytes_len) {
if (bytes_len > 0) {
elements_.push_back(Element());
elements_.back().SetToBytes(bytes, bytes_len);
}
}
void ResourceRequestBodyImpl::AppendFileRange(
const base::FilePath& file_path,
uint64_t offset,
uint64_t length,
const base::Time& expected_modification_time) {
elements_.push_back(Element());
elements_.back().SetToFilePathRange(file_path, offset, length,
expected_modification_time);
}
void ResourceRequestBodyImpl::AppendBlob(const std::string& uuid) {
elements_.push_back(Element());
elements_.back().SetToBlob(uuid);
}
void ResourceRequestBodyImpl::AppendFileSystemFileRange(
const GURL& url,
uint64_t offset,
uint64_t length,
const base::Time& expected_modification_time) {
elements_.push_back(Element());
elements_.back().SetToFileSystemUrlRange(url, offset, length,
expected_modification_time);
}
std::vector<base::FilePath> ResourceRequestBodyImpl::GetReferencedFiles()
const {
std::vector<base::FilePath> result;
for (const auto& element : *elements()) {
if (element.type() == Element::TYPE_FILE)
result.push_back(element.path());
}
return result;
}
ResourceRequestBodyImpl::~ResourceRequestBodyImpl() {}
} // namespace content