Index: chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc |
diff --git a/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc b/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc |
index b33776f0894c2cf0f2e4e871cf21374df474b512..5f0e25ddcb92187f699103ad3b34de6c32fe9220 100644 |
--- a/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc |
+++ b/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc |
@@ -227,11 +227,20 @@ int BrowserActionOverflowMenuController::OnPerformDrop( |
drop_data.index() < owner_->VisibleBrowserActions()) |
--drop_index; |
+ // Move the extension in the model. |
const extensions::Extension* extension = |
extensions::ExtensionRegistry::Get(browser_->profile())-> |
enabled_extensions().GetByID(drop_data.id()); |
- extensions::ExtensionToolbarModel::Get(browser_->profile())-> |
- MoveExtensionIcon(extension, drop_index); |
+ extensions::ExtensionToolbarModel* toolbar_model = |
+ extensions::ExtensionToolbarModel::Get(browser_->profile()); |
+ if (browser_->profile()->IsOffTheRecord()) |
+ drop_index = toolbar_model->IncognitoIndexToOriginal(drop_index); |
+ toolbar_model->MoveExtensionIcon(extension, drop_index); |
+ |
+ // If the extension was moved to the overflow menu from the main bar, notify |
+ // the owner. |
+ if (drop_index >= owner_->VisibleBrowserActions()) |
+ owner_->NotifyActionMovedToOverflow(); |
if (for_drop_) |
delete this; |