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