OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/instant/instant_loader.h" | 5 #include "chrome/browser/instant/instant_loader.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/command_line.h" | 12 #include "base/command_line.h" |
13 #include "base/i18n/case_conversion.h" | 13 #include "base/i18n/case_conversion.h" |
14 #include "base/string_number_conversions.h" | 14 #include "base/string_number_conversions.h" |
15 #include "base/timer.h" | 15 #include "base/timer.h" |
16 #include "base/utf_string_conversions.h" | 16 #include "base/utf_string_conversions.h" |
17 #include "base/values.h" | 17 #include "base/values.h" |
18 #include "chrome/browser/favicon/favicon_service.h" | 18 #include "chrome/browser/favicon/favicon_service.h" |
19 #include "chrome/browser/history/history_marshaling.h" | 19 #include "chrome/browser/history/history_marshaling.h" |
| 20 #include "chrome/browser/history/history_tab_helper.h" |
20 #include "chrome/browser/instant/instant_loader_delegate.h" | 21 #include "chrome/browser/instant/instant_loader_delegate.h" |
21 #include "chrome/browser/profiles/profile.h" | 22 #include "chrome/browser/profiles/profile.h" |
22 #include "chrome/browser/search_engines/template_url.h" | 23 #include "chrome/browser/search_engines/template_url.h" |
23 #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper.h" | 24 #include "chrome/browser/ui/blocked_content/blocked_content_tab_helper.h" |
24 #include "chrome/browser/ui/download/download_tab_helper.h" | 25 #include "chrome/browser/ui/download/download_tab_helper.h" |
25 #include "chrome/browser/ui/download/download_tab_helper_delegate.h" | 26 #include "chrome/browser/ui/download/download_tab_helper_delegate.h" |
26 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 27 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
27 #include "chrome/common/chrome_switches.h" | 28 #include "chrome/common/chrome_switches.h" |
28 #include "chrome/common/render_messages.h" | 29 #include "chrome/common/render_messages.h" |
29 #include "content/browser/renderer_host/render_view_host.h" | 30 #include "content/browser/renderer_host/render_view_host.h" |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 args->redirects.clear(); | 307 args->redirects.clear(); |
307 args->redirects.push_back(url); | 308 args->redirects.push_back(url); |
308 | 309 |
309 // Prune all but the first entry. | 310 // Prune all but the first entry. |
310 add_page_vector_.erase(add_page_vector_.begin() + 1, | 311 add_page_vector_.erase(add_page_vector_.begin() + 1, |
311 add_page_vector_.end()); | 312 add_page_vector_.end()); |
312 } | 313 } |
313 | 314 |
314 void InstantLoader::TabContentsDelegateImpl::CommitHistory( | 315 void InstantLoader::TabContentsDelegateImpl::CommitHistory( |
315 bool supports_instant) { | 316 bool supports_instant) { |
316 TabContents* tab = loader_->preview_contents()->tab_contents(); | 317 TabContentsWrapper* tab = loader_->preview_contents(); |
317 if (tab->profile()->IsOffTheRecord()) | 318 if (tab->profile()->IsOffTheRecord()) |
318 return; | 319 return; |
319 | 320 |
320 for (size_t i = 0; i < add_page_vector_.size(); ++i) | 321 for (size_t i = 0; i < add_page_vector_.size(); ++i) { |
321 tab->UpdateHistoryForNavigation(add_page_vector_[i].get()); | 322 tab->history_tab_helper()->UpdateHistoryForNavigation( |
| 323 add_page_vector_[i].get()); |
| 324 } |
322 | 325 |
323 NavigationEntry* active_entry = tab->controller().GetActiveEntry(); | 326 NavigationEntry* active_entry = |
| 327 tab->tab_contents()->controller().GetActiveEntry(); |
324 if (!active_entry) { | 328 if (!active_entry) { |
325 // It appears to be possible to get here with no active entry. This seems | 329 // It appears to be possible to get here with no active entry. This seems |
326 // to be possible with an auth dialog, but I can't narrow down the | 330 // to be possible with an auth dialog, but I can't narrow down the |
327 // circumstances. If you hit this, file a bug with the steps you did and | 331 // circumstances. If you hit this, file a bug with the steps you did and |
328 // assign it to me (sky). | 332 // assign it to me (sky). |
329 NOTREACHED(); | 333 NOTREACHED(); |
330 return; | 334 return; |
331 } | 335 } |
332 tab->UpdateHistoryPageTitle(*active_entry); | 336 tab->history_tab_helper()->UpdateHistoryPageTitle(*active_entry); |
333 | 337 |
334 FaviconService* favicon_service = | 338 FaviconService* favicon_service = |
335 tab->profile()->GetFaviconService(Profile::EXPLICIT_ACCESS); | 339 tab->profile()->GetFaviconService(Profile::EXPLICIT_ACCESS); |
336 | 340 |
337 if (favicon_service && active_entry->favicon().is_valid() && | 341 if (favicon_service && active_entry->favicon().is_valid() && |
338 !active_entry->favicon().bitmap().empty()) { | 342 !active_entry->favicon().bitmap().empty()) { |
339 std::vector<unsigned char> image_data; | 343 std::vector<unsigned char> image_data; |
340 gfx::PNGCodec::EncodeBGRASkBitmap(active_entry->favicon().bitmap(), false, | 344 gfx::PNGCodec::EncodeBGRASkBitmap(active_entry->favicon().bitmap(), false, |
341 &image_data); | 345 &image_data); |
342 favicon_service->SetFavicon(active_entry->url(), | 346 favicon_service->SetFavicon(active_entry->url(), |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1027 Source<NavigationController>(&preview_contents_->controller())); | 1031 Source<NavigationController>(&preview_contents_->controller())); |
1028 #endif | 1032 #endif |
1029 | 1033 |
1030 registrar_.Add( | 1034 registrar_.Add( |
1031 this, | 1035 this, |
1032 NotificationType::NAV_ENTRY_COMMITTED, | 1036 NotificationType::NAV_ENTRY_COMMITTED, |
1033 Source<NavigationController>(&preview_contents_->controller())); | 1037 Source<NavigationController>(&preview_contents_->controller())); |
1034 | 1038 |
1035 preview_contents_->tab_contents()->ShowContents(); | 1039 preview_contents_->tab_contents()->ShowContents(); |
1036 } | 1040 } |
OLD | NEW |