| Index: content/browser/tab_contents/tab_contents.cc
|
| ===================================================================
|
| --- content/browser/tab_contents/tab_contents.cc (revision 91391)
|
| +++ content/browser/tab_contents/tab_contents.cc (working copy)
|
| @@ -201,6 +201,11 @@
|
|
|
| registrar_.Add(this, NotificationType::RENDER_WIDGET_HOST_DESTROYED,
|
| NotificationService::AllSources());
|
| +
|
| + // Can only add observers after render_manager_.Init() is called, since that's
|
| + // what sets up the render_view_host which TabContentObserver's constructor
|
| + // uses to get the routing_id.
|
| + AddObservers();
|
| }
|
|
|
| TabContents::~TabContents() {
|
| @@ -246,6 +251,8 @@
|
|
|
| FOR_EACH_OBSERVER(TabContentsObserver, observers_, TabContentsDestroyed());
|
|
|
| + net::NetworkChangeNotifier::RemoveOnlineStateObserver(this);
|
| +
|
| set_delegate(NULL);
|
| }
|
|
|
| @@ -260,6 +267,10 @@
|
| delegate_->Attach(this);
|
| }
|
|
|
| +void TabContents::AddObservers() {
|
| + net::NetworkChangeNotifier::AddOnlineStateObserver(this);
|
| +}
|
| +
|
| bool TabContents::OnMessageReceived(const IPC::Message& message) {
|
| if (web_ui() && web_ui()->OnMessageReceived(message))
|
| return true;
|
| @@ -1830,3 +1841,8 @@
|
| RenderWidgetHostView* rwh_view = view()->CreateViewForWidget(rvh);
|
| rwh_view->SetSize(view()->GetContainerSize());
|
| }
|
| +
|
| +void TabContents::OnOnlineStateChanged(bool online) {
|
| + render_view_host()->Send(new ViewMsg_NetworkStateChanged(
|
| + render_view_host()->routing_id(), online));
|
| +}
|
|
|