Remove ScopedTaskEnvironment::LifetimeObserver.

We don't need it as we have finally solved our problems with
LazyThreadController.

R=gab@chromium.org
BUG=892139


Change-Id: I8cc7cc09fd602e1b155db44b84f74dd137bc7eca
Reviewed-on: https://chromium-review.googlesource.com/c/1454588
Commit-Queue: Alexander Timin <altimin@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629525}
diff --git a/base/test/scoped_task_environment.cc b/base/test/scoped_task_environment.cc
index a47cca8..d1c1a265 100644
--- a/base/test/scoped_task_environment.cc
+++ b/base/test/scoped_task_environment.cc
@@ -38,9 +38,6 @@
 
 namespace {
 
-LazyInstance<ThreadLocalPointer<ScopedTaskEnvironment::LifetimeObserver>>::Leaky
-    environment_lifetime_observer;
-
 base::Optional<MessageLoop::Type> GetMessageLoopTypeForMainThreadType(
     ScopedTaskEnvironment::MainThreadType main_thread_type) {
   switch (main_thread_type) {
@@ -373,12 +370,6 @@
 
   if (execution_control_mode_ == ExecutionMode::QUEUED)
     CHECK(task_tracker_->DisallowRunTasks());
-
-  LifetimeObserver* observer = environment_lifetime_observer.Get().Get();
-  if (observer) {
-    observer->OnScopedTaskEnvironmentCreated(main_thread_type,
-                                             GetMainThreadTaskRunner());
-  }
 }
 
 ScopedTaskEnvironment::ScopedTaskEnvironment(ScopedTaskEnvironment&& other) =
@@ -415,10 +406,6 @@
   if (!sequence_manager_)
     return;
 
-  LifetimeObserver* observer = environment_lifetime_observer.Get().Get();
-  if (observer)
-    observer->OnScopedTaskEnvironmentDestroyed();
-
   if (mock_time_domain_)
     sequence_manager_->UnregisterTimeDomain(mock_time_domain_.get());
 
@@ -435,12 +422,6 @@
           .SetTimeDomain(mock_time_domain_.get()));
 }
 
-void ScopedTaskEnvironment::SetLifetimeObserver(
-    ScopedTaskEnvironment::LifetimeObserver* lifetime_observer) {
-  DCHECK_NE(!!environment_lifetime_observer.Get().Get(), !!lifetime_observer);
-  environment_lifetime_observer.Get().Set(lifetime_observer);
-}
-
 scoped_refptr<base::SingleThreadTaskRunner>
 ScopedTaskEnvironment::GetMainThreadTaskRunner() {
   return task_queue_->task_runner();
diff --git a/base/test/scoped_task_environment.h b/base/test/scoped_task_environment.h
index e5ae30d..cc21d00 100644
--- a/base/test/scoped_task_environment.h
+++ b/base/test/scoped_task_environment.h
@@ -141,22 +141,6 @@
   // TaskScheduler and the (Thread|Sequenced)TaskRunnerHandle.
   virtual ~ScopedTaskEnvironment();
 
-  class LifetimeObserver {
-   public:
-    virtual ~LifetimeObserver() = default;
-
-    virtual void OnScopedTaskEnvironmentCreated(
-        MainThreadType main_thread_type,
-        scoped_refptr<SingleThreadTaskRunner> task_runner) = 0;
-    virtual void OnScopedTaskEnvironmentDestroyed() = 0;
-  };
-
-  // Set a thread-local observer which will get notifications when
-  // a new ScopedTaskEnvironment is created or destroyed.
-  // This is needed due to peculiarities of Blink initialisation
-  // (Blink is per-test suite and ScopedTaskEnvironment is per-test).
-  static void SetLifetimeObserver(LifetimeObserver* lifetime_observer);
-
   // Returns a TaskRunner that schedules tasks on the main thread.
   scoped_refptr<base::SingleThreadTaskRunner> GetMainThreadTaskRunner();
 
diff --git a/base/test/scoped_task_environment_unittest.cc b/base/test/scoped_task_environment_unittest.cc
index 89d777e..33bbb8dd 100644
--- a/base/test/scoped_task_environment_unittest.cc
+++ b/base/test/scoped_task_environment_unittest.cc
@@ -356,37 +356,6 @@
 }
 #endif  // defined(OS_WIN)
 
-namespace {
-
-class MockLifetimeObserver : public ScopedTaskEnvironment::LifetimeObserver {
- public:
-  MockLifetimeObserver() = default;
-  ~MockLifetimeObserver() override = default;
-
-  MOCK_METHOD2(OnScopedTaskEnvironmentCreated,
-               void(ScopedTaskEnvironment::MainThreadType,
-                    scoped_refptr<SingleThreadTaskRunner>));
-  MOCK_METHOD0(OnScopedTaskEnvironmentDestroyed, void());
-};
-
-}  // namespace
-
-TEST_F(ScopedTaskEnvironmentTest, LifetimeObserver) {
-  testing::StrictMock<MockLifetimeObserver> lifetime_observer;
-  ScopedTaskEnvironment::SetLifetimeObserver(&lifetime_observer);
-
-  EXPECT_CALL(lifetime_observer,
-              OnScopedTaskEnvironmentCreated(testing::_, testing::_));
-  std::unique_ptr<ScopedTaskEnvironment> task_environment(
-      std::make_unique<ScopedTaskEnvironment>());
-  testing::Mock::VerifyAndClearExpectations(&lifetime_observer);
-
-  EXPECT_CALL(lifetime_observer, OnScopedTaskEnvironmentDestroyed());
-  task_environment.reset();
-  testing::Mock::VerifyAndClearExpectations(&lifetime_observer);
-  ScopedTaskEnvironment::SetLifetimeObserver(nullptr);
-}
-
 TEST_F(ScopedTaskEnvironmentTest, SetsDefaultRunTimeout) {
   const RunLoop::ScopedRunTimeoutForTest* old_run_timeout =
       RunLoop::ScopedRunTimeoutForTest::Current();