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

Unified Diff: third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc

Issue 2652973002: [scheduler] Plumb websocket information to scheduler (Closed)
Patch Set: Removed include Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698