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) |