Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(276)

Side by Side Diff: chrome/browser/ui/ash/chrome_launcher_prefs.cc

Issue 2341643002: Enhance chrome.app.window API for shelf integration with pinning support (cont.) (Closed)
Patch Set: Unit Test Fix Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/ash/launcher/chrome_launcher_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/ash/chrome_launcher_prefs.h" 5 #include "chrome/browser/ui/ash/chrome_launcher_prefs.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <set> 9 #include <set>
10 10
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 } 633 }
634 634
635 // Sort pins according their ordinals. 635 // Sort pins according their ordinals.
636 std::sort(pin_infos.begin(), pin_infos.end(), ComparePinInfo()); 636 std::sort(pin_infos.begin(), pin_infos.end(), ComparePinInfo());
637 637
638 // Pinned by policy apps appear first, if they were not shown before. 638 // Pinned by policy apps appear first, if they were not shown before.
639 syncer::StringOrdinal front_position = GetFirstPinPosition(helper->profile()); 639 syncer::StringOrdinal front_position = GetFirstPinPosition(helper->profile());
640 std::vector<AppLauncherId>::const_reverse_iterator it; 640 std::vector<AppLauncherId>::const_reverse_iterator it;
641 for (it = policy_apps.app_list().rbegin(); 641 for (it = policy_apps.app_list().rbegin();
642 it != policy_apps.app_list().rend(); ++it) { 642 it != policy_apps.app_list().rend(); ++it) {
643 const std::string& app_id = (*it).ToString(); 643 const std::string& app_launcher_id_str = (*it).ToString();
644 if (app_id == kPinnedAppsPlaceholder) 644 if (app_launcher_id_str == kPinnedAppsPlaceholder)
645 continue; 645 continue;
646 646
647 // Check if we already processed current app. 647 // Check if we already processed current app.
648 if (app_service->GetPinPosition(app_id).IsValid()) 648 if (app_service->GetPinPosition(app_launcher_id_str).IsValid())
649 continue; 649 continue;
650 650
651 // Now move it to the front. 651 // Now move it to the front.
652 pin_infos.insert(pin_infos.begin(), 652 pin_infos.insert(pin_infos.begin(),
653 PinInfo(AppLauncherId(app_id), front_position)); 653 PinInfo(AppLauncherId((*it).app_id(), (*it).launch_id()),
654 app_service->SetPinPosition(app_id, front_position); 654 front_position));
655 app_service->SetPinPosition(app_launcher_id_str, front_position);
655 front_position = front_position.CreateBefore(); 656 front_position = front_position.CreateBefore();
656 } 657 }
657 658
658 // Now insert Chrome browser app if needed. 659 // Now insert Chrome browser app if needed.
659 if (!app_service->GetPinPosition(extension_misc::kChromeAppId).IsValid()) { 660 if (!app_service->GetPinPosition(extension_misc::kChromeAppId).IsValid()) {
660 pin_infos.insert( 661 pin_infos.insert(
661 pin_infos.begin(), 662 pin_infos.begin(),
662 PinInfo(AppLauncherId(extension_misc::kChromeAppId), front_position)); 663 PinInfo(AppLauncherId(extension_misc::kChromeAppId), front_position));
663 app_service->SetPinPosition(extension_misc::kChromeAppId, front_position); 664 app_service->SetPinPosition(extension_misc::kChromeAppId, front_position);
664 } 665 }
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 pin_position = position_before.CreateAfter(); 739 pin_position = position_before.CreateAfter();
739 else if (position_after.IsValid()) 740 else if (position_after.IsValid())
740 pin_position = position_after.CreateBefore(); 741 pin_position = position_after.CreateBefore();
741 else 742 else
742 pin_position = syncer::StringOrdinal::CreateInitialOrdinal(); 743 pin_position = syncer::StringOrdinal::CreateInitialOrdinal();
743 app_service->SetPinPosition(app_launcher_id_str, pin_position); 744 app_service->SetPinPosition(app_launcher_id_str, pin_position);
744 } 745 }
745 746
746 } // namespace launcher 747 } // namespace launcher
747 } // namespace ash 748 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/ash/launcher/chrome_launcher_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698