Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: chrome/browser/ui/website_settings/website_settings.cc

Issue 2726853007: Views/Permissions: Update desktop UI to display BLOCK for embargoed permissions. (Closed)
Patch Set: Review comments. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/views/website_settings/permission_selector_row.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/website_settings/permission_selector_row.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698