Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/files/file_enumerator.h" | 10 #include "base/files/file_enumerator.h" |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 217 EXPECT_NE(0, id); | 217 EXPECT_NE(0, id); |
| 218 | 218 |
| 219 EXPECT_NE(0, db.AddIconMapping(url, id)); | 219 EXPECT_NE(0, db.AddIconMapping(url, id)); |
| 220 std::vector<IconMapping> icon_mappings; | 220 std::vector<IconMapping> icon_mappings; |
| 221 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mappings)); | 221 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mappings)); |
| 222 EXPECT_EQ(1u, icon_mappings.size()); | 222 EXPECT_EQ(1u, icon_mappings.size()); |
| 223 EXPECT_EQ(url, icon_mappings.front().page_url); | 223 EXPECT_EQ(url, icon_mappings.front().page_url); |
| 224 EXPECT_EQ(id, icon_mappings.front().icon_id); | 224 EXPECT_EQ(id, icon_mappings.front().icon_id); |
| 225 } | 225 } |
| 226 | 226 |
| 227 TEST_F(ThumbnailDatabaseTest, LastRequestedTime) { | 227 TEST_F(ThumbnailDatabaseTest, |
| 228 AddOnDemandFaviconBitmapCreatesCorrectTimestamps) { | |
| 228 ThumbnailDatabase db(NULL); | 229 ThumbnailDatabase db(NULL); |
| 229 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); | 230 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); |
| 230 db.BeginTransaction(); | 231 db.BeginTransaction(); |
| 231 | 232 |
| 233 base::Time time; | |
|
pkotwicz
2017/06/07 17:40:53
Can you please rename this variable to something m
jkrcal
2017/06/09 16:38:38
Done.
| |
| 234 ASSERT_TRUE(base::Time::FromUTCExploded({2017, 5, 0, 1, 0, 0, 0, 0}, &time)); | |
| 232 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); | 235 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); |
| 233 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | 236 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
| 234 | 237 |
| 235 GURL url("http://google.com"); | 238 GURL url("http://google.com"); |
| 236 base::Time now = base::Time::Now(); | 239 favicon_base::FaviconID icon = db.AddFavicon(url, favicon_base::FAVICON); |
| 237 favicon_base::FaviconID id = | 240 ASSERT_NE(0, icon); |
| 238 db.AddFavicon(url, favicon_base::TOUCH_ICON, favicon, now, gfx::Size()); | 241 FaviconBitmapID bitmap = db.AddFaviconBitmap( |
| 239 ASSERT_NE(0, id); | 242 icon, favicon, FaviconBitmapType::ON_DEMAND, time, gfx::Size()); |
| 243 ASSERT_NE(0, bitmap); | |
| 240 | 244 |
| 241 // Fetching the last requested time of a non-existent bitmap should fail. | 245 base::Time last_updated; |
| 242 base::Time last_requested = base::Time::UnixEpoch(); | 246 base::Time last_requested; |
| 243 EXPECT_FALSE(db.GetFaviconBitmap(id + 1, NULL, &last_requested, NULL, NULL)); | 247 ASSERT_TRUE(db.GetFaviconBitmap(bitmap, &last_updated, &last_requested, |
| 244 EXPECT_EQ(last_requested, base::Time::UnixEpoch()); // Remains unchanged. | 248 nullptr, nullptr)); |
| 249 EXPECT_EQ(base::Time(), last_updated); | |
| 250 EXPECT_EQ(time, last_requested); | |
| 251 } | |
| 245 | 252 |
| 246 // Fetching the last requested time of a bitmap that has no last request | 253 TEST_F(ThumbnailDatabaseTest, AddFaviconBitmapCreatesCorrectTimestamps) { |
| 247 // should return a null timestamp. | 254 ThumbnailDatabase db(NULL); |
| 248 last_requested = base::Time::UnixEpoch(); | 255 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); |
| 249 EXPECT_TRUE(db.GetFaviconBitmap(id, NULL, &last_requested, NULL, NULL)); | 256 db.BeginTransaction(); |
| 250 EXPECT_TRUE(last_requested.is_null()); | |
| 251 | 257 |
| 252 // Setting the last requested time of an existing bitmap should succeed, and | 258 base::Time time; |
|
pkotwicz
2017/06/07 17:40:53
Ditto
jkrcal
2017/06/09 16:38:38
Done.
| |
| 253 // the set time should be returned by the corresponding "Get". | 259 ASSERT_TRUE(base::Time::FromUTCExploded({2017, 5, 0, 1, 0, 0, 0, 0}, &time)); |
| 254 last_requested = base::Time::UnixEpoch(); | 260 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); |
| 255 EXPECT_TRUE(db.SetFaviconBitmapLastRequestedTime(id, now)); | 261 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
| 256 EXPECT_TRUE(db.GetFaviconBitmap(id, NULL, &last_requested, NULL, NULL)); | 262 |
| 257 EXPECT_EQ(last_requested, now); | 263 GURL url("http://google.com"); |
| 264 favicon_base::FaviconID icon = db.AddFavicon(url, favicon_base::FAVICON); | |
| 265 ASSERT_NE(0, icon); | |
| 266 FaviconBitmapID bitmap = db.AddFaviconBitmap( | |
| 267 icon, favicon, FaviconBitmapType::ON_VISIT, time, gfx::Size()); | |
| 268 ASSERT_NE(0, bitmap); | |
| 269 | |
| 270 base::Time last_updated; | |
| 271 base::Time last_requested; | |
| 272 ASSERT_TRUE(db.GetFaviconBitmap(bitmap, &last_updated, &last_requested, | |
| 273 nullptr, nullptr)); | |
| 274 EXPECT_EQ(time, last_updated); | |
| 275 EXPECT_EQ(base::Time(), last_requested); | |
| 276 } | |
| 277 | |
| 278 TEST_F(ThumbnailDatabaseTest, TouchUpdatesOnDemandFavicons) { | |
| 279 ThumbnailDatabase db(NULL); | |
| 280 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); | |
| 281 db.BeginTransaction(); | |
| 282 | |
| 283 base::Time start; | |
| 284 ASSERT_TRUE(base::Time::FromUTCExploded({2017, 5, 0, 1, 0, 0, 0, 0}, &start)); | |
| 285 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); | |
| 286 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | |
| 287 | |
| 288 // Create an on-demand favicon. | |
| 289 GURL url("http://google.com"); | |
| 290 favicon_base::FaviconID icon = db.AddFavicon(url, favicon_base::FAVICON); | |
| 291 ASSERT_NE(0, icon); | |
| 292 FaviconBitmapID bitmap = db.AddFaviconBitmap( | |
| 293 icon, favicon, FaviconBitmapType::ON_DEMAND, start, gfx::Size()); | |
| 294 ASSERT_NE(0, bitmap); | |
| 295 | |
| 296 base::Time end = start + base::TimeDelta::FromDays(14); | |
|
pkotwicz
2017/06/07 17:40:53
You should use kFaviconUpdateLastRequestedAfterDay
jkrcal
2017/06/09 16:38:38
Done.
| |
| 297 EXPECT_TRUE(db.TouchOnDemandFavicon(url, end)); | |
| 298 | |
| 299 base::Time last_updated; | |
| 300 base::Time last_requested; | |
| 301 EXPECT_TRUE(db.GetFaviconBitmap(bitmap, &last_updated, &last_requested, | |
| 302 nullptr, nullptr)); | |
| 303 // Does not mess up with the last_updated field. | |
|
pkotwicz
2017/06/07 17:40:53
Nit: 'mess up' -> 'mess'
jkrcal
2017/06/09 16:38:38
Done.
| |
| 304 EXPECT_EQ(base::Time(), last_updated); | |
| 305 EXPECT_EQ(end, last_requested); // Updates the last_requested field. | |
| 306 } | |
| 307 | |
| 308 TEST_F(ThumbnailDatabaseTest, TouchUpdatesOnlyInfrequently) { | |
| 309 ThumbnailDatabase db(NULL); | |
| 310 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); | |
| 311 db.BeginTransaction(); | |
| 312 | |
| 313 base::Time start; | |
| 314 ASSERT_TRUE(base::Time::FromUTCExploded({2017, 5, 0, 1, 0, 0, 0, 0}, &start)); | |
| 315 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); | |
| 316 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | |
| 317 | |
| 318 // Create an on-demand favicon. | |
| 319 GURL url("http://google.com"); | |
| 320 favicon_base::FaviconID icon = db.AddFavicon(url, favicon_base::FAVICON); | |
| 321 ASSERT_NE(0, icon); | |
| 322 FaviconBitmapID bitmap = db.AddFaviconBitmap( | |
| 323 icon, favicon, FaviconBitmapType::ON_DEMAND, start, gfx::Size()); | |
| 324 ASSERT_NE(0, bitmap); | |
| 325 | |
| 326 base::Time end = start + base::TimeDelta::FromMinutes(1); | |
| 327 EXPECT_TRUE(db.TouchOnDemandFavicon(url, end)); | |
| 328 | |
| 329 base::Time last_requested; | |
| 330 EXPECT_TRUE( | |
| 331 db.GetFaviconBitmap(bitmap, nullptr, &last_requested, nullptr, nullptr)); | |
| 332 EXPECT_EQ(start, last_requested); // No update. | |
| 333 } | |
| 334 | |
| 335 TEST_F(ThumbnailDatabaseTest, TouchDoesNotUpdateStandardFavicons) { | |
| 336 ThumbnailDatabase db(NULL); | |
|
pkotwicz
2017/06/07 17:40:53
Nit: NULL -> nullptr (here and elsewhere in the ne
jkrcal
2017/06/09 16:38:38
Done.
| |
| 337 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); | |
| 338 db.BeginTransaction(); | |
| 339 | |
| 340 base::Time start; | |
| 341 ASSERT_TRUE(base::Time::FromUTCExploded({2017, 5, 0, 1, 0, 0, 0, 0}, &start)); | |
| 342 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); | |
| 343 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | |
| 344 | |
| 345 // Create a standard favicon. | |
| 346 GURL url("http://google.com"); | |
| 347 favicon_base::FaviconID icon = db.AddFavicon(url, favicon_base::FAVICON); | |
| 348 EXPECT_NE(0, icon); | |
| 349 FaviconBitmapID bitmap = db.AddFaviconBitmap( | |
| 350 icon, favicon, FaviconBitmapType::ON_VISIT, start, gfx::Size()); | |
| 351 EXPECT_NE(0, bitmap); | |
| 352 | |
| 353 base::Time end = start + base::TimeDelta::FromDays(14); | |
| 354 db.TouchOnDemandFavicon(url, end); | |
| 355 | |
| 356 base::Time last_updated; | |
| 357 base::Time last_requested; | |
| 358 EXPECT_TRUE(db.GetFaviconBitmap(bitmap, &last_updated, &last_requested, | |
| 359 nullptr, nullptr)); | |
| 360 EXPECT_EQ(start, last_updated); // Does not mess up with last_updates. | |
|
pkotwicz
2017/06/07 17:40:53
Nits:
'mess up' -> 'mess'
'last_udpates' -> 'last_
jkrcal
2017/06/09 16:38:38
Done.
| |
| 361 EXPECT_EQ(base::Time(), last_requested); // No update. | |
| 258 } | 362 } |
| 259 | 363 |
| 260 TEST_F(ThumbnailDatabaseTest, DeleteIconMappings) { | 364 TEST_F(ThumbnailDatabaseTest, DeleteIconMappings) { |
| 261 ThumbnailDatabase db(NULL); | 365 ThumbnailDatabase db(NULL); |
| 262 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); | 366 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); |
| 263 db.BeginTransaction(); | 367 db.BeginTransaction(); |
| 264 | 368 |
| 265 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); | 369 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); |
| 266 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | 370 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
| 267 | 371 |
| 268 GURL url("http://google.com"); | 372 GURL url("http://google.com"); |
| 269 favicon_base::FaviconID id = db.AddFavicon(url, favicon_base::TOUCH_ICON); | 373 favicon_base::FaviconID id = db.AddFavicon(url, favicon_base::TOUCH_ICON); |
| 270 base::Time time = base::Time::Now(); | 374 base::Time time = base::Time::Now(); |
| 271 db.AddFaviconBitmap(id, favicon, time, gfx::Size()); | 375 db.AddFaviconBitmap(id, favicon, FaviconBitmapType::ON_VISIT, time, |
| 376 gfx::Size()); | |
| 272 EXPECT_LT(0, db.AddIconMapping(url, id)); | 377 EXPECT_LT(0, db.AddIconMapping(url, id)); |
| 273 | 378 |
| 274 favicon_base::FaviconID id2 = db.AddFavicon(url, favicon_base::FAVICON); | 379 favicon_base::FaviconID id2 = db.AddFavicon(url, favicon_base::FAVICON); |
| 275 EXPECT_LT(0, db.AddIconMapping(url, id2)); | 380 EXPECT_LT(0, db.AddIconMapping(url, id2)); |
| 276 ASSERT_NE(id, id2); | 381 ASSERT_NE(id, id2); |
| 277 | 382 |
| 278 std::vector<IconMapping> icon_mapping; | 383 std::vector<IconMapping> icon_mapping; |
| 279 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mapping)); | 384 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mapping)); |
| 280 ASSERT_EQ(2u, icon_mapping.size()); | 385 ASSERT_EQ(2u, icon_mapping.size()); |
| 281 EXPECT_EQ(icon_mapping.front().icon_type, favicon_base::TOUCH_ICON); | 386 EXPECT_EQ(icon_mapping.front().icon_type, favicon_base::TOUCH_ICON); |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 292 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); | 397 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); |
| 293 db.BeginTransaction(); | 398 db.BeginTransaction(); |
| 294 | 399 |
| 295 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); | 400 std::vector<unsigned char> data(kBlob1, kBlob1 + sizeof(kBlob1)); |
| 296 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); | 401 scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
| 297 | 402 |
| 298 GURL url("http://google.com"); | 403 GURL url("http://google.com"); |
| 299 | 404 |
| 300 favicon_base::FaviconID id1 = db.AddFavicon(url, favicon_base::TOUCH_ICON); | 405 favicon_base::FaviconID id1 = db.AddFavicon(url, favicon_base::TOUCH_ICON); |
| 301 base::Time time = base::Time::Now(); | 406 base::Time time = base::Time::Now(); |
| 302 db.AddFaviconBitmap(id1, favicon, time, kSmallSize); | 407 db.AddFaviconBitmap(id1, favicon, FaviconBitmapType::ON_VISIT, time, |
| 303 db.AddFaviconBitmap(id1, favicon, time, kLargeSize); | 408 kSmallSize); |
| 409 db.AddFaviconBitmap(id1, favicon, FaviconBitmapType::ON_VISIT, time, | |
| 410 kLargeSize); | |
| 304 EXPECT_LT(0, db.AddIconMapping(url, id1)); | 411 EXPECT_LT(0, db.AddIconMapping(url, id1)); |
| 305 | 412 |
| 306 favicon_base::FaviconID id2 = db.AddFavicon(url, favicon_base::FAVICON); | 413 favicon_base::FaviconID id2 = db.AddFavicon(url, favicon_base::FAVICON); |
| 307 EXPECT_NE(id1, id2); | 414 EXPECT_NE(id1, id2); |
| 308 db.AddFaviconBitmap(id2, favicon, time, kSmallSize); | 415 db.AddFaviconBitmap(id2, favicon, FaviconBitmapType::ON_VISIT, time, |
| 416 kSmallSize); | |
| 309 EXPECT_LT(0, db.AddIconMapping(url, id2)); | 417 EXPECT_LT(0, db.AddIconMapping(url, id2)); |
| 310 | 418 |
| 311 std::vector<IconMapping> icon_mappings; | 419 std::vector<IconMapping> icon_mappings; |
| 312 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mappings)); | 420 EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mappings)); |
| 313 ASSERT_EQ(2u, icon_mappings.size()); | 421 ASSERT_EQ(2u, icon_mappings.size()); |
| 314 EXPECT_EQ(id1, icon_mappings[0].icon_id); | 422 EXPECT_EQ(id1, icon_mappings[0].icon_id); |
| 315 EXPECT_EQ(id2, icon_mappings[1].icon_id); | 423 EXPECT_EQ(id2, icon_mappings[1].icon_id); |
| 316 } | 424 } |
| 317 | 425 |
| 318 TEST_F(ThumbnailDatabaseTest, RetainDataForPageUrls) { | 426 TEST_F(ThumbnailDatabaseTest, RetainDataForPageUrls) { |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 334 | 442 |
| 335 // TODO(shess): This would probably make sense as a golden file. | 443 // TODO(shess): This would probably make sense as a golden file. |
| 336 | 444 |
| 337 scoped_refptr<base::RefCountedStaticMemory> favicon1( | 445 scoped_refptr<base::RefCountedStaticMemory> favicon1( |
| 338 new base::RefCountedStaticMemory(kBlob1, sizeof(kBlob1))); | 446 new base::RefCountedStaticMemory(kBlob1, sizeof(kBlob1))); |
| 339 scoped_refptr<base::RefCountedStaticMemory> favicon2( | 447 scoped_refptr<base::RefCountedStaticMemory> favicon2( |
| 340 new base::RefCountedStaticMemory(kBlob2, sizeof(kBlob2))); | 448 new base::RefCountedStaticMemory(kBlob2, sizeof(kBlob2))); |
| 341 | 449 |
| 342 favicon_base::FaviconID kept_id1 = | 450 favicon_base::FaviconID kept_id1 = |
| 343 db.AddFavicon(kIconUrl1, favicon_base::FAVICON); | 451 db.AddFavicon(kIconUrl1, favicon_base::FAVICON); |
| 344 db.AddFaviconBitmap(kept_id1, favicon1, base::Time::Now(), kLargeSize); | 452 db.AddFaviconBitmap(kept_id1, favicon1, FaviconBitmapType::ON_VISIT, |
| 453 base::Time::Now(), kLargeSize); | |
| 345 db.AddIconMapping(kPageUrl1, kept_id1); | 454 db.AddIconMapping(kPageUrl1, kept_id1); |
| 346 db.AddIconMapping(kPageUrl3, kept_id1); | 455 db.AddIconMapping(kPageUrl3, kept_id1); |
| 347 db.AddIconMapping(kPageUrl4, kept_id1); | 456 db.AddIconMapping(kPageUrl4, kept_id1); |
| 348 | 457 |
| 349 favicon_base::FaviconID unkept_id = | 458 favicon_base::FaviconID unkept_id = |
| 350 db.AddFavicon(kIconUrl2, favicon_base::FAVICON); | 459 db.AddFavicon(kIconUrl2, favicon_base::FAVICON); |
| 351 db.AddFaviconBitmap(unkept_id, favicon1, base::Time::Now(), kLargeSize); | 460 db.AddFaviconBitmap(unkept_id, favicon1, FaviconBitmapType::ON_VISIT, |
| 461 base::Time::Now(), kLargeSize); | |
| 352 db.AddIconMapping(kPageUrl2, unkept_id); | 462 db.AddIconMapping(kPageUrl2, unkept_id); |
| 353 | 463 |
| 354 favicon_base::FaviconID kept_id2 = | 464 favicon_base::FaviconID kept_id2 = |
| 355 db.AddFavicon(kIconUrl5, favicon_base::FAVICON); | 465 db.AddFavicon(kIconUrl5, favicon_base::FAVICON); |
| 356 db.AddFaviconBitmap(kept_id2, favicon2, base::Time::Now(), kLargeSize); | 466 db.AddFaviconBitmap(kept_id2, favicon2, FaviconBitmapType::ON_VISIT, |
| 467 base::Time::Now(), kLargeSize); | |
| 357 db.AddIconMapping(kPageUrl5, kept_id2); | 468 db.AddIconMapping(kPageUrl5, kept_id2); |
| 358 | 469 |
| 359 // RetainDataForPageUrls() uses schema manipulations for efficiency. | 470 // RetainDataForPageUrls() uses schema manipulations for efficiency. |
| 360 // Grab a copy of the schema to make sure the final schema matches. | 471 // Grab a copy of the schema to make sure the final schema matches. |
| 361 const std::string original_schema = db.db_.GetSchema(); | 472 const std::string original_schema = db.db_.GetSchema(); |
| 362 | 473 |
| 363 std::vector<GURL> pages_to_keep; | 474 std::vector<GURL> pages_to_keep; |
| 364 pages_to_keep.push_back(kPageUrl1); | 475 pages_to_keep.push_back(kPageUrl1); |
| 365 pages_to_keep.push_back(kPageUrl3); | 476 pages_to_keep.push_back(kPageUrl3); |
| 366 pages_to_keep.push_back(kPageUrl5); | 477 pages_to_keep.push_back(kPageUrl5); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 432 std::vector<unsigned char> data1(kBlob1, kBlob1 + sizeof(kBlob1)); | 543 std::vector<unsigned char> data1(kBlob1, kBlob1 + sizeof(kBlob1)); |
| 433 scoped_refptr<base::RefCountedBytes> favicon1( | 544 scoped_refptr<base::RefCountedBytes> favicon1( |
| 434 new base::RefCountedBytes(data1)); | 545 new base::RefCountedBytes(data1)); |
| 435 std::vector<unsigned char> data2(kBlob2, kBlob2 + sizeof(kBlob2)); | 546 std::vector<unsigned char> data2(kBlob2, kBlob2 + sizeof(kBlob2)); |
| 436 scoped_refptr<base::RefCountedBytes> favicon2( | 547 scoped_refptr<base::RefCountedBytes> favicon2( |
| 437 new base::RefCountedBytes(data2)); | 548 new base::RefCountedBytes(data2)); |
| 438 | 549 |
| 439 GURL url("http://google.com"); | 550 GURL url("http://google.com"); |
| 440 favicon_base::FaviconID id = db.AddFavicon(url, favicon_base::FAVICON); | 551 favicon_base::FaviconID id = db.AddFavicon(url, favicon_base::FAVICON); |
| 441 base::Time last_updated = base::Time::Now(); | 552 base::Time last_updated = base::Time::Now(); |
| 442 db.AddFaviconBitmap(id, favicon1, last_updated, kSmallSize); | 553 db.AddFaviconBitmap(id, favicon1, FaviconBitmapType::ON_VISIT, last_updated, |
| 443 db.AddFaviconBitmap(id, favicon2, last_updated, kLargeSize); | 554 kSmallSize); |
| 555 db.AddFaviconBitmap(id, favicon2, FaviconBitmapType::ON_VISIT, last_updated, | |
| 556 kLargeSize); | |
| 444 | 557 |
| 445 EXPECT_TRUE(db.GetFaviconBitmaps(id, NULL)); | 558 EXPECT_TRUE(db.GetFaviconBitmaps(id, NULL)); |
| 446 | 559 |
| 447 EXPECT_TRUE(db.DeleteFavicon(id)); | 560 EXPECT_TRUE(db.DeleteFavicon(id)); |
| 448 EXPECT_FALSE(db.GetFaviconBitmaps(id, NULL)); | 561 EXPECT_FALSE(db.GetFaviconBitmaps(id, NULL)); |
| 449 } | 562 } |
| 450 | 563 |
| 451 TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURLForReturnOrder) { | 564 TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURLForReturnOrder) { |
| 452 ThumbnailDatabase db(NULL); | 565 ThumbnailDatabase db(NULL); |
| 453 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); | 566 ASSERT_EQ(sql::INIT_OK, db.Init(file_name_)); |
| (...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1071 ThumbnailDatabase db(NULL); | 1184 ThumbnailDatabase db(NULL); |
| 1072 ASSERT_EQ(sql::INIT_OK, db.Init(db_path)); | 1185 ASSERT_EQ(sql::INIT_OK, db.Init(db_path)); |
| 1073 | 1186 |
| 1074 // Verify that the resulting schema is correct, whether it | 1187 // Verify that the resulting schema is correct, whether it |
| 1075 // involved razing the file or fixing things in place. | 1188 // involved razing the file or fixing things in place. |
| 1076 VerifyTablesAndColumns(&db.db_); | 1189 VerifyTablesAndColumns(&db.db_); |
| 1077 } | 1190 } |
| 1078 } | 1191 } |
| 1079 | 1192 |
| 1080 } // namespace history | 1193 } // namespace history |
| OLD | NEW |