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

Side by Side Diff: webkit/blob/blob_data.cc

Issue 14139026: New blobstoragecontext for use in the main browser process, not plugged in yet. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 8 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/blob/blob_data.h" 5 #include "webkit/blob/blob_data.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/sys_string_conversions.h" 8 #include "base/strings/sys_string_conversions.h"
9 #include "base/time.h" 9 #include "base/time.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
11 11
12 namespace webkit_blob { 12 namespace webkit_blob {
13 13
14 BlobData::BlobData() {} 14 BlobData::BlobData() {}
15 BlobData::BlobData(const std::string& uuid)
16 : uuid_(uuid) {
17 }
15 18
16 BlobData::~BlobData() {} 19 BlobData::~BlobData() {}
17 20
18 void BlobData::AppendData(const char* data, size_t length) { 21 void BlobData::AppendData(const char* data, size_t length) {
19 DCHECK(length > 0); 22 DCHECK(length > 0);
20 items_.push_back(Item()); 23 items_.push_back(Item());
21 items_.back().SetToBytes(data, length); 24 items_.back().SetToBytes(data, length);
22 } 25 }
23 26
24 void BlobData::AppendFile(const base::FilePath& file_path, 27 void BlobData::AppendFile(const base::FilePath& file_path,
25 uint64 offset, uint64 length, 28 uint64 offset, uint64 length,
26 const base::Time& expected_modification_time) { 29 const base::Time& expected_modification_time) {
27 DCHECK(length > 0); 30 DCHECK(length > 0);
28 items_.push_back(Item()); 31 items_.push_back(Item());
29 items_.back().SetToFilePathRange(file_path, offset, length, 32 items_.back().SetToFilePathRange(file_path, offset, length,
30 expected_modification_time); 33 expected_modification_time);
31 } 34 }
32 35
33 void BlobData::AppendBlob(const GURL& blob_url, uint64 offset, uint64 length) { 36 void BlobData::AppendBlob(const GURL& blob_url, uint64 offset, uint64 length) {
34 DCHECK(length > 0); 37 DCHECK_GT(length, 0ul);
35 items_.push_back(Item()); 38 items_.push_back(Item());
36 items_.back().SetToBlobUrlRange(blob_url, offset, length); 39 items_.back().SetToBlobUrlRange(blob_url, offset, length);
37 } 40 }
38 41
42 void BlobData::AppendBlob(const std::string& uuid,
43 uint64 offset, uint64 length) {
44 DCHECK_GT(length, 0ul);
45 items_.push_back(Item());
46 items_.back().SetToBlobRange(uuid, offset, length);
47 }
48
39 void BlobData::AppendFileSystemFile( 49 void BlobData::AppendFileSystemFile(
40 const GURL& url, uint64 offset, 50 const GURL& url, uint64 offset,
41 uint64 length, 51 uint64 length,
42 const base::Time& expected_modification_time) { 52 const base::Time& expected_modification_time) {
43 DCHECK(length > 0); 53 DCHECK(length > 0);
44 items_.push_back(Item()); 54 items_.push_back(Item());
45 items_.back().SetToFileSystemUrlRange(url, offset, length, 55 items_.back().SetToFileSystemUrlRange(url, offset, length,
46 expected_modification_time); 56 expected_modification_time);
47 } 57 }
48 58
49 int64 BlobData::GetMemoryUsage() const { 59 int64 BlobData::GetMemoryUsage() const {
50 int64 memory = 0; 60 int64 memory = 0;
51 for (std::vector<Item>::const_iterator iter = items_.begin(); 61 for (std::vector<Item>::const_iterator iter = items_.begin();
52 iter != items_.end(); ++iter) { 62 iter != items_.end(); ++iter) {
53 if (iter->type() == Item::TYPE_BYTES) 63 if (iter->type() == Item::TYPE_BYTES)
54 memory += iter->length(); 64 memory += iter->length();
55 } 65 }
56 return memory; 66 return memory;
57 } 67 }
58 68
59 } // namespace webkit_blob 69 } // namespace webkit_blob
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698