OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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 "chromecast/browser/android/cast_web_contents_activity.h" | 5 #include "chromecast/browser/android/cast_web_contents_activity.h" |
6 | 6 |
| 7 #include "base/memory/ptr_util.h" |
7 #include "content/public/browser/web_contents.h" | 8 #include "content/public/browser/web_contents.h" |
8 #include "jni/CastWebContentsActivity_jni.h" | 9 #include "jni/CastWebContentsActivity_jni.h" |
9 | 10 |
10 using base::android::JavaParamRef; | 11 using base::android::JavaParamRef; |
11 using base::android::ScopedJavaGlobalRef; | 12 using base::android::ScopedJavaGlobalRef; |
12 using base::android::ScopedJavaLocalRef; | 13 using base::android::ScopedJavaLocalRef; |
13 | 14 |
14 namespace chromecast { | 15 namespace chromecast { |
15 namespace shell { | 16 namespace shell { |
16 | 17 |
(...skipping 22 matching lines...) Expand all Loading... |
39 } | 40 } |
40 | 41 |
41 // static | 42 // static |
42 CastWebContentsActivity* CastWebContentsActivity::Get( | 43 CastWebContentsActivity* CastWebContentsActivity::Get( |
43 content::WebContents* web_contents) { | 44 content::WebContents* web_contents) { |
44 DCHECK(web_contents); | 45 DCHECK(web_contents); |
45 CastWebContentsActivity* instance = static_cast<CastWebContentsActivity*>( | 46 CastWebContentsActivity* instance = static_cast<CastWebContentsActivity*>( |
46 web_contents->GetUserData(kCastWebContentsActivityKey)); | 47 web_contents->GetUserData(kCastWebContentsActivityKey)); |
47 if (!instance) { | 48 if (!instance) { |
48 instance = new CastWebContentsActivity(web_contents); | 49 instance = new CastWebContentsActivity(web_contents); |
49 web_contents->SetUserData(kCastWebContentsActivityKey, instance); | 50 web_contents->SetUserData(kCastWebContentsActivityKey, |
| 51 base::WrapUnique(instance)); |
50 } | 52 } |
51 return instance; | 53 return instance; |
52 } | 54 } |
53 | 55 |
54 CastWebContentsActivity::CastWebContentsActivity( | 56 CastWebContentsActivity::CastWebContentsActivity( |
55 content::WebContents* web_contents) | 57 content::WebContents* web_contents) |
56 : content_video_view_embedder_(ScopedJavaLocalRef<jobject>()) {} | 58 : content_video_view_embedder_(ScopedJavaLocalRef<jobject>()) {} |
57 | 59 |
58 CastWebContentsActivity::~CastWebContentsActivity() {} | 60 CastWebContentsActivity::~CastWebContentsActivity() {} |
59 | 61 |
60 ScopedJavaLocalRef<jobject> | 62 ScopedJavaLocalRef<jobject> |
61 CastWebContentsActivity::GetContentVideoViewEmbedder() { | 63 CastWebContentsActivity::GetContentVideoViewEmbedder() { |
62 return ScopedJavaLocalRef<jobject>(content_video_view_embedder_); | 64 return ScopedJavaLocalRef<jobject>(content_video_view_embedder_); |
63 } | 65 } |
64 | 66 |
65 void CastWebContentsActivity::SetContentVideoViewEmbedder( | 67 void CastWebContentsActivity::SetContentVideoViewEmbedder( |
66 const JavaParamRef<jobject>& content_video_view_embedder) { | 68 const JavaParamRef<jobject>& content_video_view_embedder) { |
67 content_video_view_embedder_ = | 69 content_video_view_embedder_ = |
68 ScopedJavaGlobalRef<jobject>(content_video_view_embedder); | 70 ScopedJavaGlobalRef<jobject>(content_video_view_embedder); |
69 } | 71 } |
70 | 72 |
71 } // namespace shell | 73 } // namespace shell |
72 } // namespace chromecast | 74 } // namespace chromecast |
OLD | NEW |