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