| Index: chrome/browser/infobars/insecure_content_infobar_delegate.cc
|
| ===================================================================
|
| --- chrome/browser/infobars/insecure_content_infobar_delegate.cc (revision 175396)
|
| +++ chrome/browser/infobars/insecure_content_infobar_delegate.cc (working copy)
|
| @@ -16,14 +16,37 @@
|
|
|
| using content::OpenURLParams;
|
|
|
| +// static
|
| +void InsecureContentInfoBarDelegate::Create(InfoBarService* infobar_service,
|
| + InfoBarType type) {
|
| + scoped_ptr<InfoBarDelegate> new_infobar(
|
| + new InsecureContentInfoBarDelegate(infobar_service, type));
|
| +
|
| + // Only supsersede an existing insecure content infobar if we are upgrading
|
| + // from DISPLAY to RUN.
|
| + for (size_t i = 0; i < infobar_service->GetInfoBarCount(); ++i) {
|
| + InsecureContentInfoBarDelegate* delegate = infobar_service->
|
| + GetInfoBarDelegateAt(i)->AsInsecureContentInfoBarDelegate();
|
| + if (delegate != NULL) {
|
| + if ((type == RUN) && (delegate->type_ == DISPLAY))
|
| + return;
|
| + infobar_service->ReplaceInfoBar(delegate, new_infobar.Pass());
|
| + break;
|
| + }
|
| + }
|
| + if (new_infobar.get())
|
| + infobar_service->AddInfoBar(new_infobar.Pass());
|
| +
|
| + UMA_HISTOGRAM_ENUMERATION("InsecureContentInfoBarDelegateV2",
|
| + (type == DISPLAY) ? DISPLAY_INFOBAR_SHOWN : RUN_INFOBAR_SHOWN,
|
| + NUM_EVENTS);
|
| +}
|
| +
|
| InsecureContentInfoBarDelegate::InsecureContentInfoBarDelegate(
|
| InfoBarService* infobar_service,
|
| InfoBarType type)
|
| : ConfirmInfoBarDelegate(infobar_service),
|
| type_(type) {
|
| - UMA_HISTOGRAM_ENUMERATION("InsecureContentInfoBarDelegateV2",
|
| - (type_ == DISPLAY) ? DISPLAY_INFOBAR_SHOWN : RUN_INFOBAR_SHOWN,
|
| - NUM_EVENTS);
|
| }
|
|
|
| InsecureContentInfoBarDelegate::~InsecureContentInfoBarDelegate() {
|
|
|