| 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 |