New issue
Advanced search Search tips

Issue 812986 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 803853



Sign in to add a comment

Convert WebViewScheduler to PageScheduler

Project Member Reported by yutak@chromium.org, Feb 16 2018

Issue description

(Part of Scheduler Architecture 2.0: issue 803853)

Currently, WebViewImpl holds WebViewScheduler. However, WebViewScheduler
should be owned by Page which is more suitable, and should be renamed to
PageScheduler.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4c5914619625548e4522bf05968ba56574ca4d1a

commit 4c5914619625548e4522bf05968ba56574ca4d1a
Author: Yuta Kitamura <yutak@chromium.org>
Date: Fri Feb 16 09:51:14 2018

WebViewImpl: Clear WebViewScheduler on Close().

We plan to have WebViewScheduler owned by Page, which will delay the
execution of WebViewScheduler's destructor because Page is garbage
collected.

This patch moves the execution of the destructor to WebViewImpl::
Close() to ensure nothing will break even if we clear the
WebViewScheduler object early.

Bug:  812986 
Change-Id: I5de6b7ad3f3598922a408b2a26cec4718a132f6f
Reviewed-on: https://chromium-review.googlesource.com/923246
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537269}
[modify] https://crrev.com/4c5914619625548e4522bf05968ba56574ca4d1a/third_party/WebKit/Source/core/exported/WebViewImpl.cpp
[modify] https://crrev.com/4c5914619625548e4522bf05968ba56574ca4d1a/third_party/WebKit/Source/core/exported/WebViewImpl.h

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/88242653562ca31bf1300db1b8ce73a93d5d1359

commit 88242653562ca31bf1300db1b8ce73a93d5d1359
Author: Yuta Kitamura <yutak@chromium.org>
Date: Mon Mar 12 12:10:32 2018

Move WebViewScheduler's ownership from WebViewImpl to Page.

This patch moves the WebViewScheduler object currently owned by
WebViewImpl to Page. Additionally, a few delegates used by
WebViewSchedulerImpl and RendererWebSchedulerImpl are removed and
they are replaced with callbacks in PlatformChromeClient. As a side-
effect of this, WebViewSchedulerImpl now holds a Persistent handle to
PlatformChromeClient.

WebViewScheduler is soon to be called "PageScheduler", and some
functions in this patch use that name, but the class itself is not
renamed in this CL. That will be done in a follow-up CL.

Bug:  812986 
Change-Id: I09c6b655274abc22cf4289259d9d9eefc0a5c73a
Reviewed-on: https://chromium-review.googlesource.com/923688
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542464}
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/core/dom/IdleDeadlineTest.cpp
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/core/dom/ScriptedIdleTaskControllerTest.cpp
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/core/exported/WebViewImpl.cpp
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/core/exported/WebViewImpl.h
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/core/page/Page.cpp
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/core/page/Page.h
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.cc
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.h
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_proxy_unittest.cc
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/renderer/renderer_web_scheduler_impl.cc
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/renderer/renderer_web_scheduler_impl.h
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler.h
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/88242653562ca31bf1300db1b8ce73a93d5d1359/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1bb11747dabe7331ab9043399d12c5b57c457348

commit 1bb11747dabe7331ab9043399d12c5b57c457348
Author: Yuta Kitamura <yutak@chromium.org>
Date: Thu Mar 15 05:22:26 2018

Rename WebViewScheduler to PageScheduler.

This patch also renames classes with the similar name, like WebView-
SchedulerImpl.

No functional change.

Bug:  812986 
Change-Id: Ifb82b4c13a8c2ce87d76a530309474ed9516119e
Reviewed-on: https://chromium-review.googlesource.com/959946
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543306}
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/dom/IdleDeadlineTest.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/dom/ScriptedIdleTaskControllerTest.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/exported/WebViewImpl.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/exported/WebViewImpl.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/inspector/InspectorEmulationAgent.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/inspector/InspectorEmulationAgent.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/layout/ScrollbarsTest.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/loader/EmptyClients.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/page/Page.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/page/Page.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/scheduler/ActiveConnectionThrottlingTest.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/scheduler/VirtualTimeTest.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/core/script/ScriptRunnerTest.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/TimerTest.cpp
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/WebFrameScheduler.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/BUILD.gn
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/child/web_scheduler.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/child/web_scheduler_impl.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_proxy_unittest.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/frame_status.cc
[rename] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/page_scheduler.h
[rename] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/page_scheduler_impl.cc
[rename] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/page_scheduler_impl.h
[rename] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/page_scheduler_impl_unittest.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/renderer_metrics_helper_unittest.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/renderer_web_scheduler_impl.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/renderer_web_scheduler_impl.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
[rename] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/test/fake_page_scheduler.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/Source/platform/scheduler/test/fake_web_frame_scheduler.h
[modify] https://crrev.com/1bb11747dabe7331ab9043399d12c5b57c457348/third_party/WebKit/public/web/WebView.h

Comment 4 by yutak@chromium.org, Mar 23 2018

Status: Fixed (was: Started)

Sign in to add a comment