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

Unified Diff: chrome/common/extensions/api/i18n/default_locale_handler.cc

Issue 719243002: Move default_locale manifest handler out of //chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: type alias Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/api/i18n/default_locale_handler.cc
diff --git a/chrome/common/extensions/api/i18n/default_locale_handler.cc b/chrome/common/extensions/api/i18n/default_locale_handler.cc
deleted file mode 100644
index 549c780628c5befe84a1e105427dc9047525a3e4..0000000000000000000000000000000000000000
--- a/chrome/common/extensions/api/i18n/default_locale_handler.cc
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/common/extensions/api/i18n/default_locale_handler.h"
-
-#include "base/files/file_enumerator.h"
-#include "base/files/file_util.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/strings/string_util.h"
-#include "base/strings/stringprintf.h"
-#include "base/strings/utf_string_conversions.h"
-#include "base/values.h"
-#include "extensions/common/constants.h"
-#include "extensions/common/extension_l10n_util.h"
-#include "extensions/common/manifest.h"
-#include "extensions/common/manifest_constants.h"
-#include "grit/extensions_strings.h"
-#include "ui/base/l10n/l10n_util.h"
-
-namespace extensions {
-
-namespace keys = manifest_keys;
-namespace errors = manifest_errors;
-
-// static
-const std::string& LocaleInfo::GetDefaultLocale(const Extension* extension) {
- LocaleInfo* info = static_cast<LocaleInfo*>(
- extension->GetManifestData(keys::kDefaultLocale));
- return info ? info->default_locale : base::EmptyString();
-}
-
-DefaultLocaleHandler::DefaultLocaleHandler() {
-}
-
-DefaultLocaleHandler::~DefaultLocaleHandler() {
-}
-
-bool DefaultLocaleHandler::Parse(Extension* extension, base::string16* error) {
- scoped_ptr<LocaleInfo> info(new LocaleInfo);
- if (!extension->manifest()->GetString(keys::kDefaultLocale,
- &info->default_locale) ||
- !l10n_util::IsValidLocaleSyntax(info->default_locale)) {
- *error = base::ASCIIToUTF16(manifest_errors::kInvalidDefaultLocale);
- return false;
- }
- extension->SetManifestData(keys::kDefaultLocale, info.release());
- return true;
-}
-
-bool DefaultLocaleHandler::Validate(
- const Extension* extension,
- std::string* error,
- std::vector<InstallWarning>* warnings) const {
- // default_locale and _locales have to be both present or both missing.
- const base::FilePath path = extension->path().Append(kLocaleFolder);
- bool path_exists = base::PathExists(path);
- std::string default_locale =
- extensions::LocaleInfo::GetDefaultLocale(extension);
-
- // If both default locale and _locales folder are empty, skip verification.
- if (default_locale.empty() && !path_exists)
- return true;
-
- if (default_locale.empty() && path_exists) {
- *error = l10n_util::GetStringUTF8(
- IDS_EXTENSION_LOCALES_NO_DEFAULT_LOCALE_SPECIFIED);
- return false;
- } else if (!default_locale.empty() && !path_exists) {
- *error = errors::kLocalesTreeMissing;
- return false;
- }
-
- // Treat all folders under _locales as valid locales.
- base::FileEnumerator locales(path, false, base::FileEnumerator::DIRECTORIES);
-
- std::set<std::string> all_locales;
- extension_l10n_util::GetAllLocales(&all_locales);
- const base::FilePath default_locale_path = path.AppendASCII(default_locale);
- bool has_default_locale_message_file = false;
-
- base::FilePath locale_path;
- while (!(locale_path = locales.Next()).empty()) {
- if (extension_l10n_util::ShouldSkipValidation(path, locale_path,
- all_locales))
- continue;
-
- base::FilePath messages_path = locale_path.Append(kMessagesFilename);
-
- if (!base::PathExists(messages_path)) {
- *error = base::StringPrintf(
- "%s %s", errors::kLocalesMessagesFileMissing,
- base::UTF16ToUTF8(messages_path.LossyDisplayName()).c_str());
- return false;
- }
-
- if (locale_path == default_locale_path)
- has_default_locale_message_file = true;
- }
-
- // Only message file for default locale has to exist.
- if (!has_default_locale_message_file) {
- *error = errors::kLocalesNoDefaultMessages;
- return false;
- }
-
- return true;
-}
-
-bool DefaultLocaleHandler::AlwaysValidateForType(Manifest::Type type) const {
- // Required to validate _locales directory; see Validate.
- return true;
-}
-
-const std::vector<std::string> DefaultLocaleHandler::Keys() const {
- return SingleKey(keys::kDefaultLocale);
-}
-
-} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698