Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(342)

Issue 2720403003: Remove the MessageLoop::DestructionObserver from mojo bindings. (Closed)

Created:
3 years, 9 months ago by Sam McNally
Modified:
3 years, 9 months ago
Reviewers:
CC:
chromium-reviews
Target Ref:
refs/pending/branch-heads/2987
Project:
chromium
Visibility:
Public.

Description

Remove the MessageLoop::DestructionObserver from mojo bindings. Mojo connection error handlers running during browser shutdown have been a cause of several crashes due to the error handlers running after their dependency (e.g. a KeyedService or a RenderProcessHost) has shut down. From a brief survey of users of StrongBinding, none appear to perform any tear-down that is necessary during process shutdown. Further, the vast majority of threads (and thread pools) run for close to the life of the process, so any these connection error handlers will generally only be triggered during shutdown. Thus, in production this causes slower, less-stable browser shutdowns without any real benefit. Additionally, SequencedTaskRunner does not have a MessageLoop and is not expected to support a similar destruction observer. Thus, to improve compatibility with future support for running mojo bindings on SequencedTaskRunners, this removes MessageLoop::DestructionObserver from mojo bindings. BUG=678155 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/2633053002 Cr-Commit-Position: refs/heads/master@{#447085} (cherry picked from commit 14e09ca425d1ee9572f69d29cdd00cff1a1b2bfc) Review-Url: https://codereview.chromium.org/2720403003 . Cr-Commit-Position: refs/branch-heads/2987@{#726} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} Committed: https://chromium.googlesource.com/chromium/src/+/85b81b128baf1166e8e604077e3da81fc2ffc1c3

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+60 lines, -66 lines) Patch
M android_webview/native/aw_contents_client_bridge.cc View 1 chunk +1 line, -0 lines 0 comments Download
M ash/common/cast_config_controller.h View 1 chunk +1 line, -0 lines 0 comments Download
M ash/common/media_controller.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/media/router/presentation_service_delegate_observers.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/battery_status/battery_monitor_integration_browsertest.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/browser_main_loop.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/gpu/browser_gpu_channel_host_factory.h View 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/gpu/browser_gpu_channel_host_factory.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M content/browser/renderer_host/offscreen_canvas_surface_manager_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M content/child/service_worker/service_worker_dispatcher_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/gpu/compositor_external_begin_frame_source.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/media/render_media_log_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/presentation/presentation_dispatcher.cc View 1 chunk +1 line, -0 lines 0 comments Download
M device/bluetooth/device_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M device/usb/mojo/device_impl_unittest.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/ipc/service/gpu_channel_manager.cc View 1 chunk +1 line, -0 lines 0 comments Download
M ipc/ipc_test_base.h View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/android/system/watcher_impl.cc View 5 chunks +12 lines, -38 lines 0 comments Download
M mojo/public/cpp/bindings/interface_endpoint_client.h View 3 chunks +1 line, -8 lines 0 comments Download
M mojo/public/cpp/bindings/lib/interface_endpoint_client.cc View 2 chunks +0 lines, -17 lines 0 comments Download
M mojo/public/cpp/bindings/strong_associated_binding.h View 1 chunk +4 lines, -1 line 0 comments Download
M mojo/public/cpp/bindings/strong_binding.h View 1 chunk +3 lines, -1 line 0 comments Download
M services/service_manager/public/cpp/lib/interface_registry.cc View 1 chunk +1 line, -0 lines 0 comments Download
M services/service_manager/standalone/context.cc View 1 chunk +1 line, -0 lines 0 comments Download
M services/video_capture/device_factory_media_to_mojo_adapter.cc View 1 chunk +1 line, -0 lines 0 comments Download
M services/video_capture/test/mock_device_test.h View 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
Sam McNally
3 years, 9 months ago (2017-03-01 00:41:14 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
85b81b128baf1166e8e604077e3da81fc2ffc1c3.

Powered by Google App Engine
This is Rietveld 408576698