Cover bug for moving logic of stopping per-frame task queues from RendererScheduler to Web{View|Frame}Scheduler.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6c462b375eaeee6fb39b4a2e4e0d562e33dba604 commit 6c462b375eaeee6fb39b4a2e4e0d562e33dba604 Author: Shubhie Panicker <panicker@chromium.org> Date: Fri Mar 23 00:38:26 2018 Move stopping of per-frame task queues to WebFrameScheduler. Bug: 820634 Change-Id: I7650ce9bf4be3fe1692b279fd406f6e80e038cbf Reviewed-on: https://chromium-review.googlesource.com/957706 Commit-Queue: Shubhie Panicker <panicker@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Cr-Commit-Position: refs/heads/master@{#545310} [modify] https://crrev.com/6c462b375eaeee6fb39b4a2e4e0d562e33dba604/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc [modify] https://crrev.com/6c462b375eaeee6fb39b4a2e4e0d562e33dba604/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc [modify] https://crrev.com/6c462b375eaeee6fb39b4a2e4e0d562e33dba604/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.h [modify] https://crrev.com/6c462b375eaeee6fb39b4a2e4e0d562e33dba604/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dc079085d5ff328cf5ac5d4948c848ea4cc8db13 commit dc079085d5ff328cf5ac5d4948c848ea4cc8db13 Author: Daniel Bratell <bratell@opera.com> Date: Fri Mar 23 14:56:23 2018 Avoid having duplicate StopLoadingInBackgroundEnabled() This is a jumbo compilation fix. A couple of hours ago a second StopLoadingInBackgroundEnabled() was added which in jumbo builds where *.cc files are compiled together caused a compilation failure. The function is small enough to be inlined so that is what this patch does here and at the original place it was copied from. Bug: 820634 Change-Id: I09d8fe48f4573d67b353eda563abad54c2325769 Reviewed-on: https://chromium-review.googlesource.com/978001 Reviewed-by: Alexander Timin <altimin@chromium.org> Commit-Queue: Daniel Bratell <bratell@opera.com> Cr-Commit-Position: refs/heads/master@{#545446} [modify] https://crrev.com/dc079085d5ff328cf5ac5d4948c848ea4cc8db13/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc [modify] https://crrev.com/dc079085d5ff328cf5ac5d4948c848ea4cc8db13/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f4b7e5bd12e349d929eb080151c24829dced2943 commit f4b7e5bd12e349d929eb080151c24829dced2943 Author: Shubhie Panicker <panicker@chromium.org> Date: Mon Apr 09 22:42:03 2018 Per frame loading task queue should not be stopped by MTS. Also ensure throttling state is conditioned on keep_active. Clean up a TODO in FS. Bug: 820634 Change-Id: I553fd6331593d3a3ee4fd408373926eaedfb749d Reviewed-on: https://chromium-review.googlesource.com/996914 Commit-Queue: Shubhie Panicker <panicker@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Cr-Commit-Position: refs/heads/master@{#549308} [modify] https://crrev.com/f4b7e5bd12e349d929eb080151c24829dced2943/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc [modify] https://crrev.com/f4b7e5bd12e349d929eb080151c24829dced2943/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler.cc [modify] https://crrev.com/f4b7e5bd12e349d929eb080151c24829dced2943/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6637a1327eac794d559183cebc88607b83d5b351 commit 6637a1327eac794d559183cebc88607b83d5b351 Author: Scott Haseley <shaseley@google.com> Date: Tue May 29 19:35:44 2018 [scheduler] Remove timer freezing from MainThreadScheduler. FrameScheduler already handles timer freezing, and there isn't anything (non-trivial) left on default timer queue, so this should be safe. Per-frame timer queue is controlled by FrameScheduler. This patch also moves |frozen_when_backgrounded| into the Policy. Bug: 820634 Change-Id: I95527a9919d37647a13e59ebcceede5fa36774c6 Reviewed-on: https://chromium-review.googlesource.com/1073649 Commit-Queue: Scott Haseley <shaseley@google.com> Reviewed-by: Shubhie Panicker <panicker@chromium.org> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Cr-Commit-Position: refs/heads/master@{#562549} [modify] https://crrev.com/6637a1327eac794d559183cebc88607b83d5b351/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc [modify] https://crrev.com/6637a1327eac794d559183cebc88607b83d5b351/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h [modify] https://crrev.com/6637a1327eac794d559183cebc88607b83d5b351/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509 commit 3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509 Author: Scott Haseley <shaseley@google.com> Date: Wed Jun 13 19:11:15 2018 [scheduler] Move page freezing decision logic to PageSchedulerImpl Previously, the MainThreadScheduler froze its pages when the renderer was backgrounded for a certain amount of time and the freezing feature flag was enabled. This CL moves this logic to the PageScheduler, which now freezes a page when (1) the page freezing feature flag is set, and (2) The page is freezable (hidden + no audio) for X time, where X is either the default 5 minutes or a value set in finch. This change also: - Removes the previous plumbing of the feature flag through the content layer and checks the flag directly. - Adds a new metric PageScheduler.PageLifecycleStateTransition to replace RendererScheduler.BackgroundedRendererTransition. This metric is recorded for lifecycle state transitions between active, hidden/backgrounded, hidden/foregrounded, and frozen. Bug: 820634 Change-Id: I548daf643f090e161dc9afd8f788452a95669e03 Reviewed-on: https://chromium-review.googlesource.com/1086488 Commit-Queue: Scott Haseley <shaseley@google.com> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Shubhie Panicker <panicker@chromium.org> Reviewed-by: Steven Holte <holte@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Cr-Commit-Position: refs/heads/master@{#566940} [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/chrome/renderer/chrome_content_renderer_client.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/chrome/renderer/chrome_content_renderer_client.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/content/public/renderer/content_renderer_client.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/content/public/renderer/content_renderer_client.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/content/renderer/render_thread_impl.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/public/platform/scheduler/test/fake_renderer_scheduler.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/public/platform/scheduler/test/mock_renderer_scheduler.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/public/platform/scheduler/web_thread_scheduler.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/core/exported/web_view_impl.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/core/page/BUILD.gn [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/core/page/page.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/core/page/page.h [delete] https://crrev.com/37128e1b486709b4d27cfd5049ad8db404b8b3d0/third_party/blink/renderer/core/page/page_lifecycle_state.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/BUILD.gn [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/common/web_thread_scheduler.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl_unittest.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_metrics_helper.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_metrics_helper.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_metrics_helper_unittest.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl_unittest.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl_unittest.cc [add] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/public/page_lifecycle_state.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/public/page_scheduler.h [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/test/fake_renderer_scheduler.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/third_party/blink/renderer/platform/scheduler/worker/worker_scheduler_proxy_unittest.cc [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/tools/metrics/histograms/enums.xml [modify] https://crrev.com/3dd9a3a20cb1f5b3d7f9f69d6b3f69ed8c80c509/tools/metrics/histograms/histograms.xml
Comment 1 by bugdroid1@chromium.org
, Mar 23 2018