1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file.
4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "content/common/resource_request_body.h"
6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace content {
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochResourceRequestBody::ResourceRequestBody()
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    : identifier_(0) {
11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochvoid ResourceRequestBody::AppendBytes(const char* bytes, int bytes_len) {
14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  if (bytes_len > 0) {
15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    elements_.push_back(Element());
16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    elements_.back().SetToBytes(bytes, bytes_len);
17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  }
18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochvoid ResourceRequestBody::AppendFileRange(
21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const base::FilePath& file_path,
22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    uint64 offset, uint64 length,
23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const base::Time& expected_modification_time) {
24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  elements_.push_back(Element());
25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  elements_.back().SetToFilePathRange(file_path, offset, length,
26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                                      expected_modification_time);
27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
2958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)void ResourceRequestBody::AppendBlob(const std::string& uuid) {
3058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  elements_.push_back(Element());
3158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  elements_.back().SetToBlob(uuid);
3258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
3358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochvoid ResourceRequestBody::AppendFileSystemFileRange(
35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const GURL& url, uint64 offset, uint64 length,
36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const base::Time& expected_modification_time) {
37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  elements_.push_back(Element());
38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  elements_.back().SetToFileSystemUrlRange(url, offset, length,
39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                                           expected_modification_time);
40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
41eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochResourceRequestBody::~ResourceRequestBody() {
43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
45a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}  // namespace content
46