Chromium Code Reviews| Index: chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm |
| diff --git a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm |
| index d62b09625cd032d46eb3d8cc85244e9761ae5068..f617d8e732bd81207fab1f818ade323cdd7a8ab3 100644 |
| --- a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm |
| +++ b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm |
| @@ -208,7 +208,7 @@ void LocationBarViewMac::UpdatePageActions() { |
| } |
| void LocationBarViewMac::InvalidatePageActions() { |
| - DeletePageActionDecorations(); |
| + DeletePageActionsAndDecorations(); |
| Layout(); |
| } |
| @@ -650,13 +650,14 @@ PageActionDecoration* LocationBarViewMac::GetPageActionDecoration( |
| return NULL; |
| } |
| -void LocationBarViewMac::DeletePageActionDecorations() { |
| +void LocationBarViewMac::DeletePageActionsAndDecorations() { |
| // TODO(shess): Deleting these decorations could result in the cell |
| // refering to them before things are laid out again. Meanwhile, at |
| // least fail safe. |
| [[field_ cell] clearDecorations]; |
| page_action_decorations_.clear(); |
| + page_actions_.clear(); |
| } |
| void LocationBarViewMac::OnEditBookmarksEnabledChanged() { |
| @@ -666,13 +667,13 @@ void LocationBarViewMac::OnEditBookmarksEnabledChanged() { |
| void LocationBarViewMac::RefreshPageActionDecorations() { |
| if (!IsEditable()) { |
| - DeletePageActionDecorations(); |
| + DeletePageActionsAndDecorations(); |
| return; |
| } |
| WebContents* web_contents = GetWebContents(); |
| if (!web_contents) { |
| - DeletePageActionDecorations(); // Necessary? |
| + DeletePageActionsAndDecorations(); // Necessary? |
| return; |
| } |
| @@ -682,7 +683,7 @@ void LocationBarViewMac::RefreshPageActionDecorations() { |
| if (new_page_actions != page_actions_) { |
| page_actions_.swap(new_page_actions); |
| - DeletePageActionDecorations(); |
| + page_action_decorations_.clear(); |
|
danduong
2014/12/20 03:21:24
do you have to call [[field_ cell] clearDecoration
erikchen
2014/12/22 20:39:43
Yes, you're right.
|
| for (size_t i = 0; i < page_actions_.size(); ++i) { |
| page_action_decorations_.push_back( |
| new PageActionDecoration(this, browser_, page_actions_[i])); |