| Index: third_party/WebKit/Source/platform/scheduler/CancellableTaskFactory.h
 | 
| diff --git a/third_party/WebKit/Source/platform/scheduler/CancellableTaskFactory.h b/third_party/WebKit/Source/platform/scheduler/CancellableTaskFactory.h
 | 
| deleted file mode 100644
 | 
| index 3a7d81dce4684844a4247717ba4f5abb6a964ab7..0000000000000000000000000000000000000000
 | 
| --- a/third_party/WebKit/Source/platform/scheduler/CancellableTaskFactory.h
 | 
| +++ /dev/null
 | 
| @@ -1,100 +0,0 @@
 | 
| -// Copyright 2015 The Chromium Authors. All rights reserved.
 | 
| -// Use of this source code is governed by a BSD-style license that can be
 | 
| -// found in the LICENSE file.
 | 
| -
 | 
| -#ifndef CancellableTaskFactory_h
 | 
| -#define CancellableTaskFactory_h
 | 
| -
 | 
| -#include "platform/PlatformExport.h"
 | 
| -#include "platform/WebTaskRunner.h"
 | 
| -#include "platform/heap/Handle.h"
 | 
| -#include "wtf/Allocator.h"
 | 
| -#include "wtf/Functional.h"
 | 
| -#include "wtf/Noncopyable.h"
 | 
| -#include "wtf/PtrUtil.h"
 | 
| -#include "wtf/WeakPtr.h"
 | 
| -#include <memory>
 | 
| -#include <type_traits>
 | 
| -
 | 
| -// WebTaskRunner::postCancellableTask will replace CancellableTaskFactory.
 | 
| -// Use postCancellableTask in new code.
 | 
| -// Example: For |task_runner| and |foo| below.
 | 
| -//   WebTaskRunner* task_runner;
 | 
| -//   Foo* foo;
 | 
| -//
 | 
| -//   CancellableTaskFactory factory(foo, &Foo::bar);
 | 
| -//   task_runner->postTask(BLINK_FROM_HERE, factory.cancelAndCreate());
 | 
| -//   factory.cancel();
 | 
| -//
 | 
| -// Above is equivalent to below:
 | 
| -//
 | 
| -//   std::unique_ptr<WTF::Closure> task =
 | 
| -//       WTF::bind(wrapPersistent(foo), &Foo::bar);
 | 
| -//   TaskHandle handle =
 | 
| -//       task_runner->postCancellableTask(BLINK_FROM_HERE, std::move(task));
 | 
| -//   handle.cancel();
 | 
| -namespace blink {
 | 
| -
 | 
| -class PLATFORM_EXPORT CancellableTaskFactory {
 | 
| -  WTF_MAKE_NONCOPYABLE(CancellableTaskFactory);
 | 
| -  USING_FAST_MALLOC(CancellableTaskFactory);
 | 
| -
 | 
| - public:
 | 
| -  // As WTF::Closure objects are off-heap, we have to construct the closure in
 | 
| -  // such a manner that it doesn't end up referring back to the owning heap
 | 
| -  // object with a strong Persistent<> GC root reference. If we do, this will
 | 
| -  // create a heap <-> off-heap cycle and leak, the owning object can never be
 | 
| -  // GCed. Instead, the closure will keep an off-heap persistent reference of
 | 
| -  // the weak, which will refer back to the owner heap object safely (but
 | 
| -  // weakly.)
 | 
| -  //
 | 
| -  // DEPRECATED: Please use WebTaskRunner::postCancellableTask instead.
 | 
| -  // (https://crbug.com/665285)
 | 
| -  template <typename T>
 | 
| -  static std::unique_ptr<CancellableTaskFactory> create(
 | 
| -      T* thisObject,
 | 
| -      void (T::*method)(),
 | 
| -      typename std::enable_if<IsGarbageCollectedType<T>::value>::type* =
 | 
| -          nullptr) {
 | 
| -    return wrapUnique(new CancellableTaskFactory(
 | 
| -        WTF::bind(method, wrapWeakPersistent(thisObject))));
 | 
| -  }
 | 
| -
 | 
| -  bool isPending() const { return m_weakPtrFactory.hasWeakPtrs(); }
 | 
| -
 | 
| -  void cancel();
 | 
| -
 | 
| -  // Returns a task that can be disabled by calling cancel().  The user takes
 | 
| -  // ownership of the task.  Creating a new task cancels any previous ones.
 | 
| -  WebTaskRunner::Task* cancelAndCreate();
 | 
| -
 | 
| - protected:
 | 
| -  // Only intended used by unit tests wanting to stack allocate and/or pass in a
 | 
| -  // closure value. Please use the create() factory method elsewhere.
 | 
| -  explicit CancellableTaskFactory(std::unique_ptr<WTF::Closure> closure)
 | 
| -      : m_closure(std::move(closure)), m_weakPtrFactory(this) {}
 | 
| -
 | 
| - private:
 | 
| -  class CancellableTask : public WebTaskRunner::Task {
 | 
| -    USING_FAST_MALLOC(CancellableTask);
 | 
| -    WTF_MAKE_NONCOPYABLE(CancellableTask);
 | 
| -
 | 
| -   public:
 | 
| -    explicit CancellableTask(WeakPtr<CancellableTaskFactory> weakPtr)
 | 
| -        : m_weakPtr(weakPtr) {}
 | 
| -
 | 
| -    ~CancellableTask() override {}
 | 
| -
 | 
| -    void run() override;
 | 
| -
 | 
| -   private:
 | 
| -    WeakPtr<CancellableTaskFactory> m_weakPtr;
 | 
| -  };
 | 
| -
 | 
| -  std::unique_ptr<WTF::Closure> m_closure;
 | 
| -  WeakPtrFactory<CancellableTaskFactory> m_weakPtrFactory;
 | 
| -};
 | 
| -
 | 
| -}  // namespace blink
 | 
| -
 | 
| -#endif  // CancellableTaskFactory_h
 | 
| 
 |