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 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
495 for (const auto& row : info) | 495 for (const auto& row : info) |
496 urls.push_back(row.url()); | 496 urls.push_back(row.url()); |
497 visit_delegate_->AddURLs(urls); | 497 visit_delegate_->AddURLs(urls); |
498 } | 498 } |
499 | 499 |
500 ScheduleTask(PRIORITY_NORMAL, | 500 ScheduleTask(PRIORITY_NORMAL, |
501 base::Bind(&HistoryBackend::AddPagesWithDetails, | 501 base::Bind(&HistoryBackend::AddPagesWithDetails, |
502 history_backend_, info, visit_source)); | 502 history_backend_, info, visit_source)); |
503 } | 503 } |
504 | 504 |
505 base::CancelableTaskTracker::TaskId HistoryService::GetFavicons( | 505 base::CancelableTaskTracker::TaskId HistoryService::GetFavicon( |
506 const std::vector<GURL>& icon_urls, | 506 const GURL& icon_url, |
507 int icon_types, | 507 favicon_base::IconType icon_type, |
508 const std::vector<int>& desired_sizes, | 508 const std::vector<int>& desired_sizes, |
509 const favicon_base::FaviconResultsCallback& callback, | 509 const favicon_base::FaviconResultsCallback& callback, |
510 base::CancelableTaskTracker* tracker) { | 510 base::CancelableTaskTracker* tracker) { |
511 TRACE_EVENT0("browser", "HistoryService::GetFavicons"); | 511 TRACE_EVENT0("browser", "HistoryService::GetFavicons"); |
512 DCHECK(backend_task_runner_) << "History service being called after cleanup"; | 512 DCHECK(backend_task_runner_) << "History service being called after cleanup"; |
513 DCHECK(thread_checker_.CalledOnValidThread()); | 513 DCHECK(thread_checker_.CalledOnValidThread()); |
514 std::vector<favicon_base::FaviconRawBitmapResult>* results = | 514 std::vector<favicon_base::FaviconRawBitmapResult>* results = |
515 new std::vector<favicon_base::FaviconRawBitmapResult>(); | 515 new std::vector<favicon_base::FaviconRawBitmapResult>(); |
516 return tracker->PostTaskAndReply( | 516 return tracker->PostTaskAndReply( |
517 backend_task_runner_.get(), FROM_HERE, | 517 backend_task_runner_.get(), FROM_HERE, |
518 base::Bind(&HistoryBackend::GetFavicons, history_backend_, icon_urls, | 518 base::Bind(&HistoryBackend::GetFavicon, history_backend_, icon_url, |
519 icon_types, desired_sizes, results), | 519 icon_type, desired_sizes, results), |
520 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 520 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
521 } | 521 } |
522 | 522 |
523 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( | 523 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( |
524 const GURL& page_url, | 524 const GURL& page_url, |
525 int icon_types, | 525 int icon_types, |
526 const std::vector<int>& desired_sizes, | 526 const std::vector<int>& desired_sizes, |
527 const favicon_base::FaviconResultsCallback& callback, | 527 const favicon_base::FaviconResultsCallback& callback, |
528 base::CancelableTaskTracker* tracker) { | 528 base::CancelableTaskTracker* tracker) { |
529 TRACE_EVENT0("browser", "HistoryService::GetFaviconsForURL"); | 529 TRACE_EVENT0("browser", "HistoryService::GetFaviconsForURL"); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
568 return tracker->PostTaskAndReply( | 568 return tracker->PostTaskAndReply( |
569 backend_task_runner_.get(), FROM_HERE, | 569 backend_task_runner_.get(), FROM_HERE, |
570 base::Bind(&HistoryBackend::GetFaviconForID, history_backend_, favicon_id, | 570 base::Bind(&HistoryBackend::GetFaviconForID, history_backend_, favicon_id, |
571 desired_size, results), | 571 desired_size, results), |
572 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 572 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
573 } | 573 } |
574 | 574 |
575 base::CancelableTaskTracker::TaskId | 575 base::CancelableTaskTracker::TaskId |
576 HistoryService::UpdateFaviconMappingsAndFetch( | 576 HistoryService::UpdateFaviconMappingsAndFetch( |
577 const GURL& page_url, | 577 const GURL& page_url, |
578 const std::vector<GURL>& icon_urls, | 578 const GURL& icon_url, |
579 int icon_types, | 579 favicon_base::IconType icon_type, |
580 const std::vector<int>& desired_sizes, | 580 const std::vector<int>& desired_sizes, |
581 const favicon_base::FaviconResultsCallback& callback, | 581 const favicon_base::FaviconResultsCallback& callback, |
582 base::CancelableTaskTracker* tracker) { | 582 base::CancelableTaskTracker* tracker) { |
583 TRACE_EVENT0("browser", "HistoryService::UpdateFaviconMappingsAndFetch"); | 583 TRACE_EVENT0("browser", "HistoryService::UpdateFaviconMappingsAndFetch"); |
584 DCHECK(backend_task_runner_) << "History service being called after cleanup"; | 584 DCHECK(backend_task_runner_) << "History service being called after cleanup"; |
585 DCHECK(thread_checker_.CalledOnValidThread()); | 585 DCHECK(thread_checker_.CalledOnValidThread()); |
586 std::vector<favicon_base::FaviconRawBitmapResult>* results = | 586 std::vector<favicon_base::FaviconRawBitmapResult>* results = |
587 new std::vector<favicon_base::FaviconRawBitmapResult>(); | 587 new std::vector<favicon_base::FaviconRawBitmapResult>(); |
588 return tracker->PostTaskAndReply( | 588 return tracker->PostTaskAndReply( |
589 backend_task_runner_.get(), FROM_HERE, | 589 backend_task_runner_.get(), FROM_HERE, |
590 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, | 590 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, |
591 history_backend_, page_url, icon_urls, icon_types, | 591 history_backend_, page_url, icon_url, icon_type, desired_sizes, |
592 desired_sizes, results), | 592 results), |
593 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 593 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
594 } | 594 } |
595 | 595 |
596 void HistoryService::MergeFavicon( | 596 void HistoryService::MergeFavicon( |
597 const GURL& page_url, | 597 const GURL& page_url, |
598 const GURL& icon_url, | 598 const GURL& icon_url, |
599 favicon_base::IconType icon_type, | 599 favicon_base::IconType icon_type, |
600 scoped_refptr<base::RefCountedMemory> bitmap_data, | 600 scoped_refptr<base::RefCountedMemory> bitmap_data, |
601 const gfx::Size& pixel_size) { | 601 const gfx::Size& pixel_size) { |
602 TRACE_EVENT0("browser", "HistoryService::MergeFavicon"); | 602 TRACE_EVENT0("browser", "HistoryService::MergeFavicon"); |
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1167 return favicon_changed_callback_list_.Add(callback); | 1167 return favicon_changed_callback_list_.Add(callback); |
1168 } | 1168 } |
1169 | 1169 |
1170 void HistoryService::NotifyFaviconsChanged(const std::set<GURL>& page_urls, | 1170 void HistoryService::NotifyFaviconsChanged(const std::set<GURL>& page_urls, |
1171 const GURL& icon_url) { | 1171 const GURL& icon_url) { |
1172 DCHECK(thread_checker_.CalledOnValidThread()); | 1172 DCHECK(thread_checker_.CalledOnValidThread()); |
1173 favicon_changed_callback_list_.Notify(page_urls, icon_url); | 1173 favicon_changed_callback_list_.Notify(page_urls, icon_url); |
1174 } | 1174 } |
1175 | 1175 |
1176 } // namespace history | 1176 } // namespace history |
OLD | NEW |