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 // 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 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 visitedlink_master_->AddURLs(urls); | 540 visitedlink_master_->AddURLs(urls); |
541 } | 541 } |
542 | 542 |
543 ScheduleAndForget(PRIORITY_NORMAL, | 543 ScheduleAndForget(PRIORITY_NORMAL, |
544 &HistoryBackend::AddPagesWithDetails, info, visit_source); | 544 &HistoryBackend::AddPagesWithDetails, info, visit_source); |
545 } | 545 } |
546 | 546 |
547 base::CancelableTaskTracker::TaskId HistoryService::GetFavicons( | 547 base::CancelableTaskTracker::TaskId HistoryService::GetFavicons( |
548 const std::vector<GURL>& icon_urls, | 548 const std::vector<GURL>& icon_urls, |
549 int icon_types, | 549 int icon_types, |
550 int desired_size_in_dip, | 550 const std::vector<int>& desired_sizes, |
551 const std::vector<ui::ScaleFactor>& desired_scale_factors, | |
552 const favicon_base::FaviconResultsCallback& callback, | 551 const favicon_base::FaviconResultsCallback& callback, |
553 base::CancelableTaskTracker* tracker) { | 552 base::CancelableTaskTracker* tracker) { |
554 DCHECK(thread_checker_.CalledOnValidThread()); | 553 DCHECK(thread_checker_.CalledOnValidThread()); |
555 | 554 |
556 std::vector<favicon_base::FaviconRawBitmapResult>* results = | 555 std::vector<favicon_base::FaviconRawBitmapResult>* results = |
557 new std::vector<favicon_base::FaviconRawBitmapResult>(); | 556 new std::vector<favicon_base::FaviconRawBitmapResult>(); |
558 return tracker->PostTaskAndReply( | 557 return tracker->PostTaskAndReply( |
559 thread_->message_loop_proxy().get(), | 558 thread_->message_loop_proxy().get(), |
560 FROM_HERE, | 559 FROM_HERE, |
561 base::Bind(&HistoryBackend::GetFavicons, | 560 base::Bind(&HistoryBackend::GetFavicons, |
562 history_backend_.get(), | 561 history_backend_.get(), |
563 icon_urls, | 562 icon_urls, |
564 icon_types, | 563 icon_types, |
565 desired_size_in_dip, | 564 desired_sizes, |
566 desired_scale_factors, | |
567 results), | 565 results), |
568 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 566 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
569 } | 567 } |
570 | 568 |
571 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( | 569 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( |
572 const GURL& page_url, | 570 const GURL& page_url, |
573 int icon_types, | 571 int icon_types, |
574 int desired_size_in_dip, | 572 const std::vector<int>& desired_sizes, |
575 const std::vector<ui::ScaleFactor>& desired_scale_factors, | |
576 const favicon_base::FaviconResultsCallback& callback, | 573 const favicon_base::FaviconResultsCallback& callback, |
577 base::CancelableTaskTracker* tracker) { | 574 base::CancelableTaskTracker* tracker) { |
578 DCHECK(thread_checker_.CalledOnValidThread()); | 575 DCHECK(thread_checker_.CalledOnValidThread()); |
579 | 576 |
580 std::vector<favicon_base::FaviconRawBitmapResult>* results = | 577 std::vector<favicon_base::FaviconRawBitmapResult>* results = |
581 new std::vector<favicon_base::FaviconRawBitmapResult>(); | 578 new std::vector<favicon_base::FaviconRawBitmapResult>(); |
582 return tracker->PostTaskAndReply( | 579 return tracker->PostTaskAndReply( |
583 thread_->message_loop_proxy().get(), | 580 thread_->message_loop_proxy().get(), |
584 FROM_HERE, | 581 FROM_HERE, |
585 base::Bind(&HistoryBackend::GetFaviconsForURL, | 582 base::Bind(&HistoryBackend::GetFaviconsForURL, |
586 history_backend_.get(), | 583 history_backend_.get(), |
587 page_url, | 584 page_url, |
588 icon_types, | 585 icon_types, |
589 desired_size_in_dip, | 586 desired_sizes, |
590 desired_scale_factors, | |
591 results), | 587 results), |
592 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 588 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
593 } | 589 } |
594 | 590 |
595 base::CancelableTaskTracker::TaskId HistoryService::GetLargestFaviconForURL( | 591 base::CancelableTaskTracker::TaskId HistoryService::GetLargestFaviconForURL( |
596 const GURL& page_url, | 592 const GURL& page_url, |
597 const std::vector<int>& icon_types, | 593 const std::vector<int>& icon_types, |
598 int minimum_size_in_pixels, | 594 int minimum_size_in_pixels, |
599 const favicon_base::FaviconRawBitmapCallback& callback, | 595 const favicon_base::FaviconRawBitmapCallback& callback, |
600 base::CancelableTaskTracker* tracker) { | 596 base::CancelableTaskTracker* tracker) { |
601 DCHECK(thread_checker_.CalledOnValidThread()); | 597 DCHECK(thread_checker_.CalledOnValidThread()); |
602 | 598 |
603 favicon_base::FaviconRawBitmapResult* result = | 599 favicon_base::FaviconRawBitmapResult* result = |
604 new favicon_base::FaviconRawBitmapResult(); | 600 new favicon_base::FaviconRawBitmapResult(); |
605 return tracker->PostTaskAndReply( | 601 return tracker->PostTaskAndReply( |
606 thread_->message_loop_proxy().get(), | 602 thread_->message_loop_proxy().get(), |
607 FROM_HERE, | 603 FROM_HERE, |
608 base::Bind(&HistoryBackend::GetLargestFaviconForURL, | 604 base::Bind(&HistoryBackend::GetLargestFaviconForURL, |
609 history_backend_.get(), | 605 history_backend_.get(), |
610 page_url, | 606 page_url, |
611 icon_types, | 607 icon_types, |
612 minimum_size_in_pixels, | 608 minimum_size_in_pixels, |
613 result), | 609 result), |
614 base::Bind(&RunWithFaviconResult, callback, base::Owned(result))); | 610 base::Bind(&RunWithFaviconResult, callback, base::Owned(result))); |
615 } | 611 } |
616 | 612 |
617 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconForID( | 613 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconForID( |
618 favicon_base::FaviconID favicon_id, | 614 favicon_base::FaviconID favicon_id, |
619 int desired_size_in_dip, | 615 int desired_size, |
620 ui::ScaleFactor desired_scale_factor, | |
621 const favicon_base::FaviconResultsCallback& callback, | 616 const favicon_base::FaviconResultsCallback& callback, |
622 base::CancelableTaskTracker* tracker) { | 617 base::CancelableTaskTracker* tracker) { |
623 DCHECK(thread_checker_.CalledOnValidThread()); | 618 DCHECK(thread_checker_.CalledOnValidThread()); |
624 | 619 |
625 std::vector<favicon_base::FaviconRawBitmapResult>* results = | 620 std::vector<favicon_base::FaviconRawBitmapResult>* results = |
626 new std::vector<favicon_base::FaviconRawBitmapResult>(); | 621 new std::vector<favicon_base::FaviconRawBitmapResult>(); |
627 return tracker->PostTaskAndReply( | 622 return tracker->PostTaskAndReply( |
628 thread_->message_loop_proxy().get(), | 623 thread_->message_loop_proxy().get(), |
629 FROM_HERE, | 624 FROM_HERE, |
630 base::Bind(&HistoryBackend::GetFaviconForID, | 625 base::Bind(&HistoryBackend::GetFaviconForID, |
631 history_backend_.get(), | 626 history_backend_.get(), |
632 favicon_id, | 627 favicon_id, |
633 desired_size_in_dip, | 628 desired_size, |
634 desired_scale_factor, | |
635 results), | 629 results), |
636 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 630 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
637 } | 631 } |
638 | 632 |
639 base::CancelableTaskTracker::TaskId | 633 base::CancelableTaskTracker::TaskId |
640 HistoryService::UpdateFaviconMappingsAndFetch( | 634 HistoryService::UpdateFaviconMappingsAndFetch( |
641 const GURL& page_url, | 635 const GURL& page_url, |
642 const std::vector<GURL>& icon_urls, | 636 const std::vector<GURL>& icon_urls, |
643 int icon_types, | 637 int icon_types, |
644 int desired_size_in_dip, | 638 const std::vector<int>& desired_sizes, |
645 const std::vector<ui::ScaleFactor>& desired_scale_factors, | |
646 const favicon_base::FaviconResultsCallback& callback, | 639 const favicon_base::FaviconResultsCallback& callback, |
647 base::CancelableTaskTracker* tracker) { | 640 base::CancelableTaskTracker* tracker) { |
648 DCHECK(thread_checker_.CalledOnValidThread()); | 641 DCHECK(thread_checker_.CalledOnValidThread()); |
649 | 642 |
650 std::vector<favicon_base::FaviconRawBitmapResult>* results = | 643 std::vector<favicon_base::FaviconRawBitmapResult>* results = |
651 new std::vector<favicon_base::FaviconRawBitmapResult>(); | 644 new std::vector<favicon_base::FaviconRawBitmapResult>(); |
652 return tracker->PostTaskAndReply( | 645 return tracker->PostTaskAndReply( |
653 thread_->message_loop_proxy().get(), | 646 thread_->message_loop_proxy().get(), |
654 FROM_HERE, | 647 FROM_HERE, |
655 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, | 648 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, |
656 history_backend_.get(), | 649 history_backend_.get(), |
657 page_url, | 650 page_url, |
658 icon_urls, | 651 icon_urls, |
659 icon_types, | 652 icon_types, |
660 desired_size_in_dip, | 653 desired_sizes, |
661 desired_scale_factors, | |
662 results), | 654 results), |
663 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 655 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
664 } | 656 } |
665 | 657 |
666 void HistoryService::MergeFavicon( | 658 void HistoryService::MergeFavicon( |
667 const GURL& page_url, | 659 const GURL& page_url, |
668 const GURL& icon_url, | 660 const GURL& icon_url, |
669 favicon_base::IconType icon_type, | 661 favicon_base::IconType icon_type, |
670 scoped_refptr<base::RefCountedMemory> bitmap_data, | 662 scoped_refptr<base::RefCountedMemory> bitmap_data, |
671 const gfx::Size& pixel_size) { | 663 const gfx::Size& pixel_size) { |
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1176 DCHECK(thread_checker_.CalledOnValidThread()); | 1168 DCHECK(thread_checker_.CalledOnValidThread()); |
1177 visit_database_observers_.RemoveObserver(observer); | 1169 visit_database_observers_.RemoveObserver(observer); |
1178 } | 1170 } |
1179 | 1171 |
1180 void HistoryService::NotifyVisitDBObserversOnAddVisit( | 1172 void HistoryService::NotifyVisitDBObserversOnAddVisit( |
1181 const history::BriefVisitInfo& info) { | 1173 const history::BriefVisitInfo& info) { |
1182 DCHECK(thread_checker_.CalledOnValidThread()); | 1174 DCHECK(thread_checker_.CalledOnValidThread()); |
1183 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, | 1175 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, |
1184 OnAddVisit(info)); | 1176 OnAddVisit(info)); |
1185 } | 1177 } |
OLD | NEW |