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

Unified Diff: chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm

Issue 2491403002: Add a feature flag for the security verbose (Closed)
Patch Set: Fix compile issues Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
diff --git a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
index 61a31269f7720fd7553bbcdf908f7263af8fd1c9..226239a86672562178a0f9f65f3ff7f9cdc41b6e 100644
--- a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
+++ b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
@@ -50,6 +50,7 @@
#include "chrome/browser/ui/content_settings/content_setting_image_model.h"
#include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/common/chrome_features.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chrome/grit/theme_resources.h"
@@ -60,6 +61,7 @@
#include "components/search_engines/template_url.h"
#include "components/search_engines/template_url_service.h"
#include "components/translate/core/browser/language_state.h"
+#include "components/variations/variations_associated_data.h"
#include "components/zoom/zoom_controller.h"
#include "components/zoom/zoom_event_manager.h"
#include "content/public/browser/web_contents.h"
@@ -123,7 +125,8 @@ LocationBarViewMac::LocationBarViewMac(AutocompleteTextField* field,
location_bar_visible_(true),
should_show_secure_verbose_(false),
should_show_nonsecure_verbose_(false),
- should_animate_security_verbose_(false),
+ should_animate_secure_verbose_(false),
+ should_animate_nonsecure_verbose_(false),
is_width_available_for_security_verbose_(false),
weak_ptr_factory_(this) {
ScopedVector<ContentSettingImageModel> models =
@@ -147,6 +150,7 @@ LocationBarViewMac::LocationBarViewMac(AutocompleteTextField* field,
!browser->SupportsWindowFeature(Browser::FEATURE_TABSTRIP)];
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+
if (command_line->HasSwitch(switches::kMaterialSecurityVerbose)) {
std::string security_verbose_flag =
command_line->GetSwitchValueASCII(switches::kMaterialSecurityVerbose);
@@ -158,11 +162,33 @@ LocationBarViewMac::LocationBarViewMac(AutocompleteTextField* field,
should_show_nonsecure_verbose_ = true;
- should_animate_security_verbose_ =
+ should_show_nonsecure_verbose_ =
security_verbose_flag ==
switches::kMaterialSecurityVerboseShowAllAnimated ||
security_verbose_flag ==
switches::kMaterialSecurityVerboseShowNonSecureAnimated;
+ should_animate_secure_verbose_ = should_show_nonsecure_verbose_;
+ } else if (base::FeatureList::IsEnabled(features::kSecurityChip)) {
+ // Visibility value.
+ std::string security_chip = variations::GetVariationParamValueByFeature(
+ features::kSecurityChip, kSecurityChipFeatureVisibilityParam);
+ if (security_chip == switches::kSecurityChipShowNonSecureOnly) {
+ should_show_nonsecure_verbose_ = true;
+ } else if (security_chip == switches::kSecurityChipShowAll) {
+ should_show_secure_verbose_ = true;
+ should_show_nonsecure_verbose_ = true;
+ }
+
+ // Animation value.
+ std::string security_chip_animation =
+ command_line->GetSwitchValueASCII(switches::kSecurityChipAnimation);
+ if (security_chip_animation ==
+ switches::kSecurityChipAnimationNonSecureOnly) {
+ should_animate_nonsecure_verbose_ = true;
+ } else if (security_chip_animation == switches::kSecurityChipAnimationAll) {
+ should_animate_secure_verbose_ = true;
+ should_animate_nonsecure_verbose_ = true;
+ }
}
// Sets images for the decorations, and performs a layout. This call ensures
@@ -880,8 +906,9 @@ void LocationBarViewMac::UpdateSecurityState(bool tab_changed) {
security_state::SecurityStateModel::SecurityLevel new_security_level =
GetToolbarModel()->GetSecurityLevel(false);
- bool is_secure_to_secure = IsSecureConnection(new_security_level) &&
- IsSecureConnection(security_level_);
+ bool is_new_level_secure = IsSecureConnection(new_security_level);
+ bool is_secure_to_secure =
+ is_new_level_secure && IsSecureConnection(security_level_);
bool is_new_security_level =
security_level_ != new_security_level && !is_secure_to_secure;
security_level_ = new_security_level;
@@ -891,9 +918,13 @@ void LocationBarViewMac::UpdateSecurityState(bool tab_changed) {
// animate the decoration if animation is enabled and the state changed is
// not from a tab switch.
if (is_width_available_for_security_verbose_) {
+ bool is_animated =
+ (is_new_level_secure && should_animate_secure_verbose_) ||
+ (!is_new_level_secure && should_animate_nonsecure_verbose_);
+
if (!tab_changed && security_state_bubble_decoration_->HasAnimatedOut())
security_state_bubble_decoration_->AnimateIn(false);
- else if (!should_animate_security_verbose_ || tab_changed)
+ else if (!is_animated || tab_changed)
security_state_bubble_decoration_->ShowWithoutAnimation();
else if (is_new_security_level)
security_state_bubble_decoration_->AnimateIn();
« no previous file with comments | « chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h ('k') | chrome/browser/ui/location_bar/location_bar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698