| Index: chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.cc
|
| diff --git a/chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.cc b/chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.cc
|
| index bb2a86347dacf1993cf53f8c67c0bd05793481ea..ac2bb4ac64670e5f37242dfe37fe26f827755244 100644
|
| --- a/chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.cc
|
| +++ b/chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.cc
|
| @@ -30,9 +30,9 @@ void MultiProfileBrowserStatusMonitor::ActiveUserChanged(
|
| bool owned = multi_user_util::IsProfileFromActiveUser((*it)->profile());
|
| bool shown = IsV1AppInShelf(*it);
|
| if (owned && !shown)
|
| - BrowserStatusMonitor::AddV1AppToShelf(*it);
|
| + ConnectV1AppToLauncher(*it);
|
| else if (!owned && shown)
|
| - BrowserStatusMonitor::RemoveV1AppFromShelf(*it);
|
| + DisconnectV1AppFromLauncher(*it);
|
| }
|
|
|
| // Handle apps in browser tabs: Add the new applications.
|
| @@ -96,3 +96,23 @@ void MultiProfileBrowserStatusMonitor::RemoveV1AppFromShelf(Browser* browser) {
|
| BrowserStatusMonitor::RemoveV1AppFromShelf(browser);
|
| }
|
| }
|
| +
|
| +void MultiProfileBrowserStatusMonitor::ConnectV1AppToLauncher(
|
| + Browser* browser) {
|
| + // Adding a V1 app to the launcher consists of two actions: Add the browser
|
| + // (launcher item) and add the content (launcher item status).
|
| + BrowserStatusMonitor::AddV1AppToShelf(browser);
|
| + launcher_controller_->UpdateAppState(
|
| + browser->tab_strip_model()->GetActiveWebContents(),
|
| + ChromeLauncherController::APP_STATE_INACTIVE);
|
| +}
|
| +
|
| +void MultiProfileBrowserStatusMonitor::DisconnectV1AppFromLauncher(
|
| + Browser* browser) {
|
| + // Removing a V1 app from the launcher requires to remove the content and
|
| + // the launcher item.
|
| + launcher_controller_->UpdateAppState(
|
| + browser->tab_strip_model()->GetActiveWebContents(),
|
| + ChromeLauncherController::APP_STATE_REMOVED);
|
| + BrowserStatusMonitor::RemoveV1AppFromShelf(browser);
|
| +}
|
|
|