Index: chrome/browser/renderer_host/cross_site_resource_handler.cc |
=================================================================== |
--- chrome/browser/renderer_host/cross_site_resource_handler.cc (revision 19907) |
+++ chrome/browser/renderer_host/cross_site_resource_handler.cc (working copy) |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -6,18 +6,18 @@ |
#include "chrome/browser/renderer_host/cross_site_resource_handler.h" |
+#include "base/message_loop.h" |
#include "chrome/browser/renderer_host/render_view_host.h" |
-#include "chrome/browser/tab_contents/tab_util.h" |
-#include "chrome/browser/tab_contents/tab_contents.h" |
namespace { |
+ |
// Task to notify the TabContents that a cross-site response has begun, so that |
// TabContents can tell the old page to run its onunload handler. |
-class CrossSiteNotifyTabTask : public Task { |
+class CrossSiteNotifyTask : public Task { |
public: |
- CrossSiteNotifyTabTask(int render_process_host_id, |
- int render_view_id, |
- int request_id) |
+ CrossSiteNotifyTask(int render_process_host_id, |
+ int render_view_id, |
+ int request_id) |
: render_process_host_id_(render_process_host_id), |
render_view_id_(render_view_id), |
request_id_(request_id) {} |
@@ -48,18 +48,19 @@ |
render_view_id_(render_view_id) {} |
void Run() { |
- TabContents* tab_contents = |
- tab_util::GetTabContentsByID(render_process_host_id_, render_view_id_); |
- if (tab_contents) |
- tab_contents->CrossSiteNavigationCanceled(); |
+ RenderViewHost* view = |
+ RenderViewHost::FromID(render_process_host_id_, render_view_id_); |
+ if (view) |
+ view->delegate()->OnCrossSiteNavigationCanceled(); |
} |
private: |
int render_process_host_id_; |
int render_view_id_; |
}; |
-} |
+} // namespace |
+ |
CrossSiteResourceHandler::CrossSiteResourceHandler( |
ResourceHandler* handler, |
int render_process_host_id, |
@@ -250,9 +251,9 @@ |
// Tell the tab responsible for this request that a cross-site response is |
// starting, so that it can tell its old renderer to run its onunload |
// handler now. We will wait to hear the corresponding ClosePage_ACK. |
- CrossSiteNotifyTabTask* task = |
- new CrossSiteNotifyTabTask(render_process_host_id_, |
- render_view_id_, |
- request_id); |
+ CrossSiteNotifyTask* task = |
+ new CrossSiteNotifyTask(render_process_host_id_, |
+ render_view_id_, |
+ request_id); |
rdh_->ui_loop()->PostTask(FROM_HERE, task); |
} |