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..2dc1486e36a17264c9157cbee4474e49533928cf 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 |
| @@ -313,14 +313,18 @@ 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); |
| + tabbed_pane_->AddTabAtIndex( |
| + TAB_ID_CONNECTION, |
| l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_TAB_LABEL_CONNECTION), |
| - CreateConnectionTab()); |
| - tabbed_pane_->SelectTabAt(0); |
| + CreateConnectionTab(), |
| + true); |
| + DCHECK_EQ(tabbed_pane_->GetTabCount(), NUM_TAB_IDS); |
| tabbed_pane_->set_listener(this); |
| set_margins(gfx::Insets(kPopupMarginTop, kPopupMarginLeft, |
| @@ -363,7 +367,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,8 +526,14 @@ void WebsiteSettingsPopupView::SetIdentityInfo( |
| UTF8ToUTF16(identity_info.connection_status_description), |
| NULL); |
| - Layout(); |
| - SizeToContents(); |
| + // TODO(markusheintz): This is a hack to resize the connection tab contents |
|
msw
2012/08/24 18:56:40
Remove this and use InvalidateLayout instead.
markusheintz_
2012/08/27 09:09:30
Done.
|
| + // correctly. If this is not done, then the connection tab does not disaply |
| + // its contents correctly in case it is selected as visible tab when the |
| + // |WebsiteSettingsPopupView| is opened. Fix this. |
| + int tab_index = tabbed_pane_->GetSelectedTabIndex(); |
| + tabbed_pane_->SelectTabAt(0); |
| + tabbed_pane_->SelectTabAt(1); |
| + tabbed_pane_->SelectTabAt(tab_index); |
| } |
| void WebsiteSettingsPopupView::SetFirstVisit(const string16& first_visit) { |
| @@ -537,6 +547,10 @@ void WebsiteSettingsPopupView::SetFirstVisit(const string16& first_visit) { |
| SizeToContents(); |
| } |
| +void WebsiteSettingsPopupView::SetSelectedTab(TabId tab_id) { |
| + tabbed_pane_->SelectTabAt(tab_id); |
| +} |
| + |
| views::View* WebsiteSettingsPopupView::CreatePermissionsTab() { |
| views::View* pane = new views::View(); |
| pane->SetLayoutManager( |