Chromium Code Reviews| Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc |
| diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc |
| index 5cdc8c8a6a60249cc08c6c2b02e07568e7036276..62ac3007840e58d49c20f8652866b0754016f784 100644 |
| --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc |
| +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc |
| @@ -300,14 +300,15 @@ ash::ShelfID ChromeLauncherController::CreateAppLauncherItem( |
| model_->item_count(), ash::TYPE_APP); |
| } |
| -const ash::ShelfItem* ChromeLauncherController::GetItem(ash::ShelfID id) const { |
| +const ash::ShelfItem* ChromeLauncherController::GetItem( |
| + const ash::ShelfID& id) const { |
| const int index = model_->ItemIndexByID(id); |
| if (index >= 0 && index < model_->item_count()) |
| return &model_->items()[index]; |
| return nullptr; |
| } |
| -void ChromeLauncherController::SetItemType(ash::ShelfID id, |
| +void ChromeLauncherController::SetItemType(const ash::ShelfID& id, |
| ash::ShelfItemType type) { |
| const ash::ShelfItem* item = GetItem(id); |
| if (item && item->type != type) { |
| @@ -317,7 +318,7 @@ void ChromeLauncherController::SetItemType(ash::ShelfID id, |
| } |
| } |
| -void ChromeLauncherController::SetItemStatus(ash::ShelfID id, |
| +void ChromeLauncherController::SetItemStatus(const ash::ShelfID& id, |
| ash::ShelfItemStatus status) { |
| const ash::ShelfItem* item = GetItem(id); |
| if (item && item->status != status) { |
| @@ -327,19 +328,19 @@ void ChromeLauncherController::SetItemStatus(ash::ShelfID id, |
| } |
| } |
| -void ChromeLauncherController::CloseLauncherItem(ash::ShelfID id) { |
| - CHECK(id); |
| +void ChromeLauncherController::CloseLauncherItem(const ash::ShelfID& id) { |
| + CHECK(!id.IsEmpty()); |
| if (IsPinned(id)) { |
| // Create a new shortcut delegate. |
| SetItemStatus(id, ash::STATUS_CLOSED); |
| - model_->SetShelfItemDelegate(id, AppShortcutLauncherItemController::Create( |
| - GetItem(id)->app_launch_id)); |
| + model_->SetShelfItemDelegate(id, |
| + AppShortcutLauncherItemController::Create(id)); |
| } else { |
| RemoveShelfItem(id); |
| } |
| } |
| -void ChromeLauncherController::UnpinShelfItemInternal(ash::ShelfID id) { |
| +void ChromeLauncherController::UnpinShelfItemInternal(const ash::ShelfID& id) { |
| const ash::ShelfItem* item = GetItem(id); |
| if (item && item->status != ash::STATUS_CLOSED) |
| UnpinRunningAppInternal(model_->ItemIndexByID(id)); |
| @@ -347,7 +348,7 @@ void ChromeLauncherController::UnpinShelfItemInternal(ash::ShelfID id) { |
| RemoveShelfItem(id); |
| } |
| -bool ChromeLauncherController::IsPinned(ash::ShelfID id) { |
| +bool ChromeLauncherController::IsPinned(const ash::ShelfID& id) { |
| const ash::ShelfItem* item = GetItem(id); |
| return item && ItemTypeIsPinned(*item); |
| } |
| @@ -363,35 +364,28 @@ void ChromeLauncherController::SetV1AppStatus(const std::string& app_id, |
| SetItemStatus(id, status); |
| } else if (status != ash::STATUS_CLOSED && !app_id.empty()) { |
| InsertAppLauncherItem( |
| - AppShortcutLauncherItemController::Create(ash::AppLaunchId(app_id)), |
| - status, model_->item_count(), ash::TYPE_APP); |
| + AppShortcutLauncherItemController::Create(ash::ShelfID(app_id)), status, |
| + model_->item_count(), ash::TYPE_APP); |
| } |
| } |
| -void ChromeLauncherController::Launch(ash::ShelfID id, int event_flags) { |
| - ash::ShelfItemDelegate* delegate = model_->GetShelfItemDelegate(id); |
| - if (!delegate) |
| - return; // In case invoked from menu and item closed while menu up. |
| - |
| - // Launching some items replaces the associated item delegate instance, |
| - // which destroys the app and launch id strings; making copies avoid crashes. |
| - LaunchApp(ash::AppLaunchId(delegate->app_id(), delegate->launch_id()), |
| - ash::LAUNCH_FROM_UNKNOWN, event_flags); |
| +void ChromeLauncherController::Launch(const ash::ShelfID& id, int event_flags) { |
| + LaunchApp(id, ash::LAUNCH_FROM_UNKNOWN, event_flags); |
|
James Cook
2017/05/04 16:38:49
Double-checking: We don't need to copy the ID anym
msw
2017/05/04 19:05:57
This should be fine. The one caller, LauncherConte
|
| } |
| -void ChromeLauncherController::Close(ash::ShelfID id) { |
| +void ChromeLauncherController::Close(const ash::ShelfID& id) { |
| ash::ShelfItemDelegate* delegate = model_->GetShelfItemDelegate(id); |
| if (!delegate) |
| return; // May happen if menu closed. |
| delegate->Close(); |
| } |
| -bool ChromeLauncherController::IsOpen(ash::ShelfID id) { |
| +bool ChromeLauncherController::IsOpen(const ash::ShelfID& id) { |
| const ash::ShelfItem* item = GetItem(id); |
| return item && item->status != ash::STATUS_CLOSED; |
| } |
| -bool ChromeLauncherController::IsPlatformApp(ash::ShelfID id) { |
| +bool ChromeLauncherController::IsPlatformApp(const ash::ShelfID& id) { |
| std::string app_id = GetAppIDForShelfID(id); |
| const extensions::Extension* extension = |
| GetExtensionForAppID(app_id, profile()); |
| @@ -400,7 +394,7 @@ bool ChromeLauncherController::IsPlatformApp(ash::ShelfID id) { |
| return extension ? extension->is_platform_app() : false; |
| } |
| -void ChromeLauncherController::LaunchApp(ash::AppLaunchId id, |
| +void ChromeLauncherController::LaunchApp(const ash::ShelfID& id, |
| ash::ShelfLaunchSource source, |
| int event_flags) { |
| launcher_controller_helper_->LaunchApp(id, source, event_flags); |
| @@ -409,26 +403,25 @@ void ChromeLauncherController::LaunchApp(ash::AppLaunchId id, |
| void ChromeLauncherController::ActivateApp(const std::string& app_id, |
| ash::ShelfLaunchSource source, |
| int event_flags) { |
| - // If there is an existing non-shortcut delegate for this app, open it. |
| - ash::ShelfID id = GetShelfIDForAppID(app_id); |
| - if (id) { |
| - SelectItemWithSource(model_->GetShelfItemDelegate(id), source); |
| + // If there is an existing delegate for this app, select it. |
| + const ash::ShelfID shelf_id(app_id); |
| + ash::ShelfItemDelegate* delegate = model_->GetShelfItemDelegate(shelf_id); |
| + if (delegate) { |
| + SelectItemWithSource(delegate, source); |
| return; |
| } |
| - // Create a temporary application launcher item and use it to see if there are |
| - // running instances. |
| - ash::AppLaunchId app_launch_id(app_id); |
| + // Create a temporary delegate to see if there are running app instances. |
| std::unique_ptr<AppShortcutLauncherItemController> item_delegate = |
| - AppShortcutLauncherItemController::Create(app_launch_id); |
| + AppShortcutLauncherItemController::Create(shelf_id); |
| if (!item_delegate->GetRunningApplications().empty()) |
| SelectItemWithSource(item_delegate.get(), source); |
| else |
| - LaunchApp(app_launch_id, source, event_flags); |
| + LaunchApp(shelf_id, source, event_flags); |
| } |
| void ChromeLauncherController::SetLauncherItemImage( |
| - ash::ShelfID shelf_id, |
| + const ash::ShelfID& shelf_id, |
| const gfx::ImageSkia& image) { |
| const ash::ShelfItem* item = GetItem(shelf_id); |
| if (item) { |
| @@ -453,7 +446,7 @@ void ChromeLauncherController::UpdateAppState(content::WebContents* contents, |
| std::string last_app_id = web_contents_to_app_id_[contents]; |
| if (last_app_id != app_id) { |
| ash::ShelfID id = GetShelfIDForAppID(last_app_id); |
| - if (id) { |
| + if (!id.IsEmpty()) { |
| // Since GetAppState() will use |web_contents_to_app_id_| we remove |
| // the connection before calling it. |
| web_contents_to_app_id_.erase(contents); |
| @@ -468,7 +461,7 @@ void ChromeLauncherController::UpdateAppState(content::WebContents* contents, |
| web_contents_to_app_id_[contents] = app_id; |
| ash::ShelfID id = GetShelfIDForAppID(app_id); |
| - if (id) { |
| + if (!id.IsEmpty()) { |
| SetItemStatus(id, (app_state == APP_STATE_WINDOW_ACTIVE || |
| app_state == APP_STATE_ACTIVE) |
| ? ash::STATUS_ACTIVE |
| @@ -484,11 +477,12 @@ ash::ShelfID ChromeLauncherController::GetShelfIDForWebContents( |
| ash::ShelfID id = GetShelfIDForAppID(app_id); |
| // If there is no dedicated app item, use the browser shortcut item. |
| - return id == ash::kInvalidShelfID ? GetShelfIDForAppID(kChromeAppId) : id; |
| + return id.IsEmpty() ? GetShelfIDForAppID(kChromeAppId) : id; |
| } |
| -void ChromeLauncherController::SetRefocusURLPatternForTest(ash::ShelfID id, |
| - const GURL& url) { |
| +void ChromeLauncherController::SetRefocusURLPatternForTest( |
| + const ash::ShelfID& id, |
| + const GURL& url) { |
| const ash::ShelfItem* item = GetItem(id); |
| if (item && !IsPlatformApp(id) && |
| (item->type == ash::TYPE_PINNED_APP || item->type == ash::TYPE_APP)) { |
| @@ -616,7 +610,7 @@ bool ChromeLauncherController::IsWebContentHandledByApplication( |
| bool ChromeLauncherController::ContentCanBeHandledByGmailApp( |
| content::WebContents* web_contents) { |
| ash::ShelfID id = GetShelfIDForAppID(kGmailAppId); |
| - if (id) { |
| + if (!id.IsEmpty()) { |
| const GURL url = web_contents->GetURL(); |
| // We need to extend the application matching for the gMail app beyond the |
| // manifest file's specification. This is required because of the namespace |
| @@ -704,7 +698,7 @@ ChromeLauncherController::GetArcDeferredLauncher() { |
| } |
| const std::string& ChromeLauncherController::GetLaunchIDForShelfID( |
| - ash::ShelfID id) { |
| + const ash::ShelfID& id) { |
| ash::ShelfItemDelegate* delegate = model_->GetShelfItemDelegate(id); |
| return delegate ? delegate->launch_id() : base::EmptyString(); |
| } |
| @@ -786,7 +780,7 @@ ash::ShelfID ChromeLauncherController::GetShelfIDForAppIDAndLaunchID( |
| } |
| const std::string& ChromeLauncherController::GetAppIDForShelfID( |
| - ash::ShelfID id) { |
| + const ash::ShelfID& id) { |
| return model_->GetAppIDForShelfID(id); |
| } |
| @@ -835,11 +829,11 @@ void ChromeLauncherController::OnAppUninstalledPrepared( |
| // outstanding locks which needs to be removed. |
| const Profile* profile = Profile::FromBrowserContext(browser_context); |
| ash::ShelfID shelf_id = GetShelfIDForAppID(app_id); |
| - if (shelf_id != ash::kInvalidShelfID) |
| + if (!shelf_id.IsEmpty()) |
| CloseWindowedAppsFromRemovedExtension(app_id, profile); |
| if (IsAppPinned(app_id)) { |
| - if (profile == this->profile() && shelf_id != ash::kInvalidShelfID) { |
| + if (profile == this->profile() && !shelf_id.IsEmpty()) { |
| // Some apps may be removed locally. Unpin the item without removing the |
| // pin position from profile preferences. When needed, it is automatically |
| // deleted on app list model update. |
| @@ -861,8 +855,7 @@ void ChromeLauncherController::OnAppImageUpdated(const std::string& app_id, |
| ash::ShelfItem item = model_->items()[index]; |
| ash::ShelfItemDelegate* delegate = model_->GetShelfItemDelegate(item.id); |
| if (item.type == ash::TYPE_APP_PANEL || !delegate || |
| - delegate->image_set_by_controller() || |
| - item.app_launch_id.app_id() != app_id) { |
| + delegate->image_set_by_controller() || item.id.app_id() != app_id) { |
| continue; |
| } |
| item.image = image; |
| @@ -894,11 +887,11 @@ bool ChromeLauncherController::ConnectToShelfController() { |
| // ChromeLauncherController private: |
| ash::ShelfID ChromeLauncherController::CreateAppShortcutLauncherItem( |
| - const ash::AppLaunchId& app_launch_id, |
| + const ash::ShelfID& shelf_id, |
| int index) { |
| return InsertAppLauncherItem( |
| - AppShortcutLauncherItemController::Create(app_launch_id), |
| - ash::STATUS_CLOSED, index, ash::TYPE_PINNED_APP); |
| + AppShortcutLauncherItemController::Create(shelf_id), ash::STATUS_CLOSED, |
| + index, ash::TYPE_PINNED_APP); |
| } |
| void ChromeLauncherController::RememberUnpinnedRunningApplicationOrder() { |
| @@ -933,14 +926,15 @@ void ChromeLauncherController::RestoreUnpinnedRunningApplicationOrder( |
| } |
| } |
| -void ChromeLauncherController::RemoveShelfItem(ash::ShelfID id) { |
| +void ChromeLauncherController::RemoveShelfItem(const ash::ShelfID& id) { |
| const int index = model_->ItemIndexByID(id); |
| if (index >= 0 && index < model_->item_count()) |
| model_->RemoveItemAt(index); |
| } |
| -void ChromeLauncherController::PinRunningAppInternal(int index, |
| - ash::ShelfID shelf_id) { |
| +void ChromeLauncherController::PinRunningAppInternal( |
| + int index, |
| + const ash::ShelfID& shelf_id) { |
| DCHECK_EQ(GetItem(shelf_id)->type, ash::TYPE_APP); |
| SetItemType(shelf_id, ash::TYPE_PINNED_APP); |
| int running_index = model_->ItemIndexByID(shelf_id); |
| @@ -957,9 +951,9 @@ void ChromeLauncherController::UnpinRunningAppInternal(int index) { |
| SetItemType(item.id, ash::TYPE_APP); |
| } |
| -void ChromeLauncherController::SyncPinPosition(ash::ShelfID shelf_id) { |
| +void ChromeLauncherController::SyncPinPosition(const ash::ShelfID& shelf_id) { |
| DCHECK(should_sync_pin_changes_); |
| - DCHECK(shelf_id); |
| + DCHECK(!shelf_id.IsEmpty()); |
| const int max_index = model_->item_count(); |
| const int index = model_->ItemIndexByID(shelf_id); |
| @@ -971,7 +965,7 @@ void ChromeLauncherController::SyncPinPosition(ash::ShelfID shelf_id) { |
| std::string app_id_before; |
| std::string launch_id_before; |
| - std::vector<ash::AppLaunchId> app_launch_ids_after; |
| + std::vector<ash::ShelfID> shelf_ids_after; |
| for (int i = index - 1; i > 0; --i) { |
| const ash::ShelfID shelf_id_before = model_->items()[i].id; |
| @@ -989,17 +983,13 @@ void ChromeLauncherController::SyncPinPosition(ash::ShelfID shelf_id) { |
| const std::string app_id_after = GetAppIDForShelfID(shelf_id_after); |
| DCHECK(!app_id_after.empty()); |
| const std::string launch_id_after = GetLaunchIDForShelfID(shelf_id_after); |
| - app_launch_ids_after.push_back( |
| - ash::AppLaunchId(app_id_after, launch_id_after)); |
| + shelf_ids_after.push_back(ash::ShelfID(app_id_after, launch_id_after)); |
| } |
| } |
| - ash::AppLaunchId app_launch_id_before = |
| - app_id_before.empty() ? ash::AppLaunchId() |
| - : ash::AppLaunchId(app_id_before, launch_id_before); |
| - |
| - ash::launcher::SetPinPosition(profile(), ash::AppLaunchId(app_id, launch_id), |
| - app_launch_id_before, app_launch_ids_after); |
| + ash::ShelfID shelf_id_before = ash::ShelfID(app_id_before, launch_id_before); |
| + ash::launcher::SetPinPosition(profile(), ash::ShelfID(app_id, launch_id), |
| + shelf_id_before, shelf_ids_after); |
| } |
| void ChromeLauncherController::OnSyncModelUpdated() { |
| @@ -1023,7 +1013,7 @@ void ChromeLauncherController::UpdateAppLaunchersFromPref() { |
| // cyclically trigger sync changes (eg. ShelfItemAdded calls SyncPinPosition). |
| ScopedPinSyncDisabler scoped_pin_sync_disabler = GetScopedPinSyncDisabler(); |
| - const std::vector<ash::AppLaunchId> pinned_apps = |
| + const std::vector<ash::ShelfID> pinned_apps = |
| ash::launcher::GetPinnedAppsFromPrefs(profile()->GetPrefs(), |
| launcher_controller_helper_.get()); |
| @@ -1035,10 +1025,10 @@ void ChromeLauncherController::UpdateAppLaunchersFromPref() { |
| // Apply pins in two steps. At the first step, go through the list of apps to |
| // pin, move existing pin to current position specified by |index| or create |
| // the new pin at that position. |
| - for (const auto& pref_app_launch_id : pinned_apps) { |
| + for (const auto& pref_shelf_id : pinned_apps) { |
| // Filter out apps that may be mapped wrongly. |
| // TODO(khmel): b/31703859 is to refactore shelf mapping. |
| - const std::string app_id = pref_app_launch_id.app_id(); |
| + const std::string app_id = pref_shelf_id.app_id(); |
| const std::string shelf_app_id = |
| ArcAppWindowLauncherController::GetShelfAppIdFromArcAppId(app_id); |
| if (shelf_app_id != app_id) |
| @@ -1051,10 +1041,8 @@ void ChromeLauncherController::UpdateAppLaunchersFromPref() { |
| int app_index = index; |
| for (; app_index < model_->item_count(); ++app_index) { |
| const ash::ShelfItem& item = model_->items()[app_index]; |
| - if (item.app_launch_id.app_id() == app_id && |
| - item.app_launch_id.launch_id() == pref_app_launch_id.launch_id()) { |
| + if (item.id == pref_shelf_id) |
| break; |
| - } |
| } |
| if (app_index < model_->item_count()) { |
| // Found existing pin or running app. |
| @@ -1069,7 +1057,7 @@ void ChromeLauncherController::UpdateAppLaunchersFromPref() { |
| } else { |
| // This is fresh pin. Create new one. |
| DCHECK_NE(app_id, kChromeAppId); |
| - CreateAppShortcutLauncherItem(pref_app_launch_id, index); |
| + CreateAppShortcutLauncherItem(pref_shelf_id, index); |
| } |
| ++index; |
| } |
| @@ -1090,7 +1078,7 @@ void ChromeLauncherController::UpdatePolicyPinnedAppsFromPrefs() { |
| for (int index = 0; index < model_->item_count(); index++) { |
| ash::ShelfItem item = model_->items()[index]; |
| const bool pinned_by_policy = |
| - GetPinnableForAppID(item.app_launch_id.app_id(), profile()) == |
| + GetPinnableForAppID(item.id.app_id(), profile()) == |
| AppListControllerDelegate::PIN_FIXED; |
| if (item.pinned_by_policy != pinned_by_policy) { |
| item.pinned_by_policy = pinned_by_policy; |
| @@ -1150,19 +1138,18 @@ ash::ShelfID ChromeLauncherController::InsertAppLauncherItem( |
| ash::ShelfItemStatus status, |
| int index, |
| ash::ShelfItemType shelf_item_type) { |
| - ash::ShelfID id = model_->next_id(); |
| - CHECK(!GetItem(id)); |
| CHECK(item_delegate); |
| + CHECK(!GetItem(item_delegate->shelf_id())); |
| // Ash's ShelfWindowWatcher handles app panel windows separately. |
| DCHECK_NE(ash::TYPE_APP_PANEL, shelf_item_type); |
| ash::ShelfItem item; |
| item.status = status; |
| item.type = shelf_item_type; |
| - item.app_launch_id = item_delegate->app_launch_id(); |
| + item.id = item_delegate->shelf_id(); |
| // Set the delegate first to avoid constructing one in ShelfItemAdded. |
| - model_->SetShelfItemDelegate(id, std::move(item_delegate)); |
| + model_->SetShelfItemDelegate(item.id, std::move(item_delegate)); |
| model_->AddAt(index, item); |
| - return id; |
| + return item.id; |
| } |
| void ChromeLauncherController::CreateBrowserShortcutLauncherItem() { |
| @@ -1176,13 +1163,12 @@ void ChromeLauncherController::CreateBrowserShortcutLauncherItem() { |
| ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| browser_shortcut.image = *rb.GetImageSkiaNamed(IDR_PRODUCT_LOGO_32); |
| browser_shortcut.title = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); |
| - browser_shortcut.app_launch_id = ash::AppLaunchId(kChromeAppId); |
| - ash::ShelfID id = model_->next_id(); |
| + browser_shortcut.id = ash::ShelfID(kChromeAppId); |
| std::unique_ptr<BrowserShortcutLauncherItemController> item_delegate = |
| base::MakeUnique<BrowserShortcutLauncherItemController>(model_); |
| BrowserShortcutLauncherItemController* item_controller = item_delegate.get(); |
| // Set the delegate first to avoid constructing another one in ShelfItemAdded. |
| - model_->SetShelfItemDelegate(id, std::move(item_delegate)); |
| + model_->SetShelfItemDelegate(browser_shortcut.id, std::move(item_delegate)); |
| model_->AddAt(0, browser_shortcut); |
| item_controller->UpdateBrowserItemState(); |
| } |
| @@ -1375,7 +1361,7 @@ void ChromeLauncherController::ShelfItemAdded(int index) { |
| // TODO(khmel): Fix this Arc application id mapping. See http://b/31703859 |
| const std::string shelf_app_id = |
| ArcAppWindowLauncherController::GetShelfAppIdFromArcAppId( |
| - item.app_launch_id.app_id()); |
| + item.id.app_id()); |
| // Fetch and update the icon for the app's item. |
| AppIconLoader* app_icon_loader = GetAppIconLoaderForApp(shelf_app_id); |
| @@ -1408,8 +1394,8 @@ void ChromeLauncherController::ShelfItemAdded(int index) { |
| // Construct a ShelfItemDelegate for the item if one does not yet exist. |
| if (!model_->GetShelfItemDelegate(item.id)) { |
| model_->SetShelfItemDelegate( |
| - item.id, AppShortcutLauncherItemController::Create(ash::AppLaunchId( |
| - shelf_app_id, item.app_launch_id.launch_id()))); |
| + item.id, AppShortcutLauncherItemController::Create( |
| + ash::ShelfID(shelf_app_id, item.id.launch_id()))); |
| } |
| } |
| @@ -1419,13 +1405,12 @@ void ChromeLauncherController::ShelfItemRemoved( |
| // TODO(khmel): Fix this Arc application id mapping. See http://b/31703859 |
| const std::string shelf_app_id = |
| ArcAppWindowLauncherController::GetShelfAppIdFromArcAppId( |
| - old_item.app_launch_id.app_id()); |
| + old_item.id.app_id()); |
| // Remove the pin position from preferences as needed. |
| if (ItemTypeIsPinned(old_item) && should_sync_pin_changes_) { |
| - ash::AppLaunchId app_launch_id(shelf_app_id, |
| - old_item.app_launch_id.launch_id()); |
| - ash::launcher::RemovePinPosition(profile(), app_launch_id); |
| + ash::ShelfID shelf_id(shelf_app_id, old_item.id.launch_id()); |
| + ash::launcher::RemovePinPosition(profile(), shelf_id); |
| } |
| AppIconLoader* app_icon_loader = GetAppIconLoaderForApp(shelf_app_id); |
| @@ -1456,11 +1441,10 @@ void ChromeLauncherController::ShelfItemChanged( |
| // TODO(khmel): Fix this Arc application id mapping. See http://b/31703859 |
| const std::string shelf_app_id = |
| ArcAppWindowLauncherController::GetShelfAppIdFromArcAppId( |
| - old_item.app_launch_id.app_id()); |
| + old_item.id.app_id()); |
| - ash::AppLaunchId app_launch_id(shelf_app_id, |
| - old_item.app_launch_id.launch_id()); |
| - ash::launcher::RemovePinPosition(profile(), app_launch_id); |
| + ash::ShelfID shelf_id(shelf_app_id, old_item.id.launch_id()); |
| + ash::launcher::RemovePinPosition(profile(), shelf_id); |
| } |
| } |