Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Side by Side Diff: content/browser/tab_contents/tab_contents.cc

Issue 6526059: Plumb through NetworkChangeNotifier::IsOffline() to WebKit, enabling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: No tests yet Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "content/browser/tab_contents/tab_contents.h" 5 #include "content/browser/tab_contents/tab_contents.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 } 390 }
391 #endif 391 #endif
392 392
393 // OnCloseStarted isn't called in unit tests. 393 // OnCloseStarted isn't called in unit tests.
394 if (!tab_close_start_time_.is_null()) { 394 if (!tab_close_start_time_.is_null()) {
395 UMA_HISTOGRAM_TIMES("Tab.Close", 395 UMA_HISTOGRAM_TIMES("Tab.Close",
396 base::TimeTicks::Now() - tab_close_start_time_); 396 base::TimeTicks::Now() - tab_close_start_time_);
397 } 397 }
398 398
399 FOR_EACH_OBSERVER(TabContentsObserver, observers_, set_tab_contents(NULL)); 399 FOR_EACH_OBSERVER(TabContentsObserver, observers_, set_tab_contents(NULL));
400
401 net::NetworkChangeNotifier::RemoveOnlineStateObserver(this);
400 } 402 }
401 403
402 void TabContents::AddObservers() { 404 void TabContents::AddObservers() {
403 printing_.reset(new printing::PrintViewManager(this)); 405 printing_.reset(new printing::PrintViewManager(this));
404 print_preview_.reset(new printing::PrintPreviewMessageHandler(this)); 406 print_preview_.reset(new printing::PrintPreviewMessageHandler(this));
405 fav_icon_helper_.reset(new FavIconHelper(this)); 407 fav_icon_helper_.reset(new FavIconHelper(this));
406 autofill_manager_.reset(new AutoFillManager(this)); 408 autofill_manager_.reset(new AutoFillManager(this));
407 autocomplete_history_manager_.reset(new AutocompleteHistoryManager(this)); 409 autocomplete_history_manager_.reset(new AutocompleteHistoryManager(this));
408 prerender_plt_recorder_.reset(new prerender::PrerenderPLTRecorder(this)); 410 prerender_plt_recorder_.reset(new prerender::PrerenderPLTRecorder(this));
409 desktop_notification_handler_.reset( 411 desktop_notification_handler_.reset(
410 new DesktopNotificationHandlerForTC(this, GetRenderProcessHost())); 412 new DesktopNotificationHandlerForTC(this, GetRenderProcessHost()));
411 plugin_observer_.reset(new PluginObserver(this)); 413 plugin_observer_.reset(new PluginObserver(this));
412 safebrowsing_detection_host_.reset(new safe_browsing::ClientSideDetectionHost( 414 safebrowsing_detection_host_.reset(new safe_browsing::ClientSideDetectionHost(
413 this)); 415 this));
416 net::NetworkChangeNotifier::AddOnlineStateObserver(this);
414 } 417 }
415 418
416 bool TabContents::OnMessageReceived(const IPC::Message& message) { 419 bool TabContents::OnMessageReceived(const IPC::Message& message) {
417 ObserverListBase<TabContentsObserver>::Iterator it(observers_); 420 ObserverListBase<TabContentsObserver>::Iterator it(observers_);
418 TabContentsObserver* observer; 421 TabContentsObserver* observer;
419 while ((observer = it.GetNext()) != NULL) 422 while ((observer = it.GetNext()) != NULL)
420 if (observer->OnMessageReceived(message)) 423 if (observer->OnMessageReceived(message))
421 return true; 424 return true;
422 425
423 bool handled = true; 426 bool handled = true;
(...skipping 2430 matching lines...) Expand 10 before | Expand all | Expand 10 after
2854 2857
2855 void TabContents::SwapInRenderViewHost(RenderViewHost* rvh) { 2858 void TabContents::SwapInRenderViewHost(RenderViewHost* rvh) {
2856 render_manager_.SwapInRenderViewHost(rvh); 2859 render_manager_.SwapInRenderViewHost(rvh);
2857 } 2860 }
2858 2861
2859 void TabContents::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) { 2862 void TabContents::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) {
2860 RenderWidgetHostView* rwh_view = view()->CreateViewForWidget(rvh); 2863 RenderWidgetHostView* rwh_view = view()->CreateViewForWidget(rvh);
2861 rwh_view->SetSize(view()->GetContainerSize()); 2864 rwh_view->SetSize(view()->GetContainerSize());
2862 } 2865 }
2863 2866
2867 void TabContents::OnOnlineStateChanged(bool online) {
2868 render_view_host()->Send(new ViewMsg_NetworkStateChanged(
2869 render_view_host()->routing_id(), online));
2870 }
2871
2864 bool TabContents::MaybeUsePreloadedPage(const GURL& url) { 2872 bool TabContents::MaybeUsePreloadedPage(const GURL& url) {
2865 prerender::PrerenderManager* pm = profile()->GetPrerenderManager(); 2873 prerender::PrerenderManager* pm = profile()->GetPrerenderManager();
2866 if (pm != NULL) { 2874 if (pm != NULL) {
2867 if (pm->MaybeUsePreloadedPage(this, url)) 2875 if (pm->MaybeUsePreloadedPage(this, url))
2868 return true; 2876 return true;
2869 } 2877 }
2870 return false; 2878 return false;
2871 } 2879 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698