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 13namespace { 14 15// Keys in the dictionary returned by GetExtensionBasicInfo(). 16const char kDescriptionKey[] = "description"; 17const char kEnabledKey[] = "enabled"; 18const char kHomepageUrlKey[] = "homepageUrl"; 19const char kIdKey[] = "id"; 20const char kNameKey[] = "name"; 21const char kKioskEnabledKey[] = "kioskEnabled"; 22const char kOfflineEnabledKey[] = "offlineEnabled"; 23const char kOptionsUrlKey[] = "optionsUrl"; 24const char kDetailsUrlKey[] = "detailsUrl"; 25const char kVersionKey[] = "version"; 26const char kPackagedAppKey[] = "packagedApp"; 27 28} // namespace 29 30namespace extensions { 31 32void 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