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

Side by Side Diff: sync/api/attachments/attachment_service_proxy_for_test.cc

Issue 213003004: Replace calls to 3-arg SyncData::CreateLocalData with 5-arg version. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@syncapi
Patch Set: Changes from self-review. Created 6 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
OLDNEW
(Empty)
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/api/attachments/attachment_service_proxy_for_test.h"
6
7 #include "base/message_loop/message_loop_proxy.h"
8 #include "sync/api/attachments/fake_attachment_service.h"
9
10 namespace syncer {
11
12 AttachmentServiceProxyForTest::OwningCore::OwningCore(
13 scoped_ptr<AttachmentService> wrapped,
14 scoped_ptr<base::WeakPtrFactory<AttachmentService> > weak_ptr_factory)
15 : ForwardingCore(weak_ptr_factory->GetWeakPtr()),
16 wrapped_(wrapped.Pass()),
17 weak_ptr_factory_(weak_ptr_factory.Pass()) {
18 DCHECK(wrapped_);
19 }
20
21 AttachmentServiceProxyForTest::OwningCore::~OwningCore() {}
22
23 // Static.
24 AttachmentServiceProxy AttachmentServiceProxyForTest::Create() {
25 scoped_ptr<AttachmentService> wrapped(FakeAttachmentService::CreateForTest());
26 // This class's base class, AttachmentServiceProxy, must be initialized with a
27 // WeakPtr to an AttachmentService. Because the base class ctor must be
28 // invoked before any of this class's members are initialized, we create the
29 // WeakPtrFactory here and pass it to the ctor so that it may initialize its
30 // base class and own the WeakPtrFactory.
31 //
32 // We must pass by scoped_ptr because WeakPtrFactory has no copy constructor.
33 scoped_ptr<base::WeakPtrFactory<AttachmentService> > weak_ptr_factory(
34 new base::WeakPtrFactory<AttachmentService>(wrapped.get()));
35
36 scoped_refptr<ForwardingCore> core_for_test(
37 new OwningCore(wrapped.Pass(), weak_ptr_factory.Pass()));
38 return AttachmentServiceProxyForTest(base::MessageLoopProxy::current(),
39 core_for_test);
40 }
41
42 AttachmentServiceProxyForTest::~AttachmentServiceProxyForTest() {}
43
44 AttachmentServiceProxyForTest::AttachmentServiceProxyForTest(
45 const scoped_refptr<base::SequencedTaskRunner>& wrapped_task_runner,
46 const scoped_refptr<ForwardingCore>& core)
47 : AttachmentServiceProxy(wrapped_task_runner, core) {}
48
49 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698