Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: chrome/browser/win/jumplist.cc

Issue 2812983005: Revert some jumplist function names (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/win/jumplist.h ('k') | chrome/browser/win/jumplist_file_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 #include "chrome/browser/win/jumplist.h" 5 #include "chrome/browser/win/jumplist.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 return false; 224 return false;
225 225
226 // Commit this transaction and send the updated JumpList to Windows. 226 // Commit this transaction and send the updated JumpList to Windows.
227 if (!jumplist_updater.CommitUpdate()) 227 if (!jumplist_updater.CommitUpdate())
228 return false; 228 return false;
229 229
230 return true; 230 return true;
231 } 231 }
232 232
233 // Updates the jumplist, once all the data has been fetched. 233 // Updates the jumplist, once all the data has been fetched.
234 void RunUpdateJumpListUserVisiblePriority( 234 void RunUpdateJumpList(IncognitoModePrefs::Availability incognito_availability,
235 IncognitoModePrefs::Availability incognito_availability, 235 const std::wstring& app_id,
236 const std::wstring& app_id, 236 const base::FilePath& icon_dir,
237 const base::FilePath& icon_dir, 237 base::RefCountedData<JumpListData>* ref_counted_data) {
238 base::RefCountedData<JumpListData>* ref_counted_data) {
239 JumpListData* data = &ref_counted_data->data; 238 JumpListData* data = &ref_counted_data->data;
240 ShellLinkItemList local_most_visited_pages; 239 ShellLinkItemList local_most_visited_pages;
241 ShellLinkItemList local_recently_closed_pages; 240 ShellLinkItemList local_recently_closed_pages;
242 241
243 { 242 {
244 base::AutoLock auto_lock(data->list_lock_); 243 base::AutoLock auto_lock(data->list_lock_);
245 // Make sure we are not out of date: if icon_urls_ is not empty, then 244 // Make sure we are not out of date: if icon_urls_ is not empty, then
246 // another notification has been received since we processed this one 245 // another notification has been received since we processed this one
247 if (!data->icon_urls_.empty()) 246 if (!data->icon_urls_.empty())
248 return; 247 return;
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 waiting_for_icons = !data->icon_urls_.empty(); 500 waiting_for_icons = !data->icon_urls_.empty();
502 if (waiting_for_icons) { 501 if (waiting_for_icons) {
503 // Ask FaviconService if it has a favicon of a URL. 502 // Ask FaviconService if it has a favicon of a URL.
504 // When FaviconService has one, it will call OnFaviconDataAvailable(). 503 // When FaviconService has one, it will call OnFaviconDataAvailable().
505 url = GURL(data->icon_urls_.front().first); 504 url = GURL(data->icon_urls_.front().first);
506 } 505 }
507 } 506 }
508 507
509 if (!waiting_for_icons) { 508 if (!waiting_for_icons) {
510 // No more favicons are needed by the application JumpList. Schedule a 509 // No more favicons are needed by the application JumpList. Schedule a
511 // RunUpdateJumpListUserVisiblePriority call. 510 // RunUpdateJumpList call.
512 PostRunUpdate(); 511 PostRunUpdate();
513 return; 512 return;
514 } 513 }
515 514
516 favicon::FaviconService* favicon_service = 515 favicon::FaviconService* favicon_service =
517 FaviconServiceFactory::GetForProfile(profile_, 516 FaviconServiceFactory::GetForProfile(profile_,
518 ServiceAccessType::EXPLICIT_ACCESS); 517 ServiceAccessType::EXPLICIT_ACCESS);
519 task_id_ = favicon_service->GetFaviconImageForPageURL( 518 task_id_ = favicon_service->GetFaviconImageForPageURL(
520 url, 519 url,
521 base::Bind(&JumpList::OnFaviconDataAvailable, base::Unretained(this)), 520 base::Bind(&JumpList::OnFaviconDataAvailable, base::Unretained(this)),
522 &cancelable_task_tracker_); 521 &cancelable_task_tracker_);
523 } 522 }
524 523
525 void JumpList::OnFaviconDataAvailable( 524 void JumpList::OnFaviconDataAvailable(
526 const favicon_base::FaviconImageResult& image_result) { 525 const favicon_base::FaviconImageResult& image_result) {
527 DCHECK(CalledOnValidThread()); 526 DCHECK(CalledOnValidThread());
528 527
529 // If there is currently a favicon request in progress, it is now outdated, 528 // If there is currently a favicon request in progress, it is now outdated,
530 // as we have received another, so nullify the handle from the old request. 529 // as we have received another, so nullify the handle from the old request.
531 task_id_ = base::CancelableTaskTracker::kBadTaskId; 530 task_id_ = base::CancelableTaskTracker::kBadTaskId;
532 // Lock the list to set icon data and pop the url. 531 // Lock the list to set icon data and pop the url.
533 { 532 {
534 JumpListData* data = &jumplist_data_->data; 533 JumpListData* data = &jumplist_data_->data;
535 base::AutoLock auto_lock(data->list_lock_); 534 base::AutoLock auto_lock(data->list_lock_);
536 // Attach the received data to the ShellLinkItem object. 535 // Attach the received data to the ShellLinkItem object.
537 // This data will be decoded by the RunUpdateJumpListUserVisiblePriority 536 // This data will be decoded by the RunUpdateJumpList
538 // method. 537 // method.
539 if (!image_result.image.IsEmpty() && !data->icon_urls_.empty() && 538 if (!image_result.image.IsEmpty() && !data->icon_urls_.empty() &&
540 data->icon_urls_.front().second.get()) { 539 data->icon_urls_.front().second.get()) {
541 gfx::ImageSkia image_skia = image_result.image.AsImageSkia(); 540 gfx::ImageSkia image_skia = image_result.image.AsImageSkia();
542 image_skia.EnsureRepsForSupportedScales(); 541 image_skia.EnsureRepsForSupportedScales();
543 std::unique_ptr<gfx::ImageSkia> deep_copy(image_skia.DeepCopy()); 542 std::unique_ptr<gfx::ImageSkia> deep_copy(image_skia.DeepCopy());
544 data->icon_urls_.front().second->set_icon_image(*deep_copy); 543 data->icon_urls_.front().second->set_icon_image(*deep_copy);
545 } 544 }
546 545
547 if (!data->icon_urls_.empty()) 546 if (!data->icon_urls_.empty())
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 588
590 TRACE_EVENT0("browser", "JumpList::DeferredRunUpdate"); 589 TRACE_EVENT0("browser", "JumpList::DeferredRunUpdate");
591 // Check if incognito windows (or normal windows) are disabled by policy. 590 // Check if incognito windows (or normal windows) are disabled by policy.
592 IncognitoModePrefs::Availability incognito_availability = 591 IncognitoModePrefs::Availability incognito_availability =
593 profile_ ? IncognitoModePrefs::GetAvailability(profile_->GetPrefs()) 592 profile_ ? IncognitoModePrefs::GetAvailability(profile_->GetPrefs())
594 : IncognitoModePrefs::ENABLED; 593 : IncognitoModePrefs::ENABLED;
595 594
596 // Post a task to delete the content in JumpListIcons folder and log the 595 // Post a task to delete the content in JumpListIcons folder and log the
597 // results to UMA. 596 // results to UMA.
598 update_jumplisticons_task_runner_->PostTask( 597 update_jumplisticons_task_runner_->PostTask(
599 FROM_HERE, 598 FROM_HERE, base::Bind(&DeleteDirectoryContentAndLogResults, icon_dir_,
600 base::Bind(&DeleteDirectoryContentAndLogResultsUserVisiblePriority, 599 kFileDeleteLimit));
601 icon_dir_, kFileDeleteLimit));
602 600
603 // Post a task to update the jumplist used by the shell. 601 // Post a task to update the jumplist used by the shell.
604 update_jumplisticons_task_runner_->PostTask( 602 update_jumplisticons_task_runner_->PostTask(
605 FROM_HERE, 603 FROM_HERE, base::Bind(&RunUpdateJumpList, incognito_availability, app_id_,
606 base::Bind(&RunUpdateJumpListUserVisiblePriority, incognito_availability, 604 icon_dir_, base::RetainedRef(jumplist_data_)));
607 app_id_, icon_dir_, base::RetainedRef(jumplist_data_)));
608 605
609 // Post a task to delete JumpListIconsOld folder and log the results to UMA. 606 // Post a task to delete JumpListIconsOld folder and log the results to UMA.
610 base::FilePath icon_dir_old = icon_dir_.DirName().Append( 607 base::FilePath icon_dir_old = icon_dir_.DirName().Append(
611 icon_dir_.BaseName().value() + FILE_PATH_LITERAL("Old")); 608 icon_dir_.BaseName().value() + FILE_PATH_LITERAL("Old"));
612 609
613 delete_jumplisticonsold_task_runner_->PostTask( 610 delete_jumplisticonsold_task_runner_->PostTask(
614 FROM_HERE, base::Bind(&DeleteDirectoryAndLogResults, 611 FROM_HERE, base::Bind(&DeleteDirectoryAndLogResults,
615 std::move(icon_dir_old), kFileDeleteLimit)); 612 std::move(icon_dir_old), kFileDeleteLimit));
616 } 613 }
617 614
618 void JumpList::TopSitesLoaded(history::TopSites* top_sites) { 615 void JumpList::TopSitesLoaded(history::TopSites* top_sites) {
619 } 616 }
620 617
621 void JumpList::TopSitesChanged(history::TopSites* top_sites, 618 void JumpList::TopSitesChanged(history::TopSites* top_sites,
622 ChangeReason change_reason) { 619 ChangeReason change_reason) {
623 top_sites->GetMostVisitedURLs( 620 top_sites->GetMostVisitedURLs(
624 base::Bind(&JumpList::OnMostVisitedURLsAvailable, 621 base::Bind(&JumpList::OnMostVisitedURLsAvailable,
625 weak_ptr_factory_.GetWeakPtr()), 622 weak_ptr_factory_.GetWeakPtr()),
626 false); 623 false);
627 } 624 }
OLDNEW
« no previous file with comments | « chrome/browser/win/jumplist.h ('k') | chrome/browser/win/jumplist_file_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698