Index: chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc |
diff --git a/chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc b/chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc |
index 0d00ebef770f6e86e76929d267ec50325d3e5155..63709d1dea0689012c7f65bbccab02631fefbd7d 100644 |
--- a/chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc |
+++ b/chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc |
@@ -35,6 +35,9 @@ |
#include "components/omnibox/browser/autocomplete_match.h" |
#include "components/prefs/pref_service.h" |
#include "content/public/browser/browser_thread.h" |
+#include "content/public/browser/navigation_controller.h" |
+#include "content/public/browser/navigation_entry.h" |
+#include "content/public/browser/navigation_handle.h" |
#include "content/public/browser/notification_service.h" |
#include "content/public/browser/plugin_service.h" |
#include "content/public/browser/user_metrics.h" |
@@ -54,8 +57,16 @@ namespace { |
TabRendererData::NetworkState TabContentsNetworkState( |
WebContents* contents) { |
- if (!contents || !contents->IsLoadingToDifferentDocument()) |
+ if (!contents) |
return TabRendererData::NETWORK_STATE_NONE; |
+ if (!contents->IsLoadingToDifferentDocument()) { |
+ content::NavigationEntry* entry = |
+ contents->GetController().GetLastCommittedEntry(); |
+ if (entry && (entry->GetPageType() == content::PAGE_TYPE_ERROR)) |
+ return TabRendererData::NETWORK_STATE_ERROR; |
+ else |
sky
2016/08/12 21:43:11
no else after a return (see chromium style guide).
edwardjung
2016/08/12 22:18:06
Done.
|
+ return TabRendererData::NETWORK_STATE_NONE; |
+ } |
if (contents->IsWaitingForResponse()) |
return TabRendererData::NETWORK_STATE_WAITING; |
return TabRendererData::NETWORK_STATE_LOADING; |