| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/web_contents/web_contents_impl.h" | 5 #include "content/browser/web_contents/web_contents_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <cmath> | 9 #include <cmath> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 4818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4829 } | 4829 } |
| 4830 } | 4830 } |
| 4831 | 4831 |
| 4832 void WebContentsImpl::OnIgnoredUIEvent() { | 4832 void WebContentsImpl::OnIgnoredUIEvent() { |
| 4833 // Notify observers. | 4833 // Notify observers. |
| 4834 for (auto& observer : observers_) | 4834 for (auto& observer : observers_) |
| 4835 observer.DidGetIgnoredUIEvent(); | 4835 observer.DidGetIgnoredUIEvent(); |
| 4836 } | 4836 } |
| 4837 | 4837 |
| 4838 void WebContentsImpl::RendererUnresponsive( | 4838 void WebContentsImpl::RendererUnresponsive( |
| 4839 RenderWidgetHostImpl* render_widget_host, | 4839 RenderWidgetHostImpl* render_widget_host) { |
| 4840 RendererUnresponsiveType type) { | |
| 4841 for (auto& observer : observers_) | 4840 for (auto& observer : observers_) |
| 4842 observer.OnRendererUnresponsive(render_widget_host); | 4841 observer.OnRendererUnresponsive(render_widget_host); |
| 4843 | 4842 |
| 4844 // Don't show hung renderer dialog for a swapped out RVH. | 4843 // Don't show hung renderer dialog for a swapped out RVH. |
| 4845 if (render_widget_host != GetRenderViewHost()->GetWidget()) | 4844 if (render_widget_host != GetRenderViewHost()->GetWidget()) |
| 4846 return; | 4845 return; |
| 4847 | 4846 |
| 4848 if (ShouldIgnoreUnresponsiveRenderer()) | 4847 if (ShouldIgnoreUnresponsiveRenderer()) |
| 4849 return; | 4848 return; |
| 4850 | 4849 |
| 4851 // Record histograms about the type of renderer hang. | |
| 4852 UMA_HISTOGRAM_ENUMERATION( | |
| 4853 "ChildProcess.HangRendererType", type, | |
| 4854 RendererUnresponsiveType::RENDERER_UNRESPONSIVE_MAX); | |
| 4855 | |
| 4856 if (!GetRenderViewHost() || !GetRenderViewHost()->IsRenderViewLive()) | 4850 if (!GetRenderViewHost() || !GetRenderViewHost()->IsRenderViewLive()) |
| 4857 return; | 4851 return; |
| 4858 | 4852 |
| 4859 if (delegate_) { | 4853 if (delegate_) { |
| 4860 WebContentsUnresponsiveState unresponsive_state; | 4854 WebContentsUnresponsiveState unresponsive_state; |
| 4861 unresponsive_state.reason = type; | |
| 4862 unresponsive_state.outstanding_ack_count = | 4855 unresponsive_state.outstanding_ack_count = |
| 4863 render_widget_host->in_flight_event_count(); | 4856 render_widget_host->in_flight_event_count(); |
| 4864 unresponsive_state.outstanding_event_type = | 4857 unresponsive_state.outstanding_event_type = |
| 4865 render_widget_host->hang_monitor_event_type(); | 4858 render_widget_host->hang_monitor_event_type(); |
| 4866 unresponsive_state.last_event_type = render_widget_host->last_event_type(); | 4859 unresponsive_state.last_event_type = render_widget_host->last_event_type(); |
| 4867 delegate_->RendererUnresponsive(this, unresponsive_state); | 4860 delegate_->RendererUnresponsive(this, unresponsive_state); |
| 4868 } | 4861 } |
| 4869 } | 4862 } |
| 4870 | 4863 |
| 4871 void WebContentsImpl::RendererResponsive( | 4864 void WebContentsImpl::RendererResponsive( |
| (...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5399 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); | 5392 RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); |
| 5400 if (!render_view_host) | 5393 if (!render_view_host) |
| 5401 continue; | 5394 continue; |
| 5402 render_view_host_set.insert(render_view_host); | 5395 render_view_host_set.insert(render_view_host); |
| 5403 } | 5396 } |
| 5404 for (RenderViewHost* render_view_host : render_view_host_set) | 5397 for (RenderViewHost* render_view_host : render_view_host_set) |
| 5405 render_view_host->OnWebkitPreferencesChanged(); | 5398 render_view_host->OnWebkitPreferencesChanged(); |
| 5406 } | 5399 } |
| 5407 | 5400 |
| 5408 } // namespace content | 5401 } // namespace content |
| OLD | NEW |