| 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 #include "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 | 6 |
| 7 #include "chrome/browser/ui/toolbar/back_forward_menu_model.h" | 7 #include "chrome/browser/ui/toolbar/back_forward_menu_model.h" |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| 11 #include "base/string_number_conversions.h" | 11 #include "base/string_number_conversions.h" |
| 12 #include "chrome/browser/event_disposition.h" | 12 #include "chrome/browser/event_disposition.h" |
| 13 #include "chrome/browser/favicon/favicon_service_factory.h" |
| 13 #include "chrome/browser/prefs/pref_service.h" | 14 #include "chrome/browser/prefs/pref_service.h" |
| 14 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
| 15 #include "chrome/browser/ui/browser.h" | 16 #include "chrome/browser/ui/browser.h" |
| 16 #include "chrome/browser/ui/browser_commands.h" | 17 #include "chrome/browser/ui/browser_commands.h" |
| 17 #include "chrome/browser/ui/browser_tabstrip.h" | 18 #include "chrome/browser/ui/browser_tabstrip.h" |
| 18 #include "chrome/browser/ui/singleton_tabs.h" | 19 #include "chrome/browser/ui/singleton_tabs.h" |
| 19 #include "chrome/browser/ui/tab_contents/tab_contents.h" | 20 #include "chrome/browser/ui/tab_contents/tab_contents.h" |
| 20 #include "chrome/common/pref_names.h" | 21 #include "chrome/common/pref_names.h" |
| 21 #include "chrome/common/url_constants.h" | 22 #include "chrome/common/url_constants.h" |
| 22 #include "content/public/browser/favicon_status.h" | 23 #include "content/public/browser/favicon_status.h" |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 } | 234 } |
| 234 | 235 |
| 235 void BackForwardMenuModel::FetchFavicon(NavigationEntry* entry) { | 236 void BackForwardMenuModel::FetchFavicon(NavigationEntry* entry) { |
| 236 // If the favicon has already been requested for this menu, don't do | 237 // If the favicon has already been requested for this menu, don't do |
| 237 // anything. | 238 // anything. |
| 238 if (requested_favicons_.find(entry->GetUniqueID()) != | 239 if (requested_favicons_.find(entry->GetUniqueID()) != |
| 239 requested_favicons_.end()) { | 240 requested_favicons_.end()) { |
| 240 return; | 241 return; |
| 241 } | 242 } |
| 242 requested_favicons_.insert(entry->GetUniqueID()); | 243 requested_favicons_.insert(entry->GetUniqueID()); |
| 243 FaviconService* favicon_service = | 244 FaviconService* favicon_service = FaviconServiceFactory::GetForProfile( |
| 244 browser_->profile()->GetFaviconService(Profile::EXPLICIT_ACCESS); | 245 browser_->profile(), Profile::EXPLICIT_ACCESS); |
| 245 if (!favicon_service) | 246 if (!favicon_service) |
| 246 return; | 247 return; |
| 247 FaviconService::Handle handle = favicon_service->GetFaviconForURL( | 248 FaviconService::Handle handle = favicon_service->GetFaviconForURL( |
| 248 entry->GetURL(), history::FAVICON, &load_consumer_, | 249 browser_->profile(), entry->GetURL(), history::FAVICON, &load_consumer_, |
| 249 base::Bind(&BackForwardMenuModel::OnFavIconDataAvailable, | 250 base::Bind(&BackForwardMenuModel::OnFavIconDataAvailable, |
| 250 base::Unretained(this))); | 251 base::Unretained(this))); |
| 251 load_consumer_.SetClientData(favicon_service, handle, entry->GetUniqueID()); | 252 load_consumer_.SetClientData(favicon_service, handle, entry->GetUniqueID()); |
| 252 } | 253 } |
| 253 | 254 |
| 254 void BackForwardMenuModel::OnFavIconDataAvailable( | 255 void BackForwardMenuModel::OnFavIconDataAvailable( |
| 255 FaviconService::Handle handle, | 256 FaviconService::Handle handle, |
| 256 history::FaviconData favicon) { | 257 history::FaviconData favicon) { |
| 257 if (favicon.is_valid()) { | 258 if (favicon.is_valid()) { |
| 258 int unique_id = load_consumer_.GetClientDataForCurrentRequest(); | 259 int unique_id = load_consumer_.GetClientDataForCurrentRequest(); |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 466 metric_string += "ForwardMenu_"; | 467 metric_string += "ForwardMenu_"; |
| 467 else | 468 else |
| 468 metric_string += "BackMenu_"; | 469 metric_string += "BackMenu_"; |
| 469 metric_string += action; | 470 metric_string += action; |
| 470 if (index != -1) { | 471 if (index != -1) { |
| 471 // +1 is for historical reasons (indices used to start at 1). | 472 // +1 is for historical reasons (indices used to start at 1). |
| 472 metric_string += base::IntToString(index + 1); | 473 metric_string += base::IntToString(index + 1); |
| 473 } | 474 } |
| 474 return metric_string; | 475 return metric_string; |
| 475 } | 476 } |
| OLD | NEW |