OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/media/protected_media_identifier_infobar_delegate.h" | 5 #include "chrome/browser/media/protected_media_identifier_infobar_delegate.h" |
6 | 6 |
7 #include "chrome/browser/content_settings/permission_queue_controller.h" | 7 #include "chrome/browser/content_settings/permission_queue_controller.h" |
8 #include "chrome/browser/infobars/infobar.h" | 8 #include "chrome/browser/infobars/infobar.h" |
9 #include "chrome/browser/infobars/infobar_service.h" | 9 #include "chrome/browser/infobars/infobar_service.h" |
10 #include "content/public/browser/navigation_entry.h" | 10 #include "content/public/browser/navigation_entry.h" |
11 #include "grit/generated_resources.h" | 11 #include "grit/generated_resources.h" |
12 #include "grit/theme_resources.h" | 12 #include "grit/theme_resources.h" |
13 #include "net/base/net_util.h" | 13 #include "net/base/net_util.h" |
14 #include "ui/base/l10n/l10n_util.h" | 14 #include "ui/base/l10n/l10n_util.h" |
15 | 15 |
16 #if defined(OS_ANDROID) | 16 #if defined(OS_ANDROID) |
17 #include "chrome/browser/android/chromium_application.h" | 17 #include "chrome/browser/android/chromium_application.h" |
18 #endif | 18 #endif |
19 | 19 |
20 // static | 20 // static |
21 InfoBar* ProtectedMediaIdentifierInfoBarDelegate::Create( | 21 InfoBar* ProtectedMediaIdentifierInfoBarDelegate::Create( |
22 InfoBarService* infobar_service, | 22 InfoBarService* infobar_service, |
23 PermissionQueueController* controller, | 23 PermissionQueueController* controller, |
24 const PermissionRequestID& id, | 24 const PermissionRequestID& id, |
25 const GURL& requesting_frame, | 25 const GURL& requesting_frame, |
26 const std::string& display_languages) { | 26 const std::string& display_languages) { |
| 27 content::WebContents* web_contents = |
| 28 InfoBarService::WebContentsFromInfoBar(infobar()); |
27 const content::NavigationEntry* committed_entry = | 29 const content::NavigationEntry* committed_entry = |
28 infobar_service->web_contents()->GetController().GetLastCommittedEntry(); | 30 infobar_service->web_contents->GetController().GetLastCommittedEntry(); |
29 return infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar( | 31 return infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar( |
30 scoped_ptr<ConfirmInfoBarDelegate>( | 32 scoped_ptr<ConfirmInfoBarDelegate>( |
31 new ProtectedMediaIdentifierInfoBarDelegate( | 33 new ProtectedMediaIdentifierInfoBarDelegate( |
32 controller, id, requesting_frame, | 34 controller, id, requesting_frame, |
33 committed_entry ? committed_entry->GetUniqueID() : 0, | 35 committed_entry ? committed_entry->GetUniqueID() : 0, |
34 display_languages)))); | 36 display_languages)))); |
35 } | 37 } |
36 | 38 |
37 | 39 |
38 ProtectedMediaIdentifierInfoBarDelegate:: | 40 ProtectedMediaIdentifierInfoBarDelegate:: |
(...skipping 16 matching lines...) Expand all Loading... |
55 } | 57 } |
56 | 58 |
57 bool ProtectedMediaIdentifierInfoBarDelegate::Accept() { | 59 bool ProtectedMediaIdentifierInfoBarDelegate::Accept() { |
58 SetPermission(true, true); | 60 SetPermission(true, true); |
59 return true; | 61 return true; |
60 } | 62 } |
61 | 63 |
62 void ProtectedMediaIdentifierInfoBarDelegate::SetPermission( | 64 void ProtectedMediaIdentifierInfoBarDelegate::SetPermission( |
63 bool update_content_setting, | 65 bool update_content_setting, |
64 bool allowed) { | 66 bool allowed) { |
| 67 content::WebContents* web_contents = |
| 68 InfoBarService::WebContentsFromInfoBar(infobar()); |
65 controller_->OnPermissionSet(id_, requesting_frame_, | 69 controller_->OnPermissionSet(id_, requesting_frame_, |
66 web_contents()->GetLastCommittedURL(), | 70 web_contents->GetLastCommittedURL(), |
67 update_content_setting, allowed); | 71 update_content_setting, allowed); |
68 } | 72 } |
69 | 73 |
70 void ProtectedMediaIdentifierInfoBarDelegate::InfoBarDismissed() { | 74 void ProtectedMediaIdentifierInfoBarDelegate::InfoBarDismissed() { |
71 SetPermission(false, false); | 75 SetPermission(false, false); |
72 } | 76 } |
73 | 77 |
74 int ProtectedMediaIdentifierInfoBarDelegate::GetIconID() const { | 78 int ProtectedMediaIdentifierInfoBarDelegate::GetIconID() const { |
75 return IDR_INFOBAR_PROTECTED_MEDIA_IDENTIFIER; | 79 return IDR_INFOBAR_PROTECTED_MEDIA_IDENTIFIER; |
76 } | 80 } |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 | 122 |
119 bool ProtectedMediaIdentifierInfoBarDelegate::LinkClicked( | 123 bool ProtectedMediaIdentifierInfoBarDelegate::LinkClicked( |
120 WindowOpenDisposition disposition) { | 124 WindowOpenDisposition disposition) { |
121 #if defined(OS_ANDROID) | 125 #if defined(OS_ANDROID) |
122 chrome::android::ChromiumApplication::OpenProtectedContentSettings(); | 126 chrome::android::ChromiumApplication::OpenProtectedContentSettings(); |
123 #else | 127 #else |
124 NOTIMPLEMENTED(); | 128 NOTIMPLEMENTED(); |
125 #endif | 129 #endif |
126 return false; // Do not dismiss the info bar. | 130 return false; // Do not dismiss the info bar. |
127 } | 131 } |
OLD | NEW |