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/prerender/prerender_contents.h" | 5 #include "chrome/browser/prerender/prerender_contents.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 } | 510 } |
511 set_final_status(final_status); | 511 set_final_status(final_status); |
512 | 512 |
513 // We may destroy the PrerenderContents before we have initialized the | 513 // We may destroy the PrerenderContents before we have initialized the |
514 // RenderViewHost. Otherwise set the Observer's PrerenderContents to NULL to | 514 // RenderViewHost. Otherwise set the Observer's PrerenderContents to NULL to |
515 // avoid any more messages being sent. | 515 // avoid any more messages being sent. |
516 if (render_view_host_observer_.get()) | 516 if (render_view_host_observer_.get()) |
517 render_view_host_observer_->set_prerender_contents(NULL); | 517 render_view_host_observer_->set_prerender_contents(NULL); |
518 } | 518 } |
519 | 519 |
520 bool PrerenderContents::CanDownload(int request_id) { | |
521 Destroy(FINAL_STATUS_DOWNLOAD); | |
522 // Cancel the download. | |
523 return false; | |
524 } | |
525 | |
526 void PrerenderContents::OnStartDownload(DownloadItem* download, | |
527 TabContentsWrapper* tab) { | |
528 // Prerendered pages should never be able to download files. | |
529 NOTREACHED(); | |
530 } | |
531 | |
532 base::ProcessMetrics* PrerenderContents::MaybeGetProcessMetrics() { | 520 base::ProcessMetrics* PrerenderContents::MaybeGetProcessMetrics() { |
533 if (process_metrics_.get() == NULL) { | 521 if (process_metrics_.get() == NULL) { |
534 // If a PrenderContents hasn't started prerending, don't be fully formed. | 522 // If a PrenderContents hasn't started prerending, don't be fully formed. |
535 if (!render_view_host() || !render_view_host()->process()) | 523 if (!render_view_host() || !render_view_host()->process()) |
536 return NULL; | 524 return NULL; |
537 base::ProcessHandle handle = render_view_host()->process()->GetHandle(); | 525 base::ProcessHandle handle = render_view_host()->process()->GetHandle(); |
538 if (handle == base::kNullProcessHandle) | 526 if (handle == base::kNullProcessHandle) |
539 return NULL; | 527 return NULL; |
540 #if !defined(OS_MACOSX) | 528 #if !defined(OS_MACOSX) |
541 process_metrics_.reset(base::ProcessMetrics::CreateProcessMetrics(handle)); | 529 process_metrics_.reset(base::ProcessMetrics::CreateProcessMetrics(handle)); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
595 return NULL; | 583 return NULL; |
596 DictionaryValue* dict_value = new DictionaryValue(); | 584 DictionaryValue* dict_value = new DictionaryValue(); |
597 dict_value->SetString("url", prerender_url_.spec()); | 585 dict_value->SetString("url", prerender_url_.spec()); |
598 base::TimeTicks current_time = base::TimeTicks::Now(); | 586 base::TimeTicks current_time = base::TimeTicks::Now(); |
599 base::TimeDelta duration = current_time - load_start_time_; | 587 base::TimeDelta duration = current_time - load_start_time_; |
600 dict_value->SetInteger("duration", duration.InSeconds()); | 588 dict_value->SetInteger("duration", duration.InSeconds()); |
601 return dict_value; | 589 return dict_value; |
602 } | 590 } |
603 | 591 |
604 } // namespace prerender | 592 } // namespace prerender |
OLD | NEW |