| Index: chrome/browser/prerender/prerender_contents.cc
|
| diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc
|
| index ad8c50f5b5721713f4460bc4c1e3cb2638614ac7..9351b2a4316c4ef7b43b65b7cf91271c843c799d 100644
|
| --- a/chrome/browser/prerender/prerender_contents.cc
|
| +++ b/chrome/browser/prerender/prerender_contents.cc
|
| @@ -8,7 +8,6 @@
|
| #include <functional>
|
| #include <utility>
|
|
|
| -#include "base/process_util.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "chrome/browser/history/history_tab_helper.h"
|
| #include "chrome/browser/history/history_types.h"
|
| @@ -43,33 +42,6 @@ using content::WebContents;
|
|
|
| namespace prerender {
|
|
|
| -namespace {
|
| -
|
| -// Tells the render process at |child_id| whether |url| is a new prerendered
|
| -// page, or whether |url| is being removed as a prerendered page. Currently
|
| -// this will only inform the render process that created the prerendered page
|
| -// with <link rel="prerender"> tags about it. This means that if the user
|
| -// clicks on a link for a prerendered URL in a different page, the prerender
|
| -// will not be swapped in.
|
| -void InformRenderProcessAboutPrerender(const GURL& url,
|
| - bool is_add,
|
| - int child_id) {
|
| - if (child_id < 0)
|
| - return;
|
| - content::RenderProcessHost* render_process_host =
|
| - content::RenderProcessHost::FromID(child_id);
|
| - if (!render_process_host)
|
| - return;
|
| - IPC::Message* message = NULL;
|
| - if (is_add)
|
| - message = new PrerenderMsg_AddPrerenderURL(url);
|
| - else
|
| - message = new PrerenderMsg_RemovePrerenderURL(url);
|
| - render_process_host->Send(message);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| class PrerenderContentsFactoryImpl : public PrerenderContents::Factory {
|
| public:
|
| virtual PrerenderContents* CreatePrerenderContents(
|
| @@ -167,6 +139,11 @@ class PrerenderContents::TabContentsDelegateImpl
|
| PrerenderContents* prerender_contents_;
|
| };
|
|
|
| +void PrerenderContents::Observer::OnPrerenderAddAlias(
|
| + PrerenderContents* contents,
|
| + const GURL& alias_url) {
|
| +}
|
| +
|
| PrerenderContents::Observer::Observer() {
|
| }
|
|
|
| @@ -277,9 +254,6 @@ void PrerenderContents::StartPrerendering(
|
| session_storage_namespace_id_ = session_storage_namespace->id();
|
| size_ = size;
|
|
|
| - InformRenderProcessAboutPrerender(prerender_url_, true,
|
| - creator_child_id_);
|
| -
|
| DCHECK(load_start_time_.is_null());
|
| load_start_time_ = base::TimeTicks::Now();
|
|
|
| @@ -386,14 +360,6 @@ PrerenderContents::~PrerenderContents() {
|
| prerender_manager_->RecordFinalStatusWithMatchCompleteStatus(
|
| origin_, experiment_id_, match_complete_status_, final_status_);
|
|
|
| - if (child_id_ != -1 && route_id_ != -1) {
|
| - for (std::vector<GURL>::const_iterator it = alias_urls_.begin();
|
| - it != alias_urls_.end();
|
| - ++it) {
|
| - InformRenderProcessAboutPrerender(*it, false, creator_child_id_);
|
| - }
|
| - }
|
| -
|
| // If we still have a WebContents, clean up anything we need to and then
|
| // destroy it.
|
| if (prerender_contents_.get())
|
| @@ -405,6 +371,10 @@ void PrerenderContents::AddObserver(Observer* observer) {
|
| observer_list_.AddObserver(observer);
|
| }
|
|
|
| +void PrerenderContents::RemoveObserver(Observer* observer) {
|
| + observer_list_.RemoveObserver(observer);
|
| +}
|
| +
|
| void PrerenderContents::Observe(int type,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) {
|
| @@ -500,6 +470,11 @@ void PrerenderContents::NotifyPrerenderStop() {
|
| observer_list_.Clear();
|
| }
|
|
|
| +void PrerenderContents::NotifyPrerenderAddAlias(const GURL& alias_url) {
|
| + FOR_EACH_OBSERVER(Observer, observer_list_, OnPrerenderAddAlias(this,
|
| + alias_url));
|
| +}
|
| +
|
| void PrerenderContents::DidUpdateFaviconURL(
|
| int32 page_id,
|
| const std::vector<content::FaviconURL>& urls) {
|
| @@ -534,7 +509,7 @@ bool PrerenderContents::AddAliasURL(const GURL& url) {
|
| }
|
|
|
| alias_urls_.push_back(url);
|
| - InformRenderProcessAboutPrerender(url, true, creator_child_id_);
|
| + NotifyPrerenderAddAlias(url);
|
| return true;
|
| }
|
|
|
|
|