New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 624694 link

Starred by 3 users

Issue metadata

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

Blocked on:
issue 650543

Blocking:
issue 624689
issue 804694



Sign in to add a comment

Move all timers to WebFrameScheduler

Project Member Reported by haraken@chromium.org, Jun 30 2016

Issue description

We should move all timers from WebThread to WebFrameScheduler.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 26 2016

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

commit 587adda57c8c304adcd080b5f1d6bad49ce588fd
Author: dcheng <dcheng@chromium.org>
Date: Tue Jul 26 11:16:52 2016

Move FrameLoader completion check timer to loading task runner.

WebFrameScheduler is also no longer lazily created: this avoids
problems with the frame scheduler being unexpectedly recreated
during frame detach, which often leads to use-after-frees.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2172153002
Cr-Commit-Position: refs/heads/master@{#407767}

[modify] https://crrev.com/587adda57c8c304adcd080b5f1d6bad49ce588fd/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/587adda57c8c304adcd080b5f1d6bad49ce588fd/third_party/WebKit/Source/core/frame/LocalFrame.h
[modify] https://crrev.com/587adda57c8c304adcd080b5f1d6bad49ce588fd/third_party/WebKit/Source/core/loader/FrameLoader.cpp
[modify] https://crrev.com/587adda57c8c304adcd080b5f1d6bad49ce588fd/third_party/WebKit/Source/platform/Timer.h

Comment 2 by dcheng@chromium.org, Jul 29 2016

Here's the current work in progress for timers:

- Require a TaskRunner argument to TimerBase.
- Rename the current Timer template to TaskRunnerTimer and require the TaskRunner argument.
- Add a new Timer template which defaults to the current behavior of using the thread task runner.
- Rename the current UnthrottledTimer to UnthrottledThreadTimer 

In followups, I propose doing the following:

1. Rename the Timer template which takes no TaskRunner arguments to LegacyTimer or DeprecatedTimer or ThrottledThreadTimer.

2. Add frame-specific timers in FrameTimer.h that use the task scheduler of the corresponding frame. These will mirror the current helpers exposed by TaskRunnerHelpers:
  - LoadingTimer
  - TimerTimer / DefaultTimer / ThrottledTimer (I don't have good ideas for this one; maybe it'll be easier once we get rid of the Timer with no TaskRunner argument?)
  - UnthrottledTimer
  - Add documentation about which task runner queue is appropriate (I guess we should add this to WebFrameScheduler and reference it from TaskRunnerHelper / FrameTimer.h)
  - Any others as we deem appropriate

3. Convert all uses of UnthrottledThreadTImer to UnthrottledTimer (this should be easy, there are relatively few uses)
4. Convert DOMTimer / SuspendableTimer to use frame timers: this should be easy, since they already have an execution context.
-5. Convert everything else.


Cc: skyos...@chromium.org alexclarke@chromium.org

Comment 4 by dcheng@chromium.org, Jul 29 2016

Cc: hirosh...@chromium.org
Owner: dcheng@chromium.org
Status: Started (was: Untriaged)
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 29 2016

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

commit c6dbdbb5994554bcb90de049a61a1ae1c73d13cd
Author: dcheng <dcheng@chromium.org>
Date: Fri Jul 29 13:23:58 2016

Refactor Timer classes in preparation for landing FrameTimers.

- The original Timer template is now TaskRunnerTimer and requires a
  TaskRunner argument.
- A new Timer template implements the behavior of the original Timer
  template to avoid breaking a lot of code.
- The timer callback parameter has changed to be a TimerBase*, to make
  it easier to share the underlying template implementations. This is a
  safe change, because almost all TaskRunnerTimer callbacks don't use
  the parameter. The few callbacks that care use it to multiplex
  multiple timers in one callback, and only use it for equality
  comparisons with subclasses of TimerBase, so there's no problem.

Followup CLs will introduce frame-specific timers (e.g. LoadingTimer)
which will use TaskRunnerTimer as the base template, as well as rename
the new Timer template to DefaultThreadTimer.

BUG= 624694 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2191533003
Cr-Commit-Position: refs/heads/master@{#408626}

[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolver.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolver.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/animation/AnimationTimeline.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/animation/CompositorPendingAnimations.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/CSSSelectorWatch.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/CSSSelectorWatch.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/Document.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/Fullscreen.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/Fullscreen.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/MainThreadTaskRunner.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/MainThreadTaskRunner.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/dom/PresentationAttributeStyle.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/editing/FrameCaret.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckRequester.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckRequester.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/events/EventSender.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/events/GenericEventQueue.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/events/GenericEventQueue.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/FontResource.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/FontResource.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/MemoryCache.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/MemoryCache.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/RawResourceTest.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/Resource.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/Resource.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/fetch/ResourceFetcher.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/frame/PlatformEventController.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/frame/PlatformEventController.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/frame/SuspendableTimer.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/AutoplayExperimentHelper.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/AutoplayExperimentHelper.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/HTMLMediaElement.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/HTMLTrackElement.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/HTMLTrackElement.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/forms/SearchInputType.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/forms/SearchInputType.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/imports/HTMLImportTreeRoot.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/imports/HTMLImportTreeRoot.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/shadow/MediaControlElements.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/shadow/MediaControls.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/shadow/SpinButtonElement.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/shadow/SpinButtonElement.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/track/vtt/VTTRegion.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/html/track/vtt/VTTRegion.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/input/EventHandler.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/inspector/ThreadDebugger.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/inspector/ThreadDebugger.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/layout/ImageQualityController.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/layout/ImageQualityController.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/layout/ImageQualityControllerTest.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/layout/LayoutProgress.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/layout/LayoutProgress.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/FrameLoader.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/FrameLoader.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/ImageLoader.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/ImageLoader.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/LinkLoader.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/LinkLoader.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/PingLoader.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/PingLoader.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/TextTrackLoader.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/loader/TextTrackLoader.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/page/EventSource.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/page/EventSource.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/page/Page.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/page/Page.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/svg/animation/SMILTimeContainer.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/svg/animation/SMILTimeContainer.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/svg/graphics/SVGImageChromeClient.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/svg/graphics/SVGImageChromeClient.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/svg/graphics/SVGImageTest.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/timing/PerformanceBase.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/timing/PerformanceBase.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequestProgressEventThrottle.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/audio_output_devices/HTMLMediaElementAudioOutputDevice.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/encryptedmedia/MediaKeys.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/encryptedmedia/MediaKeys.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/geolocation/GeoNotifier.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/geolocation/GeoNotifier.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/mediacapturefromelement/TimedCanvasDrawListener.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/mediacapturefromelement/TimedCanvasDrawListener.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/mediastream/MediaStream.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/mediastream/MediaStream.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/peerconnection/RTCDTMFSender.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/peerconnection/RTCDTMFSender.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/peerconnection/RTCDataChannel.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/peerconnection/RTCDataChannel.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationController.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationController.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/speech/testing/PlatformSpeechSynthesizerMock.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/speech/testing/PlatformSpeechSynthesizerMock.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/vibration/VibrationController.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/vibration/VibrationController.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/websockets/DOMWebSocket.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/modules/websockets/DOMWebSocket.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/AsyncMethodRunner.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/Timer.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/Timer.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/TimerTest.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/graphics/BitmapImage.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/platform/scroll/Scrollbar.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/AssociatedURLLoader.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/ExternalPopupMenu.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/ExternalPopupMenu.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/InspectorOverlay.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/InspectorOverlay.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/TextFinder.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/ValidationMessageClientImpl.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/ValidationMessageClientImpl.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/WebHelperPluginImpl.cpp
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/WebHelperPluginImpl.h
[modify] https://crrev.com/c6dbdbb5994554bcb90de049a61a1ae1c73d13cd/third_party/WebKit/Source/web/WebLeakDetector.cpp

Comment 6 by dcheng@chromium.org, Sep 27 2016

Blockedon: 650543
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 30 2016

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

commit 2bce9cb8f98aaed076e6129966aaf38a9f001fd1
Author: dcheng <dcheng@chromium.org>
Date: Fri Sep 30 18:49:17 2016

Associate SuspendableTimer with frame's timer task queue.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2250553002
Cr-Commit-Position: refs/heads/master@{#422165}

[modify] https://crrev.com/2bce9cb8f98aaed076e6129966aaf38a9f001fd1/third_party/WebKit/Source/core/frame/SuspendableTimer.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 15 2016

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

commit 927049ad5a2cdc299bb7d01278911b9de1770576
Author: dcheng <dcheng@chromium.org>
Date: Tue Nov 15 09:06:23 2016

Move FrameView timers to WebFrameScheduler.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2505543002
Cr-Commit-Position: refs/heads/master@{#432149}

[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/core/layout/LayoutTestHelper.cpp
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/core/testing/DummyPageHolder.cpp
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/modules/webaudio/BaseAudioContextTest.cpp
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/web/InspectorOverlay.cpp
[modify] https://crrev.com/927049ad5a2cdc299bb7d01278911b9de1770576/third_party/WebKit/Source/web/WebPagePopupImpl.cpp

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 30 2016

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

commit b8252b996657abe9e655c1b78bc15edb03821870
Author: dcheng <dcheng@chromium.org>
Date: Wed Nov 30 18:38:26 2016

Move EventHandler timers to per-frame task queues.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2514733003
Cr-Commit-Position: refs/heads/master@{#435352}

[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/EventHandler.h
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/KeyboardEventManager.cpp
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/KeyboardEventManager.h
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/MouseEventManager.cpp
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/MouseEventManager.h
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/PointerEventManager.cpp
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/PointerEventManager.h
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/ScrollManager.cpp
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/ScrollManager.h
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/TouchEventManager.cpp
[modify] https://crrev.com/b8252b996657abe9e655c1b78bc15edb03821870/third_party/WebKit/Source/core/input/TouchEventManager.h

Project Member

Comment 13 by bugdroid1@chromium.org, Jan 4 2017

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

commit d1f518fa9e5e4b96b5942b90767272377cbadbb7
Author: dcheng <dcheng@chromium.org>
Date: Wed Jan 04 03:18:04 2017

Move core/animation timers to frame-specific task runners.

Some animation events are dispatched on the DOM manipulation task
source. However, the spec [1] doesn't seem to say much about timelines
and their animations, so dispatch them on the unspeced timer source.

[1] https://w3c.github.io/web-animations/#document-timelines

BUG= 624694 

Review-Url: https://codereview.chromium.org/2616593002
Cr-Commit-Position: refs/heads/master@{#441306}

[modify] https://crrev.com/d1f518fa9e5e4b96b5942b90767272377cbadbb7/third_party/WebKit/Source/core/animation/AnimationTimeline.h
[modify] https://crrev.com/d1f518fa9e5e4b96b5942b90767272377cbadbb7/third_party/WebKit/Source/core/animation/CompositorPendingAnimations.h
[modify] https://crrev.com/d1f518fa9e5e4b96b5942b90767272377cbadbb7/third_party/WebKit/Source/core/dom/Document.cpp

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 4 2017

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

commit e77aadd2660b37e28778fe0f9e423ca941b24722
Author: dcheng <dcheng@chromium.org>
Date: Wed Jan 04 03:35:23 2017

Move core/dom timers to frame-specific task runners.

- CSSSelectorWatch is used to implement a Blink public API that supports
  the chrome.declarativeContent [1] extension API. This is an internal
  implementation detail of Chrome, and has been moved to the unspecced
  timer task source.
- The presentation attribute [2] cache cleaner remains as-is, since it's
  a static cleaner shared among different frames.

[1] https://developer.chrome.com/extensions/declarativeContent
[2] e.g. bgcolor, topmargin, etc attributes on a body element

BUG= 624694 

Review-Url: https://codereview.chromium.org/2614603002
Cr-Commit-Position: refs/heads/master@{#441311}

[modify] https://crrev.com/e77aadd2660b37e28778fe0f9e423ca941b24722/third_party/WebKit/Source/core/dom/CSSSelectorWatch.cpp
[modify] https://crrev.com/e77aadd2660b37e28778fe0f9e423ca941b24722/third_party/WebKit/Source/core/dom/CSSSelectorWatch.h

Project Member

Comment 15 by bugdroid1@chromium.org, Jan 4 2017

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

commit 43d4fc6b461e78656252368aa7d042c019df40f6
Author: dcheng <dcheng@chromium.org>
Date: Wed Jan 04 16:35:58 2017

Move core/editing timer to frame-specific task runners.

Caret blinking is an internal feature, so move it to the unpecced timer
task queue for now. In the future, this may change to be driven by
BeginFrame updates.

Similarly, spellcheck is also an internal feature of Chromium, so it
also uses the unspecced timer task queue.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2612713002
Cr-Commit-Position: refs/heads/master@{#441390}

[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/FrameCaret.h
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/FrameSelection.h
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/SelectionEditor.cpp
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/SelectionEditor.h
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/spellcheck/IdleSpellCheckCallback.cpp
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/spellcheck/IdleSpellCheckCallback.h
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckRequester.cpp
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckRequester.h
[modify] https://crrev.com/43d4fc6b461e78656252368aa7d042c019df40f6/third_party/WebKit/Source/core/frame/LocalFrame.cpp

Project Member

Comment 16 by bugdroid1@chromium.org, Jan 11 2017

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

commit 8405306dc23f96549b8e55544d88cbd9ab864f24
Author: sashab <sashab@chromium.org>
Date: Wed Jan 11 05:26:53 2017

Move LocalDomWindow unusedPreloadsTimer to TaskRunnerTimer

Move LocalDomWindow unusedPreloadsTimer to TaskRunnerTimer, which
associates it wuith the frame's timer task queue.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2625953002
Cr-Commit-Position: refs/heads/master@{#442811}

[modify] https://crrev.com/8405306dc23f96549b8e55544d88cbd9ab864f24/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/8405306dc23f96549b8e55544d88cbd9ab864f24/third_party/WebKit/Source/core/frame/LocalDOMWindow.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 13 2017

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

commit bf359cbc46ede102f3ebfc5f1d1c019dfef49cf0
Author: sashab <sashab@chromium.org>
Date: Fri Jan 13 01:58:08 2017

Move 2 MediaControls Timers to TaskRunnerTimer

Move MediaControls hideMediaControlsTimer and panelWidthChangedTimer to
TaskRunnerTimer, which associates it with the documents's timer task
queue.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2627803002
Cr-Commit-Position: refs/heads/master@{#443457}

[modify] https://crrev.com/bf359cbc46ede102f3ebfc5f1d1c019dfef49cf0/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp
[modify] https://crrev.com/bf359cbc46ede102f3ebfc5f1d1c019dfef49cf0/third_party/WebKit/Source/core/html/shadow/MediaControls.h

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 17 2017

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

commit bcccdc917eabeb68408f1eddd539fba29ee8c9fe
Author: joelhockey <joelhockey@chromium.org>
Date: Tue Jan 17 10:51:58 2017

Move SearchInputType timer to frame-specific TaskRunnerTimer.

Move SearchInputType timer m_searchEventTimer to frame-specific
TaskRunnerTimer.  This associates it with the frame's
UserInteraction timer task
queue.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2632323002
Cr-Commit-Position: refs/heads/master@{#444019}

[modify] https://crrev.com/bcccdc917eabeb68408f1eddd539fba29ee8c9fe/third_party/WebKit/Source/core/html/forms/SearchInputType.cpp
[modify] https://crrev.com/bcccdc917eabeb68408f1eddd539fba29ee8c9fe/third_party/WebKit/Source/core/html/forms/SearchInputType.h

Project Member

Comment 19 by bugdroid1@chromium.org, Jan 18 2017

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

commit 88f7b1a466df5baaf320fc809190d88ac2b5ebfe
Author: sashab <sashab@chromium.org>
Date: Wed Jan 18 01:33:58 2017

Move MediaStream m_scheduledEventTimer to TaskRunnerTimer

Move MediaStream's m_scheduledEventTimer to TaskRunnerTimer, which
associates it wuith the frame's timer task queue.

Spec that defines media element event tasks:
https://html.spec.whatwg.org/#media-elements

BUG= 624694 

Review-Url: https://codereview.chromium.org/2633273002
Cr-Commit-Position: refs/heads/master@{#444231}

[modify] https://crrev.com/88f7b1a466df5baaf320fc809190d88ac2b5ebfe/third_party/WebKit/Source/modules/mediastream/MediaStream.cpp
[modify] https://crrev.com/88f7b1a466df5baaf320fc809190d88ac2b5ebfe/third_party/WebKit/Source/modules/mediastream/MediaStream.h

Project Member

Comment 20 by bugdroid1@chromium.org, Jan 18 2017

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

commit 198b275565e9160f11ae09c8e97c037ec79bee8c
Author: dcheng <dcheng@chromium.org>
Date: Wed Jan 18 17:03:19 2017

Move TextFinder's deferred scoping work to the unspeced timer task queue

Find-in-page intentionally breaks up the work into chunks to avoid
blocking the main thread for too long. Schedule the chunks on the
unspeced timer task queue, since it's not necessarily important to
complete this work immediately.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2645463002
Cr-Commit-Position: refs/heads/master@{#444402}

[modify] https://crrev.com/198b275565e9160f11ae09c8e97c037ec79bee8c/third_party/WebKit/Source/web/TextFinder.cpp

Project Member

Comment 21 by bugdroid1@chromium.org, Jan 19 2017

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

commit 89ac94386ebb1a4e316549cab76fe490e66f9b34
Author: dcheng <dcheng@chromium.org>
Date: Thu Jan 19 01:30:27 2017

Move the fake mouse move event timer to the UserInteraction task queue.

This is generally used for triggering hover chain updates after
scrolling. However, there is one exception which makes this a bit odd to
place in the UserInteraction task queue: after Document does a style
recalc, it queues a fake mouse move event to update the hover chains,
since the style recalc may have shifted elements around.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2645483002
Cr-Commit-Position: refs/heads/master@{#444589}

[modify] https://crrev.com/89ac94386ebb1a4e316549cab76fe490e66f9b34/third_party/WebKit/Source/core/input/MouseEventManager.cpp
[modify] https://crrev.com/89ac94386ebb1a4e316549cab76fe490e66f9b34/third_party/WebKit/Source/core/input/MouseEventManager.h

Project Member

Comment 22 by bugdroid1@chromium.org, Jan 19 2017

Project Member

Comment 24 by bugdroid1@chromium.org, Jan 19 2017

Project Member

Comment 25 by bugdroid1@chromium.org, Jan 19 2017

Project Member

Comment 26 by bugdroid1@chromium.org, Jan 19 2017

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

commit 45ea2ba70b8a87d266cceb0dc7f824a21da74da0
Author: joelhockey <joelhockey@chromium.org>
Date: Thu Jan 19 10:16:30 2017

Convert HTMLTrackElement timer to per-frame scheduler.

Change m_loadTimer to TaskRunnerTimer with TaskType
MediaElementEvent.

https://html.spec.whatwg.org/#the-track-element

BUG= 624694 

Review-Url: https://codereview.chromium.org/2637833003
Cr-Commit-Position: refs/heads/master@{#444696}

[modify] https://crrev.com/45ea2ba70b8a87d266cceb0dc7f824a21da74da0/third_party/WebKit/Source/core/html/HTMLTrackElement.cpp
[modify] https://crrev.com/45ea2ba70b8a87d266cceb0dc7f824a21da74da0/third_party/WebKit/Source/core/html/HTMLTrackElement.h

Project Member

Comment 27 by bugdroid1@chromium.org, Jan 19 2017

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

commit bc507c8eff55131526e098b4ae8218ee735f9cc3
Author: dcheng <dcheng@chromium.org>
Date: Thu Jan 19 10:17:33 2017

Add spec links and more descriptions of the different task types.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2638403003
Cr-Commit-Position: refs/heads/master@{#444697}

[modify] https://crrev.com/bc507c8eff55131526e098b4ae8218ee735f9cc3/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h

Project Member

Comment 28 by bugdroid1@chromium.org, Jan 19 2017

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

commit e21c61e6e59cd91d5619a68a6634ca0fefab66d1
Author: nhiroki <nhiroki@chromium.org>
Date: Thu Jan 19 13:06:53 2017

Worker: Migrate Timer to TaskRunnerTimer in InProcessWorkerObjectProxy

This is a part of the project to migrate from per-renderer scheduler to
per-frame scheduler. A general design doc about the project is available here:
https://docs.google.com/document/d/10It1DFRP7H3gev9hQA-7dtTcvcMFhrxuCt3-k21yjgQ/edit?usp=sharing

BUG= 624694 

Review-Url: https://codereview.chromium.org/2639953002
Cr-Commit-Position: refs/heads/master@{#444715}

[modify] https://crrev.com/e21c61e6e59cd91d5619a68a6634ca0fefab66d1/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
[modify] https://crrev.com/e21c61e6e59cd91d5619a68a6634ca0fefab66d1/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.h

Project Member

Comment 29 by bugdroid1@chromium.org, Jan 19 2017

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

commit 572d21ae9f7c4b3047f5d274d86e4417764b5be1
Author: nhiroki <nhiroki@chromium.org>
Date: Thu Jan 19 14:50:05 2017

ServiceWorker: Migrate Timer to TaskRunnerTimer in WaitUntilObserver

This is a part of the project to migrate from per-renderer scheduler to
per-frame scheduler. A general design doc about the project is available here:
https://docs.google.com/document/d/10It1DFRP7H3gev9hQA-7dtTcvcMFhrxuCt3-k21yjgQ/edit?usp=sharing

BUG= 624694 

Review-Url: https://codereview.chromium.org/2640153003
Cr-Commit-Position: refs/heads/master@{#444731}

[modify] https://crrev.com/572d21ae9f7c4b3047f5d274d86e4417764b5be1/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.cpp
[modify] https://crrev.com/572d21ae9f7c4b3047f5d274d86e4417764b5be1/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.h

Project Member

Comment 30 by bugdroid1@chromium.org, Jan 19 2017

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

commit d620cdbebcf22fbc7a76c269cf289ab87f5c646d
Author: dougt <dougt@chromium.org>
Date: Thu Jan 19 18:31:24 2017

Move geolocation timer to frame-specific TaskRunnerTimer.

Move geolocation timer |m_timer| to frame-specific TaskRunnerTimer. This
associates it with the geolocation frame's timer task queue. Note that the
geolocation specification under specifies exactly what kind of timeout
should be used, and we will use MiscPlatformAPI. See:

https://www.w3.org/TR/geolocation-API/

This m_timer is used to support, in part, the geolocation
'position options'.

BUG= 624694 

R=haraken,scheib

Review-Url: https://codereview.chromium.org/2642863002
Cr-Commit-Position: refs/heads/master@{#444794}

[modify] https://crrev.com/d620cdbebcf22fbc7a76c269cf289ab87f5c646d/third_party/WebKit/Source/modules/geolocation/GeoNotifier.cpp
[modify] https://crrev.com/d620cdbebcf22fbc7a76c269cf289ab87f5c646d/third_party/WebKit/Source/modules/geolocation/GeoNotifier.h

Project Member

Comment 31 by bugdroid1@chromium.org, Jan 19 2017

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

commit dd4298c2034b2f5cf6e58239eb2057e7f91046b4
Author: jianli <jianli@chromium.org>
Date: Thu Jan 19 20:49:55 2017

Revert of Move geolocation timer to frame-specific TaskRunnerTimer. (patchset #2 id:20001 of https://codereview.chromium.org/2642863002/ )

Reason for revert:
Seems to be the cause for failed test fast/dom/Geolocation/window-close-crash.html

https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/1635

Original issue's description:
> Move geolocation timer to frame-specific TaskRunnerTimer.
>
> Move geolocation timer |m_timer| to frame-specific TaskRunnerTimer. This
> associates it with the geolocation frame's timer task queue. Note that the
> geolocation specification under specifies exactly what kind of timeout
> should be used, and we will use MiscPlatformAPI. See:
>
> https://www.w3.org/TR/geolocation-API/
>
> This m_timer is used to support, in part, the geolocation
> 'position options'.
>
> BUG= 624694 
>
> R=haraken,scheib
>
> Review-Url: https://codereview.chromium.org/2642863002
> Cr-Commit-Position: refs/heads/master@{#444794}
> Committed: https://chromium.googlesource.com/chromium/src/+/d620cdbebcf22fbc7a76c269cf289ab87f5c646d

TBR=haraken@chromium.org,scheib@chromium.org,dougt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 624694 

Review-Url: https://codereview.chromium.org/2640403002
Cr-Commit-Position: refs/heads/master@{#444839}

[modify] https://crrev.com/dd4298c2034b2f5cf6e58239eb2057e7f91046b4/third_party/WebKit/Source/modules/geolocation/GeoNotifier.cpp
[modify] https://crrev.com/dd4298c2034b2f5cf6e58239eb2057e7f91046b4/third_party/WebKit/Source/modules/geolocation/GeoNotifier.h

Project Member

Comment 32 by bugdroid1@chromium.org, Jan 20 2017

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

commit ce1a9c0e454b08c96ca73788a1b4dccb405ce027
Author: gogag2 <gogag2@gmail.com>
Date: Fri Jan 20 01:38:14 2017

Move ImageLoader timer to frame-specific TaskRunnerTimer.

Move ImageLoader timer m_derefElementTimer to frame-specific TaskRunnerTimer.
This associates it with the frame's Networking timer task queue.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2642103002
Cr-Commit-Position: refs/heads/master@{#444927}

[modify] https://crrev.com/ce1a9c0e454b08c96ca73788a1b4dccb405ce027/third_party/WebKit/Source/core/loader/ImageLoader.cpp
[modify] https://crrev.com/ce1a9c0e454b08c96ca73788a1b4dccb405ce027/third_party/WebKit/Source/core/loader/ImageLoader.h

Project Member

Comment 33 by bugdroid1@chromium.org, Jan 20 2017

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

commit 2a7b738269926265f91687afaf177b77814f3b99
Author: jbroman <jbroman@chromium.org>
Date: Fri Jan 20 03:04:35 2017

Move WebLeakDetectorImpl to TaskRunnerTimer.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2644963003
Cr-Commit-Position: refs/heads/master@{#444961}

[modify] https://crrev.com/2a7b738269926265f91687afaf177b77814f3b99/third_party/WebKit/Source/web/WebLeakDetector.cpp

Project Member

Comment 34 by bugdroid1@chromium.org, Jan 20 2017

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

commit 2ca43b1c99640f0578ba96397f820e1a0cfe7485
Author: jbroman <jbroman@chromium.org>
Date: Fri Jan 20 03:12:26 2017

Move WebAssociatedURLLoaderImpl's error timer to the frame's loading task runner.

If some user turns out to need these callbacks even when the frame is
suspended or destroyed, it should be moved instead to the general-purpose
loading task runner.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2646893002
Cr-Commit-Position: refs/heads/master@{#444963}

[modify] https://crrev.com/2ca43b1c99640f0578ba96397f820e1a0cfe7485/third_party/WebKit/Source/web/WebAssociatedURLLoaderImpl.cpp

Project Member

Comment 37 by bugdroid1@chromium.org, Jan 20 2017

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

commit 6eea7028fec55889e5c52663083f25353e6b93ad
Author: gogag2 <gogag2@gmail.com>
Date: Fri Jan 20 06:16:40 2017

Move RTCDTMFSender timer to frame-specific TaskRunnerTimer.

Move RTCDTMFSender timer m_scheduledEventTimer to frame-specific TaskRunnerTimer.
This associates it with the frame's Networking timer task queue.
"The task source for the tasks listed in this section is the networking
task source."[1]

[1] The spec link: https://www.w3.org/TR/webrtc/#operation

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
  https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2648543002
Cr-Commit-Position: refs/heads/master@{#444996}

[modify] https://crrev.com/6eea7028fec55889e5c52663083f25353e6b93ad/third_party/WebKit/Source/modules/peerconnection/RTCDTMFSender.cpp
[modify] https://crrev.com/6eea7028fec55889e5c52663083f25353e6b93ad/third_party/WebKit/Source/modules/peerconnection/RTCDTMFSender.h

Project Member

Comment 38 by bugdroid1@chromium.org, Jan 20 2017

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

commit 674ab769d179a6184ead4d616ee6b7e10cf39bf2
Author: gogag2 <gogag2@gmail.com>
Date: Fri Jan 20 06:18:07 2017

Move RTCDataChannel timer to frame-specific TaskRunnerTimer.

Move RTCDataChannel timer m_scheduledEventTimer to frame-specific TaskRunnerTimer.
This associates it with the frame's Networking timer task queue.
"The task source for the tasks listed in this section is the networking
task source."[1]

[1] The spec link: https://www.w3.org/TR/webrtc/#operation

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
  https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2647703002
Cr-Commit-Position: refs/heads/master@{#444997}

[modify] https://crrev.com/674ab769d179a6184ead4d616ee6b7e10cf39bf2/third_party/WebKit/Source/modules/peerconnection/RTCDataChannel.cpp
[modify] https://crrev.com/674ab769d179a6184ead4d616ee6b7e10cf39bf2/third_party/WebKit/Source/modules/peerconnection/RTCDataChannel.h

Project Member

Comment 39 by bugdroid1@chromium.org, Jan 20 2017

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

commit 729562d9dd9a2e36b49039df31a94a09027e3674
Author: gogag2 <gogag2@gmail.com>
Date: Fri Jan 20 06:19:31 2017

Move VRDisplay timer to frame-specific TaskRunnerTimer.

Move VRDisplay timer m_fullscreenCheckTimer to frame-specific TaskRunnerTimer.
This associates it with the frame's UnspecedTimer timer task queue.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2640793008
Cr-Commit-Position: refs/heads/master@{#444998}

[modify] https://crrev.com/729562d9dd9a2e36b49039df31a94a09027e3674/third_party/WebKit/Source/modules/vr/VRDisplay.cpp
[modify] https://crrev.com/729562d9dd9a2e36b49039df31a94a09027e3674/third_party/WebKit/Source/modules/vr/VRDisplay.h

Project Member

Comment 40 by bugdroid1@chromium.org, Jan 20 2017

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

commit ea52f748a72ae7bb2a0f0286bf66a021b622fe9a
Author: gogag2 <gogag2@gmail.com>
Date: Fri Jan 20 06:22:25 2017

Move EventSource timer to frame-specific TaskRunnerTimer.

Move EventSource timer m_connectTimer to frame-specific TaskRunnerTimer.
This associates it with the frame's RemoteEvent timer task queue.
"The task source for any tasks that are queued by EventSource objects
is the remote event task source."[1]

[1] The spec link: https://html.spec.whatwg.org/#sse-processing-model

This CL is migrating tasks/timers from a per-renderer scheduler to a
per-frame
scheduler:
  https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2641003004
Cr-Commit-Position: refs/heads/master@{#444999}

[modify] https://crrev.com/ea52f748a72ae7bb2a0f0286bf66a021b622fe9a/third_party/WebKit/Source/modules/eventsource/EventSource.cpp
[modify] https://crrev.com/ea52f748a72ae7bb2a0f0286bf66a021b622fe9a/third_party/WebKit/Source/modules/eventsource/EventSource.h

Project Member

Comment 41 by bugdroid1@chromium.org, Jan 20 2017

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

commit c2e4a5276554d15581395ce6b5aec9023f0c6031
Author: haraken <haraken@chromium.org>
Date: Fri Jan 20 07:32:02 2017

Revert of Move ImageLoader timer to frame-specific TaskRunnerTimer. (patchset #2 id:20001 of https://codereview.chromium.org/2642103002/ )

Reason for revert:
To the best of my knowledge, I guess this CL is going to be a culprit of the memory leak:

https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/1645

Let me revert this CL and see how it goes. I'll reland it if my guess is wrong.

Original issue's description:
> Move ImageLoader timer to frame-specific TaskRunnerTimer.
>
> Move ImageLoader timer m_derefElementTimer to frame-specific TaskRunnerTimer.
> This associates it with the frame's Networking timer task queue.
>
> BUG= 624694 
>
> Review-Url: https://codereview.chromium.org/2642103002
> Cr-Commit-Position: refs/heads/master@{#444927}
> Committed: https://chromium.googlesource.com/chromium/src/+/ce1a9c0e454b08c96ca73788a1b4dccb405ce027

TBR=gogag2@gmail.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 624694 

Review-Url: https://codereview.chromium.org/2644933003
Cr-Commit-Position: refs/heads/master@{#445007}

[modify] https://crrev.com/c2e4a5276554d15581395ce6b5aec9023f0c6031/third_party/WebKit/Source/core/loader/ImageLoader.cpp
[modify] https://crrev.com/c2e4a5276554d15581395ce6b5aec9023f0c6031/third_party/WebKit/Source/core/loader/ImageLoader.h

Project Member

Comment 42 by bugdroid1@chromium.org, Jan 20 2017

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

commit b94f7d0a43b09ec3d70328c53d5a08312b1e0baf
Author: jinho.bang <jinho.bang@samsung.com>
Date: Fri Jan 20 11:15:11 2017

PaymentRequest: Move m_completeTimer to frame-specific TaskRunnerTimer.

Move m_completeTimer to frame-specific TaskRunnerTimer. This associates it with
the frame's MiscPlatformAPI timer task.

The spec link:
  https://w3c.github.io/browser-payment-api/#complete-method

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
  https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2640233003
Cr-Commit-Position: refs/heads/master@{#445036}

[modify] https://crrev.com/b94f7d0a43b09ec3d70328c53d5a08312b1e0baf/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
[modify] https://crrev.com/b94f7d0a43b09ec3d70328c53d5a08312b1e0baf/third_party/WebKit/Source/modules/payments/PaymentRequest.h

Project Member

Comment 43 by bugdroid1@chromium.org, Jan 20 2017

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

commit ff4edc10916a681cb2f6028c149f9755d8024bf4
Author: jinho.bang <jinho.bang@samsung.com>
Date: Fri Jan 20 14:30:12 2017

PaymentRequest: Move m_abortTimer to frame-specific TaskRunnerTimer.

Move m_abortTimer to frame-specific TaskRunnerTimer. This associates it with
the frame's MiscPlatformAPI timer task. This patch also makes the signature of
constructor take ExecutionContext to get the frame object. This CL includes
IDL change but it's not breaking existing web.

The spec link:
  https://w3c.github.io/browser-payment-api/#updatewith-method

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
  https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2640293002
Cr-Commit-Position: refs/heads/master@{#445050}

[modify] https://crrev.com/ff4edc10916a681cb2f6028c149f9755d8024bf4/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
[modify] https://crrev.com/ff4edc10916a681cb2f6028c149f9755d8024bf4/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.cpp
[modify] https://crrev.com/ff4edc10916a681cb2f6028c149f9755d8024bf4/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.h
[modify] https://crrev.com/ff4edc10916a681cb2f6028c149f9755d8024bf4/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.idl
[modify] https://crrev.com/ff4edc10916a681cb2f6028c149f9755d8024bf4/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEventTest.cpp

Project Member

Comment 44 by bugdroid1@chromium.org, Jan 20 2017

Project Member

Comment 45 by bugdroid1@chromium.org, Jan 20 2017

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

commit cd5c59cdcc860f2b31f4dea6fd17790559ffb615
Author: jbroman <jbroman@chromium.org>
Date: Fri Jan 20 17:27:33 2017

Move ScrollableArea timer to TaskRunnerTimer.

Choice of task runner is delegated to the subclass, which may know about a
frame-specific timer task runner.

BUG= 624694 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2644243002
Cr-Commit-Position: refs/heads/master@{#445084}

[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/frame/RootFrameViewport.cpp
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/frame/RootFrameViewport.h
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/frame/RootFrameViewportTest.cpp
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/frame/VisualViewport.cpp
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/frame/VisualViewport.h
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/platform/graphics/GraphicsLayerTest.cpp
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/platform/scroll/ScrollAnimatorTest.cpp
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/platform/scroll/ScrollableArea.h
[modify] https://crrev.com/cd5c59cdcc860f2b31f4dea6fd17790559ffb615/third_party/WebKit/Source/platform/scroll/ScrollbarTestSuite.h

Project Member

Comment 46 by bugdroid1@chromium.org, Jan 20 2017

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

commit fe223562c2b41ede75f55b38ad190c54098ac2af
Author: jbroman <jbroman@chromium.org>
Date: Fri Jan 20 18:12:16 2017

Have Scrollbar's timer use the same task runner as its scrollable area.

This allows the autoscroll timer to be throttled on a per-frame basis.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2645973004
Cr-Commit-Position: refs/heads/master@{#445091}

[modify] https://crrev.com/fe223562c2b41ede75f55b38ad190c54098ac2af/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
[modify] https://crrev.com/fe223562c2b41ede75f55b38ad190c54098ac2af/third_party/WebKit/Source/platform/scroll/Scrollbar.h

Project Member

Comment 47 by bugdroid1@chromium.org, Jan 20 2017

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

commit 79c8fcfec38b8d2f59fa71c9a073717b37bb48ee
Author: hs1217.lee <hs1217.lee@samsung.com>
Date: Fri Jan 20 22:49:05 2017

Migrate Timer to TaskRunnerTimer in TextTrackLoader

Migrate Timer to TaskRunnerTimer in TextTrackLoader.
TextTrackLoader is associated with networking task source.
Spec that defines :
https://html.spec.whatwg.org/multipage/embedded-content.html#sourcing-out-of-band-text-tracks

BUG= 624694 

Review-Url: https://codereview.chromium.org/2646443012
Cr-Commit-Position: refs/heads/master@{#445196}

[modify] https://crrev.com/79c8fcfec38b8d2f59fa71c9a073717b37bb48ee/third_party/WebKit/Source/core/loader/TextTrackLoader.cpp
[modify] https://crrev.com/79c8fcfec38b8d2f59fa71c9a073717b37bb48ee/third_party/WebKit/Source/core/loader/TextTrackLoader.h

Project Member

Comment 48 by bugdroid1@chromium.org, Jan 21 2017

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

commit c3d95b718b20fad7919e64d28faf6d3a45d1a76d
Author: hs1217.lee <hs1217.lee@samsung.com>
Date: Sat Jan 21 03:36:30 2017

Migrate Timer to TaskRunnerTimer in AXObjectCacheImpl.

Migrate Timer to TaskRunnerTimer in AXObjectCacheImpl.
UnspecedTimer was choosed as TaskType.
because it is not speced task.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2641323002
Cr-Commit-Position: refs/heads/master@{#445266}

[modify] https://crrev.com/c3d95b718b20fad7919e64d28faf6d3a45d1a76d/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp
[modify] https://crrev.com/c3d95b718b20fad7919e64d28faf6d3a45d1a76d/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.h

Project Member

Comment 49 by bugdroid1@chromium.org, Jan 21 2017

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

commit 7ca861148c5375e15b85831ee2826a818d682c93
Author: jbroman <jbroman@chromium.org>
Date: Sat Jan 21 07:03:20 2017

Move PresentationAttributeCacheCleaner timer to main thread's timer task runner.

This is shared by multiple frames in the renderer main thread. Conceptually
it's UnspecedTimer, but since it's not associated with any particular frame,
and we know it will be used on the main thread, we can just use the main
thread's timer task queue.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2647703006
Cr-Commit-Position: refs/heads/master@{#445277}

[modify] https://crrev.com/7ca861148c5375e15b85831ee2826a818d682c93/third_party/WebKit/Source/core/dom/PresentationAttributeStyle.cpp

Project Member

Comment 50 by bugdroid1@chromium.org, Jan 23 2017

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

commit 3e95a159520fb979684df2276ab86f1da74c3704
Author: gogag2 <gogag2@gmail.com>
Date: Mon Jan 23 01:47:01 2017

Move MediaKeySession timer to frame-specific TaskRunnerTimer.

Move MediaKeySession timer m_actionTimer to frame-specific TaskRunnerTimer.
This associates it with the frame's MiscPlatformAPI timer task queue.
The spec does not explicitly specify what task source it should use.[1]

[1] The spec link: https://w3c.github.io/encrypted-media/#remove

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2643993004
Cr-Commit-Position: refs/heads/master@{#445312}

[modify] https://crrev.com/3e95a159520fb979684df2276ab86f1da74c3704/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp
[modify] https://crrev.com/3e95a159520fb979684df2276ab86f1da74c3704/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.h

Project Member

Comment 51 by bugdroid1@chromium.org, Jan 23 2017

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

commit 2f00f12f09c74268db007414c0642e49406c39c2
Author: hs1217.lee <hs1217.lee@samsung.com>
Date: Mon Jan 23 02:24:06 2017

Migrate Timer to TaskRunnerTimer in DOMWebSocket.

Migrate Timer to TaskRunnerTimer in DOMWebSocket.
The task source for all tasks queued in this section
is the WebSocket task source.
Spec that defines:
https://html.spec.whatwg.org/multipage/comms.html#feedback-from-the-protocol

BUG= 624694 

Review-Url: https://codereview.chromium.org/2647703007
Cr-Commit-Position: refs/heads/master@{#445315}

[modify] https://crrev.com/2f00f12f09c74268db007414c0642e49406c39c2/third_party/WebKit/Source/modules/websockets/DOMWebSocket.cpp
[modify] https://crrev.com/2f00f12f09c74268db007414c0642e49406c39c2/third_party/WebKit/Source/modules/websockets/DOMWebSocket.h

Project Member

Comment 52 by bugdroid1@chromium.org, Jan 23 2017

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

commit 49db2761173c14255f053871fb0b862dcf57fda3
Author: csharrison <csharrison@chromium.org>
Date: Mon Jan 23 15:39:38 2017

Revert of Use TaskRunnerTimer in PingLoader (patchset #1 id:1 of https://codereview.chromium.org/2646523002/ )

Reason for revert:
Pingloader should have its timeout persist after frame destruction.

Original issue's description:
> Use TaskRunnerTimer in PingLoader
>
> Blocker for the per-frame scheduler.
>
> BUG= 624694 
>
> Review-Url: https://codereview.chromium.org/2646523002
> Cr-Commit-Position: refs/heads/master@{#444627}
> Committed: https://chromium.googlesource.com/chromium/src/+/81f01201993a78e1c89d70f11bc90b636a53cc99

TBR=yhirano@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 624694 , 683900 

Review-Url: https://codereview.chromium.org/2654463002
Cr-Commit-Position: refs/heads/master@{#445380}

[modify] https://crrev.com/49db2761173c14255f053871fb0b862dcf57fda3/third_party/WebKit/Source/core/loader/PingLoader.cpp
[modify] https://crrev.com/49db2761173c14255f053871fb0b862dcf57fda3/third_party/WebKit/Source/core/loader/PingLoader.h

Project Member

Comment 54 by bugdroid1@chromium.org, Jan 23 2017

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

commit aa9685be1655d6381be79883c154c46b22d0b0fb
Author: hs1217.lee <hs1217.lee@samsung.com>
Date: Mon Jan 23 22:41:49 2017

Migrate Timer to TaskRunnerTimer in InspectorNetworkAgent

Migrate Timer to TaskRunnerTimer in InspectorNetworkAgent
Inspector is internal things. so it is not speced.
UnspecedLoading was choosed as TaskType.
because it is task about XHR.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2648083002
Cr-Commit-Position: refs/heads/master@{#445521}

[modify] https://crrev.com/aa9685be1655d6381be79883c154c46b22d0b0fb/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp
[modify] https://crrev.com/aa9685be1655d6381be79883c154c46b22d0b0fb/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.h

Project Member

Comment 55 by bugdroid1@chromium.org, Jan 24 2017

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

commit 4b273e243bf047778e36cbc948f72ae13f7934cc
Author: dcheng <dcheng@chromium.org>
Date: Tue Jan 24 08:43:22 2017

Move LayoutProgress timer to UnspecedTimer task source.

Based on https://whatwg.org/c/#the-progress-element, there's
no specified task source since this is an underlying
implementation detail of how the UI is presented.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2650033002
Cr-Commit-Position: refs/heads/master@{#445683}

[modify] https://crrev.com/4b273e243bf047778e36cbc948f72ae13f7934cc/third_party/WebKit/Source/core/layout/LayoutProgress.cpp
[modify] https://crrev.com/4b273e243bf047778e36cbc948f72ae13f7934cc/third_party/WebKit/Source/core/layout/LayoutProgress.h

Project Member

Comment 57 by bugdroid1@chromium.org, Jan 25 2017

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

commit 2d768703338ba02209fff286cf0859fb6f6e0bcc
Author: gogag2 <gogag2@gmail.com>
Date: Wed Jan 25 03:04:41 2017

Move MediaKeys timer to frame-specific TaskRunnerTimer.

Move MediaKeys timer m_timer to frame-specific TaskRunnerTimer.
This associates it with the frame's MiscPlatformAPI timer task queue.
The spec does not explicitly specify what task source it should use.[1]

[1] The spec link: https://w3c.github.io/encrypted-media/#idl-def-mediakeys

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2641003005
Cr-Commit-Position: refs/heads/master@{#445923}

[modify] https://crrev.com/2d768703338ba02209fff286cf0859fb6f6e0bcc/third_party/WebKit/Source/modules/encryptedmedia/MediaKeys.cpp
[modify] https://crrev.com/2d768703338ba02209fff286cf0859fb6f6e0bcc/third_party/WebKit/Source/modules/encryptedmedia/MediaKeys.h

Project Member

Comment 58 by bugdroid1@chromium.org, Jan 25 2017

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

commit 25c3eba7f5229bf15b15cea62165fcc5e5dbb6e0
Author: gogag2 <gogag2@gmail.com>
Date: Wed Jan 25 12:56:59 2017

Move MediaMetadata timer to frame-specific TaskRunnerTimer.

Move MediaMetadata timer m_notifySessionTimer to frame-specific
TaskRunnerTimer.
This associates it with the frame's MiscPlatformAPI timer task queue.
The spec does not explicitly specify what task source it should use.[1]

[1] The spec link: https://wicg.github.io/mediasession/#the-mediametadata-interface

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
  https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2642823006
Cr-Commit-Position: refs/heads/master@{#446006}

[modify] https://crrev.com/25c3eba7f5229bf15b15cea62165fcc5e5dbb6e0/third_party/WebKit/Source/modules/mediasession/MediaMetadata.cpp
[modify] https://crrev.com/25c3eba7f5229bf15b15cea62165fcc5e5dbb6e0/third_party/WebKit/Source/modules/mediasession/MediaMetadata.h

Project Member

Comment 59 by bugdroid1@chromium.org, Jan 25 2017

Labels: merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d2d32dbc7514e959b3dd4c8b739a13d3f6d80a7b

commit d2d32dbc7514e959b3dd4c8b739a13d3f6d80a7b
Author: csharrison <csharrison@chromium.org>
Date: Wed Jan 25 18:28:18 2017

Revert of Use TaskRunnerTimer in PingLoader
(patchset #1 id:1 of https://codereview.chromium.org/2646523002/ )

Reason for revert:
Pingloader should have its timeout persist after frame destruction.

Original issue's description:
> Use TaskRunnerTimer in PingLoader
>
> Blocker for the per-frame scheduler.
>
> BUG= 624694 
>
> Review-Url: https://codereview.chromium.org/2646523002
> Cr-Commit-Position: refs/heads/master@{#444627}
> Committed: https://chromium.googlesource.com/chromium/src/+/81f01201993a78e1c89d70f11bc90b636a53cc99

TBR=yhirano@chromium.org, kinuko@chromium.org
BUG= 624694 , 683900 
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2654463002
Cr-Commit-Position: refs/heads/master@{#445380}
(cherry picked from commit 49db2761173c14255f053871fb0b862dcf57fda3)

Review-Url: https://codereview.chromium.org/2652253003
Cr-Commit-Position: refs/branch-heads/2987@{#91}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/d2d32dbc7514e959b3dd4c8b739a13d3f6d80a7b/third_party/WebKit/Source/core/loader/PingLoader.cpp
[modify] https://crrev.com/d2d32dbc7514e959b3dd4c8b739a13d3f6d80a7b/third_party/WebKit/Source/core/loader/PingLoader.h

Project Member

Comment 60 by bugdroid1@chromium.org, Feb 1 2017

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

commit b7d6f926eb0cf4e99dc6daac6e412381ae761a2e
Author: joelhockey <joelhockey@chromium.org>
Date: Wed Feb 01 12:32:40 2017

Change PlatformEventController to take LocalFrame rather than Page.

This change is required to convert the Timer to a per-frame scheduler in
https://codereview.chromium.org/2648433003.
All callers are currently converting frame/document objects to page in any case, so there is little change needed.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2645823002
Cr-Commit-Position: refs/heads/master@{#447492}

[modify] https://crrev.com/b7d6f926eb0cf4e99dc6daac6e412381ae761a2e/third_party/WebKit/Source/core/frame/DeviceSingleWindowEventController.cpp
[modify] https://crrev.com/b7d6f926eb0cf4e99dc6daac6e412381ae761a2e/third_party/WebKit/Source/core/frame/PlatformEventController.cpp
[modify] https://crrev.com/b7d6f926eb0cf4e99dc6daac6e412381ae761a2e/third_party/WebKit/Source/core/frame/PlatformEventController.h
[modify] https://crrev.com/b7d6f926eb0cf4e99dc6daac6e412381ae761a2e/third_party/WebKit/Source/modules/battery/BatteryManager.cpp
[modify] https://crrev.com/b7d6f926eb0cf4e99dc6daac6e412381ae761a2e/third_party/WebKit/Source/modules/gamepad/NavigatorGamepad.cpp
[modify] https://crrev.com/b7d6f926eb0cf4e99dc6daac6e412381ae761a2e/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationControllerImpl.cpp

Project Member

Comment 63 by bugdroid1@chromium.org, Feb 3 2017

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

commit 97a781d90401a977e45add57359fe5df435ee317
Author: kainino <kainino@chromium.org>
Date: Fri Feb 03 06:34:28 2017

Migrate WebGL timers to TaskRunnerTimer

This migrates the WebGL task timers dispatchContextLostEventTimer and restoreTimer to TaskRunnerTimer and correctly puts them in the WebGL task source.

BUG= 624694 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2668573002
Cr-Commit-Position: refs/heads/master@{#447951}

[modify] https://crrev.com/97a781d90401a977e45add57359fe5df435ee317/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp
[modify] https://crrev.com/97a781d90401a977e45add57359fe5df435ee317/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h
[modify] https://crrev.com/97a781d90401a977e45add57359fe5df435ee317/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/97a781d90401a977e45add57359fe5df435ee317/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h

Project Member

Comment 64 by bugdroid1@chromium.org, Feb 5 2017

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

commit 89d445684f181b98567d6181670b6f84de2c981d
Author: gogag2 <gogag2@gmail.com>
Date: Sun Feb 05 15:33:02 2017

Move SetSinkIdResolver timer to frame-specific TaskRunnerTimer.

Move SetSinkIdResolver timer m_timer to frame-specific TaskRunnerTimer.
This associates it with the frame's MiscPlatformAPI timer task queue.
It is a speced task, so we should use MiscPlatformAPI.[1]

[1] The spec link: https://w3c.github.io/mediacapture-output/#htmlmediaelement-
extensions

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2644153002
Cr-Commit-Position: refs/heads/master@{#448184}

[modify] https://crrev.com/89d445684f181b98567d6181670b6f84de2c981d/third_party/WebKit/Source/modules/audio_output_devices/HTMLMediaElementAudioOutputDevice.cpp

Project Member

Comment 65 by bugdroid1@chromium.org, Feb 6 2017

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

commit 753d0fd6e0a60c1f9a44215f40d98c13a4420d1f
Author: gogag2 <gogag2@gmail.com>
Date: Mon Feb 06 14:03:23 2017

Move SetMediaKeysHandler timer to frame-specific TaskRunnerTimer.

Move SetMediaKeysHandler timer m_timer to frame-specific TaskRunnerTimer.
This associates it with the frame's MiscPlatformAPI timer task queue.

Spec Link: https://w3c.github.io/encrypted-media/#htmlmediaelement-extensions

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
  https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2642193009
Cr-Commit-Position: refs/heads/master@{#448243}

[modify] https://crrev.com/753d0fd6e0a60c1f9a44215f40d98c13a4420d1f/third_party/WebKit/Source/modules/encryptedmedia/HTMLMediaElementEncryptedMedia.cpp

Project Member

Comment 66 by bugdroid1@chromium.org, Feb 6 2017

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

commit 0a80c26dfe96dc2ac2233c0840fe10bbb3c67dad
Author: gogag2 <gogag2@gmail.com>
Date: Mon Feb 06 16:23:48 2017

Move CanvasRenderingContext2D timer to frame-specific TaskRunnerTimer.

Move CanvasRenderingContext2D timers to frame-specific TaskRunnerTimer.
This associates it with the frame's CanvasBlobSerialization timer task queue.

The spec link:
https://html.spec.whatwg.org/multipage/scripting.html#canvasrenderingcontext2d

This CL is migrating tasks/timers from a per-renderer scheduler to a per-frame
scheduler:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/80dsbEEOcWY

BUG= 624694 

Review-Url: https://codereview.chromium.org/2649783002
Cr-Commit-Position: refs/heads/master@{#448268}

[modify] https://crrev.com/0a80c26dfe96dc2ac2233c0840fe10bbb3c67dad/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/0a80c26dfe96dc2ac2233c0840fe10bbb3c67dad/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h

Project Member

Comment 69 by bugdroid1@chromium.org, Feb 22 2017

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

commit 446e84d172a18f95ddae562e55c4f61f241a421b
Author: joelhockey <joelhockey@chromium.org>
Date: Wed Feb 22 23:55:43 2017

Update references to spec (mostly 4.8.10 -> 4.8.12).

BUG= 624694 

Review-Url: https://codereview.chromium.org/2706333003
Cr-Commit-Position: refs/heads/master@{#452284}

[modify] https://crrev.com/446e84d172a18f95ddae562e55c4f61f241a421b/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp

Project Member

Comment 70 by bugdroid1@chromium.org, Feb 23 2017

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

commit 99fc4ddff50e25a6c65b2ab95a3d6d2cbe1c226f
Author: joelhockey <joelhockey@chromium.org>
Date: Thu Feb 23 00:37:49 2017

Convert FrameView timer to UnspecedTimer frame-specific timer.

Convert FrameView timer to UnspecedTimer frame-specific timer.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2705403003
Cr-Commit-Position: refs/heads/master@{#452310}

[modify] https://crrev.com/99fc4ddff50e25a6c65b2ab95a3d6d2cbe1c226f/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/99fc4ddff50e25a6c65b2ab95a3d6d2cbe1c226f/third_party/WebKit/Source/core/frame/FrameView.h

Project Member

Comment 71 by bugdroid1@chromium.org, Feb 24 2017

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

commit 3203af1cc27fd76dd3ff9e129c385d6176a505c0
Author: joelhockey <joelhockey@chromium.org>
Date: Fri Feb 24 04:27:28 2017

Convert SpinButtonElement timer to UnspecedTimer frame-specific timer.

SpinButtonElement is an internal implementation of Button UI and is not covered by the spec.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2713553003
Cr-Commit-Position: refs/heads/master@{#452750}

[modify] https://crrev.com/3203af1cc27fd76dd3ff9e129c385d6176a505c0/third_party/WebKit/Source/core/html/shadow/SpinButtonElement.cpp
[modify] https://crrev.com/3203af1cc27fd76dd3ff9e129c385d6176a505c0/third_party/WebKit/Source/core/html/shadow/SpinButtonElement.h

Project Member

Comment 72 by bugdroid1@chromium.org, Feb 28 2017

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

commit d071171e53f710f3ac7870f2de47d7bd678720e5
Author: joelhockey <joelhockey@chromium.org>
Date: Tue Feb 28 06:18:17 2017

Convert m_deferredLoadTimer to Unthrottled frame-specific timer and include in didMoveToNewDocument.

I'm not actually sure what type of timer should be used.
I've used Unthrottled to match other timers in this class.  It appears that this timer was missed in the previous conversion for this class https://codereview.chromium.org/2554113002.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2717263002
Cr-Commit-Position: refs/heads/master@{#453520}

[modify] https://crrev.com/d071171e53f710f3ac7870f2de47d7bd678720e5/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp
[modify] https://crrev.com/d071171e53f710f3ac7870f2de47d7bd678720e5/third_party/WebKit/Source/core/html/HTMLMediaElement.h

Project Member

Comment 73 by bugdroid1@chromium.org, Mar 1 2017

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

commit 3b4238d901c571fad6799a1427adc96779067e43
Author: slangley <slangley@chromium.org>
Date: Wed Mar 01 07:43:27 2017

Convert ExternalPopupMenu Timer to TaskRunnerTimer.

This is part of a larger effort to convert usages of global Timers to frame-specific timers.

As ExternalPopupMenu is not spec'd I have used UnspecifiedTimer as the type.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2643623002
Cr-Commit-Position: refs/heads/master@{#453876}

[modify] https://crrev.com/3b4238d901c571fad6799a1427adc96779067e43/third_party/WebKit/Source/web/ExternalPopupMenu.cpp
[modify] https://crrev.com/3b4238d901c571fad6799a1427adc96779067e43/third_party/WebKit/Source/web/ExternalPopupMenu.h

Project Member

Comment 74 by bugdroid1@chromium.org, Mar 1 2017

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

commit b1493a9acfbd71a7ced698bc0b989f57a7082c7d
Author: slangley <slangley@chromium.org>
Date: Wed Mar 01 11:43:35 2017

Convert timer for InspectorOverlay to TaskRunnerTimer.

This is part of a larger effort to convert usages of global Timers to frame-specific timers.

As ExternalPopupMenu is not spec'd I have used UnspecifiedTimer as the type.

BUG= 624694 

Review-Url: https://codereview.chromium.org/2644803002
Cr-Commit-Position: refs/heads/master@{#453908}

[modify] https://crrev.com/b1493a9acfbd71a7ced698bc0b989f57a7082c7d/third_party/WebKit/Source/web/InspectorOverlay.cpp
[modify] https://crrev.com/b1493a9acfbd71a7ced698bc0b989f57a7082c7d/third_party/WebKit/Source/web/InspectorOverlay.h

Cc: hajimehoshi@chromium.org
This is needed to remove the default timer task runner usages. I'll take a look.
Blocking: 806964
Blocking: -806964 804649
Blocking: -804649 804694
oops sorry for spamming...
Project Member

Comment 80 by bugdroid1@chromium.org, Feb 2 2018

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

commit 883900203b848aee255dcbb39d08ade423afa8d2
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Fri Feb 02 08:34:37 2018

svg: Replace Timer usages with TaskRunnerTimer in SVGImageTest

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I16585f0cf479191f33fdac9a7afc924cd077b908
Reviewed-on: https://chromium-review.googlesource.com/897318
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533992}
[modify] https://crrev.com/883900203b848aee255dcbb39d08ade423afa8d2/third_party/WebKit/Source/core/svg/graphics/SVGImageTest.cpp

Project Member

Comment 81 by bugdroid1@chromium.org, Feb 5 2018

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

commit 62168119fd44f7d65aeba38729054975b2774c07
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Mon Feb 05 08:07:19 2018

Replace Timer usages with TaskRunnerTimer in V8GCForContextDispose

This CL also introduces WebScheduler::DefaultTaskRunner.

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: I0ccbb7b0ab3e5706eb7f1bcf3dff8f913d8a268f
Reviewed-on: https://chromium-review.googlesource.com/897175
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534347}
[modify] https://crrev.com/62168119fd44f7d65aeba38729054975b2774c07/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp
[modify] https://crrev.com/62168119fd44f7d65aeba38729054975b2774c07/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.h

Project Member

Comment 82 by bugdroid1@chromium.org, Feb 6 2018

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

commit bdaadea6a229bc677230144a7d778aa5f3efab74
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Feb 06 09:21:47 2018

inspector: Replace Timer usages with TaskRunnerTimer in ThreadDebugger

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: Ia70a8e31394d9d3e6897271a0aa88027824467ef
Reviewed-on: https://chromium-review.googlesource.com/901062
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534666}
[modify] https://crrev.com/bdaadea6a229bc677230144a7d778aa5f3efab74/third_party/WebKit/Source/core/inspector/ThreadDebugger.cpp
[modify] https://crrev.com/bdaadea6a229bc677230144a7d778aa5f3efab74/third_party/WebKit/Source/core/inspector/ThreadDebugger.h

Project Member

Comment 83 by bugdroid1@chromium.org, Feb 6 2018

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

commit dff30f28d00e248408594bff53fcfdaf6579eb6c
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Feb 06 10:03:06 2018

inspector: Replace Timer usages with TaskRunnerTimer in InspectorRevalidateDOMTask

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: I0c9b53b15ddca0b65312f599f1cc83ace14f8b75
Reviewed-on: https://chromium-review.googlesource.com/896678
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534671}
[modify] https://crrev.com/dff30f28d00e248408594bff53fcfdaf6579eb6c/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp

Project Member

Comment 84 by bugdroid1@chromium.org, Feb 8 2018

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

commit 6ed531bd5ae325f1964ab2db962c4bf75625c95f
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Thu Feb 08 05:01:47 2018

dom: Remove PresentationAttributeCacheCleaner

PresentationAttributeCacheCleaner was introduced before purging memory
was introduced.

This CL removes PresentationAttributeCacheCleaner to clear cache soon
instead of delyaing with timers.

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: I7ed775d4b998be82e35d8eefe1f7bd4e0d0145a2
Reviewed-on: https://chromium-review.googlesource.com/903942
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535306}
[modify] https://crrev.com/6ed531bd5ae325f1964ab2db962c4bf75625c95f/third_party/WebKit/Source/core/dom/PresentationAttributeStyle.cpp

Project Member

Comment 85 by bugdroid1@chromium.org, Feb 10 2018

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

commit 8e466cc1176ea479a372feebf7ad76d94586bcb7
Author: Abhishek Arya <inferno@chromium.org>
Date: Sat Feb 10 01:55:23 2018

Revert "dom: Remove PresentationAttributeCacheCleaner"

This reverts commit 6ed531bd5ae325f1964ab2db962c4bf75625c95f.

Reason for revert: Caused multiple security regressions, see  bug 810368 .

Original change's description:
> dom: Remove PresentationAttributeCacheCleaner
> 
> PresentationAttributeCacheCleaner was introduced before purging memory
> was introduced.
> 
> This CL removes PresentationAttributeCacheCleaner to clear cache soon
> instead of delyaing with timers.
> 
> This is part of efforts to replace default timer task runners with
> other appropriate task runners in the renderer.
> 
> Bug:  624694 ,  804694 
> Change-Id: I7ed775d4b998be82e35d8eefe1f7bd4e0d0145a2
> Reviewed-on: https://chromium-review.googlesource.com/903942
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Reviewed-by: Hayato Ito <hayato@chromium.org>
> Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#535306}

TBR=jbroman@chromium.org,hayato@chromium.org,hajimehoshi@chromium.org,altimin@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  624694 ,  804694 
Change-Id: I921fea361197deefd45968c07917cb5bc6fae0a4
Reviewed-on: https://chromium-review.googlesource.com/912091
Reviewed-by: Abhishek Arya <inferno@chromium.org>
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535926}
[modify] https://crrev.com/8e466cc1176ea479a372feebf7ad76d94586bcb7/third_party/WebKit/Source/core/dom/PresentationAttributeStyle.cpp

Project Member

Comment 86 by bugdroid1@chromium.org, Feb 14 2018

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

commit a9c4e0fda8e1bd1798230e5f0050052c4b185344
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Wed Feb 14 03:29:04 2018

dom: Reland: Remove PresentationAttributeCacheCleaner

This CL is basically same as https://chromium-review.googlesource.com/c/chromium/src/+/903942,
but adds fix for use-after-poison.

PresentationAttributeCacheCleaner was introduced before purging memory
was introduced.

This CL removes PresentationAttributeCacheCleaner to clear cache soon
instead of delyaing with timers.

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: Ief4ab5240f1c93bf2383a7ed3de61391bd616f8c
Reviewed-on: https://chromium-review.googlesource.com/916162
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536636}
[modify] https://crrev.com/a9c4e0fda8e1bd1798230e5f0050052c4b185344/third_party/WebKit/Source/core/dom/PresentationAttributeStyle.cpp

Project Member

Comment 87 by bugdroid1@chromium.org, Feb 14 2018

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

commit b8d783fd236b00c429385e6e1960b491b689e8ff
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Wed Feb 14 17:26:41 2018

resource: Remove Timer usages from SVGImageChromeClient

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Id745eed43a86ce079fd870586ce6169b928ba1dd
Reviewed-on: https://chromium-review.googlesource.com/917884
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536744}
[modify] https://crrev.com/b8d783fd236b00c429385e6e1960b491b689e8ff/third_party/WebKit/Source/core/svg/graphics/SVGImageChromeClient.cpp

Project Member

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

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

commit 03c55b230fda790e170ae999c1b95b92aa3ea752
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Fri Feb 16 13:15:57 2018

Remove Timer usages from OomInterventionImpl

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Note that this CL adds a usage of default timer task queue via WebThread
::GetTaskRunner(), but I think this is inevitable.

Bug:  624694 ,  804694 
Change-Id: I3a18dc9908850096050de16c66f3c78aa0e3c666
Reviewed-on: https://chromium-review.googlesource.com/923833
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537293}
[modify] https://crrev.com/03c55b230fda790e170ae999c1b95b92aa3ea752/third_party/WebKit/Source/controller/OomInterventionImpl.cpp
[modify] https://crrev.com/03c55b230fda790e170ae999c1b95b92aa3ea752/third_party/WebKit/Source/controller/OomInterventionImpl.h

Project Member

Comment 89 by bugdroid1@chromium.org, Feb 19 2018

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

commit 085dec01a176f8f6fb3b1e9b1ff8a34cb8152b22
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Mon Feb 19 06:27:43 2018

resource: Remove Timer usages from ImageResource

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: Ic6983b6f0a2b5039db1473662d2e7627dd67b5e1
Reviewed-on: https://chromium-review.googlesource.com/903903
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537587}
[modify] https://crrev.com/085dec01a176f8f6fb3b1e9b1ff8a34cb8152b22/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
[modify] https://crrev.com/085dec01a176f8f6fb3b1e9b1ff8a34cb8152b22/third_party/WebKit/Source/core/loader/resource/ImageResource.h
[modify] https://crrev.com/085dec01a176f8f6fb3b1e9b1ff8a34cb8152b22/third_party/WebKit/Source/core/loader/resource/ImageResourceTest.cpp
[modify] https://crrev.com/085dec01a176f8f6fb3b1e9b1ff8a34cb8152b22/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
[modify] https://crrev.com/085dec01a176f8f6fb3b1e9b1ff8a34cb8152b22/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.h
[modify] https://crrev.com/085dec01a176f8f6fb3b1e9b1ff8a34cb8152b22/third_party/WebKit/Source/platform/loader/testing/MockFetchContext.h

Project Member

Comment 90 by bugdroid1@chromium.org, Feb 19 2018

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

commit 237ff18a05d60ee3a38c17b056d46c46f48079c6
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Mon Feb 19 09:39:27 2018

Remove Timer usages from TimerPerfTest

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: I72ba24174da8d1557d4963b0f4336b50b2f01667
Reviewed-on: https://chromium-review.googlesource.com/925124
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537613}
[modify] https://crrev.com/237ff18a05d60ee3a38c17b056d46c46f48079c6/third_party/WebKit/Source/platform/TimerPerfTest.cpp

Project Member

Comment 91 by bugdroid1@chromium.org, Feb 20 2018

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

commit 0dd08c73d1fbda302b813249cc68ba87575892ed
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Feb 20 05:37:29 2018

Remove Timer usages from TimerTest

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: I4115f9c706c735c73bdb14f7243c0e8142293028
Reviewed-on: https://chromium-review.googlesource.com/924101
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537722}
[modify] https://crrev.com/0dd08c73d1fbda302b813249cc68ba87575892ed/third_party/WebKit/Source/platform/TimerTest.cpp

Project Member

Comment 92 by bugdroid1@chromium.org, Feb 20 2018

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

commit 83da8673ea2e3ba3d27a7383b1b7cf27da565990
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Feb 20 06:10:49 2018

Remove Timer usages from ScrollableArea

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: Ibe59f2d49e197f7badc2832482de7849c4e2da09
Reviewed-on: https://chromium-review.googlesource.com/923875
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537725}
[modify] https://crrev.com/83da8673ea2e3ba3d27a7383b1b7cf27da565990/third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp

Owner: hajimehoshi@chromium.org
Project Member

Comment 94 by bugdroid1@chromium.org, Feb 20 2018

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

commit 18fbf5cdf41ac1870f34ec6e446ef4cb39143695
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Feb 20 10:31:07 2018

Remove Timer usages from ScrollableAreaMac

This is the counterpart for Mac of https://chromium-review.googlesource.com/c/chromium/src/+/923875

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: I9d3696671e71c44dff39da0c50c0a4b8e112e737
Reviewed-on: https://chromium-review.googlesource.com/925880
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537752}
[modify] https://crrev.com/18fbf5cdf41ac1870f34ec6e446ef4cb39143695/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm

Project Member

Comment 95 by bugdroid1@chromium.org, Feb 20 2018

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

commit dd192b2fbe0ee0f00d3a0b796b482deccd280621
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Feb 20 11:22:37 2018

Remove Timer

Now Timer is no longer used. Remove this.

This is part of efforts to replace default timer task runners with
other appropriate task runners in the renderer.

Bug:  624694 ,  804694 
Change-Id: Ic0a0eccdfb9f98c0be8024d4f39a9c2b2ade5c9f
Reviewed-on: https://chromium-review.googlesource.com/926083
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537756}
[modify] https://crrev.com/dd192b2fbe0ee0f00d3a0b796b482deccd280621/third_party/WebKit/Source/platform/Timer.h

Status: Fixed (was: Started)
Timer has gone!
Woohoo, my sincere thanks for the massive effort here! \o/
Excellent work!

Sign in to add a comment