• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 "sync/internal_api/public/attachments/fake_attachment_downloader.h"
6 
7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h"
9 
10 namespace syncer {
11 
FakeAttachmentDownloader()12 FakeAttachmentDownloader::FakeAttachmentDownloader() {
13 }
14 
~FakeAttachmentDownloader()15 FakeAttachmentDownloader::~FakeAttachmentDownloader() {
16   DCHECK(CalledOnValidThread());
17 }
18 
DownloadAttachment(const AttachmentId & attachment_id,const DownloadCallback & callback)19 void FakeAttachmentDownloader::DownloadAttachment(
20     const AttachmentId& attachment_id,
21     const DownloadCallback& callback) {
22   DCHECK(CalledOnValidThread());
23   // This is happy fake downloader, it always successfully downloads empty
24   // attachment.
25   scoped_refptr<base::RefCountedMemory> data(new base::RefCountedBytes());
26   scoped_ptr<Attachment> attachment;
27   attachment.reset(
28       new Attachment(Attachment::CreateWithId(attachment_id, data)));
29   base::MessageLoop::current()->PostTask(
30       FROM_HERE,
31       base::Bind(callback, DOWNLOAD_SUCCESS, base::Passed(&attachment)));
32 }
33 
34 }  // namespace syncer
35