| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/views/browser_actions_container.h" | 5 #include "chrome/browser/views/browser_actions_container.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "app/resource_bundle.h" | 8 #include "app/resource_bundle.h" |
| 9 #include "app/slide_animation.h" | 9 #include "app/slide_animation.h" |
| 10 #include "base/stl_util-inl.h" | 10 #include "base/stl_util-inl.h" |
| (...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 BrowserActionView* view = new BrowserActionView(extension, this); | 908 BrowserActionView* view = new BrowserActionView(extension, this); |
| 909 browser_action_views_.insert(browser_action_views_.begin() + index, view); | 909 browser_action_views_.insert(browser_action_views_.begin() + index, view); |
| 910 AddChildView(index, view); | 910 AddChildView(index, view); |
| 911 | 911 |
| 912 // If we are still initializing the container, don't bother animating. | 912 // If we are still initializing the container, don't bother animating. |
| 913 if (!model_->extensions_initialized()) | 913 if (!model_->extensions_initialized()) |
| 914 return; | 914 return; |
| 915 | 915 |
| 916 // Enlarge the container if it was already at maximum size and we're not in | 916 // Enlarge the container if it was already at maximum size and we're not in |
| 917 // the middle of upgrading. | 917 // the middle of upgrading. |
| 918 if ((model_->GetVisibleIconCount() < 0) && !extension->being_upgraded()) { | 918 if ((model_->GetVisibleIconCount() < 0) && |
| 919 !profile_->GetExtensionsService()->IsBeingUpgraded(extension)) { |
| 919 suppress_chevron_ = true; | 920 suppress_chevron_ = true; |
| 920 SaveDesiredSizeAndAnimate(Tween::LINEAR, visible_actions + 1); | 921 SaveDesiredSizeAndAnimate(Tween::LINEAR, visible_actions + 1); |
| 921 } else { | 922 } else { |
| 922 // Just redraw the (possibly modified) visible icon set. | 923 // Just redraw the (possibly modified) visible icon set. |
| 923 OnBrowserActionVisibilityChanged(); | 924 OnBrowserActionVisibilityChanged(); |
| 924 } | 925 } |
| 925 } | 926 } |
| 926 | 927 |
| 927 void BrowserActionsContainer::BrowserActionRemoved(const Extension* extension) { | 928 void BrowserActionsContainer::BrowserActionRemoved(const Extension* extension) { |
| 928 CloseOverflowMenu(); | 929 CloseOverflowMenu(); |
| 929 | 930 |
| 930 if (popup_ && popup_->host()->extension() == extension) | 931 if (popup_ && popup_->host()->extension() == extension) |
| 931 HidePopup(); | 932 HidePopup(); |
| 932 | 933 |
| 933 size_t visible_actions = VisibleBrowserActions(); | 934 size_t visible_actions = VisibleBrowserActions(); |
| 934 for (BrowserActionViews::iterator iter = browser_action_views_.begin(); | 935 for (BrowserActionViews::iterator iter = browser_action_views_.begin(); |
| 935 iter != browser_action_views_.end(); ++iter) { | 936 iter != browser_action_views_.end(); ++iter) { |
| 936 if ((*iter)->button()->extension() == extension) { | 937 if ((*iter)->button()->extension() == extension) { |
| 937 RemoveChildView(*iter); | 938 RemoveChildView(*iter); |
| 938 delete *iter; | 939 delete *iter; |
| 939 browser_action_views_.erase(iter); | 940 browser_action_views_.erase(iter); |
| 940 | 941 |
| 941 // If the extension is being upgraded we don't want the bar to shrink | 942 // If the extension is being upgraded we don't want the bar to shrink |
| 942 // because the icon is just going to get re-added to the same location. | 943 // because the icon is just going to get re-added to the same location. |
| 943 if (extension->being_upgraded()) | 944 if (profile_->GetExtensionsService()->IsBeingUpgraded(extension)) |
| 944 return; | 945 return; |
| 945 | 946 |
| 946 if (browser_action_views_.size() > visible_actions) { | 947 if (browser_action_views_.size() > visible_actions) { |
| 947 // If we have more icons than we can show, then we must not be changing | 948 // If we have more icons than we can show, then we must not be changing |
| 948 // the container size (since we either removed an icon from the main | 949 // the container size (since we either removed an icon from the main |
| 949 // area and one from the overflow list will have shifted in, or we | 950 // area and one from the overflow list will have shifted in, or we |
| 950 // removed an entry directly from the overflow list). | 951 // removed an entry directly from the overflow list). |
| 951 OnBrowserActionVisibilityChanged(); | 952 OnBrowserActionVisibilityChanged(); |
| 952 } else { | 953 } else { |
| 953 // Either we went from overflow to no-overflow, or we shrunk the no- | 954 // Either we went from overflow to no-overflow, or we shrunk the no- |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1090 AnimationEnded(resize_animation_.get()); | 1091 AnimationEnded(resize_animation_.get()); |
| 1091 } | 1092 } |
| 1092 } | 1093 } |
| 1093 | 1094 |
| 1094 bool BrowserActionsContainer::ShouldDisplayBrowserAction( | 1095 bool BrowserActionsContainer::ShouldDisplayBrowserAction( |
| 1095 const Extension* extension) { | 1096 const Extension* extension) { |
| 1096 // Only display incognito-enabled extensions while in incognito mode. | 1097 // Only display incognito-enabled extensions while in incognito mode. |
| 1097 return (!profile_->IsOffTheRecord() || | 1098 return (!profile_->IsOffTheRecord() || |
| 1098 profile_->GetExtensionsService()->IsIncognitoEnabled(extension)); | 1099 profile_->GetExtensionsService()->IsIncognitoEnabled(extension)); |
| 1099 } | 1100 } |
| OLD | NEW |