1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "webkit/common/data_element.h" 6 7 namespace webkit_common { 8 9 DataElement::DataElement() 10 : type_(TYPE_UNKNOWN), 11 bytes_(NULL), 12 offset_(0), 13 length_(kuint64max) { 14 } 15 16 DataElement::~DataElement() {} 17 18 void DataElement::SetToFilePathRange( 19 const base::FilePath& path, 20 uint64 offset, uint64 length, 21 const base::Time& expected_modification_time) { 22 type_ = TYPE_FILE; 23 path_ = path; 24 offset_ = offset; 25 length_ = length; 26 expected_modification_time_ = expected_modification_time; 27 } 28 29 void DataElement::SetToBlobUrlRange( 30 const GURL& blob_url, 31 uint64 offset, uint64 length) { 32 type_ = TYPE_BLOB; 33 blob_url_ = blob_url; 34 offset_ = offset; 35 length_ = length; 36 blob_uuid_.clear(); 37 } 38 39 void DataElement::SetToBlobRange( 40 const std::string& blob_uuid, 41 uint64 offset, uint64 length) { 42 type_ = TYPE_BLOB; 43 blob_uuid_ = blob_uuid; 44 offset_ = offset; 45 length_ = length; 46 blob_url_ = GURL(); 47 } 48 49 void DataElement::SetToFileSystemUrlRange( 50 const GURL& filesystem_url, 51 uint64 offset, uint64 length, 52 const base::Time& expected_modification_time) { 53 type_ = TYPE_FILE_FILESYSTEM; 54 filesystem_url_ = filesystem_url; 55 offset_ = offset; 56 length_ = length; 57 expected_modification_time_ = expected_modification_time; 58 } 59 60 } // webkit_common 61