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

Side by Side Diff: storage/common/blob/shareable_file_reference.cc

Issue 524983002: Move fileapi-related files from webkit/common/ to storage/common/ and set up redirect headers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix presubmit Created 6 years, 3 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
« no previous file with comments | « storage/common/blob/shareable_file_reference.h ('k') | storage/common/data_element.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/common/blob/shareable_file_reference.h" 5 #include "storage/common/blob/shareable_file_reference.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/message_loop/message_loop_proxy.h" 10 #include "base/message_loop/message_loop_proxy.h"
11 #include "base/task_runner.h" 11 #include "base/task_runner.h"
12 #include "base/threading/non_thread_safe.h" 12 #include "base/threading/non_thread_safe.h"
13 13
14 namespace storage { 14 namespace storage {
15 15
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 file_task_runner)); 77 file_task_runner));
78 } 78 }
79 79
80 // static 80 // static
81 scoped_refptr<ShareableFileReference> ShareableFileReference::GetOrCreate( 81 scoped_refptr<ShareableFileReference> ShareableFileReference::GetOrCreate(
82 ScopedFile scoped_file) { 82 ScopedFile scoped_file) {
83 if (scoped_file.path().empty()) 83 if (scoped_file.path().empty())
84 return scoped_refptr<ShareableFileReference>(); 84 return scoped_refptr<ShareableFileReference>();
85 85
86 typedef std::pair<ShareableFileMap::iterator, bool> InsertResult; 86 typedef std::pair<ShareableFileMap::iterator, bool> InsertResult;
87 // Required for VS2010: http://connect.microsoft.com/VisualStudio/feedback/det ails/520043/error-converting-from-null-to-a-pointer-type-in-std-pair 87 // Required for VS2010:
88 // http://connect.microsoft.com/VisualStudio/feedback/
89 // details/520043/error-converting-from-null-to-a-pointer-type-in-std-pair
88 storage::ShareableFileReference* null_reference = NULL; 90 storage::ShareableFileReference* null_reference = NULL;
89 InsertResult result = g_file_map.Get().Insert( 91 InsertResult result = g_file_map.Get().Insert(
90 ShareableFileMap::value_type(scoped_file.path(), null_reference)); 92 ShareableFileMap::value_type(scoped_file.path(), null_reference));
91 if (result.second == false) { 93 if (result.second == false) {
92 scoped_file.Release(); 94 scoped_file.Release();
93 return scoped_refptr<ShareableFileReference>(result.first->second); 95 return scoped_refptr<ShareableFileReference>(result.first->second);
94 } 96 }
95 97
96 // Wasn't in the map, create a new reference and store the pointer. 98 // Wasn't in the map, create a new reference and store the pointer.
97 scoped_refptr<ShareableFileReference> reference( 99 scoped_refptr<ShareableFileReference> reference(
(...skipping 12 matching lines...) Expand all
110 : scoped_file_(scoped_file.Pass()) { 112 : scoped_file_(scoped_file.Pass()) {
111 DCHECK(g_file_map.Get().Find(path())->second == NULL); 113 DCHECK(g_file_map.Get().Find(path())->second == NULL);
112 } 114 }
113 115
114 ShareableFileReference::~ShareableFileReference() { 116 ShareableFileReference::~ShareableFileReference() {
115 DCHECK(g_file_map.Get().Find(path())->second == this); 117 DCHECK(g_file_map.Get().Find(path())->second == this);
116 g_file_map.Get().Erase(path()); 118 g_file_map.Get().Erase(path());
117 } 119 }
118 120
119 } // namespace storage 121 } // namespace storage
OLDNEW
« no previous file with comments | « storage/common/blob/shareable_file_reference.h ('k') | storage/common/data_element.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698