diff --git a/CHANGELOG.md b/CHANGELOG.md index b9fbe82d9e0..0d5f01332e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,6 @@ ### Core library changes -* `dart:io` - * Added `Platform.localeName`. - ### Dart VM ### Strong Mode diff --git a/pkg/dev_compiler/tool/input_sdk/patch/io_patch.dart b/pkg/dev_compiler/tool/input_sdk/patch/io_patch.dart index e7ed5bef5c6..8e72f3231b3 100644 --- a/pkg/dev_compiler/tool/input_sdk/patch/io_patch.dart +++ b/pkg/dev_compiler/tool/input_sdk/patch/io_patch.dart @@ -252,8 +252,8 @@ class _Platform { } @patch - static String _localeName() { - throw new UnsupportedError("Platform._localeName"); + static _ansiSupported() { + throw new UnsupportedError("Platform._ansiSupported"); } } diff --git a/runtime/bin/io_natives.cc b/runtime/bin/io_natives.cc index 7542320fd1d..035f84e3488 100644 --- a/runtime/bin/io_natives.cc +++ b/runtime/bin/io_natives.cc @@ -91,7 +91,6 @@ namespace bin { V(Platform_Environment, 0) \ V(Platform_ExecutableArguments, 0) \ V(Platform_GetVersion, 0) \ - V(Platform_LocaleName, 0) \ V(Process_Start, 11) \ V(Process_Wait, 5) \ V(Process_KillPid, 2) \ diff --git a/runtime/bin/platform.cc b/runtime/bin/platform.cc index bfe107fc1a6..e8b7849147f 100644 --- a/runtime/bin/platform.cc +++ b/runtime/bin/platform.cc @@ -109,16 +109,6 @@ void FUNCTION_NAME(Platform_GetVersion)(Dart_NativeArguments args) { Dart_SetReturnValue(args, Dart_NewStringFromCString(Dart_VersionString())); } - -void FUNCTION_NAME(Platform_LocaleName)(Dart_NativeArguments args) { - const char* locale = Platform::LocaleName(); - if (locale == NULL) { - Dart_SetReturnValue(args, DartUtils::NewDartOSError()); - } else { - Dart_SetReturnValue(args, Dart_NewStringFromCString(locale)); - } -} - } // namespace bin } // namespace dart diff --git a/runtime/bin/platform.h b/runtime/bin/platform.h index 8fd4ef706a6..9dc7e7a21a6 100644 --- a/runtime/bin/platform.h +++ b/runtime/bin/platform.h @@ -52,8 +52,6 @@ class Platform { // Extracts the local hostname. static bool LocalHostname(char* buffer, intptr_t buffer_length); - static const char* LocaleName(); - // Extracts the environment variables for the current process. The array of // strings is Dart_ScopeAllocated. The number of elements in the array is // returned in the count argument. diff --git a/runtime/bin/platform_android.cc b/runtime/bin/platform_android.cc index cba7fa497e2..b81ce71e195 100644 --- a/runtime/bin/platform_android.cc +++ b/runtime/bin/platform_android.cc @@ -57,11 +57,6 @@ const char* Platform::LibraryExtension() { } -const char* Platform::LocaleName() { - return getenv("LANG"); -} - - bool Platform::LocalHostname(char* buffer, intptr_t buffer_length) { return gethostname(buffer, buffer_length) == 0; } diff --git a/runtime/bin/platform_fuchsia.cc b/runtime/bin/platform_fuchsia.cc index 69c75ce5d40..3b1a1c190ce 100644 --- a/runtime/bin/platform_fuchsia.cc +++ b/runtime/bin/platform_fuchsia.cc @@ -47,11 +47,6 @@ const char* Platform::LibraryExtension() { } -const char* Platform::LocaleName() { - return getenv("LANG"); -} - - bool Platform::LocalHostname(char* buffer, intptr_t buffer_length) { return gethostname(buffer, buffer_length) == 0; } diff --git a/runtime/bin/platform_linux.cc b/runtime/bin/platform_linux.cc index cd3497899c5..b68f4921c7e 100644 --- a/runtime/bin/platform_linux.cc +++ b/runtime/bin/platform_linux.cc @@ -82,11 +82,6 @@ const char* Platform::LibraryExtension() { } -const char* Platform::LocaleName() { - return getenv("LANG"); -} - - bool Platform::LocalHostname(char* buffer, intptr_t buffer_length) { return gethostname(buffer, buffer_length) == 0; } diff --git a/runtime/bin/platform_macos.cc b/runtime/bin/platform_macos.cc index f15ec3cc148..0088956c210 100644 --- a/runtime/bin/platform_macos.cc +++ b/runtime/bin/platform_macos.cc @@ -7,8 +7,6 @@ #include "bin/platform.h" -#include - #if !HOST_OS_IOS #include // NOLINT #endif // !HOST_OS_IOS @@ -100,60 +98,6 @@ const char* Platform::LibraryExtension() { } -static const char* GetLocaleName() { - CFLocaleRef locale = CFLocaleCopyCurrent(); - CFLocaleIdentifier locale_id = CFLocaleGetIdentifier(locale); - CFStringRef locale_string = reinterpret_cast(locale_id); - CFIndex len = CFStringGetLength(locale_string); - CFIndex max_len = - CFStringGetMaximumSizeForEncoding(len, kCFStringEncodingUTF8) + 1; - char* result = reinterpret_cast(Dart_ScopeAllocate(max_len)); - ASSERT(result != NULL); - bool success = - CFStringGetCString(locale_string, result, max_len, kCFStringEncodingUTF8); - CFRelease(locale); - if (!success) { - return NULL; - } - return result; -} - - -static const char* GetPreferredLanguageName() { - CFArrayRef languages = CFLocaleCopyPreferredLanguages(); - CFIndex languages_length = CFArrayGetCount(languages); - if (languages_length < 1) { - CFRelease(languages); - return NULL; - } - CFTypeRef item = - reinterpret_cast(CFArrayGetValueAtIndex(languages, 0)); - CFTypeID item_type = CFGetTypeID(item); - ASSERT(item_type == CFStringGetTypeID()); - CFStringRef language = reinterpret_cast(item); - CFIndex len = CFStringGetLength(language); - CFIndex max_len = - CFStringGetMaximumSizeForEncoding(len, kCFStringEncodingUTF8) + 1; - char* result = reinterpret_cast(Dart_ScopeAllocate(max_len)); - ASSERT(result != NULL); - bool success = - CFStringGetCString(language, result, max_len, kCFStringEncodingUTF8); - CFRelease(languages); - if (!success) { - return NULL; - } - return result; -} - - -const char* Platform::LocaleName() { - // First see if there is a preferred language. If not, return the - // current locale name. - const char* preferred_langauge = GetPreferredLanguageName(); - return (preferred_langauge != NULL) ? preferred_langauge : GetLocaleName(); -} - - bool Platform::LocalHostname(char* buffer, intptr_t buffer_length) { return gethostname(buffer, buffer_length) == 0; } diff --git a/runtime/bin/platform_patch.dart b/runtime/bin/platform_patch.dart index f8d117e74e2..70b68feabbf 100644 --- a/runtime/bin/platform_patch.dart +++ b/runtime/bin/platform_patch.dart @@ -24,9 +24,6 @@ class _Platform { @patch static String _version() native "Platform_GetVersion"; - @patch - static String _localeName() native "Platform_LocaleName"; - @patch static String _packageRoot() => VMLibraryHooks.packageRootString; @patch diff --git a/runtime/bin/platform_unsupported.cc b/runtime/bin/platform_unsupported.cc index 51d4fa9cd62..64f62ef7e9b 100644 --- a/runtime/bin/platform_unsupported.cc +++ b/runtime/bin/platform_unsupported.cc @@ -64,12 +64,6 @@ void FUNCTION_NAME(Platform_GetVersion)(Dart_NativeArguments args) { "Platform is not supported on this platform")); } - -void FUNCTION_NAME(Platform_LocaleName)(Dart_NativeArguments args) { - Dart_ThrowException(DartUtils::NewInternalError( - "Platform is not supported on this platform")); -} - } // namespace bin } // namespace dart diff --git a/runtime/bin/platform_win.cc b/runtime/bin/platform_win.cc index 8ec32d24e1d..18526517e9f 100644 --- a/runtime/bin/platform_win.cc +++ b/runtime/bin/platform_win.cc @@ -198,16 +198,6 @@ const char* Platform::LibraryExtension() { } -const char* Platform::LocaleName() { - wchar_t locale_name[LOCALE_NAME_MAX_LENGTH]; - int result = GetUserDefaultLocaleName(locale_name, LOCALE_NAME_MAX_LENGTH); - if (result == 0) { - return NULL; - } - return StringUtilsWin::WideToUtf8(locale_name); -} - - bool Platform::LocalHostname(char* buffer, intptr_t buffer_length) { #if defined(DART_IO_DISABLED) || defined(PLATFORM_DISABLE_SOCKET) return false; diff --git a/sdk/lib/_internal/js_runtime/lib/io_patch.dart b/sdk/lib/_internal/js_runtime/lib/io_patch.dart index e7ed5bef5c6..46f8404ab2d 100644 --- a/sdk/lib/_internal/js_runtime/lib/io_patch.dart +++ b/sdk/lib/_internal/js_runtime/lib/io_patch.dart @@ -250,11 +250,6 @@ class _Platform { static String _version() { throw new UnsupportedError("Platform._version"); } - - @patch - static String _localeName() { - throw new UnsupportedError("Platform._localeName"); - } } @patch diff --git a/sdk/lib/io/platform.dart b/sdk/lib/io/platform.dart index 580ad97db16..b087b053c32 100644 --- a/sdk/lib/io/platform.dart +++ b/sdk/lib/io/platform.dart @@ -71,7 +71,6 @@ class Platform { static final _operatingSystem = _Platform.operatingSystem; static final _localHostname = _Platform.localHostname; static final _version = _Platform.version; - static final _localeName = _Platform.localeName; /** * Get the number of processors of the machine. @@ -84,11 +83,6 @@ class Platform { */ static String get pathSeparator => _pathSeparator; - /** - * Get the name of the current locale. - */ - static String get localeName => _localeName; - /** * Get a string (`linux`, `macos`, `windows`, `android`, or `ios`) * representing the operating system. diff --git a/sdk/lib/io/platform_impl.dart b/sdk/lib/io/platform_impl.dart index e5de17d02e5..5f68b7dbdef 100644 --- a/sdk/lib/io/platform_impl.dart +++ b/sdk/lib/io/platform_impl.dart @@ -32,25 +32,12 @@ class _Platform { external static String _packageRoot(); external static String _packageConfig(); external static String _version(); - external static String _localeName(); static String executable = _executable(); static String resolvedExecutable = _resolvedExecutable(); static String packageRoot = _packageRoot(); static String packageConfig = _packageConfig(); - static String _cachedLocaleName; - static String get localeName { - if (_cachedLocaleName == null) { - var result = _localeName(); - if (result is OSError) { - throw result; - } - _cachedLocaleName = result; - } - return _cachedLocaleName; - } - // Cache the OS environment. This can be an OSError instance if // retrieving the environment failed. static var /*OSError|Map*/ _environmentCache; diff --git a/tests/standalone/io/locale_name_test.dart b/tests/standalone/io/locale_name_test.dart deleted file mode 100644 index 6beffabb00a..00000000000 --- a/tests/standalone/io/locale_name_test.dart +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:io'; - -import "package:expect/expect.dart"; - -main() { - try { - Platform.localeName; - } catch (e, s) { - Expect.fail("Platform.localeName threw: $e\n$s\n"); - } - Expect.isNotNull(Platform.localeName); - Expect.isTrue(Platform.localeName is String); - print(Platform.localeName); -}