summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/history/visit_database_unittest.cc23
-rw-r--r--chrome/chrome.xcodeproj/project.pbxproj6
-rw-r--r--chrome/common/common.scons2
-rw-r--r--chrome/common/l10n_util.cc89
-rw-r--r--chrome/common/l10n_util_unittest.cc15
-rw-r--r--chrome/test/unit/unit_tests.scons4
6 files changed, 108 insertions, 31 deletions
diff --git a/chrome/browser/history/visit_database_unittest.cc b/chrome/browser/history/visit_database_unittest.cc
index 47846b6..1373e83 100644
--- a/chrome/browser/history/visit_database_unittest.cc
+++ b/chrome/browser/history/visit_database_unittest.cc
@@ -10,6 +10,7 @@
#include "chrome/common/sqlite_compiled_statement.h"
#include "chrome/common/sqlite_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/platform_test.h"
using base::Time;
using base::TimeDelta;
@@ -30,7 +31,7 @@ bool IsVisitInfoEqual(const VisitRow& a,
} // namespace
-class VisitDatabaseTest : public testing::Test,
+class VisitDatabaseTest : public PlatformTest,
public URLDatabase,
public VisitDatabase {
public:
@@ -40,6 +41,7 @@ class VisitDatabaseTest : public testing::Test,
private:
// Test setup.
void SetUp() {
+ PlatformTest::SetUp();
PathService::Get(base::DIR_TEMP, &db_file_);
db_file_.push_back(FilePath::kSeparators[0]);
db_file_.append(L"VisitTest.db");
@@ -58,6 +60,7 @@ class VisitDatabaseTest : public testing::Test,
delete statement_cache_;
sqlite3_close(db_);
file_util::Delete(db_file_, false);
+ PlatformTest::TearDown();
}
// Provided for URL/VisitDatabase.
@@ -93,7 +96,7 @@ TEST_F(VisitDatabaseTest, Add) {
// Query the first two.
std::vector<VisitRow> matches;
EXPECT_TRUE(GetVisitsForURL(visit_info1.url_id, &matches));
- EXPECT_EQ(2, matches.size());
+ EXPECT_EQ(static_cast<size_t>(2), matches.size());
// Make sure we got both (order in result set is visit time).
EXPECT_TRUE(IsVisitInfoEqual(matches[0], visit_info1) &&
@@ -122,7 +125,7 @@ TEST_F(VisitDatabaseTest, Delete) {
// First make sure all the visits are there.
std::vector<VisitRow> matches;
EXPECT_TRUE(GetVisitsForURL(visit_info1.url_id, &matches));
- EXPECT_EQ(3, matches.size());
+ EXPECT_EQ(static_cast<size_t>(3), matches.size());
EXPECT_TRUE(IsVisitInfoEqual(matches[0], visit_info1) &&
IsVisitInfoEqual(matches[1], visit_info2) &&
IsVisitInfoEqual(matches[2], visit_info3));
@@ -135,7 +138,7 @@ TEST_F(VisitDatabaseTest, Delete) {
visit_info3.referring_visit = visit_info1.visit_id;
matches.clear();
EXPECT_TRUE(GetVisitsForURL(visit_info1.url_id, &matches));
- EXPECT_EQ(2, matches.size());
+ EXPECT_EQ(static_cast<size_t>(2), matches.size());
EXPECT_TRUE(IsVisitInfoEqual(matches[0], visit_info1) &&
IsVisitInfoEqual(matches[1], visit_info3));
}
@@ -162,6 +165,8 @@ TEST_F(VisitDatabaseTest, Update) {
// TODO(brettw) write test for GetMostRecentVisitForURL!
+#if defined(OS_WIN)
+// TODO(playmobil): Enable on POSIX
TEST_F(VisitDatabaseTest, GetVisibleVisitsInRange) {
// Add one visit.
VisitRow visit_info1(1, Time::Now(), 0,
@@ -214,7 +219,7 @@ TEST_F(VisitDatabaseTest, GetVisibleVisitsInRange) {
// order, but not the redirect & subframe ones later.
VisitVector results;
GetVisibleVisitsInRange(Time(), Time(), false, 0, &results);
- ASSERT_EQ(3, results.size());
+ ASSERT_EQ(static_cast<size_t>(3), results.size());
EXPECT_TRUE(IsVisitInfoEqual(results[0], visit_info4) &&
IsVisitInfoEqual(results[1], visit_info2) &&
IsVisitInfoEqual(results[2], visit_info1));
@@ -222,7 +227,7 @@ TEST_F(VisitDatabaseTest, GetVisibleVisitsInRange) {
// If we want only the most recent one, it should give us the same results
// minus the first (duplicate of the second) one.
GetVisibleVisitsInRange(Time(), Time(), true, 0, &results);
- ASSERT_EQ(2, results.size());
+ ASSERT_EQ(static_cast<size_t>(2), results.size());
EXPECT_TRUE(IsVisitInfoEqual(results[0], visit_info4) &&
IsVisitInfoEqual(results[1], visit_info2));
@@ -230,14 +235,14 @@ TEST_F(VisitDatabaseTest, GetVisibleVisitsInRange) {
// exclusive.
GetVisibleVisitsInRange(visit_info2.visit_time, visit_info4.visit_time,
false, 0, &results);
- ASSERT_EQ(1, results.size());
+ ASSERT_EQ(static_cast<size_t>(1), results.size());
EXPECT_TRUE(IsVisitInfoEqual(results[0], visit_info2));
// Query for a max count and make sure we get only that number.
GetVisibleVisitsInRange(Time(), Time(), false, 2, &results);
- ASSERT_EQ(2, results.size());
+ ASSERT_EQ(static_cast<size_t>(2), results.size());
EXPECT_TRUE(IsVisitInfoEqual(results[0], visit_info4) &&
IsVisitInfoEqual(results[1], visit_info2));
}
-
+#endif // defined(OS_WIN)
} // namespace history
diff --git a/chrome/chrome.xcodeproj/project.pbxproj b/chrome/chrome.xcodeproj/project.pbxproj
index 8a3e1c9..f331fed 100644
--- a/chrome/chrome.xcodeproj/project.pbxproj
+++ b/chrome/chrome.xcodeproj/project.pbxproj
@@ -153,11 +153,14 @@
4DDC64580EAE394200FB5EBE /* libzlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DDC64550EAE392400FB5EBE /* libzlib.a */; };
A54612DC0EE9958600A8EE5D /* extensions_service_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = A54612DB0EE9958600A8EE5D /* extensions_service_unittest.cc */; };
A54612E20EE995F600A8EE5D /* extensions_service.cc in Sources */ = {isa = PBXBuildFile; fileRef = A54612D90EE9957000A8EE5D /* extensions_service.cc */; };
+ B502DA280F098056005BE90C /* visit_database_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BFA180E9D48F7009A6919 /* visit_database_unittest.cc */; };
+ B502DA520F098888005BE90C /* l10n_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BFBC90E9D4C9F009A6919 /* l10n_util.cc */; };
B503E0F00F0175FD00547DC6 /* greasemonkey_slave.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D640CC90EAE868600EBCFC0 /* greasemonkey_slave.cc */; };
B503E0FC0F01764800547DC6 /* greasemonkey_slave_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = B503E0FB0F01764800547DC6 /* greasemonkey_slave_unittest.cc */; };
B503E1030F017C1000547DC6 /* librenderer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D640CEB0EAE86BD00EBCFC0 /* librenderer.a */; };
B507AC1F0F0048E10060FEE8 /* ipc_sync_message.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BFBBA0E9D4C9F009A6919 /* ipc_sync_message.cc */; };
B507AC440F004B610060FEE8 /* ipc_sync_message_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BFBBC0E9D4C9F009A6919 /* ipc_sync_message_unittest.cc */; };
+ B52E29BE0F0AA333008AD1C8 /* l10n_util_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BFBCB0E9D4C9F009A6919 /* l10n_util_unittest.cc */; };
B54BD8FC0ED622C00093FD54 /* mach_message_source_mac.cc in Sources */ = {isa = PBXBuildFile; fileRef = B54BD8FA0ED622C00093FD54 /* mach_message_source_mac.cc */; };
B562C8430ED49C830077A23F /* mach_ipc_mac.mm in Sources */ = {isa = PBXBuildFile; fileRef = B562C8420ED49C830077A23F /* mach_ipc_mac.mm */; };
B562E2C70F0582F800FB1A4F /* common_glue.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BFB9F0E9D4C9F009A6919 /* common_glue.cc */; };
@@ -3243,6 +3246,7 @@
B507AC440F004B610060FEE8 /* ipc_sync_message_unittest.cc in Sources */,
4D7BFCE30E9D4DCE009A6919 /* jpeg_codec_unittest.cc in Sources */,
4D7BFCE70E9D4DD4009A6919 /* json_value_serializer_unittest.cc in Sources */,
+ B52E29BE0F0AA333008AD1C8 /* l10n_util_unittest.cc in Sources */,
4DDC63E70EAE344300FB5EBE /* metrics_response_unittest.cc in Sources */,
4D7BFB580E9D4C43009A6919 /* page_range_unittest.cc in Sources */,
4D7BFB5F0E9D4C46009A6919 /* page_setup_unittest.cc in Sources */,
@@ -3254,6 +3258,7 @@
E4F324980EE5D7DE002533CE /* snippet_unittest.cc in Sources */,
4D7BFB3E0E9D4C2F009A6919 /* text_database_unittest.cc in Sources */,
4D7BFB610E9D4C4B009A6919 /* units_unittest.cc in Sources */,
+ B502DA280F098056005BE90C /* visit_database_unittest.cc in Sources */,
4D7BFB420E9D4C35009A6919 /* visit_tracker_unittest.cc in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -3280,6 +3285,7 @@
B507AC1F0F0048E10060FEE8 /* ipc_sync_message.cc in Sources */,
4D7BFC580E9D4D0E009A6919 /* jpeg_codec.cc in Sources */,
4D7BFC4B0E9D4D06009A6919 /* json_value_serializer.cc in Sources */,
+ B502DA520F098888005BE90C /* l10n_util.cc in Sources */,
4D7BFC540E9D4D09009A6919 /* libxml_utils.cc in Sources */,
E4F3242C0EE5CBBF002533CE /* logging_chrome.cc in Sources */,
B562C8430ED49C830077A23F /* mach_ipc_mac.mm in Sources */,
diff --git a/chrome/common/common.scons b/chrome/common/common.scons
index cfdc390..e72ed47 100644
--- a/chrome/common/common.scons
+++ b/chrome/common/common.scons
@@ -58,6 +58,7 @@ input_files.extend([
'ipc_sync_message.cc',
'jpeg_codec.cc',
'json_value_serializer.cc',
+ 'l10n_util.cc',
'libxml_utils.cc',
'logging_chrome.cc',
'message_router.cc',
@@ -103,7 +104,6 @@ if env.Bit('windows'):
'ipc_logging.cc',
'ipc_sync_channel.cc',
'jstemplate_builder.cc',
- 'l10n_util.cc',
'net/url_request_intercept_job.cc',
'os_exchange_data.cc',
'plugin_messages.cc',
diff --git a/chrome/common/l10n_util.cc b/chrome/common/l10n_util.cc
index 199d937..71b2450 100644
--- a/chrome/common/l10n_util.cc
+++ b/chrome/common/l10n_util.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "build/build_config.h"
+
#include <algorithm>
#include "chrome/common/l10n_util.h"
@@ -15,13 +17,21 @@
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/gfx/chrome_canvas.h"
+#if defined(OS_WIN)
+// TODO(port): re-enable.
#include "chrome/common/resource_bundle.h"
#include "chrome/views/view.h"
+#endif // defined(OS_WIN)
#include "unicode/coll.h"
#include "unicode/locid.h"
#include "unicode/rbbi.h"
#include "unicode/uchar.h"
+// TODO(playmobil): remove this undef once SkPostConfig.h is fixed.
+// skia/include/corecg/SkPostConfig.h #defines strcasecmp() so we can't use
+// base::strcasecmp() without #undefing it here.
+#undef strcasecmp
+
namespace {
// Added to the end of strings that are too big in TrucateString.
@@ -99,10 +109,24 @@ class StringComparator : public std::binary_function<const std::wstring&,
// Returns true if lhs preceeds rhs.
bool operator() (const std::wstring& lhs, const std::wstring& rhs) {
UErrorCode error = U_ZERO_ERROR;
+#if defined(WCHAR_T_IS_UTF32)
+ // Need to convert to UTF-16 to be compatible with UnicodeString's
+ // constructor.
+ string16 lhs_utf16 = WideToUTF16(lhs);
+ string16 rhs_utf16 = WideToUTF16(rhs);
+
+ UCollationResult result = collator_->compare(
+ static_cast<const UChar*>(lhs_utf16.c_str()),
+ static_cast<int>(lhs_utf16.length()),
+ static_cast<const UChar*>(rhs_utf16.c_str()),
+ static_cast<int>(rhs_utf16.length()),
+ error);
+#else
UCollationResult result = collator_->compare(
static_cast<const UChar*>(lhs.c_str()), static_cast<int>(lhs.length()),
static_cast<const UChar*>(rhs.c_str()), static_cast<int>(rhs.length()),
error);
+#endif
DCHECK(U_SUCCESS(error));
return result == UCOL_LESS;
@@ -127,8 +151,8 @@ bool IsDuplicateName(const std::string& locale_name) {
// has to be added manually in GetAvailableLocales().
if (LowerCaseEqualsASCII(locale_name.substr(0, 3), "es_"))
return true;
- for (int i = 0; i < arraysize(kDuplicateNames); ++i) {
- if (_stricmp(kDuplicateNames[i], locale_name.c_str()) == 0)
+ for (size_t i = 0; i < arraysize(kDuplicateNames); ++i) {
+ if (base::strcasecmp(kDuplicateNames[i], locale_name.c_str()) == 0)
return true;
}
return false;
@@ -195,7 +219,7 @@ bool CheckAndResolveLocale(const std::wstring& locale,
{"en", L"en-US"},
};
- for (int i = 0; i < arraysize(alias_map); ++i) {
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(alias_map); ++i) {
if (LowerCaseEqualsASCII(locale, alias_map[i].source)) {
std::wstring tmp_locale(alias_map[i].dest);
if (IsLocaleAvailable(tmp_locale, locale_path)) {
@@ -274,9 +298,17 @@ std::wstring GetLocalName(const std::wstring& locale_code_wstr,
const char* locale_code = locale_code_str.c_str();
UErrorCode error = U_ZERO_ERROR;
const int buffer_size = 1024;
+
+#if defined(WCHAR_T_IS_UTF32)
+ string16 name_local_utf16;
+ int actual_size = uloc_getDisplayName(locale_code, app_locale.c_str(),
+ WriteInto(&name_local_utf16, buffer_size + 1), buffer_size, &error);
+ std::wstring name_local = UTF16ToWide(name_local_utf16);
+#else
std::wstring name_local;
int actual_size = uloc_getDisplayName(locale_code, app_locale.c_str(),
WriteInto(&name_local, buffer_size + 1), buffer_size, &error);
+#endif
DCHECK(U_SUCCESS(error));
name_local.resize(actual_size);
// Add an RTL mark so parentheses are properly placed.
@@ -286,6 +318,8 @@ std::wstring GetLocalName(const std::wstring& locale_code_wstr,
return name_local;
}
+#if defined(OS_WIN)
+// TODO(port): re-enable.
std::wstring GetString(int message_id) {
ResourceBundle &rb = ResourceBundle::GetSharedInstance();
return rb.GetLocalizedString(message_id);
@@ -348,6 +382,7 @@ std::wstring GetStringF(int message_id, int a) {
std::wstring GetStringF(int message_id, int64 a) {
return GetStringF(message_id, Int64ToWString(a));
}
+#endif // defined(OS_WIN)
std::wstring TruncateString(const std::wstring& string, size_t length) {
if (string.size() <= length)
@@ -365,20 +400,25 @@ std::wstring TruncateString(const std::wstring& string, size_t length) {
return kElideString;
}
+#if defined(WCHAR_T_IS_UTF32)
+ const string16 string_utf16 = WideToUTF16(string);
+#else
+ const std::wstring &string_utf16 = string;
+#endif
// Use a line iterator to find the first boundary.
UErrorCode status = U_ZERO_ERROR;
scoped_ptr<RuleBasedBreakIterator> bi(static_cast<RuleBasedBreakIterator*>(
RuleBasedBreakIterator::createLineInstance(Locale::getDefault(), status)));
if (U_FAILURE(status))
return string.substr(0, max) + kElideString;
- bi->setText(string.c_str());
+ bi->setText(string_utf16.c_str());
int32_t index = bi->preceding(static_cast<int32_t>(max));
if (index == BreakIterator::DONE) {
index = static_cast<int32_t>(max);
} else {
// Found a valid break (may be the beginning of the string). Now use
// a character iterator to find the previous non-whitespace character.
- StringCharacterIterator char_iterator(string.c_str());
+ StringCharacterIterator char_iterator(string_utf16.c_str());
if (index == 0) {
// No valid line breaks. Start at the end again. This ensures we break
// on a valid character boundary.
@@ -407,6 +447,18 @@ std::wstring TruncateString(const std::wstring& string, size_t length) {
return string.substr(0, index) + kElideString;
}
+#if defined(WCHAR_T_IS_UTF32)
+std::wstring ToLower(const std::wstring& string) {
+ string16 string_utf16 = WideToUTF16(string);
+ UnicodeString lower_u_str(
+ UnicodeString(string_utf16.c_str()).toLower(Locale::getDefault()));
+ string16 result_utf16;
+ lower_u_str.extract(0, lower_u_str.length(),
+ WriteInto(&result_utf16, lower_u_str.length() + 1));
+ std::wstring result = UTF16ToWide(result_utf16);
+ return result;
+}
+#else
std::wstring ToLower(const std::wstring& string) {
UnicodeString lower_u_str(
UnicodeString(string.c_str()).toLower(Locale::getDefault()));
@@ -415,6 +467,7 @@ std::wstring ToLower(const std::wstring& string) {
WriteInto(&result, lower_u_str.length() + 1));
return result;
}
+#endif // defined(WCHAR_T_IS_UTF32)
// Returns the text direction.
// This function retrieves the language corresponding to the default ICU locale
@@ -497,7 +550,15 @@ void WrapStringWithRTLFormatting(std::wstring* text) {
text->append(L"\x202C");
}
-// Returns locale-dependent externded window styles.
+int DefaultCanvasTextAlignment() {
+ if (GetTextDirection() == LEFT_TO_RIGHT) {
+ return ChromeCanvas::TEXT_ALIGN_LEFT;
+ } else {
+ return ChromeCanvas::TEXT_ALIGN_RIGHT;
+ }
+}
+
+#if defined(OS_WIN)
int GetExtendedStyles() {
return GetTextDirection() == LEFT_TO_RIGHT ? 0 :
WS_EX_LAYOUTRTL | WS_EX_RTLREADING;
@@ -507,14 +568,6 @@ int GetExtendedTooltipStyles() {
return GetTextDirection() == LEFT_TO_RIGHT ? 0 : WS_EX_LAYOUTRTL;
}
-int DefaultCanvasTextAlignment() {
- if (GetTextDirection() == LEFT_TO_RIGHT) {
- return ChromeCanvas::TEXT_ALIGN_LEFT;
- } else {
- return ChromeCanvas::TEXT_ALIGN_RIGHT;
- }
-}
-
void HWNDSetRTLLayout(HWND hwnd) {
DWORD ex_style = ::GetWindowLong(hwnd, GWL_EXSTYLE);
@@ -529,6 +582,7 @@ void HWNDSetRTLLayout(HWND hwnd) {
::InvalidateRect(hwnd, NULL, true);
}
}
+#endif // defined(OS_WIN)
void SortStrings(const std::wstring& locale,
std::vector<std::wstring>* strings) {
@@ -589,7 +643,12 @@ UBool BiDiLineIterator::Open(const std::wstring& text,
return false;
if (right_to_left && url)
ubidi_setReorderingMode(bidi_, UBIDI_REORDER_RUNS_ONLY);
- ubidi_setPara(bidi_, text.data(), static_cast<int>(text.length()),
+#if defined(WCHAR_T_IS_UTF32)
+ const string16 text_utf16 = WideToUTF16(text);
+#else
+ const std::wstring &text_utf16 = text;
+#endif // U_SIZEOF_WCHAR_T != 4
+ ubidi_setPara(bidi_, text_utf16.data(), static_cast<int>(text_utf16.length()),
right_to_left ? UBIDI_DEFAULT_RTL : UBIDI_DEFAULT_LTR,
NULL, &error);
return U_SUCCESS(error);
diff --git a/chrome/common/l10n_util_unittest.cc b/chrome/common/l10n_util_unittest.cc
index ee14f23..18cb8f0 100644
--- a/chrome/common/l10n_util_unittest.cc
+++ b/chrome/common/l10n_util_unittest.cc
@@ -2,21 +2,27 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "build/build_config.h"
+
#include "base/file_util.h"
#include "base/path_service.h"
#include "base/string_util.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/l10n_util.h"
+#if !defined(OS_MACOSX)
#include "chrome/test/data/resource.h"
+#endif
#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/platform_test.h"
#include "unicode/locid.h"
namespace {
-class L10nUtilTest: public testing::Test {
+class L10nUtilTest: public PlatformTest {
};
-TEST(L10nUtilTest, GetString) {
+#if defined(OS_WIN)
+TEST_F(L10nUtilTest, GetString) {
std::wstring s = l10n_util::GetString(IDS_SIMPLE);
EXPECT_EQ(std::wstring(L"Hello World!"), s);
@@ -26,8 +32,9 @@ TEST(L10nUtilTest, GetString) {
s = l10n_util::GetStringF(IDS_PLACEHOLDERS_2, 20);
EXPECT_EQ(std::wstring(L"You owe me $20."), s);
}
+#endif // defined(OS_WIN)
-TEST(L10nUtilTest, TruncateString) {
+TEST_F(L10nUtilTest, TruncateString) {
std::wstring string(L"foooooey bxxxar baz");
// Make sure it doesn't modify the string if length > string length.
@@ -61,7 +68,7 @@ void SetICUDefaultLocale(const std::wstring& locale_string) {
EXPECT_TRUE(U_SUCCESS(error_code));
}
-TEST(L10nUtilTest, GetAppLocale) {
+TEST_F(L10nUtilTest, GetAppLocale) {
// Use a temporary locale dir so we don't have to actually build the locale
// dlls for this test.
std::wstring orig_locale_dir;
diff --git a/chrome/test/unit/unit_tests.scons b/chrome/test/unit/unit_tests.scons
index 14c1206..4fe3332 100644
--- a/chrome/test/unit/unit_tests.scons
+++ b/chrome/test/unit/unit_tests.scons
@@ -111,9 +111,11 @@ unit_test_files = []
unit_test_files.extend([
'$CHROME_DIR/common/ipc_sync_message_unittest.cc',
+ '$CHROME_DIR/common/l10n_util_unittest.cc',
'$CHROME_DIR/common/property_bag_unittest.cc',
'$CHROME_DIR/common/unzip_unittest.cc',
'$CHROME_DIR/renderer/greasemonkey_slave_unittest.cc',
+ '$CHROME_DIR/browser/history/visit_database_unittest.cc',
])
if not env.Bit('mac'):
@@ -180,7 +182,6 @@ if env.Bit('windows'):
'$CHROME_DIR/browser/history/text_database_manager_unittest.cc',
'$CHROME_DIR/browser/history/thumbnail_database_unittest.cc',
'$CHROME_DIR/browser/history/url_database_unittest.cc',
- '$CHROME_DIR/browser/history/visit_database_unittest.cc',
'$CHROME_DIR/browser/importer/firefox_importer_unittest.cc',
'$CHROME_DIR/browser/importer/importer_unittest.cc',
'$CHROME_DIR/browser/metrics_log_unittest.cc',
@@ -220,7 +221,6 @@ if env.Bit('windows'):
'$CHROME_DIR/common/gfx/icon_util_unittest.cc',
'$CHROME_DIR/common/gfx/text_elider_unittest.cc',
'$CHROME_DIR/common/ipc_sync_channel_unittest.cc',
- '$CHROME_DIR/common/l10n_util_unittest.cc',
'$CHROME_DIR/common/os_exchange_data_unittest.cc',
'$CHROME_DIR/common/pref_member_unittest.cc',
'$CHROME_DIR/common/pref_service_unittest.cc',