OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 "chrome/browser/android/blimp/blimp_contents_profile_attachment.h" | |
6 | |
7 #include "base/logging.h" | |
8 #include "base/supports_user_data.h" | |
9 #include "blimp/client/public/contents/blimp_contents.h" | |
10 | |
11 namespace { | |
12 const char kBlimpContentsProfileAttachment[] = | |
13 "blimp_contents_profile_attachment"; | |
14 | |
15 // A holder struct for a Profile that can be used as data. | |
16 struct Attachment : public base::SupportsUserData::Data { | |
17 Profile* profile; | |
18 }; | |
19 | |
20 } // namespace | |
21 | |
22 void AttachProfileToBlimpContents(blimp::client::BlimpContents* blimp_contents, | |
23 Profile* profile) { | |
24 DCHECK(profile); | |
25 Attachment* attachment = new Attachment; | |
26 attachment->profile = profile; | |
27 blimp_contents->SetUserData(kBlimpContentsProfileAttachment, attachment); | |
28 } | |
29 | |
30 Profile* GetProfileFromBlimpContents( | |
31 blimp::client::BlimpContents* blimp_contents) { | |
32 Attachment* attachment = static_cast<Attachment*>( | |
33 blimp_contents->GetUserData(kBlimpContentsProfileAttachment)); | |
34 DCHECK(attachment); | |
35 return attachment->profile; | |
36 } | |
OLD | NEW |