Index: base/i18n/icu_util.cc |
diff --git a/base/i18n/icu_util.cc b/base/i18n/icu_util.cc |
index f1fdda7458782d509a8631fb0b6a56d76f96dbf6..76eaa62ff783ac8019cf41a4e8c0483950c14007 100644 |
--- a/base/i18n/icu_util.cc |
+++ b/base/i18n/icu_util.cc |
@@ -10,6 +10,7 @@ |
#include <string> |
+#include "base/debug/alias.h" |
#include "base/files/file_path.h" |
#include "base/files/memory_mapped_file.h" |
#include "base/logging.h" |
@@ -48,7 +49,9 @@ namespace { |
// Assert that we are not called more than once. Even though calling this |
// function isn't harmful (ICU can handle it), being called twice probably |
// indicates a programming error. |
+#if !defined(OS_NACL) |
bool g_called_once = false; |
+#endif |
bool g_check_called_once = true; |
#endif |
} |
@@ -81,6 +84,7 @@ bool InitializeICUWithFileDescriptor( |
#endif |
+#if !defined(OS_NACL) |
bool InitializeICU() { |
#if !defined(NDEBUG) |
DCHECK(!g_check_called_once || !g_called_once); |
@@ -127,6 +131,10 @@ bool InitializeICU() { |
#if defined(OS_WIN) |
// The data file will be in the same directory as the current module. |
bool path_ok = PathService::Get(base::DIR_MODULE, &data_path); |
+ wchar_t tmp_buffer[_MAX_PATH] = {0}; |
+ wcscpy_s(tmp_buffer, data_path.value().c_str()); |
+ base::debug::Alias(tmp_buffer); |
+ CHECK(path_ok); // TODO(scottmg): http://crbug.com/445616 |
#elif defined(OS_ANDROID) |
bool path_ok = PathService::Get(base::DIR_ANDROID_APP_DATA, &data_path); |
#else |
@@ -137,6 +145,14 @@ bool InitializeICU() { |
#endif |
DCHECK(path_ok); |
data_path = data_path.AppendASCII(kIcuDataFileName); |
+ |
+#if defined(OS_WIN) |
+ // TODO(scottmg): http://crbug.com/445616 |
+ wchar_t tmp_buffer2[_MAX_PATH] = {0}; |
+ wcscpy_s(tmp_buffer2, data_path.value().c_str()); |
+ base::debug::Alias(tmp_buffer2); |
+#endif |
+ |
#else |
// Assume it is in the framework bundle's Resources directory. |
base::ScopedCFTypeRef<CFStringRef> data_file_name( |
@@ -149,15 +165,22 @@ bool InitializeICU() { |
} |
#endif // OS check |
if (!mapped_file.Initialize(data_path)) { |
+#if defined(OS_WIN) |
+ CHECK(false); // TODO(scottmg): http://crbug.com/445616 |
+#endif |
LOG(ERROR) << "Couldn't mmap " << data_path.AsUTF8Unsafe(); |
return false; |
} |
} |
UErrorCode err = U_ZERO_ERROR; |
udata_setCommonData(const_cast<uint8*>(mapped_file.data()), &err); |
+#if defined(OS_WIN) |
+ CHECK(err == U_ZERO_ERROR); // TODO(scottmg): http://crbug.com/445616 |
+#endif |
return err == U_ZERO_ERROR; |
#endif |
} |
+#endif |
void AllowMultipleInitializeCallsForTesting() { |
#if !defined(NDEBUG) |