OLD | NEW |
---|---|
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/apps_model_builder.h" | 5 #include "chrome/browser/ui/app_list/apps_model_builder.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "chrome/browser/extensions/extension_prefs.h" | 10 #include "chrome/browser/extensions/extension_prefs.h" |
11 #include "chrome/browser/extensions/extension_service.h" | 11 #include "chrome/browser/extensions/extension_service.h" |
12 #include "chrome/browser/extensions/extension_system.h" | 12 #include "chrome/browser/extensions/extension_system.h" |
13 #include "chrome/browser/prefs/pref_service.h" | 13 #include "chrome/browser/prefs/pref_service.h" |
14 #include "chrome/browser/profiles/profile.h" | 14 #include "chrome/browser/profiles/profile.h" |
15 #include "chrome/browser/ui/app_list/extension_app_item.h" | 15 #include "chrome/browser/ui/app_list/extension_app_item.h" |
16 #include "chrome/common/chrome_notification_types.h" | 16 #include "chrome/common/chrome_notification_types.h" |
17 #include "chrome/common/extensions/extension.h" | 17 #include "chrome/common/extensions/extension.h" |
18 #include "chrome/common/pref_names.h" | |
18 #include "content/public/browser/notification_service.h" | 19 #include "content/public/browser/notification_service.h" |
19 | 20 |
20 using extensions::Extension; | 21 using extensions::Extension; |
21 | 22 |
22 namespace { | 23 namespace { |
23 | 24 |
24 bool AppPrecedes(const ExtensionAppItem* app1, const ExtensionAppItem* app2) { | 25 bool AppPrecedes(const ExtensionAppItem* app1, const ExtensionAppItem* app2) { |
25 const syncer::StringOrdinal& page1 = app1->GetPageOrdinal(); | 26 const syncer::StringOrdinal& page1 = app1->GetPageOrdinal(); |
26 const syncer::StringOrdinal& page2 = app2->GetPageOrdinal(); | 27 const syncer::StringOrdinal& page2 = app2->GetPageOrdinal(); |
27 if (page1.LessThan(page2)) | 28 if (page1.LessThan(page2)) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
70 void AppsModelBuilder::Build() { | 71 void AppsModelBuilder::Build() { |
71 DCHECK(model_ && model_->item_count() == 0); | 72 DCHECK(model_ && model_->item_count() == 0); |
72 | 73 |
73 PopulateApps(); | 74 PopulateApps(); |
74 HighlightApp(); | 75 HighlightApp(); |
75 } | 76 } |
76 | 77 |
77 void AppsModelBuilder::AddApps(const ExtensionSet* extensions, Apps* apps) { | 78 void AppsModelBuilder::AddApps(const ExtensionSet* extensions, Apps* apps) { |
78 for (ExtensionSet::const_iterator app = extensions->begin(); | 79 for (ExtensionSet::const_iterator app = extensions->begin(); |
79 app != extensions->end(); ++app) { | 80 app != extensions->end(); ++app) { |
80 if ((*app)->ShouldDisplayInAppLauncher()) | 81 // If it's the web store, check the policy. |
82 bool blocked_by_policy = | |
83 (*app)->id() == extension_misc::kWebStoreAppId && | |
tfarina
2013/01/24 14:15:58
indent two more spaces.
dconnelly
2013/01/24 14:30:51
Done.
| |
84 profile_->GetPrefs()->GetBoolean(prefs::kHideWebStoreIcon); | |
85 if ((*app)->ShouldDisplayInAppLauncher() && !blocked_by_policy) | |
81 apps->push_back(new ExtensionAppItem(profile_, *app, controller_)); | 86 apps->push_back(new ExtensionAppItem(profile_, *app, controller_)); |
82 } | 87 } |
83 } | 88 } |
84 | 89 |
85 void AppsModelBuilder::PopulateApps() { | 90 void AppsModelBuilder::PopulateApps() { |
86 ExtensionService* service = | 91 ExtensionService* service = |
87 extensions::ExtensionSystem::Get(profile_)->extension_service(); | 92 extensions::ExtensionSystem::Get(profile_)->extension_service(); |
88 if (!service) | 93 if (!service) |
89 return; | 94 return; |
90 | 95 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
240 | 245 |
241 ExtensionAppItem* prev = target_index > 0 ? GetAppAt(target_index - 1) : NULL; | 246 ExtensionAppItem* prev = target_index > 0 ? GetAppAt(target_index - 1) : NULL; |
242 ExtensionAppItem* next = target_index + 1 < model_->item_count() ? | 247 ExtensionAppItem* next = target_index + 1 < model_->item_count() ? |
243 GetAppAt(target_index + 1) : NULL; | 248 GetAppAt(target_index + 1) : NULL; |
244 GetAppAt(target_index)->Move(prev, next); | 249 GetAppAt(target_index)->Move(prev, next); |
245 } | 250 } |
246 | 251 |
247 void AppsModelBuilder::ListItemsChanged(size_t start, size_t count) { | 252 void AppsModelBuilder::ListItemsChanged(size_t start, size_t count) { |
248 NOTREACHED(); | 253 NOTREACHED(); |
249 } | 254 } |
OLD | NEW |