OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/website_settings/website_settings.h" | 5 #include "chrome/browser/ui/website_settings/website_settings.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <string> | 10 #include <string> |
(...skipping 14 matching lines...) Expand all Loading... | |
25 #include "chrome/browser/browsing_data/browsing_data_cookie_helper.h" | 25 #include "chrome/browser/browsing_data/browsing_data_cookie_helper.h" |
26 #include "chrome/browser/browsing_data/browsing_data_database_helper.h" | 26 #include "chrome/browser/browsing_data/browsing_data_database_helper.h" |
27 #include "chrome/browser/browsing_data/browsing_data_file_system_helper.h" | 27 #include "chrome/browser/browsing_data/browsing_data_file_system_helper.h" |
28 #include "chrome/browser/browsing_data/browsing_data_indexed_db_helper.h" | 28 #include "chrome/browser/browsing_data/browsing_data_indexed_db_helper.h" |
29 #include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h" | 29 #include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h" |
30 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" | 30 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
31 #include "chrome/browser/content_settings/local_shared_objects_container.h" | 31 #include "chrome/browser/content_settings/local_shared_objects_container.h" |
32 #include "chrome/browser/history/history_service_factory.h" | 32 #include "chrome/browser/history/history_service_factory.h" |
33 #include "chrome/browser/infobars/infobar_service.h" | 33 #include "chrome/browser/infobars/infobar_service.h" |
34 #include "chrome/browser/permissions/chooser_context_base.h" | 34 #include "chrome/browser/permissions/chooser_context_base.h" |
35 #include "chrome/browser/permissions/permission_manager.h" | |
36 #include "chrome/browser/permissions/permission_result.h" | |
35 #include "chrome/browser/permissions/permission_uma_util.h" | 37 #include "chrome/browser/permissions/permission_uma_util.h" |
36 #include "chrome/browser/permissions/permission_util.h" | 38 #include "chrome/browser/permissions/permission_util.h" |
37 #include "chrome/browser/profiles/profile.h" | 39 #include "chrome/browser/profiles/profile.h" |
38 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate.h" | 40 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate.h" |
39 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate_factory.h" | 41 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate_factory.h" |
40 #include "chrome/browser/ui/website_settings/website_settings_ui.h" | 42 #include "chrome/browser/ui/website_settings/website_settings_ui.h" |
41 #include "chrome/browser/usb/usb_chooser_context.h" | 43 #include "chrome/browser/usb/usb_chooser_context.h" |
42 #include "chrome/browser/usb/usb_chooser_context_factory.h" | 44 #include "chrome/browser/usb/usb_chooser_context_factory.h" |
43 #include "chrome/common/chrome_switches.h" | 45 #include "chrome/common/chrome_switches.h" |
44 #include "chrome/common/url_constants.h" | 46 #include "chrome/common/url_constants.h" |
45 #include "chrome/grit/chromium_strings.h" | 47 #include "chrome/grit/chromium_strings.h" |
46 #include "chrome/grit/generated_resources.h" | 48 #include "chrome/grit/generated_resources.h" |
47 #include "chrome/grit/theme_resources.h" | 49 #include "chrome/grit/theme_resources.h" |
48 #include "components/content_settings/core/browser/content_settings_utils.h" | 50 #include "components/content_settings/core/browser/content_settings_utils.h" |
49 #include "components/content_settings/core/browser/host_content_settings_map.h" | 51 #include "components/content_settings/core/browser/host_content_settings_map.h" |
50 #include "components/content_settings/core/common/content_settings.h" | 52 #include "components/content_settings/core/common/content_settings.h" |
51 #include "components/content_settings/core/common/content_settings_pattern.h" | 53 #include "components/content_settings/core/common/content_settings_pattern.h" |
52 #include "components/rappor/public/rappor_utils.h" | 54 #include "components/rappor/public/rappor_utils.h" |
53 #include "components/rappor/rappor_service_impl.h" | 55 #include "components/rappor/rappor_service_impl.h" |
54 #include "components/ssl_errors/error_info.h" | 56 #include "components/ssl_errors/error_info.h" |
55 #include "components/strings/grit/components_chromium_strings.h" | 57 #include "components/strings/grit/components_chromium_strings.h" |
56 #include "components/strings/grit/components_strings.h" | 58 #include "components/strings/grit/components_strings.h" |
57 #include "components/url_formatter/elide_url.h" | 59 #include "components/url_formatter/elide_url.h" |
58 #include "content/public/browser/browser_thread.h" | 60 #include "content/public/browser/browser_thread.h" |
61 #include "content/public/browser/permission_type.h" | |
59 #include "content/public/browser/user_metrics.h" | 62 #include "content/public/browser/user_metrics.h" |
60 #include "content/public/common/content_switches.h" | 63 #include "content/public/common/content_switches.h" |
61 #include "content/public/common/url_constants.h" | 64 #include "content/public/common/url_constants.h" |
62 #include "net/cert/cert_status_flags.h" | 65 #include "net/cert/cert_status_flags.h" |
63 #include "net/cert/x509_certificate.h" | 66 #include "net/cert/x509_certificate.h" |
64 #include "net/ssl/ssl_cipher_suite_names.h" | 67 #include "net/ssl/ssl_cipher_suite_names.h" |
65 #include "net/ssl/ssl_connection_status_flags.h" | 68 #include "net/ssl/ssl_connection_status_flags.h" |
66 #include "third_party/boringssl/src/include/openssl/ssl.h" | 69 #include "third_party/boringssl/src/include/openssl/ssl.h" |
67 #include "ui/base/l10n/l10n_util.h" | 70 #include "ui/base/l10n/l10n_util.h" |
68 | 71 |
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
667 if (info.primary_pattern == ContentSettingsPattern::Wildcard() && | 670 if (info.primary_pattern == ContentSettingsPattern::Wildcard() && |
668 info.secondary_pattern == ContentSettingsPattern::Wildcard()) { | 671 info.secondary_pattern == ContentSettingsPattern::Wildcard()) { |
669 permission_info.default_setting = permission_info.setting; | 672 permission_info.default_setting = permission_info.setting; |
670 permission_info.setting = CONTENT_SETTING_DEFAULT; | 673 permission_info.setting = CONTENT_SETTING_DEFAULT; |
671 } else { | 674 } else { |
672 permission_info.default_setting = | 675 permission_info.default_setting = |
673 content_settings_->GetDefaultContentSetting(permission_info.type, | 676 content_settings_->GetDefaultContentSetting(permission_info.type, |
674 NULL); | 677 NULL); |
675 } | 678 } |
676 | 679 |
680 // For permissions that are still prompting the user and haven't been | |
681 // explicitly set by another source, check its embargo status. | |
682 content::PermissionType unused = content::PermissionType::NUM; | |
683 if (PermissionUtil::GetPermissionType(permission_info.type, &unused) && | |
684 permission_info.setting == CONTENT_SETTING_DEFAULT && | |
685 permission_info.source == | |
686 content_settings::SettingSource::SETTING_SOURCE_USER) { | |
687 PermissionResult permission_result = | |
688 PermissionManager::Get(profile_)->GetPermissionStatus( | |
689 permission_info.type, site_url_, site_url_); | |
690 | |
691 // If under embargo, update |permission_info| to reflect that. | |
692 if (permission_result.content_setting == CONTENT_SETTING_BLOCK && | |
693 permission_result.source != PermissionStatusSource::UNSPECIFIED) { | |
dominickn
2017/03/05 23:03:25
For consistency with what I've done on Android (cr
Patti Lor
2017/03/06 00:40:16
Done.
| |
694 permission_info.setting = permission_result.content_setting; | |
695 } | |
696 } | |
697 | |
677 permission_info_list.push_back(permission_info); | 698 permission_info_list.push_back(permission_info); |
678 } | 699 } |
679 | 700 |
680 for (const ChooserUIInfo& ui_info : kChooserUIInfo) { | 701 for (const ChooserUIInfo& ui_info : kChooserUIInfo) { |
681 ChooserContextBase* context = ui_info.get_context(profile_); | 702 ChooserContextBase* context = ui_info.get_context(profile_); |
682 const GURL origin = site_url_.GetOrigin(); | 703 const GURL origin = site_url_.GetOrigin(); |
683 auto chosen_objects = context->GetGrantedObjects(origin, origin); | 704 auto chosen_objects = context->GetGrantedObjects(origin, origin); |
684 for (std::unique_ptr<base::DictionaryValue>& object : chosen_objects) { | 705 for (std::unique_ptr<base::DictionaryValue>& object : chosen_objects) { |
685 chosen_object_info_list.push_back( | 706 chosen_object_info_list.push_back( |
686 base::MakeUnique<WebsiteSettingsUI::ChosenObjectInfo>( | 707 base::MakeUnique<WebsiteSettingsUI::ChosenObjectInfo>( |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
729 info.connection_status = site_connection_status_; | 750 info.connection_status = site_connection_status_; |
730 info.connection_status_description = | 751 info.connection_status_description = |
731 UTF16ToUTF8(site_connection_details_); | 752 UTF16ToUTF8(site_connection_details_); |
732 info.identity_status = site_identity_status_; | 753 info.identity_status = site_identity_status_; |
733 info.identity_status_description = | 754 info.identity_status_description = |
734 UTF16ToUTF8(site_identity_details_); | 755 UTF16ToUTF8(site_identity_details_); |
735 info.certificate = certificate_; | 756 info.certificate = certificate_; |
736 info.show_ssl_decision_revoke_button = show_ssl_decision_revoke_button_; | 757 info.show_ssl_decision_revoke_button = show_ssl_decision_revoke_button_; |
737 ui_->SetIdentityInfo(info); | 758 ui_->SetIdentityInfo(info); |
738 } | 759 } |
OLD | NEW |