| Index: chrome/browser/ui/toolbar/toolbar_model_impl.cc
|
| diff --git a/chrome/browser/ui/toolbar/toolbar_model_impl.cc b/chrome/browser/ui/toolbar/toolbar_model_impl.cc
|
| index 8f2edcd0c7b07c1d13c637eff1042f1a1c57b671..eb5a2f6672cb3e8c14bac927ef54860fd2dccbf6 100644
|
| --- a/chrome/browser/ui/toolbar/toolbar_model_impl.cc
|
| +++ b/chrome/browser/ui/toolbar/toolbar_model_impl.cc
|
| @@ -65,6 +65,27 @@ bool GetSecurityLevelForFieldTrialGroup(const std::string& group,
|
| return true;
|
| }
|
|
|
| +ToolbarModel::SecurityLevel GetSecurityLevelForHttpFieldTrial() {
|
| + std::string choice = base::CommandLine::ForCurrentProcess()->
|
| + GetSwitchValueASCII(switches::kMarkHttpAsNonSecure);
|
| + if (choice == "no")
|
| + return ToolbarModel::NONE;
|
| + else if (choice == "dubious")
|
| + return ToolbarModel::SECURITY_WARNING;
|
| + else if (choice == "non-secure")
|
| + return ToolbarModel::SECURITY_ERROR;
|
| +
|
| + std::string group = base::FieldTrialList::FindFullName("MarkHTTPAsNonSecure");
|
| + if (group == "no")
|
| + return ToolbarModel::NONE;
|
| + else if (group == "dubious")
|
| + return ToolbarModel::SECURITY_WARNING;
|
| + else if (group == "non-secure")
|
| + return ToolbarModel::SECURITY_ERROR;
|
| +
|
| + return ToolbarModel::NONE;
|
| +}
|
| +
|
| } // namespace
|
|
|
| ToolbarModelImpl::ToolbarModelImpl(ToolbarModelDelegate* delegate)
|
| @@ -87,9 +108,15 @@ ToolbarModel::SecurityLevel ToolbarModelImpl::GetSecurityLevelForWebContents(
|
| const SSLStatus& ssl = entry->GetSSL();
|
| switch (ssl.security_style) {
|
| case content::SECURITY_STYLE_UNKNOWN:
|
| - case content::SECURITY_STYLE_UNAUTHENTICATED:
|
| return NONE;
|
|
|
| + case content::SECURITY_STYLE_UNAUTHENTICATED: {
|
| + const GURL& url = entry->GetURL();
|
| + if (url.SchemeIs("http") || url.SchemeIs("ftp"))
|
| + return GetSecurityLevelForHttpFieldTrial();
|
| + return NONE;
|
| + }
|
| +
|
| case content::SECURITY_STYLE_AUTHENTICATION_BROKEN:
|
| return SECURITY_ERROR;
|
|
|
|
|