1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/ui/webui/extensions/extension_basic_info.h" 6 7 #include "base/values.h" 8 #include "chrome/common/extensions/extension.h" 9 #include "chrome/common/extensions/manifest_handlers/kiosk_enabled_info.h" 10 #include "chrome/common/extensions/manifest_handlers/offline_enabled_info.h" 11 #include "chrome/common/extensions/manifest_url_handler.h" 12 13 namespace { 14 15 // Keys in the dictionary returned by GetExtensionBasicInfo(). 16 const char kDescriptionKey[] = "description"; 17 const char kEnabledKey[] = "enabled"; 18 const char kHomepageUrlKey[] = "homepageUrl"; 19 const char kIdKey[] = "id"; 20 const char kNameKey[] = "name"; 21 const char kKioskEnabledKey[] = "kioskEnabled"; 22 const char kOfflineEnabledKey[] = "offlineEnabled"; 23 const char kOptionsUrlKey[] = "optionsUrl"; 24 const char kDetailsUrlKey[] = "detailsUrl"; 25 const char kVersionKey[] = "version"; 26 const char kPackagedAppKey[] = "packagedApp"; 27 28 } // namespace 29 30 namespace extensions { 31 32 void GetExtensionBasicInfo(const Extension* extension, 33 bool enabled, 34 base::DictionaryValue* info) { 35 info->SetString(kIdKey, extension->id()); 36 info->SetString(kNameKey, extension->name()); 37 info->SetBoolean(kEnabledKey, enabled); 38 info->SetBoolean(kKioskEnabledKey, 39 KioskEnabledInfo::IsKioskEnabled(extension)); 40 info->SetBoolean(kOfflineEnabledKey, 41 OfflineEnabledInfo::IsOfflineEnabled(extension)); 42 info->SetString(kVersionKey, extension->VersionString()); 43 info->SetString(kDescriptionKey, extension->description()); 44 info->SetString( 45 kOptionsUrlKey, 46 ManifestURL::GetOptionsPage(extension).possibly_invalid_spec()); 47 info->SetString( 48 kHomepageUrlKey, 49 ManifestURL::GetHomepageURL(extension).possibly_invalid_spec()); 50 info->SetString( 51 kDetailsUrlKey, 52 ManifestURL::GetDetailsURL(extension).possibly_invalid_spec()); 53 info->SetBoolean(kPackagedAppKey, extension->is_platform_app()); 54 } 55 56 } // namespace extensions 57