(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.
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
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
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 1 by bugdroid1@chromium.org
, Feb 16 2018