ServiceWorkerProviderContextTest.SetControllerServiceWorker flaky |
|||
Issue descriptionhttps://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20TSan%20Tests/23452 WARNING: ThreadSanitizer: heap-use-after-free (pid=16685) Read of size 8 at 0x7b3000000af0 by thread T10: #0 begin buildtools/third_party/libc++/trunk/include/vector:1471:30 (content_unittests+0xa01c6e5) #1 RemoveObserver base/observer_list.h:253 (content_unittests+0xa01c6e5) #2 content::ControllerServiceWorkerConnector::RemoveObserver(content::ControllerServiceWorkerConnector::Observer*) content/renderer/service_worker/controller_service_worker_connector.cc:61 (content_unittests+0xa01c6e5) #3 RemoveAll base/scoped_observer.h:45:20 (content_unittests+0xa03c9cb) #4 ~ScopedObserver base/scoped_observer.h:26 (content_unittests+0xa03c9cb) #5 content::ServiceWorkerSubresourceLoader::~ServiceWorkerSubresourceLoader() content/renderer/service_worker/service_worker_subresource_loader.cc:181 (content_unittests+0xa03c9cb) #6 content::ServiceWorkerSubresourceLoader::~ServiceWorkerSubresourceLoader() content/renderer/service_worker/service_worker_subresource_loader.cc:181:65 (content_unittests+0xa03cb79) #7 content::ServiceWorkerSubresourceLoader::OnConnectionError() content/renderer/service_worker/service_worker_subresource_loader.cc:184:3 (content_unittests+0xa03c3b7) #8 Invoke<void (content::ServiceWorkerSubresourceLoader::*)(), content::ServiceWorkerSubresourceLoader *> base/bind_internal.h:507:12 (content_unittests+0xa040c58) #9 MakeItSo<void (content::ServiceWorkerSubresourceLoader::*)(), content::ServiceWorkerSubresourceLoader *> base/bind_internal.h:607 (content_unittests+0xa040c58) #10 RunImpl<void (content::ServiceWorkerSubresourceLoader::*)(), std::__1::tuple<base::internal::UnretainedWrapper<content::ServiceWorkerSubresourceLoader> >, 0> base/bind_internal.h:680 (content_unittests+0xa040c58) #11 base::internal::Invoker<base::internal::BindState<void (content::ServiceWorkerSubresourceLoader::*)(), base::internal::UnretainedWrapper<content::ServiceWorkerSubresourceLoader> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:649 (content_unittests+0xa040c58) #12 Run base/callback.h:99:12 (content_unittests+0x5c9bcda) #13 mojo::InterfaceEndpointClient::NotifyError(base::Optional<mojo::DisconnectReason> const&) mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:326 (content_unittests+0x5c9bcda) #14 mojo::internal::MultiplexRouter::ProcessNotifyErrorTask(mojo::internal::MultiplexRouter::Task*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) mojo/public/cpp/bindings/lib/multiplex_router.cc:785:13 (content_unittests+0x5ca3951) #15 mojo::internal::MultiplexRouter::ProcessTasks(mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) mojo/public/cpp/bindings/lib/multiplex_router.cc:698:15 (content_unittests+0x5ca0c74) #16 mojo::internal::MultiplexRouter::OnPipeConnectionError() mojo/public/cpp/bindings/lib/multiplex_router.cc:667:3 (content_unittests+0x5c9ee7e) #17 Invoke<void (mojo::internal::MultiplexRouter::*)(), mojo::internal::MultiplexRouter *> base/bind_internal.h:507:12 (content_unittests+0x5ca4da8) #18 MakeItSo<void (mojo::internal::MultiplexRouter::*const &)(), mojo::internal::MultiplexRouter *> base/bind_internal.h:607 (content_unittests+0x5ca4da8) #19 RunImpl<void (mojo::internal::MultiplexRouter::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<mojo::internal::MultiplexRouter> > &, 0> base/bind_internal.h:680 (content_unittests+0x5ca4da8) #20 base::internal::Invoker<base::internal::BindState<void (mojo::internal::MultiplexRouter::*)(), base::internal::UnretainedWrapper<mojo::internal::MultiplexRouter> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:662 (content_unittests+0x5ca4da8) #21 Run base/callback.h:99:12 (content_unittests+0x5c985fe) #22 mojo::Connector::HandleError(bool, bool) mojo/public/cpp/bindings/lib/connector.cc:551 (content_unittests+0x5c985fe) #23 OnHandleReadyInternal mojo/public/cpp/bindings/lib/connector.cc:383:5 (content_unittests+0x5c9928b) #24 mojo::Connector::OnWatcherHandleReady(unsigned int) mojo/public/cpp/bindings/lib/connector.cc:364 (content_unittests+0x5c9928b) #25 Invoke<void (mojo::Connector::*)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:507:12 (content_unittests+0x5c999af) #26 MakeItSo<void (mojo::Connector::*const &)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:607 (content_unittests+0x5c999af) #27 RunImpl<void (mojo::Connector::*const &)(unsigned int), const std::__1::tuple<base::internal::UnretainedWrapper<mojo::Connector> > &, 0> base/bind_internal.h:680 (content_unittests+0x5c999af) #28 base::internal::Invoker<base::internal::BindState<void (mojo::Connector::*)(unsigned int), base::internal::UnretainedWrapper<mojo::Connector> >, void (unsigned int)>::Run(base::internal::BindStateBase*, unsigned int) base/bind_internal.h:662 (content_unittests+0x5c999af) #29 Run base/callback.h:129:12 (content_unittests+0x34e30a2) #30 mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.h:194 (content_unittests+0x34e30a2) #31 Invoke<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:407:12 (content_unittests+0x34e30e5) #32 MakeItSo<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:607 (content_unittests+0x34e30e5) #33 RunImpl<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::RepeatingCallback<void (unsigned int)> > &, 0> base/bind_internal.h:680 (content_unittests+0x34e30e5) #34 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> >, void (unsigned int, mojo::HandleSignalsState const&)>::Run(base::internal::BindStateBase*, unsigned int, mojo::HandleSignalsState const&) base/bind_internal.h:662 (content_unittests+0x34e30e5) #35 Run base/callback.h:129:12 (content_unittests+0x6537156) #36 mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.cc:274 (content_unittests+0x6537156) #37 Invoke<void (mojo::SimpleWatcher::*)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:507:12 (content_unittests+0x653754c) #38 MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:627 (content_unittests+0x653754c) #39 RunImpl<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> &, 0, 1, 2, 3> base/bind_internal.h:680 (content_unittests+0x653754c) #40 base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:662 (content_unittests+0x653754c) #41 Run base/callback.h:99:12 (content_unittests+0x645a957) #42 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (content_unittests+0x645a957) #43 base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/task_scheduler/task_tracker.cc:529:23 (content_unittests+0x64c48e0) #44 base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) base/task_scheduler/task_tracker_posix.cc:23:16 (content_unittests+0x6522e97) Previous write of size 8 at 0x7b3000000af0 by thread T10: #0 operator delete(void*) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:127:3 (content_unittests+0x1901cfd) #1 operator() buildtools/third_party/libc++/trunk/include/memory:2321:5 (content_unittests+0xa0408d0) #2 reset buildtools/third_party/libc++/trunk/include/memory:2634 (content_unittests+0xa0408d0) #3 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2588 (content_unittests+0xa0408d0) #4 content::ServiceWorkerSubresourceLoaderFactory::~ServiceWorkerSubresourceLoaderFactory() content/renderer/service_worker/service_worker_subresource_loader.cc:636 (content_unittests+0xa0408d0) #5 content::ServiceWorkerSubresourceLoaderFactory::~ServiceWorkerSubresourceLoaderFactory() content/renderer/service_worker/service_worker_subresource_loader.cc:636:44 (content_unittests+0xa0408f9) #6 content::ServiceWorkerSubresourceLoaderFactory::OnConnectionError() content/renderer/service_worker/service_worker_subresource_loader.cc:664:3 (content_unittests+0xa0407a9) #7 Invoke<void (content::ServiceWorkerSubresourceLoaderFactory::*)(), content::ServiceWorkerSubresourceLoaderFactory *> base/bind_internal.h:507:12 (content_unittests+0xa042058) #8 MakeItSo<void (content::ServiceWorkerSubresourceLoaderFactory::*const &)(), content::ServiceWorkerSubresourceLoaderFactory *> base/bind_internal.h:607 (content_unittests+0xa042058) #9 RunImpl<void (content::ServiceWorkerSubresourceLoaderFactory::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::ServiceWorkerSubresourceLoaderFactory> > &, 0> base/bind_internal.h:680 (content_unittests+0xa042058) #10 base::internal::Invoker<base::internal::BindState<void (content::ServiceWorkerSubresourceLoaderFactory::*)(), base::internal::UnretainedWrapper<content::ServiceWorkerSubresourceLoaderFactory> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:662 (content_unittests+0xa042058) #11 Run base/callback.h:129:12 (content_unittests+0x31db989) #12 mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::OnConnectionError(unsigned long, unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) mojo/public/cpp/bindings/binding_set.h:301 (content_unittests+0x31db989) #13 mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry::OnConnectionError(unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) mojo/public/cpp/bindings/binding_set.h:260:21 (content_unittests+0x31db6fc) #14 Invoke<void (mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry::*)(unsigned int, const std::__1::basic_string<char> &), mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry *, unsigned int, const std::__1::basic_string<char> &> base/bind_internal.h:507:12 (content_unittests+0x31db859) #15 MakeItSo<void (mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry::*)(unsigned int, const std::__1::basic_string<char> &), mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry *, unsigned int, const std::__1::basic_string<char> &> base/bind_internal.h:607 (content_unittests+0x31db859) #16 RunImpl<void (mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry::*)(unsigned int, const std::__1::basic_string<char> &), std::__1::tuple<base::internal::UnretainedWrapper<mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry> >, 0> base/bind_internal.h:680 (content_unittests+0x31db859) #17 base::internal::Invoker<base::internal::BindState<void (mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry::*)(unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), base::internal::UnretainedWrapper<mojo::BindingSetBase<network::mojom::URLLoaderFactory, mojo::Binding<network::mojom::URLLoaderFactory, mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >, void>::Entry> >, void (unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::RunOnce(base::internal::BindStateBase*, unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) base/bind_internal.h:649 (content_unittests+0x31db859) #18 Run base/callback.h:99:12 (content_unittests+0x5c9bda5) #19 mojo::InterfaceEndpointClient::NotifyError(base::Optional<mojo::DisconnectReason> const&) mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:332 (content_unittests+0x5c9bda5) #20 mojo::internal::MultiplexRouter::ProcessNotifyErrorTask(mojo::internal::MultiplexRouter::Task*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) mojo/public/cpp/bindings/lib/multiplex_router.cc:785:13 (content_unittests+0x5ca3951) #21 mojo::internal::MultiplexRouter::ProcessTasks(mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) mojo/public/cpp/bindings/lib/multiplex_router.cc:698:15 (content_unittests+0x5ca0c74) #22 mojo::internal::MultiplexRouter::OnPipeConnectionError() mojo/public/cpp/bindings/lib/multiplex_router.cc:667:3 (content_unittests+0x5c9ee7e) #23 Invoke<void (mojo::internal::MultiplexRouter::*)(), mojo::internal::MultiplexRouter *> base/bind_internal.h:507:12 (content_unittests+0x5ca4da8) #24 MakeItSo<void (mojo::internal::MultiplexRouter::*const &)(), mojo::internal::MultiplexRouter *> base/bind_internal.h:607 (content_unittests+0x5ca4da8) #25 RunImpl<void (mojo::internal::MultiplexRouter::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<mojo::internal::MultiplexRouter> > &, 0> base/bind_internal.h:680 (content_unittests+0x5ca4da8) #26 base::internal::Invoker<base::internal::BindState<void (mojo::internal::MultiplexRouter::*)(), base::internal::UnretainedWrapper<mojo::internal::MultiplexRouter> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:662 (content_unittests+0x5ca4da8) #27 Run base/callback.h:99:12 (content_unittests+0x5c985fe) #28 mojo::Connector::HandleError(bool, bool) mojo/public/cpp/bindings/lib/connector.cc:551 (content_unittests+0x5c985fe) #29 mojo::Connector::ReadSingleMessage(unsigned int*) mojo/public/cpp/bindings/lib/connector.cc (content_unittests+0x5c9897f) #30 mojo::Connector::ReadAllAvailableMessages() mojo/public/cpp/bindings/lib/connector.cc:486:10 (content_unittests+0x5c9940a) #31 OnHandleReadyInternal mojo/public/cpp/bindings/lib/connector.cc:387:3 (content_unittests+0x5c99295) #32 mojo::Connector::OnWatcherHandleReady(unsigned int) mojo/public/cpp/bindings/lib/connector.cc:364 (content_unittests+0x5c99295) #33 Invoke<void (mojo::Connector::*)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:507:12 (content_unittests+0x5c999af) #34 MakeItSo<void (mojo::Connector::*const &)(unsigned int), mojo::Connector *, unsigned int> base/bind_internal.h:607 (content_unittests+0x5c999af) #35 RunImpl<void (mojo::Connector::*const &)(unsigned int), const std::__1::tuple<base::internal::UnretainedWrapper<mojo::Connector> > &, 0> base/bind_internal.h:680 (content_unittests+0x5c999af) #36 base::internal::Invoker<base::internal::BindState<void (mojo::Connector::*)(unsigned int), base::internal::UnretainedWrapper<mojo::Connector> >, void (unsigned int)>::Run(base::internal::BindStateBase*, unsigned int) base/bind_internal.h:662 (content_unittests+0x5c999af) #37 Run base/callback.h:129:12 (content_unittests+0x34e30a2) #38 mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.h:194 (content_unittests+0x34e30a2) #39 Invoke<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:407:12 (content_unittests+0x34e30e5) #40 MakeItSo<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> base/bind_internal.h:607 (content_unittests+0x34e30e5) #41 RunImpl<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::RepeatingCallback<void (unsigned int)> > &, 0> base/bind_internal.h:680 (content_unittests+0x34e30e5) #42 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> >, void (unsigned int, mojo::HandleSignalsState const&)>::Run(base::internal::BindStateBase*, unsigned int, mojo::HandleSignalsState const&) base/bind_internal.h:662 (content_unittests+0x34e30e5) #43 Run base/callback.h:129:12 (content_unittests+0x6537156) #44 mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) mojo/public/cpp/system/simple_watcher.cc:274 (content_unittests+0x6537156) #45 Invoke<void (mojo::SimpleWatcher::*)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:507:12 (content_unittests+0x653754c) #46 MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> base/bind_internal.h:627 (content_unittests+0x653754c) #47 RunImpl<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> &, 0, 1, 2, 3> base/bind_internal.h:680 (content_unittests+0x653754c) #48 base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:662 (content_unittests+0x653754c) #49 Run base/callback.h:99:12 (content_unittests+0x645a957) #50 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (content_unittests+0x645a957)
,
Jul 6
FWIW we observed a flake of this test on the Fuchsia/x64 FYI bot recently; the test hung and was eventually timeout killed.
,
Jul 7
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5176dc409d6729af4b1e0c17f487e227abb7bc48 commit 5176dc409d6729af4b1e0c17f487e227abb7bc48 Author: Matt Falkenhagen <falken@chromium.org> Date: Sat Jul 07 01:10:24 2018 Revert "SWS13N cleanup: Stop using mojo for cross-thread access to ControllerSWConnector" This reverts commit 3a6b2a4de3cd3741e5fef0bbf75e8f3f0c37fcc6. Reason for revert: Flaky on TSAN and some bots for ServiceWorkerProviderContextTest.SetControllerServiceWorker. Original change's description: > SWS13N cleanup: Stop using mojo for cross-thread access to ControllerSWConnector > > We moved SubresourceLoader on a background task runner in crrev.com/c/1109662, > but it used Mojo for in-process cross-thread communication but it wasn't > really necessary. This stops using Mojo for talking to ControllerSWConnector > and makes it non-refcounted. > > Bug: 854902 > Change-Id: Ideac79e74c07bed7e0d519dc2fbabcbe39025e48 > Reviewed-on: https://chromium-review.googlesource.com/1123436 > Commit-Queue: Kinuko Yasuda <kinuko@chromium.org> > Reviewed-by: Matt Falkenhagen <falken@chromium.org> > Cr-Commit-Position: refs/heads/master@{#572737} TBR=falken@chromium.org,kinuko@chromium.org,shimazu@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 854902 , 860688 Change-Id: I44abbb8cb7fcdee40dff2b4a2c6bc6848585a77c Reviewed-on: https://chromium-review.googlesource.com/1128419 Reviewed-by: Matt Falkenhagen <falken@chromium.org> Commit-Queue: Matt Falkenhagen <falken@chromium.org> Cr-Commit-Position: refs/heads/master@{#573135} [modify] https://crrev.com/5176dc409d6729af4b1e0c17f487e227abb7bc48/content/common/service_worker/controller_service_worker.mojom [modify] https://crrev.com/5176dc409d6729af4b1e0c17f487e227abb7bc48/content/renderer/service_worker/controller_service_worker_connector.cc [modify] https://crrev.com/5176dc409d6729af4b1e0c17f487e227abb7bc48/content/renderer/service_worker/controller_service_worker_connector.h [modify] https://crrev.com/5176dc409d6729af4b1e0c17f487e227abb7bc48/content/renderer/service_worker/service_worker_provider_context.cc [modify] https://crrev.com/5176dc409d6729af4b1e0c17f487e227abb7bc48/content/renderer/service_worker/service_worker_subresource_loader.cc [modify] https://crrev.com/5176dc409d6729af4b1e0c17f487e227abb7bc48/content/renderer/service_worker/service_worker_subresource_loader.h [modify] https://crrev.com/5176dc409d6729af4b1e0c17f487e227abb7bc48/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc [modify] https://crrev.com/5176dc409d6729af4b1e0c17f487e227abb7bc48/content/renderer/service_worker/worker_fetch_context_impl.cc
,
Jul 20
|
|||
►
Sign in to add a comment |
|||
Comment 1 by vasi...@chromium.org
, Jul 6Status: Assigned (was: Untriaged)