Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(211)

Side by Side Diff: chrome/browser/history/history_service.cc

Issue 369503007: Remove dead code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // The history system runs on a background thread so that potentially slow 5 // The history system runs on a background thread so that potentially slow
6 // database operations don't delay the browser. This backend processing is 6 // database operations don't delay the browser. This backend processing is
7 // represented by HistoryBackend. The HistoryService's job is to dispatch to 7 // represented by HistoryBackend. The HistoryService's job is to dispatch to
8 // that thread. 8 // that thread.
9 // 9 //
10 // Main thread History thread 10 // Main thread History thread
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 // Delete the thread, which joins with the background thread. We defensively 285 // Delete the thread, which joins with the background thread. We defensively
286 // NULL the pointer before deleting it in case somebody tries to use it 286 // NULL the pointer before deleting it in case somebody tries to use it
287 // during shutdown, but this shouldn't happen. 287 // during shutdown, but this shouldn't happen.
288 base::Thread* thread = thread_; 288 base::Thread* thread = thread_;
289 thread_ = NULL; 289 thread_ = NULL;
290 delete thread; 290 delete thread;
291 } 291 }
292 292
293 void HistoryService::ClearCachedDataForContextID( 293 void HistoryService::ClearCachedDataForContextID(
294 history::ContextID context_id) { 294 history::ContextID context_id) {
295 DCHECK(thread_) << "History service being called after cleanup";
295 DCHECK(thread_checker_.CalledOnValidThread()); 296 DCHECK(thread_checker_.CalledOnValidThread());
296 ScheduleAndForget(PRIORITY_NORMAL, 297 ScheduleAndForget(PRIORITY_NORMAL,
297 &HistoryBackend::ClearCachedDataForContextID, context_id); 298 &HistoryBackend::ClearCachedDataForContextID, context_id);
298 } 299 }
299 300
300 history::URLDatabase* HistoryService::InMemoryDatabase() { 301 history::URLDatabase* HistoryService::InMemoryDatabase() {
301 DCHECK(thread_checker_.CalledOnValidThread()); 302 DCHECK(thread_checker_.CalledOnValidThread());
302 return in_memory_backend_ ? in_memory_backend_->db() : NULL; 303 return in_memory_backend_ ? in_memory_backend_->db() : NULL;
303 } 304 }
304 305
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 } 337 }
337 338
338 void HistoryService::Shutdown() { 339 void HistoryService::Shutdown() {
339 DCHECK(thread_checker_.CalledOnValidThread()); 340 DCHECK(thread_checker_.CalledOnValidThread());
340 Cleanup(); 341 Cleanup();
341 } 342 }
342 343
343 void HistoryService::SetKeywordSearchTermsForURL(const GURL& url, 344 void HistoryService::SetKeywordSearchTermsForURL(const GURL& url,
344 KeywordID keyword_id, 345 KeywordID keyword_id,
345 const base::string16& term) { 346 const base::string16& term) {
347 DCHECK(thread_) << "History service being called after cleanup";
346 DCHECK(thread_checker_.CalledOnValidThread()); 348 DCHECK(thread_checker_.CalledOnValidThread());
347 ScheduleAndForget(PRIORITY_UI, 349 ScheduleAndForget(PRIORITY_UI,
348 &HistoryBackend::SetKeywordSearchTermsForURL, 350 &HistoryBackend::SetKeywordSearchTermsForURL,
349 url, keyword_id, term); 351 url, keyword_id, term);
350 } 352 }
351 353
352 void HistoryService::DeleteAllSearchTermsForKeyword(KeywordID keyword_id) { 354 void HistoryService::DeleteAllSearchTermsForKeyword(KeywordID keyword_id) {
355 DCHECK(thread_) << "History service being called after cleanup";
353 DCHECK(thread_checker_.CalledOnValidThread()); 356 DCHECK(thread_checker_.CalledOnValidThread());
354 357
355 in_memory_backend_->DeleteAllSearchTermsForKeyword(keyword_id); 358 in_memory_backend_->DeleteAllSearchTermsForKeyword(keyword_id);
356 359
357 ScheduleAndForget(PRIORITY_UI, 360 ScheduleAndForget(PRIORITY_UI,
358 &HistoryBackend::DeleteAllSearchTermsForKeyword, 361 &HistoryBackend::DeleteAllSearchTermsForKeyword,
359 keyword_id); 362 keyword_id);
360 } 363 }
361 364
362 void HistoryService::DeleteKeywordSearchTermForURL(const GURL& url) { 365 void HistoryService::DeleteKeywordSearchTermForURL(const GURL& url) {
366 DCHECK(thread_) << "History service being called after cleanup";
363 DCHECK(thread_checker_.CalledOnValidThread()); 367 DCHECK(thread_checker_.CalledOnValidThread());
364 ScheduleAndForget(PRIORITY_UI, &HistoryBackend::DeleteKeywordSearchTermForURL, 368 ScheduleAndForget(PRIORITY_UI, &HistoryBackend::DeleteKeywordSearchTermForURL,
365 url); 369 url);
366 } 370 }
367 371
368 void HistoryService::DeleteMatchingURLsForKeyword(KeywordID keyword_id, 372 void HistoryService::DeleteMatchingURLsForKeyword(KeywordID keyword_id,
369 const base::string16& term) { 373 const base::string16& term) {
374 DCHECK(thread_) << "History service being called after cleanup";
370 DCHECK(thread_checker_.CalledOnValidThread()); 375 DCHECK(thread_checker_.CalledOnValidThread());
371 ScheduleAndForget(PRIORITY_UI, &HistoryBackend::DeleteMatchingURLsForKeyword, 376 ScheduleAndForget(PRIORITY_UI, &HistoryBackend::DeleteMatchingURLsForKeyword,
372 keyword_id, term); 377 keyword_id, term);
373 } 378 }
374 379
375 void HistoryService::URLsNoLongerBookmarked(const std::set<GURL>& urls) { 380 void HistoryService::URLsNoLongerBookmarked(const std::set<GURL>& urls) {
381 DCHECK(thread_) << "History service being called after cleanup";
376 DCHECK(thread_checker_.CalledOnValidThread()); 382 DCHECK(thread_checker_.CalledOnValidThread());
377 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::URLsNoLongerBookmarked, 383 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::URLsNoLongerBookmarked,
378 urls); 384 urls);
379 } 385 }
380 386
381 void HistoryService::ScheduleDBTask(scoped_refptr<history::HistoryDBTask> task, 387 void HistoryService::ScheduleDBTask(scoped_refptr<history::HistoryDBTask> task,
382 base::CancelableTaskTracker* tracker) { 388 base::CancelableTaskTracker* tracker) {
389 DCHECK(thread_) << "History service being called after cleanup";
383 DCHECK(thread_checker_.CalledOnValidThread()); 390 DCHECK(thread_checker_.CalledOnValidThread());
384 base::CancelableTaskTracker::IsCanceledCallback is_canceled; 391 base::CancelableTaskTracker::IsCanceledCallback is_canceled;
385 tracker->NewTrackedTaskId(&is_canceled); 392 tracker->NewTrackedTaskId(&is_canceled);
386 // Use base::ThreadTaskRunnerHandler::Get() to get a message loop proxy to 393 // Use base::ThreadTaskRunnerHandler::Get() to get a message loop proxy to
387 // the current message loop so that we can forward the call to the method 394 // the current message loop so that we can forward the call to the method
388 // HistoryDBTask::DoneRunOnMainThread in the correct thread. 395 // HistoryDBTask::DoneRunOnMainThread in the correct thread.
389 thread_->message_loop_proxy()->PostTask( 396 thread_->message_loop_proxy()->PostTask(
390 FROM_HERE, 397 FROM_HERE,
391 base::Bind(&HistoryBackend::ProcessDBTask, 398 base::Bind(&HistoryBackend::ProcessDBTask,
392 history_backend_.get(), 399 history_backend_.get(),
393 task, 400 task,
394 base::ThreadTaskRunnerHandle::Get(), 401 base::ThreadTaskRunnerHandle::Get(),
395 is_canceled)); 402 is_canceled));
396 } 403 }
397 404
398 void HistoryService::FlushForTest(const base::Closure& flushed) { 405 void HistoryService::FlushForTest(const base::Closure& flushed) {
399 thread_->message_loop_proxy()->PostTaskAndReply( 406 thread_->message_loop_proxy()->PostTaskAndReply(
400 FROM_HERE, base::Bind(&base::DoNothing), flushed); 407 FROM_HERE, base::Bind(&base::DoNothing), flushed);
401 } 408 }
402 409
403 void HistoryService::SetOnBackendDestroyTask(const base::Closure& task) { 410 void HistoryService::SetOnBackendDestroyTask(const base::Closure& task) {
411 DCHECK(thread_) << "History service being called after cleanup";
404 DCHECK(thread_checker_.CalledOnValidThread()); 412 DCHECK(thread_checker_.CalledOnValidThread());
405 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetOnBackendDestroyTask, 413 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetOnBackendDestroyTask,
406 base::MessageLoop::current(), task); 414 base::MessageLoop::current(), task);
407 } 415 }
408 416
409 void HistoryService::AddPage(const GURL& url, 417 void HistoryService::AddPage(const GURL& url,
410 Time time, 418 Time time,
411 history::ContextID context_id, 419 history::ContextID context_id,
412 int32 page_id, 420 int32 page_id,
413 const GURL& referrer, 421 const GURL& referrer,
(...skipping 13 matching lines...) Expand all
427 history::VisitSource visit_source) { 435 history::VisitSource visit_source) {
428 DCHECK(thread_checker_.CalledOnValidThread()); 436 DCHECK(thread_checker_.CalledOnValidThread());
429 AddPage( 437 AddPage(
430 history::HistoryAddPageArgs(url, time, NULL, 0, GURL(), 438 history::HistoryAddPageArgs(url, time, NULL, 0, GURL(),
431 history::RedirectList(), 439 history::RedirectList(),
432 content::PAGE_TRANSITION_LINK, 440 content::PAGE_TRANSITION_LINK,
433 visit_source, false)); 441 visit_source, false));
434 } 442 }
435 443
436 void HistoryService::AddPage(const history::HistoryAddPageArgs& add_page_args) { 444 void HistoryService::AddPage(const history::HistoryAddPageArgs& add_page_args) {
445 DCHECK(thread_) << "History service being called after cleanup";
437 DCHECK(thread_checker_.CalledOnValidThread()); 446 DCHECK(thread_checker_.CalledOnValidThread());
438 DCHECK(thread_) << "History service being called after cleanup";
439 447
440 // Filter out unwanted URLs. We don't add auto-subframe URLs. They are a 448 // Filter out unwanted URLs. We don't add auto-subframe URLs. They are a
441 // large part of history (think iframes for ads) and we never display them in 449 // large part of history (think iframes for ads) and we never display them in
442 // history UI. We will still add manual subframes, which are ones the user 450 // history UI. We will still add manual subframes, which are ones the user
443 // has clicked on to get. 451 // has clicked on to get.
444 if (!CanAddURL(add_page_args.url)) 452 if (!CanAddURL(add_page_args.url))
445 return; 453 return;
446 454
447 // Add link & all redirects to visited link list. 455 // Add link & all redirects to visited link list.
448 if (visitedlink_master_) { 456 if (visitedlink_master_) {
449 visitedlink_master_->AddURL(add_page_args.url); 457 visitedlink_master_->AddURL(add_page_args.url);
450 458
451 if (!add_page_args.redirects.empty()) { 459 if (!add_page_args.redirects.empty()) {
452 // We should not be asked to add a page in the middle of a redirect chain. 460 // We should not be asked to add a page in the middle of a redirect chain.
453 DCHECK_EQ(add_page_args.url, 461 DCHECK_EQ(add_page_args.url,
454 add_page_args.redirects[add_page_args.redirects.size() - 1]); 462 add_page_args.redirects[add_page_args.redirects.size() - 1]);
455 463
456 // We need the !redirects.empty() condition above since size_t is unsigned 464 // We need the !redirects.empty() condition above since size_t is unsigned
457 // and will wrap around when we subtract one from a 0 size. 465 // and will wrap around when we subtract one from a 0 size.
458 for (size_t i = 0; i < add_page_args.redirects.size() - 1; i++) 466 for (size_t i = 0; i < add_page_args.redirects.size() - 1; i++)
459 visitedlink_master_->AddURL(add_page_args.redirects[i]); 467 visitedlink_master_->AddURL(add_page_args.redirects[i]);
460 } 468 }
461 } 469 }
462 470
463 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::AddPage, add_page_args); 471 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::AddPage, add_page_args);
464 } 472 }
465 473
466 void HistoryService::AddPageNoVisitForBookmark(const GURL& url, 474 void HistoryService::AddPageNoVisitForBookmark(const GURL& url,
467 const base::string16& title) { 475 const base::string16& title) {
476 DCHECK(thread_) << "History service being called after cleanup";
468 DCHECK(thread_checker_.CalledOnValidThread()); 477 DCHECK(thread_checker_.CalledOnValidThread());
469 if (!CanAddURL(url)) 478 if (!CanAddURL(url))
470 return; 479 return;
471 480
472 ScheduleAndForget(PRIORITY_NORMAL, 481 ScheduleAndForget(PRIORITY_NORMAL,
473 &HistoryBackend::AddPageNoVisitForBookmark, url, title); 482 &HistoryBackend::AddPageNoVisitForBookmark, url, title);
474 } 483 }
475 484
476 void HistoryService::SetPageTitle(const GURL& url, 485 void HistoryService::SetPageTitle(const GURL& url,
477 const base::string16& title) { 486 const base::string16& title) {
487 DCHECK(thread_) << "History service being called after cleanup";
478 DCHECK(thread_checker_.CalledOnValidThread()); 488 DCHECK(thread_checker_.CalledOnValidThread());
479 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetPageTitle, url, title); 489 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetPageTitle, url, title);
480 } 490 }
481 491
482 void HistoryService::UpdateWithPageEndTime(history::ContextID context_id, 492 void HistoryService::UpdateWithPageEndTime(history::ContextID context_id,
483 int32 page_id, 493 int32 page_id,
484 const GURL& url, 494 const GURL& url,
485 Time end_ts) { 495 Time end_ts) {
496 DCHECK(thread_) << "History service being called after cleanup";
486 DCHECK(thread_checker_.CalledOnValidThread()); 497 DCHECK(thread_checker_.CalledOnValidThread());
487 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::UpdateWithPageEndTime, 498 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::UpdateWithPageEndTime,
488 context_id, page_id, url, end_ts); 499 context_id, page_id, url, end_ts);
489 } 500 }
490 501
491 void HistoryService::AddPageWithDetails(const GURL& url, 502 void HistoryService::AddPageWithDetails(const GURL& url,
492 const base::string16& title, 503 const base::string16& title,
493 int visit_count, 504 int visit_count,
494 int typed_count, 505 int typed_count,
495 Time last_visit, 506 Time last_visit,
496 bool hidden, 507 bool hidden,
497 history::VisitSource visit_source) { 508 history::VisitSource visit_source) {
509 DCHECK(thread_) << "History service being called after cleanup";
498 DCHECK(thread_checker_.CalledOnValidThread()); 510 DCHECK(thread_checker_.CalledOnValidThread());
499 // Filter out unwanted URLs. 511 // Filter out unwanted URLs.
500 if (!CanAddURL(url)) 512 if (!CanAddURL(url))
501 return; 513 return;
502 514
503 // Add to the visited links system. 515 // Add to the visited links system.
504 if (visitedlink_master_) 516 if (visitedlink_master_)
505 visitedlink_master_->AddURL(url); 517 visitedlink_master_->AddURL(url);
506 518
507 history::URLRow row(url); 519 history::URLRow row(url);
508 row.set_title(title); 520 row.set_title(title);
509 row.set_visit_count(visit_count); 521 row.set_visit_count(visit_count);
510 row.set_typed_count(typed_count); 522 row.set_typed_count(typed_count);
511 row.set_last_visit(last_visit); 523 row.set_last_visit(last_visit);
512 row.set_hidden(hidden); 524 row.set_hidden(hidden);
513 525
514 history::URLRows rows; 526 history::URLRows rows;
515 rows.push_back(row); 527 rows.push_back(row);
516 528
517 ScheduleAndForget(PRIORITY_NORMAL, 529 ScheduleAndForget(PRIORITY_NORMAL,
518 &HistoryBackend::AddPagesWithDetails, rows, visit_source); 530 &HistoryBackend::AddPagesWithDetails, rows, visit_source);
519 } 531 }
520 532
521 void HistoryService::AddPagesWithDetails(const history::URLRows& info, 533 void HistoryService::AddPagesWithDetails(const history::URLRows& info,
522 history::VisitSource visit_source) { 534 history::VisitSource visit_source) {
535 DCHECK(thread_) << "History service being called after cleanup";
523 DCHECK(thread_checker_.CalledOnValidThread()); 536 DCHECK(thread_checker_.CalledOnValidThread());
524 // Add to the visited links system. 537 // Add to the visited links system.
525 if (visitedlink_master_) { 538 if (visitedlink_master_) {
526 std::vector<GURL> urls; 539 std::vector<GURL> urls;
527 urls.reserve(info.size()); 540 urls.reserve(info.size());
528 for (history::URLRows::const_iterator i = info.begin(); i != info.end(); 541 for (history::URLRows::const_iterator i = info.begin(); i != info.end();
529 ++i) 542 ++i)
530 urls.push_back(i->url()); 543 urls.push_back(i->url());
531 544
532 visitedlink_master_->AddURLs(urls); 545 visitedlink_master_->AddURLs(urls);
533 } 546 }
534 547
535 ScheduleAndForget(PRIORITY_NORMAL, 548 ScheduleAndForget(PRIORITY_NORMAL,
536 &HistoryBackend::AddPagesWithDetails, info, visit_source); 549 &HistoryBackend::AddPagesWithDetails, info, visit_source);
537 } 550 }
538 551
539 base::CancelableTaskTracker::TaskId HistoryService::GetFavicons( 552 base::CancelableTaskTracker::TaskId HistoryService::GetFavicons(
540 const std::vector<GURL>& icon_urls, 553 const std::vector<GURL>& icon_urls,
541 int icon_types, 554 int icon_types,
542 const std::vector<int>& desired_sizes, 555 const std::vector<int>& desired_sizes,
543 const favicon_base::FaviconResultsCallback& callback, 556 const favicon_base::FaviconResultsCallback& callback,
544 base::CancelableTaskTracker* tracker) { 557 base::CancelableTaskTracker* tracker) {
558 DCHECK(thread_) << "History service being called after cleanup";
545 DCHECK(thread_checker_.CalledOnValidThread()); 559 DCHECK(thread_checker_.CalledOnValidThread());
546
547 std::vector<favicon_base::FaviconRawBitmapResult>* results = 560 std::vector<favicon_base::FaviconRawBitmapResult>* results =
548 new std::vector<favicon_base::FaviconRawBitmapResult>(); 561 new std::vector<favicon_base::FaviconRawBitmapResult>();
549 return tracker->PostTaskAndReply( 562 return tracker->PostTaskAndReply(
550 thread_->message_loop_proxy().get(), 563 thread_->message_loop_proxy().get(),
551 FROM_HERE, 564 FROM_HERE,
552 base::Bind(&HistoryBackend::GetFavicons, 565 base::Bind(&HistoryBackend::GetFavicons,
553 history_backend_.get(), 566 history_backend_.get(),
554 icon_urls, 567 icon_urls,
555 icon_types, 568 icon_types,
556 desired_sizes, 569 desired_sizes,
557 results), 570 results),
558 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 571 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
559 } 572 }
560 573
561 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( 574 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL(
562 const GURL& page_url, 575 const GURL& page_url,
563 int icon_types, 576 int icon_types,
564 const std::vector<int>& desired_sizes, 577 const std::vector<int>& desired_sizes,
565 const favicon_base::FaviconResultsCallback& callback, 578 const favicon_base::FaviconResultsCallback& callback,
566 base::CancelableTaskTracker* tracker) { 579 base::CancelableTaskTracker* tracker) {
580 DCHECK(thread_) << "History service being called after cleanup";
567 DCHECK(thread_checker_.CalledOnValidThread()); 581 DCHECK(thread_checker_.CalledOnValidThread());
568
569 std::vector<favicon_base::FaviconRawBitmapResult>* results = 582 std::vector<favicon_base::FaviconRawBitmapResult>* results =
570 new std::vector<favicon_base::FaviconRawBitmapResult>(); 583 new std::vector<favicon_base::FaviconRawBitmapResult>();
571 return tracker->PostTaskAndReply( 584 return tracker->PostTaskAndReply(
572 thread_->message_loop_proxy().get(), 585 thread_->message_loop_proxy().get(),
573 FROM_HERE, 586 FROM_HERE,
574 base::Bind(&HistoryBackend::GetFaviconsForURL, 587 base::Bind(&HistoryBackend::GetFaviconsForURL,
575 history_backend_.get(), 588 history_backend_.get(),
576 page_url, 589 page_url,
577 icon_types, 590 icon_types,
578 desired_sizes, 591 desired_sizes,
579 results), 592 results),
580 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 593 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
581 } 594 }
582 595
583 base::CancelableTaskTracker::TaskId HistoryService::GetLargestFaviconForURL( 596 base::CancelableTaskTracker::TaskId HistoryService::GetLargestFaviconForURL(
584 const GURL& page_url, 597 const GURL& page_url,
585 const std::vector<int>& icon_types, 598 const std::vector<int>& icon_types,
586 int minimum_size_in_pixels, 599 int minimum_size_in_pixels,
587 const favicon_base::FaviconRawBitmapCallback& callback, 600 const favicon_base::FaviconRawBitmapCallback& callback,
588 base::CancelableTaskTracker* tracker) { 601 base::CancelableTaskTracker* tracker) {
602 DCHECK(thread_) << "History service being called after cleanup";
589 DCHECK(thread_checker_.CalledOnValidThread()); 603 DCHECK(thread_checker_.CalledOnValidThread());
590
591 favicon_base::FaviconRawBitmapResult* result = 604 favicon_base::FaviconRawBitmapResult* result =
592 new favicon_base::FaviconRawBitmapResult(); 605 new favicon_base::FaviconRawBitmapResult();
593 return tracker->PostTaskAndReply( 606 return tracker->PostTaskAndReply(
594 thread_->message_loop_proxy().get(), 607 thread_->message_loop_proxy().get(),
595 FROM_HERE, 608 FROM_HERE,
596 base::Bind(&HistoryBackend::GetLargestFaviconForURL, 609 base::Bind(&HistoryBackend::GetLargestFaviconForURL,
597 history_backend_.get(), 610 history_backend_.get(),
598 page_url, 611 page_url,
599 icon_types, 612 icon_types,
600 minimum_size_in_pixels, 613 minimum_size_in_pixels,
601 result), 614 result),
602 base::Bind(&RunWithFaviconResult, callback, base::Owned(result))); 615 base::Bind(&RunWithFaviconResult, callback, base::Owned(result)));
603 } 616 }
604 617
605 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconForID( 618 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconForID(
606 favicon_base::FaviconID favicon_id, 619 favicon_base::FaviconID favicon_id,
607 int desired_size, 620 int desired_size,
608 const favicon_base::FaviconResultsCallback& callback, 621 const favicon_base::FaviconResultsCallback& callback,
609 base::CancelableTaskTracker* tracker) { 622 base::CancelableTaskTracker* tracker) {
623 DCHECK(thread_) << "History service being called after cleanup";
610 DCHECK(thread_checker_.CalledOnValidThread()); 624 DCHECK(thread_checker_.CalledOnValidThread());
611
612 std::vector<favicon_base::FaviconRawBitmapResult>* results = 625 std::vector<favicon_base::FaviconRawBitmapResult>* results =
613 new std::vector<favicon_base::FaviconRawBitmapResult>(); 626 new std::vector<favicon_base::FaviconRawBitmapResult>();
614 return tracker->PostTaskAndReply( 627 return tracker->PostTaskAndReply(
615 thread_->message_loop_proxy().get(), 628 thread_->message_loop_proxy().get(),
616 FROM_HERE, 629 FROM_HERE,
617 base::Bind(&HistoryBackend::GetFaviconForID, 630 base::Bind(&HistoryBackend::GetFaviconForID,
618 history_backend_.get(), 631 history_backend_.get(),
619 favicon_id, 632 favicon_id,
620 desired_size, 633 desired_size,
621 results), 634 results),
622 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 635 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
623 } 636 }
624 637
625 base::CancelableTaskTracker::TaskId 638 base::CancelableTaskTracker::TaskId
626 HistoryService::UpdateFaviconMappingsAndFetch( 639 HistoryService::UpdateFaviconMappingsAndFetch(
627 const GURL& page_url, 640 const GURL& page_url,
628 const std::vector<GURL>& icon_urls, 641 const std::vector<GURL>& icon_urls,
629 int icon_types, 642 int icon_types,
630 const std::vector<int>& desired_sizes, 643 const std::vector<int>& desired_sizes,
631 const favicon_base::FaviconResultsCallback& callback, 644 const favicon_base::FaviconResultsCallback& callback,
632 base::CancelableTaskTracker* tracker) { 645 base::CancelableTaskTracker* tracker) {
646 DCHECK(thread_) << "History service being called after cleanup";
633 DCHECK(thread_checker_.CalledOnValidThread()); 647 DCHECK(thread_checker_.CalledOnValidThread());
634
635 std::vector<favicon_base::FaviconRawBitmapResult>* results = 648 std::vector<favicon_base::FaviconRawBitmapResult>* results =
636 new std::vector<favicon_base::FaviconRawBitmapResult>(); 649 new std::vector<favicon_base::FaviconRawBitmapResult>();
637 return tracker->PostTaskAndReply( 650 return tracker->PostTaskAndReply(
638 thread_->message_loop_proxy().get(), 651 thread_->message_loop_proxy().get(),
639 FROM_HERE, 652 FROM_HERE,
640 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, 653 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch,
641 history_backend_.get(), 654 history_backend_.get(),
642 page_url, 655 page_url,
643 icon_urls, 656 icon_urls,
644 icon_types, 657 icon_types,
645 desired_sizes, 658 desired_sizes,
646 results), 659 results),
647 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 660 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
648 } 661 }
649 662
650 void HistoryService::MergeFavicon( 663 void HistoryService::MergeFavicon(
651 const GURL& page_url, 664 const GURL& page_url,
652 const GURL& icon_url, 665 const GURL& icon_url,
653 favicon_base::IconType icon_type, 666 favicon_base::IconType icon_type,
654 scoped_refptr<base::RefCountedMemory> bitmap_data, 667 scoped_refptr<base::RefCountedMemory> bitmap_data,
655 const gfx::Size& pixel_size) { 668 const gfx::Size& pixel_size) {
669 DCHECK(thread_) << "History service being called after cleanup";
656 DCHECK(thread_checker_.CalledOnValidThread()); 670 DCHECK(thread_checker_.CalledOnValidThread());
657 if (!CanAddURL(page_url)) 671 if (!CanAddURL(page_url))
658 return; 672 return;
659 673
660 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::MergeFavicon, page_url, 674 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::MergeFavicon, page_url,
661 icon_url, icon_type, bitmap_data, pixel_size); 675 icon_url, icon_type, bitmap_data, pixel_size);
662 } 676 }
663 677
664 void HistoryService::SetFavicons( 678 void HistoryService::SetFavicons(
665 const GURL& page_url, 679 const GURL& page_url,
666 favicon_base::IconType icon_type, 680 favicon_base::IconType icon_type,
667 const std::vector<favicon_base::FaviconRawBitmapData>& 681 const std::vector<favicon_base::FaviconRawBitmapData>&
668 favicon_bitmap_data) { 682 favicon_bitmap_data) {
683 DCHECK(thread_) << "History service being called after cleanup";
669 DCHECK(thread_checker_.CalledOnValidThread()); 684 DCHECK(thread_checker_.CalledOnValidThread());
670 if (!CanAddURL(page_url)) 685 if (!CanAddURL(page_url))
671 return; 686 return;
672 687
673 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetFavicons, page_url, 688 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetFavicons, page_url,
674 icon_type, favicon_bitmap_data); 689 icon_type, favicon_bitmap_data);
675 } 690 }
676 691
677 void HistoryService::SetFaviconsOutOfDateForPage(const GURL& page_url) { 692 void HistoryService::SetFaviconsOutOfDateForPage(const GURL& page_url) {
693 DCHECK(thread_) << "History service being called after cleanup";
678 DCHECK(thread_checker_.CalledOnValidThread()); 694 DCHECK(thread_checker_.CalledOnValidThread());
679 ScheduleAndForget(PRIORITY_NORMAL, 695 ScheduleAndForget(PRIORITY_NORMAL,
680 &HistoryBackend::SetFaviconsOutOfDateForPage, page_url); 696 &HistoryBackend::SetFaviconsOutOfDateForPage, page_url);
681 } 697 }
682 698
683 void HistoryService::CloneFavicons(const GURL& old_page_url, 699 void HistoryService::CloneFavicons(const GURL& old_page_url,
684 const GURL& new_page_url) { 700 const GURL& new_page_url) {
701 DCHECK(thread_) << "History service being called after cleanup";
685 DCHECK(thread_checker_.CalledOnValidThread()); 702 DCHECK(thread_checker_.CalledOnValidThread());
686 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::CloneFavicons, 703 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::CloneFavicons,
687 old_page_url, new_page_url); 704 old_page_url, new_page_url);
688 } 705 }
689 706
690 void HistoryService::SetImportedFavicons( 707 void HistoryService::SetImportedFavicons(
691 const std::vector<ImportedFaviconUsage>& favicon_usage) { 708 const std::vector<ImportedFaviconUsage>& favicon_usage) {
709 DCHECK(thread_) << "History service being called after cleanup";
692 DCHECK(thread_checker_.CalledOnValidThread()); 710 DCHECK(thread_checker_.CalledOnValidThread());
693 ScheduleAndForget(PRIORITY_NORMAL, 711 ScheduleAndForget(PRIORITY_NORMAL,
694 &HistoryBackend::SetImportedFavicons, favicon_usage); 712 &HistoryBackend::SetImportedFavicons, favicon_usage);
695 } 713 }
696 714
697 base::CancelableTaskTracker::TaskId HistoryService::QueryURL( 715 base::CancelableTaskTracker::TaskId HistoryService::QueryURL(
698 const GURL& url, 716 const GURL& url,
699 bool want_visits, 717 bool want_visits,
700 const QueryURLCallback& callback, 718 const QueryURLCallback& callback,
701 base::CancelableTaskTracker* tracker) { 719 base::CancelableTaskTracker* tracker) {
720 DCHECK(thread_) << "History service being called after cleanup";
702 DCHECK(thread_checker_.CalledOnValidThread()); 721 DCHECK(thread_checker_.CalledOnValidThread());
703 history::QueryURLResult* query_url_result = new history::QueryURLResult(); 722 history::QueryURLResult* query_url_result = new history::QueryURLResult();
704 return tracker->PostTaskAndReply( 723 return tracker->PostTaskAndReply(
705 thread_->message_loop_proxy().get(), 724 thread_->message_loop_proxy().get(),
706 FROM_HERE, 725 FROM_HERE,
707 base::Bind(&HistoryBackend::QueryURL, 726 base::Bind(&HistoryBackend::QueryURL,
708 history_backend_.get(), 727 history_backend_.get(),
709 url, 728 url,
710 want_visits, 729 want_visits,
711 base::Unretained(query_url_result)), 730 base::Unretained(query_url_result)),
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 // Bind's arguments. 773 // Bind's arguments.
755 thread_->message_loop_proxy()->PostTaskAndReply( 774 thread_->message_loop_proxy()->PostTaskAndReply(
756 FROM_HERE, 775 FROM_HERE,
757 base::Bind(&HistoryBackend::QueryDownloads, history_backend_.get(), rows), 776 base::Bind(&HistoryBackend::QueryDownloads, history_backend_.get(), rows),
758 base::Bind(callback, base::Passed(&scoped_rows))); 777 base::Bind(callback, base::Passed(&scoped_rows)));
759 } 778 }
760 779
761 // Handle updates for a particular download. This is a 'fire and forget' 780 // Handle updates for a particular download. This is a 'fire and forget'
762 // operation, so we don't need to be called back. 781 // operation, so we don't need to be called back.
763 void HistoryService::UpdateDownload(const history::DownloadRow& data) { 782 void HistoryService::UpdateDownload(const history::DownloadRow& data) {
783 DCHECK(thread_) << "History service being called after cleanup";
764 DCHECK(thread_checker_.CalledOnValidThread()); 784 DCHECK(thread_checker_.CalledOnValidThread());
765 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::UpdateDownload, data); 785 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::UpdateDownload, data);
766 } 786 }
767 787
768 void HistoryService::RemoveDownloads(const std::set<uint32>& ids) { 788 void HistoryService::RemoveDownloads(const std::set<uint32>& ids) {
789 DCHECK(thread_) << "History service being called after cleanup";
769 DCHECK(thread_checker_.CalledOnValidThread()); 790 DCHECK(thread_checker_.CalledOnValidThread());
770 ScheduleAndForget(PRIORITY_NORMAL, 791 ScheduleAndForget(PRIORITY_NORMAL,
771 &HistoryBackend::RemoveDownloads, ids); 792 &HistoryBackend::RemoveDownloads, ids);
772 } 793 }
773 794
774 base::CancelableTaskTracker::TaskId HistoryService::QueryHistory( 795 base::CancelableTaskTracker::TaskId HistoryService::QueryHistory(
775 const base::string16& text_query, 796 const base::string16& text_query,
776 const history::QueryOptions& options, 797 const history::QueryOptions& options,
777 const QueryHistoryCallback& callback, 798 const QueryHistoryCallback& callback,
778 base::CancelableTaskTracker* tracker) { 799 base::CancelableTaskTracker* tracker) {
800 DCHECK(thread_) << "History service being called after cleanup";
779 DCHECK(thread_checker_.CalledOnValidThread()); 801 DCHECK(thread_checker_.CalledOnValidThread());
780 history::QueryResults* query_results = new history::QueryResults(); 802 history::QueryResults* query_results = new history::QueryResults();
781 return tracker->PostTaskAndReply( 803 return tracker->PostTaskAndReply(
782 thread_->message_loop_proxy().get(), 804 thread_->message_loop_proxy().get(),
783 FROM_HERE, 805 FROM_HERE,
784 base::Bind(&HistoryBackend::QueryHistory, 806 base::Bind(&HistoryBackend::QueryHistory,
785 history_backend_.get(), 807 history_backend_.get(),
786 text_query, 808 text_query,
787 options, 809 options,
788 base::Unretained(query_results)), 810 base::Unretained(query_results)),
789 base::Bind(callback, base::Owned(query_results))); 811 base::Bind(callback, base::Owned(query_results)));
790 } 812 }
791 813
792 base::CancelableTaskTracker::TaskId HistoryService::QueryRedirectsFrom( 814 base::CancelableTaskTracker::TaskId HistoryService::QueryRedirectsFrom(
793 const GURL& from_url, 815 const GURL& from_url,
794 const QueryRedirectsCallback& callback, 816 const QueryRedirectsCallback& callback,
795 base::CancelableTaskTracker* tracker) { 817 base::CancelableTaskTracker* tracker) {
818 DCHECK(thread_) << "History service being called after cleanup";
796 DCHECK(thread_checker_.CalledOnValidThread()); 819 DCHECK(thread_checker_.CalledOnValidThread());
797 history::RedirectList* result = new history::RedirectList(); 820 history::RedirectList* result = new history::RedirectList();
798 return tracker->PostTaskAndReply( 821 return tracker->PostTaskAndReply(
799 thread_->message_loop_proxy().get(), 822 thread_->message_loop_proxy().get(),
800 FROM_HERE, 823 FROM_HERE,
801 base::Bind(&HistoryBackend::QueryRedirectsFrom, 824 base::Bind(&HistoryBackend::QueryRedirectsFrom,
802 history_backend_.get(), 825 history_backend_.get(),
803 from_url, 826 from_url,
804 base::Unretained(result)), 827 base::Unretained(result)),
805 base::Bind(callback, base::Owned(result))); 828 base::Bind(callback, base::Owned(result)));
806 } 829 }
807 830
808 base::CancelableTaskTracker::TaskId HistoryService::QueryRedirectsTo( 831 base::CancelableTaskTracker::TaskId HistoryService::QueryRedirectsTo(
809 const GURL& to_url, 832 const GURL& to_url,
810 const QueryRedirectsCallback& callback, 833 const QueryRedirectsCallback& callback,
811 base::CancelableTaskTracker* tracker) { 834 base::CancelableTaskTracker* tracker) {
835 DCHECK(thread_) << "History service being called after cleanup";
812 DCHECK(thread_checker_.CalledOnValidThread()); 836 DCHECK(thread_checker_.CalledOnValidThread());
813 history::RedirectList* result = new history::RedirectList(); 837 history::RedirectList* result = new history::RedirectList();
814 return tracker->PostTaskAndReply(thread_->message_loop_proxy().get(), 838 return tracker->PostTaskAndReply(thread_->message_loop_proxy().get(),
815 FROM_HERE, 839 FROM_HERE,
816 base::Bind(&HistoryBackend::QueryRedirectsTo, 840 base::Bind(&HistoryBackend::QueryRedirectsTo,
817 history_backend_.get(), 841 history_backend_.get(),
818 to_url, 842 to_url,
819 base::Unretained(result)), 843 base::Unretained(result)),
820 base::Bind(callback, base::Owned(result))); 844 base::Bind(callback, base::Owned(result)));
821 } 845 }
822 846
823 base::CancelableTaskTracker::TaskId HistoryService::GetVisibleVisitCountToHost( 847 base::CancelableTaskTracker::TaskId HistoryService::GetVisibleVisitCountToHost(
824 const GURL& url, 848 const GURL& url,
825 const GetVisibleVisitCountToHostCallback& callback, 849 const GetVisibleVisitCountToHostCallback& callback,
826 base::CancelableTaskTracker* tracker) { 850 base::CancelableTaskTracker* tracker) {
851 DCHECK(thread_) << "History service being called after cleanup";
827 DCHECK(thread_checker_.CalledOnValidThread()); 852 DCHECK(thread_checker_.CalledOnValidThread());
828 history::VisibleVisitCountToHostResult* result = 853 history::VisibleVisitCountToHostResult* result =
829 new history::VisibleVisitCountToHostResult(); 854 new history::VisibleVisitCountToHostResult();
830 return tracker->PostTaskAndReply( 855 return tracker->PostTaskAndReply(
831 thread_->message_loop_proxy().get(), 856 thread_->message_loop_proxy().get(),
832 FROM_HERE, 857 FROM_HERE,
833 base::Bind(&HistoryBackend::GetVisibleVisitCountToHost, 858 base::Bind(&HistoryBackend::GetVisibleVisitCountToHost,
834 history_backend_.get(), 859 history_backend_.get(),
835 url, 860 url,
836 base::Unretained(result)), 861 base::Unretained(result)),
837 base::Bind(&RunWithVisibleVisitCountToHostResult, 862 base::Bind(&RunWithVisibleVisitCountToHostResult,
838 callback, 863 callback,
839 base::Owned(result))); 864 base::Owned(result)));
840 } 865 }
841 866
842 base::CancelableTaskTracker::TaskId HistoryService::QueryMostVisitedURLs( 867 base::CancelableTaskTracker::TaskId HistoryService::QueryMostVisitedURLs(
843 int result_count, 868 int result_count,
844 int days_back, 869 int days_back,
845 const QueryMostVisitedURLsCallback& callback, 870 const QueryMostVisitedURLsCallback& callback,
846 base::CancelableTaskTracker* tracker) { 871 base::CancelableTaskTracker* tracker) {
872 DCHECK(thread_) << "History service being called after cleanup";
847 DCHECK(thread_checker_.CalledOnValidThread()); 873 DCHECK(thread_checker_.CalledOnValidThread());
848 history::MostVisitedURLList* result = new history::MostVisitedURLList(); 874 history::MostVisitedURLList* result = new history::MostVisitedURLList();
849 return tracker->PostTaskAndReply( 875 return tracker->PostTaskAndReply(
850 thread_->message_loop_proxy().get(), 876 thread_->message_loop_proxy().get(),
851 FROM_HERE, 877 FROM_HERE,
852 base::Bind(&HistoryBackend::QueryMostVisitedURLs, 878 base::Bind(&HistoryBackend::QueryMostVisitedURLs,
853 history_backend_.get(), 879 history_backend_.get(),
854 result_count, 880 result_count,
855 days_back, 881 days_back,
856 base::Unretained(result)), 882 base::Unretained(result)),
857 base::Bind(callback, base::Owned(result))); 883 base::Bind(callback, base::Owned(result)));
858 } 884 }
859 885
860 base::CancelableTaskTracker::TaskId HistoryService::QueryFilteredURLs( 886 base::CancelableTaskTracker::TaskId HistoryService::QueryFilteredURLs(
861 int result_count, 887 int result_count,
862 const history::VisitFilter& filter, 888 const history::VisitFilter& filter,
863 bool extended_info, 889 bool extended_info,
864 const QueryFilteredURLsCallback& callback, 890 const QueryFilteredURLsCallback& callback,
865 base::CancelableTaskTracker* tracker) { 891 base::CancelableTaskTracker* tracker) {
892 DCHECK(thread_) << "History service being called after cleanup";
866 DCHECK(thread_checker_.CalledOnValidThread()); 893 DCHECK(thread_checker_.CalledOnValidThread());
867 history::FilteredURLList* result = new history::FilteredURLList(); 894 history::FilteredURLList* result = new history::FilteredURLList();
868 return tracker->PostTaskAndReply( 895 return tracker->PostTaskAndReply(
869 thread_->message_loop_proxy().get(), 896 thread_->message_loop_proxy().get(),
870 FROM_HERE, 897 FROM_HERE,
871 base::Bind(&HistoryBackend::QueryFilteredURLs, 898 base::Bind(&HistoryBackend::QueryFilteredURLs,
872 history_backend_.get(), 899 history_backend_.get(),
873 result_count, 900 result_count,
874 filter, 901 filter,
875 extended_info, 902 extended_info,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 break; 935 break;
909 } 936 }
910 937
911 default: 938 default:
912 NOTREACHED(); 939 NOTREACHED();
913 } 940 }
914 } 941 }
915 942
916 void HistoryService::RebuildTable( 943 void HistoryService::RebuildTable(
917 const scoped_refptr<URLEnumerator>& enumerator) { 944 const scoped_refptr<URLEnumerator>& enumerator) {
945 DCHECK(thread_) << "History service being called after cleanup";
918 DCHECK(thread_checker_.CalledOnValidThread()); 946 DCHECK(thread_checker_.CalledOnValidThread());
919 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::IterateURLs, enumerator); 947 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::IterateURLs, enumerator);
920 } 948 }
921 949
922 bool HistoryService::Init(const base::FilePath& history_dir, bool no_db) { 950 bool HistoryService::Init(const base::FilePath& history_dir, bool no_db) {
951 DCHECK(thread_) << "History service being called after cleanup";
923 DCHECK(thread_checker_.CalledOnValidThread()); 952 DCHECK(thread_checker_.CalledOnValidThread());
924 if (!thread_->Start()) { 953 if (!thread_->Start()) {
925 Cleanup(); 954 Cleanup();
926 return false; 955 return false;
927 } 956 }
928 957
929 history_dir_ = history_dir; 958 history_dir_ = history_dir;
930 no_db_ = no_db; 959 no_db_ = no_db;
931 960
932 if (profile_) { 961 if (profile_) {
(...skipping 25 matching lines...) Expand all
958 if (visitedlink_master_) { 987 if (visitedlink_master_) {
959 bool result = visitedlink_master_->Init(); 988 bool result = visitedlink_master_->Init();
960 DCHECK(result); 989 DCHECK(result);
961 } 990 }
962 991
963 return true; 992 return true;
964 } 993 }
965 994
966 void HistoryService::ScheduleAutocomplete(HistoryURLProvider* provider, 995 void HistoryService::ScheduleAutocomplete(HistoryURLProvider* provider,
967 HistoryURLProviderParams* params) { 996 HistoryURLProviderParams* params) {
997 DCHECK(thread_) << "History service being called after cleanup";
968 DCHECK(thread_checker_.CalledOnValidThread()); 998 DCHECK(thread_checker_.CalledOnValidThread());
969 ScheduleAndForget(PRIORITY_UI, &HistoryBackend::ScheduleAutocomplete, 999 ScheduleAndForget(PRIORITY_UI, &HistoryBackend::ScheduleAutocomplete,
970 scoped_refptr<HistoryURLProvider>(provider), params); 1000 scoped_refptr<HistoryURLProvider>(provider), params);
971 } 1001 }
972 1002
973 void HistoryService::ScheduleTask(SchedulePriority priority, 1003 void HistoryService::ScheduleTask(SchedulePriority priority,
974 const base::Closure& task) { 1004 const base::Closure& task) {
975 DCHECK(thread_checker_.CalledOnValidThread()); 1005 DCHECK(thread_checker_.CalledOnValidThread());
976 CHECK(thread_); 1006 CHECK(thread_);
977 CHECK(thread_->message_loop()); 1007 CHECK(thread_->message_loop());
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 in_memory_backend_->AttachToHistoryService(profile_); 1089 in_memory_backend_->AttachToHistoryService(profile_);
1060 } 1090 }
1061 1091
1062 void HistoryService::NotifyProfileError(sql::InitStatus init_status) { 1092 void HistoryService::NotifyProfileError(sql::InitStatus init_status) {
1063 DCHECK(thread_checker_.CalledOnValidThread()); 1093 DCHECK(thread_checker_.CalledOnValidThread());
1064 if (history_client_) 1094 if (history_client_)
1065 history_client_->NotifyProfileError(init_status); 1095 history_client_->NotifyProfileError(init_status);
1066 } 1096 }
1067 1097
1068 void HistoryService::DeleteURL(const GURL& url) { 1098 void HistoryService::DeleteURL(const GURL& url) {
1099 DCHECK(thread_) << "History service being called after cleanup";
1069 DCHECK(thread_checker_.CalledOnValidThread()); 1100 DCHECK(thread_checker_.CalledOnValidThread());
1070 // We will update the visited links when we observe the delete notifications. 1101 // We will update the visited links when we observe the delete notifications.
1071 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURL, url); 1102 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURL, url);
1072 } 1103 }
1073 1104
1074 void HistoryService::DeleteURLsForTest(const std::vector<GURL>& urls) { 1105 void HistoryService::DeleteURLsForTest(const std::vector<GURL>& urls) {
1106 DCHECK(thread_) << "History service being called after cleanup";
1075 DCHECK(thread_checker_.CalledOnValidThread()); 1107 DCHECK(thread_checker_.CalledOnValidThread());
1076 // We will update the visited links when we observe the delete 1108 // We will update the visited links when we observe the delete
1077 // notifications. 1109 // notifications.
1078 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURLs, urls); 1110 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURLs, urls);
1079 } 1111 }
1080 1112
1081 void HistoryService::ExpireHistoryBetween( 1113 void HistoryService::ExpireHistoryBetween(
1082 const std::set<GURL>& restrict_urls, 1114 const std::set<GURL>& restrict_urls,
1083 Time begin_time, 1115 Time begin_time,
1084 Time end_time, 1116 Time end_time,
1085 const base::Closure& callback, 1117 const base::Closure& callback,
1086 base::CancelableTaskTracker* tracker) { 1118 base::CancelableTaskTracker* tracker) {
1087 DCHECK(thread_); 1119 DCHECK(thread_) << "History service being called after cleanup";
1088 DCHECK(thread_checker_.CalledOnValidThread()); 1120 DCHECK(thread_checker_.CalledOnValidThread());
1089 DCHECK(history_backend_.get());
1090 tracker->PostTaskAndReply(thread_->message_loop_proxy().get(), 1121 tracker->PostTaskAndReply(thread_->message_loop_proxy().get(),
1091 FROM_HERE, 1122 FROM_HERE,
1092 base::Bind(&HistoryBackend::ExpireHistoryBetween, 1123 base::Bind(&HistoryBackend::ExpireHistoryBetween,
1093 history_backend_, 1124 history_backend_,
1094 restrict_urls, 1125 restrict_urls,
1095 begin_time, 1126 begin_time,
1096 end_time), 1127 end_time),
1097 callback); 1128 callback);
1098 } 1129 }
1099 1130
1100 void HistoryService::ExpireHistory( 1131 void HistoryService::ExpireHistory(
1101 const std::vector<history::ExpireHistoryArgs>& expire_list, 1132 const std::vector<history::ExpireHistoryArgs>& expire_list,
1102 const base::Closure& callback, 1133 const base::Closure& callback,
1103 base::CancelableTaskTracker* tracker) { 1134 base::CancelableTaskTracker* tracker) {
1104 DCHECK(thread_); 1135 DCHECK(thread_) << "History service being called after cleanup";
1105 DCHECK(thread_checker_.CalledOnValidThread()); 1136 DCHECK(thread_checker_.CalledOnValidThread());
1106 DCHECK(history_backend_.get());
1107 tracker->PostTaskAndReply( 1137 tracker->PostTaskAndReply(
1108 thread_->message_loop_proxy().get(), 1138 thread_->message_loop_proxy().get(),
1109 FROM_HERE, 1139 FROM_HERE,
1110 base::Bind(&HistoryBackend::ExpireHistory, history_backend_, expire_list), 1140 base::Bind(&HistoryBackend::ExpireHistory, history_backend_, expire_list),
1111 callback); 1141 callback);
1112 } 1142 }
1113 1143
1114 void HistoryService::ExpireLocalAndRemoteHistoryBetween( 1144 void HistoryService::ExpireLocalAndRemoteHistoryBetween(
1115 const std::set<GURL>& restrict_urls, 1145 const std::set<GURL>& restrict_urls,
1116 Time begin_time, 1146 Time begin_time,
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1192 DCHECK(thread_checker_.CalledOnValidThread()); 1222 DCHECK(thread_checker_.CalledOnValidThread());
1193 visit_database_observers_.RemoveObserver(observer); 1223 visit_database_observers_.RemoveObserver(observer);
1194 } 1224 }
1195 1225
1196 void HistoryService::NotifyVisitDBObserversOnAddVisit( 1226 void HistoryService::NotifyVisitDBObserversOnAddVisit(
1197 const history::BriefVisitInfo& info) { 1227 const history::BriefVisitInfo& info) {
1198 DCHECK(thread_checker_.CalledOnValidThread()); 1228 DCHECK(thread_checker_.CalledOnValidThread());
1199 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, 1229 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_,
1200 OnAddVisit(info)); 1230 OnAddVisit(info));
1201 } 1231 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698