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

Side by Side Diff: chrome/browser/ui/app_list/extension_app_item.cc

Issue 10957048: app_list: Use NTP ordering in ExtensionSorting to sort apps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months 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 | Annotate | Revision Log
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/app_list/extension_app_item.h" 5 #include "chrome/browser/ui/app_list/extension_app_item.h"
6 6
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/extensions/extension_prefs.h" 8 #include "chrome/browser/extensions/extension_prefs.h"
9 #include "chrome/browser/extensions/extension_service.h" 9 #include "chrome/browser/extensions/extension_service.h"
10 #include "chrome/browser/extensions/extension_sorting.h"
10 #include "chrome/browser/extensions/extension_system.h" 11 #include "chrome/browser/extensions/extension_system.h"
11 #include "chrome/browser/extensions/extension_uninstall_dialog.h" 12 #include "chrome/browser/extensions/extension_uninstall_dialog.h"
12 #include "chrome/browser/extensions/management_policy.h" 13 #include "chrome/browser/extensions/management_policy.h"
13 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/browser/ui/app_list/app_list_controller.h" 15 #include "chrome/browser/ui/app_list/app_list_controller.h"
15 #include "chrome/browser/ui/browser.h" 16 #include "chrome/browser/ui/browser.h"
16 #include "chrome/browser/ui/browser_navigator.h" 17 #include "chrome/browser/ui/browser_navigator.h"
17 #include "chrome/browser/ui/browser_tabstrip.h" 18 #include "chrome/browser/ui/browser_tabstrip.h"
18 #include "chrome/browser/ui/browser_window.h" 19 #include "chrome/browser/ui/browser_window.h"
19 #include "chrome/common/extensions/extension.h" 20 #include "chrome/common/extensions/extension.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 profile->GetExtensionService()->extension_prefs()->SetLaunchType( 114 profile->GetExtensionService()->extension_prefs()->SetLaunchType(
114 extension_id, launch_type); 115 extension_id, launch_type);
115 } 116 }
116 117
117 bool IsExtensionEnabled(Profile* profile, const std::string& extension_id) { 118 bool IsExtensionEnabled(Profile* profile, const std::string& extension_id) {
118 ExtensionService* service = profile->GetExtensionService(); 119 ExtensionService* service = profile->GetExtensionService();
119 return service->IsExtensionEnabled(extension_id) && 120 return service->IsExtensionEnabled(extension_id) &&
120 !service->GetTerminatedExtension(extension_id); 121 !service->GetTerminatedExtension(extension_id);
121 } 122 }
122 123
124 ExtensionSorting* GetExtensionSorting(Profile* profile) {
125 return profile->GetExtensionService()->extension_prefs()->extension_sorting();
126 }
127
123 } // namespace 128 } // namespace
124 129
125 ExtensionAppItem::ExtensionAppItem(Profile* profile, 130 ExtensionAppItem::ExtensionAppItem(Profile* profile,
126 const Extension* extension, 131 const Extension* extension,
127 AppListController* controller) 132 AppListController* controller)
128 : ChromeAppListItem(TYPE_APP), 133 : ChromeAppListItem(TYPE_APP),
129 profile_(profile), 134 profile_(profile),
130 extension_id_(extension->id()), 135 extension_id_(extension->id()),
131 controller_(controller) { 136 controller_(controller) {
132 SetTitle(extension->name()); 137 SetTitle(extension->name());
133 LoadImage(extension); 138 LoadImage(extension);
134 } 139 }
135 140
136 ExtensionAppItem::~ExtensionAppItem() { 141 ExtensionAppItem::~ExtensionAppItem() {
137 } 142 }
138 143
139 const Extension* ExtensionAppItem::GetExtension() const { 144 const Extension* ExtensionAppItem::GetExtension() const {
140 const Extension* extension = 145 const Extension* extension =
141 profile_->GetExtensionService()->GetInstalledExtension(extension_id_); 146 profile_->GetExtensionService()->GetInstalledExtension(extension_id_);
142 return extension; 147 return extension;
143 } 148 }
144 149
150 syncer::StringOrdinal ExtensionAppItem::GetPageOrdinal() const {
151 return GetExtensionSorting(profile_)->GetPageOrdinal(extension_id_);
152 }
153
154 syncer::StringOrdinal ExtensionAppItem::GetAppLaunchOrdinal() const {
155 return GetExtensionSorting(profile_)->GetAppLaunchOrdinal(extension_id_);
156 }
157
145 bool ExtensionAppItem::IsTalkExtension() const { 158 bool ExtensionAppItem::IsTalkExtension() const {
146 // Test most likely version first. 159 // Test most likely version first.
147 return extension_id_ == extension_misc::kTalkExtensionId || 160 return extension_id_ == extension_misc::kTalkExtensionId ||
148 extension_id_ == extension_misc::kTalkBetaExtensionId || 161 extension_id_ == extension_misc::kTalkBetaExtensionId ||
149 extension_id_ == extension_misc::kTalkAlphaExtensionId || 162 extension_id_ == extension_misc::kTalkAlphaExtensionId ||
150 extension_id_ == extension_misc::kTalkDebugExtensionId; 163 extension_id_ == extension_misc::kTalkDebugExtensionId;
151 } 164 }
152 165
153 void ExtensionAppItem::LoadImage(const Extension* extension) { 166 void ExtensionAppItem::LoadImage(const Extension* extension) {
154 icon_.reset(new extensions::IconImage( 167 icon_.reset(new extensions::IconImage(
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 } 334 }
322 context_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR); 335 context_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
323 context_menu_model_->AddItemWithStringId(OPTIONS, IDS_NEW_TAB_APP_OPTIONS); 336 context_menu_model_->AddItemWithStringId(OPTIONS, IDS_NEW_TAB_APP_OPTIONS);
324 context_menu_model_->AddItemWithStringId(DETAILS, IDS_NEW_TAB_APP_DETAILS); 337 context_menu_model_->AddItemWithStringId(DETAILS, IDS_NEW_TAB_APP_DETAILS);
325 context_menu_model_->AddItemWithStringId(UNINSTALL, 338 context_menu_model_->AddItemWithStringId(UNINSTALL,
326 IDS_EXTENSIONS_UNINSTALL); 339 IDS_EXTENSIONS_UNINSTALL);
327 } 340 }
328 341
329 return context_menu_model_.get(); 342 return context_menu_model_.get();
330 } 343 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698