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