New issue
Advanced search Search tips

Issue 892139 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

content_unittests: Blink scheduler initialisation is broken

Project Member Reported by altimin@chromium.org, Oct 4

Issue description

LazyThreadController does not support the fact that MessageLoop can be changed during the course of its life.

The root cause is that Blink can be initialized only once and it's per-test-suite and tests need to specialise MessageLoop, so they are per-test. 
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 5

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

commit 58ee05f6abcc0177e57a484ecce32d7bb28e19e0
Author: Alexander Timin <altimin@chromium.org>
Date: Fri Oct 05 11:44:33 2018

[content] Replace MessageLoop with ScopedTaskEnvironment in tests.

Replacing MessageLoop with ScopedTaskEnvironment will allow us to get
more accurate information about its lifetime and get rid of lazy
bindings.

R=jochen@chromium.org
CC=gab@chromium.org,alexclarke@chromium.org

BUG=892139,891670

Change-Id: I9ffc7fec4c34a87c205c4d65d6e0fb8c5e21b05e
Reviewed-on: https://chromium-review.googlesource.com/c/1261816
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597073}
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/chrome/browser/android/digital_asset_links/digital_asset_links_handler_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/chrome/browser/usb/usb_chooser_controller_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/appcache/appcache_update_job_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/browser_main_loop.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/byte_stream_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/compositor/reflector_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/devtools/devtools_video_consumer_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/dom_storage/dom_storage_area_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/dom_storage/dom_storage_context_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/host_zoom_map_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/loader/throttling_resource_handler_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/media/forwarding_audio_stream_factory_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/media/midi_host_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/renderer_host/embedded_frame_sink_provider_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/renderer_host/media/audio_input_stream_handle_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/shareable_file_reference_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/speech/speech_recognition_engine_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/streams/stream_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/streams/stream_url_request_job_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/browser/tracing/background_tracing_config_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/child/memory/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/common/service_manager/service_manager_connection_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/public/test/content_browser_test.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/public/test/test_browser_thread.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/public/test/test_browser_thread.h
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/public/test/test_browser_thread_bundle_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/public/test/test_renderer_host.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/public/test/test_renderer_host.h
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/dom_storage/dom_storage_cached_area_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/gpu/layer_tree_view_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/loader/resource_dispatcher_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/loader/url_loader_client_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/loader/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/loader/web_url_loader_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/audio/audio_output_ipc_factory_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/audio/mojo_audio_input_ipc_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/audio/mojo_audio_output_ipc_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/render_media_log_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/renderer_webaudiodevice_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/stream/media_stream_audio_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/stream/media_stream_constraints_util_audio_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/stream/processed_local_audio_source_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/webrtc/peer_connection_dependency_factory_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/webrtc/peer_connection_tracker_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/webrtc/rtc_rtp_transceiver_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/media/webrtc/webrtc_audio_renderer_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/pepper/pepper_device_enumeration_host_helper_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/pepper/pepper_graphics_2d_host_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/pepper/plugin_instance_throttler_impl_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/pepper/v8_var_converter_unittest.cc
[modify] https://crrev.com/58ee05f6abcc0177e57a484ecce32d7bb28e19e0/content/renderer/worker_thread_registry_unittest.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 16

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

commit 011df9a2c622216bc1988ed46e2e2edc9997ea05
Author: Alexander Timin <altimin@chromium.org>
Date: Tue Oct 16 20:15:57 2018

[scheduler] Add ScopedTaskEnvironment::LifetimeObserver

Add an ability to subscribe to the notifications about
ScopedTaskEnviroments being created and destroyed, which should help
with content unittests, where we have multiple ScopedTaskEnvironments
changing under one SequenceManager.

R=gab@chromium.org
CC=alexclarke@chromium.org
BUG=892139

Change-Id: Ib56fd0f1b465edd3a6dd6693b36ef3d8b9234140
Reviewed-on: https://chromium-review.googlesource.com/c/1251449
Commit-Queue: Alexander Timin <altimin@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600097}
[modify] https://crrev.com/011df9a2c622216bc1988ed46e2e2edc9997ea05/base/test/scoped_task_environment.cc
[modify] https://crrev.com/011df9a2c622216bc1988ed46e2e2edc9997ea05/base/test/scoped_task_environment.h
[modify] https://crrev.com/011df9a2c622216bc1988ed46e2e2edc9997ea05/base/test/scoped_task_environment_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Oct 18

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

commit 3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8
Author: Alexander Timin <altimin@chromium.org>
Date: Thu Oct 18 18:24:35 2018

[content] Follow-up to crrev.com/c/1261816.

Fix post-commit comments from gab@ in crrev.com/c/1261816:
- s/task_environment_.GetMainThreadTaskRunner/ThreadTaskRunnerHandle::Get/.
- std::move for pointers.
- C++11-style init for ScopedTaskEnviroment for UI and IO.

R=gab@chromium.org,jochen@chromium.org

BUG=892139,891670

Change-Id: I8403c53b34a5cfc2ef358eee982de88b60ec74cc
Reviewed-on: https://chromium-review.googlesource.com/c/1286144
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600834}
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/browser/host_zoom_map_impl_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/browser/loader/throttling_resource_handler_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/browser/media/midi_host_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/browser/streams/stream_url_request_job_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/browser/tracing/background_tracing_config_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/renderer/loader/url_response_body_consumer_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/renderer/media/renderer_webaudiodevice_impl_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/renderer/media/webrtc/webrtc_audio_renderer_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/renderer/media_capture_from_element/canvas_capture_handler_unittest.cc
[modify] https://crrev.com/3ac4c0efa54b4e6901872ccbd0a8d4fe3e5643a8/content/renderer/media_recorder/video_track_recorder_unittest.cc

Sign in to add a comment