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" |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 | 135 |
136 bool BackForwardMenuModel::GetIconAt(int index, gfx::ImageSkia* icon) { | 136 bool BackForwardMenuModel::GetIconAt(int index, gfx::ImageSkia* icon) { |
137 if (!ItemHasIcon(index)) | 137 if (!ItemHasIcon(index)) |
138 return false; | 138 return false; |
139 | 139 |
140 if (index == GetItemCount() - 1) { | 140 if (index == GetItemCount() - 1) { |
141 *icon = *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( | 141 *icon = *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( |
142 IDR_HISTORY_FAVICON); | 142 IDR_HISTORY_FAVICON); |
143 } else { | 143 } else { |
144 NavigationEntry* entry = GetNavigationEntry(index); | 144 NavigationEntry* entry = GetNavigationEntry(index); |
145 *icon = entry->GetFavicon().bitmap; | 145 *icon = *entry->GetFavicon().image.ToImageSkia(); |
146 if (!entry->GetFavicon().valid && menu_model_delegate()) { | 146 if (!entry->GetFavicon().valid && menu_model_delegate()) { |
147 FetchFavicon(entry); | 147 FetchFavicon(entry); |
148 } | 148 } |
149 } | 149 } |
150 | 150 |
151 return true; | 151 return true; |
152 } | 152 } |
153 | 153 |
154 ui::ButtonMenuItemModel* BackForwardMenuModel::GetButtonMenuItemAt( | 154 ui::ButtonMenuItemModel* BackForwardMenuModel::GetButtonMenuItemAt( |
155 int index) const { | 155 int index) const { |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 // Now that we have a valid NavigationEntry, decode the favicon and assign | 278 // Now that we have a valid NavigationEntry, decode the favicon and assign |
279 // it to the NavigationEntry. | 279 // it to the NavigationEntry. |
280 SkBitmap fav_icon; | 280 SkBitmap fav_icon; |
281 if (gfx::PNGCodec::Decode(favicon.image_data->front(), | 281 if (gfx::PNGCodec::Decode(favicon.image_data->front(), |
282 favicon.image_data->size(), | 282 favicon.image_data->size(), |
283 &fav_icon)) { | 283 &fav_icon)) { |
284 entry->GetFavicon().valid = true; | 284 entry->GetFavicon().valid = true; |
285 entry->GetFavicon().url = favicon.icon_url; | 285 entry->GetFavicon().url = favicon.icon_url; |
286 if (fav_icon.empty()) | 286 if (fav_icon.empty()) |
287 return; | 287 return; |
288 entry->GetFavicon().bitmap = fav_icon; | 288 // TODO: Once the history service returns more representations, |
| 289 // use them all instead of having just the lodpi favicon. |
| 290 entry->GetFavicon().image = gfx::Image(fav_icon); |
289 if (menu_model_delegate()) { | 291 if (menu_model_delegate()) { |
290 menu_model_delegate()->OnIconChanged(model_index); | 292 menu_model_delegate()->OnIconChanged(model_index); |
291 } | 293 } |
292 } | 294 } |
293 } | 295 } |
294 } | 296 } |
295 | 297 |
296 int BackForwardMenuModel::GetHistoryItemCount() const { | 298 int BackForwardMenuModel::GetHistoryItemCount() const { |
297 WebContents* contents = GetWebContents(); | 299 WebContents* contents = GetWebContents(); |
298 int items = 0; | 300 int items = 0; |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 metric_string += "ForwardMenu_"; | 470 metric_string += "ForwardMenu_"; |
469 else | 471 else |
470 metric_string += "BackMenu_"; | 472 metric_string += "BackMenu_"; |
471 metric_string += action; | 473 metric_string += action; |
472 if (index != -1) { | 474 if (index != -1) { |
473 // +1 is for historical reasons (indices used to start at 1). | 475 // +1 is for historical reasons (indices used to start at 1). |
474 metric_string += base::IntToString(index + 1); | 476 metric_string += base::IntToString(index + 1); |
475 } | 477 } |
476 return metric_string; | 478 return metric_string; |
477 } | 479 } |
OLD | NEW |