Chromium Code Reviews| Index: chrome/browser/ui/views/location_bar/content_setting_image_view.cc |
| diff --git a/chrome/browser/ui/views/location_bar/content_setting_image_view.cc b/chrome/browser/ui/views/location_bar/content_setting_image_view.cc |
| index 6d05e4fa6a7a3ec83dd6026879005839266391e2..423458e82d9f4fc64c3af901b662a032bc4ec066 100644 |
| --- a/chrome/browser/ui/views/location_bar/content_setting_image_view.cc |
| +++ b/chrome/browser/ui/views/location_bar/content_setting_image_view.cc |
| @@ -94,7 +94,8 @@ ContentSettingImageView::~ContentSettingImageView() { |
| bubble_widget_->RemoveObserver(this); |
| } |
| -void ContentSettingImageView::Update(content::WebContents* web_contents) { |
| +void ContentSettingImageView::UpdatePreLayout( |
| + content::WebContents* web_contents) { |
| // Note: We explicitly want to call this even if |web_contents| is NULL, so we |
| // get hidden properly while the user is editing the omnibox. |
| content_setting_image_model_->UpdateFromWebContents(web_contents); |
| @@ -127,9 +128,35 @@ void ContentSettingImageView::Update(content::WebContents* web_contents) { |
| text_label_->SetVisible(true); |
| slide_animator_.Show(); |
| } |
| +} |
| + |
| +void ContentSettingImageView::UpdatePostLayout( |
| + content::WebContents* web_contents) { |
| + if (!content_setting_image_model_->is_visible()) |
| + return; |
| - content_settings->SetBlockageHasBeenIndicated( |
| - content_setting_image_model_->get_content_settings_type()); |
| + TabSpecificContentSettings* content_settings = web_contents ? |
| + TabSpecificContentSettings::FromWebContents(web_contents) : NULL; |
| + if (!content_settings) |
| + return; |
| + if (!content_settings->IsBlockageIndicated( |
| + content_setting_image_model_->get_content_settings_type())) { |
|
Peter Kasting
2013/09/04 20:59:11
Nit: Indent 4, not 9
npentrel
2013/09/04 21:50:18
Done.
|
| + if (content_setting_image_model_->ShouldShowBubbleOnBlockage()) { |
| + if (web_contents && !bubble_widget_) { |
|
Peter Kasting
2013/09/04 20:59:11
|web_contents| cannot be NULL here or we'd have re
npentrel
2013/09/04 21:50:18
true.
|
| + bubble_widget_ = parent_->delegate()->CreateViewsBubble( |
| + new ContentSettingBubbleContents( |
| + ContentSettingBubbleModel::CreateContentSettingBubbleModel( |
| + parent_->delegate()->GetContentSettingBubbleModelDelegate(), |
| + web_contents, parent_->profile(), |
| + content_setting_image_model_->get_content_settings_type()), |
| + web_contents, this, views::BubbleBorder::TOP_RIGHT)); |
| + bubble_widget_->AddObserver(this); |
| + bubble_widget_->Show(); |
| + } |
| + content_settings->SetBlockageHasBeenIndicated( |
|
Peter Kasting
2013/09/04 20:59:11
This statement is one layer too deep.
npentrel
2013/09/04 21:50:18
Done.
|
| + content_setting_image_model_->get_content_settings_type()); |
| + } |
| + } |
| } |
| // static |