| 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/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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |