| 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 |