Chromium Code Reviews| Index: chrome/browser/ui/views/website_settings/website_settings_popup_view.cc |
| diff --git a/chrome/browser/ui/views/website_settings/website_settings_popup_view.cc b/chrome/browser/ui/views/website_settings/website_settings_popup_view.cc |
| index d1a74e78fa9ebecea3d5e295ac023f2c44d34b60..6382c3330e68186d6fa31a2ce61e694b456f7400 100644 |
| --- a/chrome/browser/ui/views/website_settings/website_settings_popup_view.cc |
| +++ b/chrome/browser/ui/views/website_settings/website_settings_popup_view.cc |
| @@ -279,6 +279,7 @@ WebsiteSettingsPopupView::WebsiteSettingsPopupView( |
| header_(NULL), |
| tabbed_pane_(NULL), |
| site_data_content_(NULL), |
| + connection_tab_(NULL), |
| cookie_dialog_link_(NULL), |
| permissions_content_(NULL), |
| identity_info_content_(NULL), |
| @@ -313,14 +314,19 @@ WebsiteSettingsPopupView::WebsiteSettingsPopupView( |
| // hierachy. Adding the |tabbed_pane_| to the views hierachy triggers the |
| // initialization of the native tab UI element. If the native tab UI |
| // element is not initalized adding a tab will result in a NULL pointer |
| - // excetion. |
| - tabbed_pane_->AddTab( |
| + // exception. |
| + tabbed_pane_->AddTabAtIndex( |
| + TAB_ID_PERMISSIONS, |
| l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_TAB_LABEL_PERMISSIONS), |
| - CreatePermissionsTab()); |
| - tabbed_pane_->AddTab( |
| + CreatePermissionsTab(), |
| + true); |
| + connection_tab_ = CreateConnectionTab(); |
| + tabbed_pane_->AddTabAtIndex( |
| + TAB_ID_CONNECTION, |
| l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_TAB_LABEL_CONNECTION), |
| - CreateConnectionTab()); |
| - tabbed_pane_->SelectTabAt(0); |
| + connection_tab_, |
| + true); |
| + DCHECK_EQ(tabbed_pane_->GetTabCount(), NUM_TAB_IDS); |
| tabbed_pane_->set_listener(this); |
| set_margins(gfx::Insets(kPopupMarginTop, kPopupMarginLeft, |
| @@ -363,7 +369,7 @@ void WebsiteSettingsPopupView::LinkClicked(views::Link* source, |
| } else if (source == certificate_dialog_link_) { |
| gfx::NativeWindow parent = |
| anchor_view() ? anchor_view()->GetWidget()->GetNativeWindow() : NULL; |
| -ShowCertificateViewerByID(tab_contents_->web_contents(), parent, cert_id_); |
| + ShowCertificateViewerByID(tab_contents_->web_contents(), parent, cert_id_); |
| } |
| // The popup closes automatically when the collected cookies dialog or the |
| // certificate viewer opens. |
| @@ -522,6 +528,7 @@ void WebsiteSettingsPopupView::SetIdentityInfo( |
| UTF8ToUTF16(identity_info.connection_status_description), |
| NULL); |
| + connection_tab_->InvalidateLayout(); |
| Layout(); |
| SizeToContents(); |
|
msw
2012/08/27 17:41:33
nit: I doubt all three (invalidate, layout, and si
markusheintz_
2012/08/29 10:49:03
I've tried all sensible permutations. :(
|
| } |
| @@ -533,10 +540,15 @@ void WebsiteSettingsPopupView::SetFirstVisit(const string16& first_visit) { |
| l10n_util::GetStringUTF16(IDS_PAGE_INFO_SITE_INFO_TITLE), |
| first_visit, |
| NULL); |
| + connection_tab_->InvalidateLayout(); |
| Layout(); |
| SizeToContents(); |
| } |
| +void WebsiteSettingsPopupView::SetSelectedTab(TabId tab_id) { |
| + tabbed_pane_->SelectTabAt(tab_id); |
| +} |
| + |
| views::View* WebsiteSettingsPopupView::CreatePermissionsTab() { |
| views::View* pane = new views::View(); |
| pane->SetLayoutManager( |