Add a rewriter to remove unneeded base::Passed on base::OnceCallback

This CL adds a clang based rewriter as a sub-rewriter of base_bind_rewriter
that removes unneeded base::Passed usage on base::BindOnce parameter.
Example:
  // Before:
  base::BindOnce(&Foo, base::Passed(&ptr));
  base::BindOnce(&Foo, base::Passed(std::move(ptr)));
  base::BindOnce(&Foo, base::Passed(std::make_unique<int>()));

  // After:
  base::BindOnce(&Foo, std::move(ptr));
  base::BindOnce(&Foo, std::move(ptr));
  base::BindOnce(&Foo, std::make_unique<int>());

Bug: 812523
Change-Id: I81c391531f02d608cffbbbe2f12a1cff6a1201de
Reviewed-on: https://chromium-review.googlesource.com/923620
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#538064}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6d2135b081286959d9ea3963eafe58fa92094581
4 files changed