| Index: chrome/browser/ui/toolbar/toolbar_actions_bar.cc
|
| diff --git a/chrome/browser/ui/toolbar/toolbar_actions_bar.cc b/chrome/browser/ui/toolbar/toolbar_actions_bar.cc
|
| index 853aa6a103853148ec13d8b3ca8a87a39549d70d..7a47aeadc87dac2cf8a5c9a2bc11deb8d1d6753a 100644
|
| --- a/chrome/browser/ui/toolbar/toolbar_actions_bar.cc
|
| +++ b/chrome/browser/ui/toolbar/toolbar_actions_bar.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "base/auto_reset.h"
|
| #include "chrome/browser/extensions/extension_action_manager.h"
|
| +#include "chrome/browser/extensions/extension_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/sessions/session_tab_helper.h"
|
| #include "chrome/browser/ui/browser.h"
|
| @@ -689,17 +690,15 @@ void ToolbarActionsBar::ToolbarExtensionAdded(
|
| if (!model_->extensions_initialized())
|
| return;
|
|
|
| - // If this is just an upgrade, then don't worry about resizing.
|
| - if (extensions::ExtensionSystem::Get(browser_->profile())->runtime_data()->
|
| - IsBeingUpgraded(extension->id())) {
|
| - delegate_->Redraw(false);
|
| - } else {
|
| - // We may need to resize (e.g. to show the new icon, or the chevron).
|
| - // We suppress the chevron during animation because, if we're expanding to
|
| - // show a new icon, we don't want to have the chevron visible only for the
|
| - // duration of the animation.
|
| - ResizeDelegate(gfx::Tween::LINEAR, true);
|
| - }
|
| + // We may need to resize (e.g. to show the new icon, or the chevron). We don't
|
| + // need to check if the extension is upgrading here, because ResizeDelegate()
|
| + // checks to see if the container is already the proper size, and because
|
| + // if the action is newly incognito enabled, even though it's a reload, it's
|
| + // a new extension to this toolbar.
|
| + // We suppress the chevron during animation because, if we're expanding to
|
| + // show a new icon, we don't want to have the chevron visible only for the
|
| + // duration of the animation.
|
| + ResizeDelegate(gfx::Tween::LINEAR, true);
|
| }
|
|
|
| void ToolbarActionsBar::ToolbarExtensionRemoved(
|
| @@ -718,8 +717,13 @@ void ToolbarActionsBar::ToolbarExtensionRemoved(
|
|
|
| // If the extension is being upgraded we don't want the bar to shrink
|
| // because the icon is just going to get re-added to the same location.
|
| + // There is an exception if this is an off-the-record profile, and the
|
| + // extension is no longer incognito-enabled.
|
| if (!extensions::ExtensionSystem::Get(browser_->profile())->runtime_data()->
|
| - IsBeingUpgraded(extension->id())) {
|
| + IsBeingUpgraded(extension->id()) ||
|
| + (browser_->profile()->IsOffTheRecord() &&
|
| + !extensions::util::IsIncognitoEnabled(extension->id(),
|
| + browser_->profile()))) {
|
| if (toolbar_actions_.size() > model_->visible_icon_count()) {
|
| // If we have more icons than we can show, then we must not be changing
|
| // the container size (since we either removed an icon from the main
|
|
|