Chromium Code Reviews| Index: third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc | 
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc b/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc | 
| index 027e3b7aff4f969f4686bc6cad611023eda2f663..b54afd5e9916b9e3d42a58050b8d14bf79c20c84 100644 | 
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc | 
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc | 
| @@ -38,7 +38,8 @@ WebFrameSchedulerImpl::WebFrameSchedulerImpl( | 
| frame_visible_(true), | 
| page_throttled_(true), | 
| frame_suspended_(false), | 
| - cross_origin_(false) {} | 
| + cross_origin_(false), | 
| + websocket_connections_(0) {} | 
| WebFrameSchedulerImpl::~WebFrameSchedulerImpl() { | 
| if (loading_task_queue_) { | 
| @@ -57,8 +58,12 @@ WebFrameSchedulerImpl::~WebFrameSchedulerImpl() { | 
| unthrottled_task_queue_->SetBlameContext(nullptr); | 
| } | 
| - if (parent_web_view_scheduler_) | 
| + if (parent_web_view_scheduler_) { | 
| parent_web_view_scheduler_->Unregister(this); | 
| + | 
| + if (websocket_connections_) | 
| + parent_web_view_scheduler_->OnWebSocketConnectionUpdated(); | 
| + } | 
| } | 
| void WebFrameSchedulerImpl::DetachFromWebViewScheduler() { | 
| @@ -167,6 +172,18 @@ void WebFrameSchedulerImpl::didStopLoading(unsigned long identifier) { | 
| parent_web_view_scheduler_->DidStopLoading(identifier); | 
| } | 
| +void WebFrameSchedulerImpl::didOpenWebSocket() { | 
| + ++websocket_connections_; | 
| + if (parent_web_view_scheduler_) | 
| + parent_web_view_scheduler_->OnWebSocketConnectionUpdated(); | 
| +} | 
| + | 
| +void WebFrameSchedulerImpl::didCloseWebSocket() { | 
| + --websocket_connections_; | 
| 
 
alex clarke (OOO till 29th)
2017/01/24 18:15:33
DCHECK_GE(websocket_connections, 0);
 
altimin
2017/01/24 18:39:04
Done.
 
 | 
| + if (parent_web_view_scheduler_) | 
| + parent_web_view_scheduler_->OnWebSocketConnectionUpdated(); | 
| +} | 
| + | 
| void WebFrameSchedulerImpl::setDocumentParsingInBackground( | 
| bool background_parser_active) { | 
| if (background_parser_active) |