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

Side by Side Diff: net/tools/dump_cache/upgrade_win.cc

Issue 20737002: Change the API of disk_cache::CreateCacheBackend to use scoped_ptr (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix new test Created 7 years, 4 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 "net/tools/dump_cache/upgrade_win.h" 5 #include "net/tools/dump_cache/upgrade_win.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 default: 312 default:
313 NOTREACHED(); 313 NOTREACHED();
314 break; 314 break;
315 } 315 }
316 } 316 }
317 317
318 bool MasterSM::DoInit() { 318 bool MasterSM::DoInit() {
319 DEBUGMSG("Master DoInit\n"); 319 DEBUGMSG("Master DoInit\n");
320 DCHECK(state_ == MASTER_INITIAL); 320 DCHECK(state_ == MASTER_INITIAL);
321 321
322 disk_cache::Backend* cache; 322 scoped_ptr<disk_cache::Backend> cache;
323 net::TestCompletionCallback cb; 323 net::TestCompletionCallback cb;
324 int rv = disk_cache::CreateCacheBackend(net::DISK_CACHE, 324 int rv = disk_cache::CreateCacheBackend(net::DISK_CACHE,
325 net::CACHE_BACKEND_DEFAULT, path_, 0, 325 net::CACHE_BACKEND_DEFAULT, path_, 0,
326 false, 326 false,
327 cache_thread_.message_loop_proxy(), 327 cache_thread_.message_loop_proxy(),
328 NULL, &cache, cb.callback()); 328 NULL, &cache, cb.callback());
329 if (cb.GetResult(rv) != net::OK) { 329 if (cb.GetResult(rv) != net::OK) {
330 printf("Unable to initialize new files\n"); 330 printf("Unable to initialize new files\n");
331 return false; 331 return false;
332 } 332 }
333 cache_.reset(cache); 333 cache_ = cache.Pass();
334 writer_ = new CacheDumper(cache_.get()); 334 writer_ = new CacheDumper(cache_.get());
335 335
336 copied_entries_ = 0; 336 copied_entries_ = 0;
337 remote_entry_ = 0; 337 remote_entry_ = 0;
338 338
339 if (ConnectChannel()) { 339 if (ConnectChannel()) {
340 SendGetPrevEntry(); 340 SendGetPrevEntry();
341 // If we don't have pending operations we couldn't connect. 341 // If we don't have pending operations we couldn't connect.
342 return IsPending(); 342 return IsPending();
343 } 343 }
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 void Fail(); 587 void Fail();
588 588
589 void* iterator_; 589 void* iterator_;
590 Message msg_; // Used for DoReadDataComplete and DoGetEntryComplete. 590 Message msg_; // Used for DoReadDataComplete and DoGetEntryComplete.
591 591
592 scoped_ptr<disk_cache::BackendImpl> cache_; 592 scoped_ptr<disk_cache::BackendImpl> cache_;
593 }; 593 };
594 594
595 SlaveSM::SlaveSM(const base::FilePath& path, HANDLE channel) 595 SlaveSM::SlaveSM(const base::FilePath& path, HANDLE channel)
596 : BaseSM(channel), iterator_(NULL) { 596 : BaseSM(channel), iterator_(NULL) {
597 disk_cache::Backend* cache; 597 scoped_ptr<disk_cache::Backend> cache;
598 net::TestCompletionCallback cb; 598 net::TestCompletionCallback cb;
599 int rv = disk_cache::CreateCacheBackend(net::DISK_CACHE, 599 int rv = disk_cache::CreateCacheBackend(net::DISK_CACHE,
600 net::CACHE_BACKEND_BLOCKFILE, path, 0, 600 net::CACHE_BACKEND_BLOCKFILE, path, 0,
601 false, 601 false,
602 cache_thread_.message_loop_proxy(), 602 cache_thread_.message_loop_proxy(),
603 NULL, &cache, cb.callback()); 603 NULL, &cache, cb.callback());
604 if (cb.GetResult(rv) != net::OK) { 604 if (cb.GetResult(rv) != net::OK) {
605 printf("Unable to open cache files\n"); 605 printf("Unable to open cache files\n");
606 return; 606 return;
607 } 607 }
608 cache_.reset(reinterpret_cast<disk_cache::BackendImpl*>(cache)); 608 cache_.reset(reinterpret_cast<disk_cache::BackendImpl*>(cache.release()));
609 cache_->SetUpgradeMode(); 609 cache_->SetUpgradeMode();
610 } 610 }
611 611
612 SlaveSM::~SlaveSM() { 612 SlaveSM::~SlaveSM() {
613 if (iterator_) 613 if (iterator_)
614 cache_->EndEnumeration(&iterator_); 614 cache_->EndEnumeration(&iterator_);
615 } 615 }
616 616
617 void SlaveSM::OnIOCompleted(base::MessageLoopForIO::IOContext* context, 617 void SlaveSM::OnIOCompleted(base::MessageLoopForIO::IOContext* context,
618 DWORD bytes_transfered, 618 DWORD bytes_transfered,
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 918
919 SlaveSM slave(input_path, pipe); 919 SlaveSM slave(input_path, pipe);
920 if (!slave.DoInit()) { 920 if (!slave.DoInit()) {
921 printf("Unable to talk with the main process\n"); 921 printf("Unable to talk with the main process\n");
922 return -1; 922 return -1;
923 } 923 }
924 924
925 loop.Run(); 925 loop.Run();
926 return 0; 926 return 0;
927 } 927 }
OLDNEW
« no previous file with comments | « net/tools/dump_cache/simple_cache_dumper.cc ('k') | webkit/browser/appcache/appcache_disk_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698