OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/sync_sessions/favicon_cache.h" | 5 #include "components/sync_sessions/favicon_cache.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/memory/ptr_util.h" | 11 #include "base/memory/ptr_util.h" |
12 #include "base/message_loop/message_loop.h" | 12 #include "base/message_loop/message_loop.h" |
13 #include "base/strings/string_number_conversions.h" | 13 #include "base/strings/string_number_conversions.h" |
14 #include "base/strings/string_util.h" | |
15 #include "base/strings/stringprintf.h" | 14 #include "base/strings/stringprintf.h" |
16 #include "base/time/time.h" | 15 #include "base/time/time.h" |
17 #include "sync/api/attachments/attachment_id.h" | 16 #include "sync/api/attachments/attachment_id.h" |
18 #include "sync/api/sync_change_processor_wrapper_for_test.h" | 17 #include "sync/api/sync_change_processor_wrapper_for_test.h" |
19 #include "sync/api/sync_error_factory_mock.h" | 18 #include "sync/api/sync_error_factory_mock.h" |
20 #include "sync/api/time.h" | 19 #include "sync/api/time.h" |
21 #include "sync/internal_api/public/attachments/attachment_service_proxy_for_test
.h" | 20 #include "sync/internal_api/public/attachments/attachment_service_proxy_for_test
.h" |
22 #include "sync/protocol/favicon_image_specifics.pb.h" | 21 #include "sync/protocol/favicon_image_specifics.pb.h" |
23 #include "sync/protocol/favicon_tracking_specifics.pb.h" | 22 #include "sync/protocol/favicon_tracking_specifics.pb.h" |
24 #include "sync/protocol/sync.pb.h" | 23 #include "sync/protocol/sync.pb.h" |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 } | 237 } |
239 return testing::AssertionSuccess(); | 238 return testing::AssertionSuccess(); |
240 } | 239 } |
241 | 240 |
242 // Helper to extract the favicon id embedded in the tag of a sync | 241 // Helper to extract the favicon id embedded in the tag of a sync |
243 // change. | 242 // change. |
244 int GetFaviconId(const syncer::SyncChange change) { | 243 int GetFaviconId(const syncer::SyncChange change) { |
245 std::string tag = syncer::SyncDataLocal(change.sync_data()).GetTag(); | 244 std::string tag = syncer::SyncDataLocal(change.sync_data()).GetTag(); |
246 const std::string kPrefix = "http://bla.com/"; | 245 const std::string kPrefix = "http://bla.com/"; |
247 const std::string kSuffix = ".ico"; | 246 const std::string kSuffix = ".ico"; |
248 if (!base::StartsWith(tag, kPrefix, base::CompareCase::SENSITIVE)) | 247 if (tag.find(kPrefix) != 0) |
249 return -1; | 248 return -1; |
250 std::string temp = tag.substr(kPrefix.length()); | 249 std::string temp = tag.substr(kPrefix.length()); |
251 if (temp.rfind(kSuffix) <= 0) | 250 if (temp.rfind(kSuffix) <= 0) |
252 return -1; | 251 return -1; |
253 temp = temp.substr(0, temp.rfind(kSuffix)); | 252 temp = temp.substr(0, temp.rfind(kSuffix)); |
254 int result = -1; | 253 int result = -1; |
255 if (!base::StringToInt(temp, &result)) | 254 if (!base::StringToInt(temp, &result)) |
256 return -1; | 255 return -1; |
257 return result; | 256 return result; |
258 } | 257 } |
(...skipping 1669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1928 EXPECT_EQ(changes[4].change_type(), syncer::SyncChange::ACTION_ADD); | 1927 EXPECT_EQ(changes[4].change_type(), syncer::SyncChange::ACTION_ADD); |
1929 EXPECT_EQ(changes[4].sync_data().GetDataType(), syncer::FAVICON_TRACKING); | 1928 EXPECT_EQ(changes[4].sync_data().GetDataType(), syncer::FAVICON_TRACKING); |
1930 EXPECT_EQ(kMaxSyncFavicons, GetFaviconId(changes[4])); | 1929 EXPECT_EQ(kMaxSyncFavicons, GetFaviconId(changes[4])); |
1931 // Expire tracking for favicon[0]. | 1930 // Expire tracking for favicon[0]. |
1932 EXPECT_EQ(changes[5].change_type(), syncer::SyncChange::ACTION_DELETE); | 1931 EXPECT_EQ(changes[5].change_type(), syncer::SyncChange::ACTION_DELETE); |
1933 EXPECT_EQ(changes[5].sync_data().GetDataType(), syncer::FAVICON_TRACKING); | 1932 EXPECT_EQ(changes[5].sync_data().GetDataType(), syncer::FAVICON_TRACKING); |
1934 EXPECT_EQ(0, GetFaviconId(changes[5])); | 1933 EXPECT_EQ(0, GetFaviconId(changes[5])); |
1935 } | 1934 } |
1936 | 1935 |
1937 } // namespace browser_sync | 1936 } // namespace browser_sync |
OLD | NEW |