-
Gabriel Charette authored
This reverts commit 7a13e264. 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 b8ffaf4c. > > 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 > > > > TBR=danakj@chromium.org > > (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 <gab@chromium.org> > > Reviewed-by: danakj <danakj@chromium.org> > > Commit-Queue: Gabriel Charette <gab@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#747685} > > TBR=danakj@chromium.org,gab@chromium.org > > 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 <hans@chromium.org> > Commit-Queue: Hans Wennborg <hans@chromium.org> > Cr-Commit-Position: refs/heads/master@{#747804} TBR=danakj@chromium.org,gab@chromium.org,hans@chromium.org 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 <gab@chromium.org> Reviewed-by:
Gabriel Charette <gab@chromium.org> Cr-Commit-Position: refs/heads/master@{#747844}
9f60dd11