New issue
Advanced search Search tips

Issue 820634 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Move stopping of per-frame task queues to WebFrameScheduler from RS

Project Member Reported by panicker@chromium.org, Mar 9 2018

Issue description

Cover bug for moving logic of stopping per-frame task queues from RendererScheduler to Web{View|Frame}Scheduler.


 
Project Member

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

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

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 9 2018

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

Project Member

Comment 4 by bugdroid1@chromium.org, May 29 2018

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

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 13 2018

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

Status: Fixed (was: Assigned)

Sign in to add a comment