Reland "IWYU for bind/callback_helpers.h and ptr_util.h"
This reverts commit 7a13e2645a7cd50b0bdfd96e72bcdd9b7e9fee26.
Reason for revert: same as original % tools/clang
Original change's description:
> Revert "IWYU for bind/callback_helpers.h and ptr_util.h"
>
> This reverts commit b8ffaf4cfcb5e6b6a9916bb1b314820b10b0daf4.
>
> Reason for revert:
> This broke the build of the blink_gc_plugin, which does not use base/
> (see bug). Please don't commit to tools/clang/ without review.
>
> Original change's description:
> > IWYU for bind/callback_helpers.h and ptr_util.h
> >
> > These missing includes are preventing removal of unused headers from
> > task_runner_util.h and consequently migration from task_runner_util.h to
> > task_runner.h's new PostTaskAndReplyWithResult member method.
> >
> > The following script was run on every file in the codebase, prioritizing
> > .h over matching .cc to best enforce the rule of not include a header
> > included by your .h :
> >
> > def Fix(file_path):
> > content = refactor_lib.ReadFile(file_path)
> >
> > # Assume fwd-decls are correct in first pass.
> > fwd_decls_match = re.compile(r'\n *[^/\n][^/\n][^/\n]*class (NullCallback|DoNothing|ScopedClosureRunner);', re.DOTALL).findall(content)
> > if fwd_decls_match:
> > print 'fwd_decls_match in %s' % (file_path)
> > return False
> >
> > bind_helpers_match = re.compile(
> > # Doesn't begin with a comment.
> > r'\n *[^/\n][^/\n]'
> > # Anything else after a non-comment start (and don't allow this to capture a comment start either)
> > r'[^/\n]*'
> > # Anything before but an open angle-bracket to avoid cases like unique_ptr<Foo> where you don't need the full definition of Foo.
> > r'[^<]'
> > # Only match with base:: prefix; more precise, can manually fix missing includes in //base proper in a follow-up pass if needed.
> > r'base::(NullCallback|DoNothing|DeletePointer)\b[^*]', re.DOTALL).findall(content)
> >
> > callback_helpers_match = re.compile(r'\n *[^/\n][^/\n][^/\n]*[^<]base::(IsBaseCallback|EnableIfIsBaseCallback|AdaptCallbackForRepeating|ScopedClosureRunner)\b[^*]', re.DOTALL).findall(content)
> >
> > ptr_util_match = re.compile(r'\n *[^/\n][^/\n][^/\n]*[^<]base::WrapUnique\b[^*]', re.DOTALL).findall(content)
> >
> > if not bind_helpers_match and not callback_helpers_match and not ptr_util_match:
> > return False
> >
> > updated_content = content
> > if bind_helpers_match:
> > updated_content = refactor_lib.AddInclude(file_path, updated_content, "base/bind_helpers.h")
> > if callback_helpers_match:
> > updated_content = refactor_lib.AddInclude(file_path, updated_content, "base/callback_helpers.h")
> > if ptr_util_match:
> > updated_content = refactor_lib.AddInclude(file_path, updated_content, "base/memory/ptr_util.h")
> >
> > if updated_content == content:
> > return False
> >
> > # Write updated file
> > refactor_lib.WriteFile(file_path, updated_content)
> >
> > return True
> >
> > [email protected]
> > (mechanical change for //base API)
> >
> > Bug: 1026641
> > Change-Id: Ic88585c62dd2f74d34c59c708faeddb231aee47f
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2087971
> > Reviewed-by: Gabriel Charette <[email protected]>
> > Reviewed-by: danakj <[email protected]>
> > Commit-Queue: Gabriel Charette <[email protected]>
> > Cr-Commit-Position: refs/heads/master@{#747685}
>
> [email protected],[email protected]
>
> Change-Id: I59d6cd69bd898e9f6d10922c67d8c24ba582bf7f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 1026641, 1059359
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2091356
> Reviewed-by: Hans Wennborg <[email protected]>
> Commit-Queue: Hans Wennborg <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#747804}
[email protected],[email protected],[email protected]
Change-Id: I721391eba68ea55830dca4f1ac34ff633f714f72
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1026641, 1059359
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2090509
Commit-Queue: Gabriel Charette <[email protected]>
Reviewed-by: Gabriel Charette <[email protected]>
Cr-Commit-Position: refs/heads/master@{#747844}
diff --git a/net/quic/quic_chromium_client_stream.cc b/net/quic/quic_chromium_client_stream.cc
index a61c76e..01f0a1d 100644
--- a/net/quic/quic_chromium_client_stream.cc
+++ b/net/quic/quic_chromium_client_stream.cc
@@ -10,6 +10,7 @@
#include "base/bind_helpers.h"
#include "base/callback_helpers.h"
#include "base/location.h"
+#include "base/memory/ptr_util.h"
#include "base/threading/thread_task_runner_handle.h"
#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"