This is a reland of 80b8a77ae6
Original change's description:
> Reland "Remove/replace unnecessary includes of logging.h (base/)"
>
> This is a reland of a6e9e966ab
>
> Original change's description:
> > Remove/replace unnecessary includes of logging.h (base/)
> >
> > If the file just needs the CHECK/CHECK_OP/NOTREACHED
> > macros, use the appropriate header for that instead.
> > Or if logging.h is not needed at all, remove it.
> >
> > This is both a nice cleanup (logging.h is a big header,
> > and including it unnecessarily has compile-time costs),
> > and part of the final step towards making logging.h no
> > longer include check.h and the others.
> >
> > TBR=thakis
> >
> > Bug: 1031540
> > Change-Id: Ib87efde411a3617fcebad6dae08313c20d63d0bd
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2254284
> > Commit-Queue: Hans Wennborg <hans@chromium.org>
> > Reviewed-by: Nico Weber <thakis@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#780580}
>
> TBR=thakis
>
> Bug: 1031540
> Change-Id: I0ba8608458cf14c3e4bbc86eaef4c7ad136a9263
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2256179
> Reviewed-by: Hans Wennborg <hans@chromium.org>
> Commit-Queue: Hans Wennborg <hans@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#780795}
TBR=thakis
Bug: 1031540
Change-Id: I21fab4b969b66e02ad89a8cee6698e50934916f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2257873
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780959}
This is a reland of a6e9e966ab
Original change's description:
> Remove/replace unnecessary includes of logging.h (base/)
>
> If the file just needs the CHECK/CHECK_OP/NOTREACHED
> macros, use the appropriate header for that instead.
> Or if logging.h is not needed at all, remove it.
>
> This is both a nice cleanup (logging.h is a big header,
> and including it unnecessarily has compile-time costs),
> and part of the final step towards making logging.h no
> longer include check.h and the others.
>
> TBR=thakis
>
> Bug: 1031540
> Change-Id: Ib87efde411a3617fcebad6dae08313c20d63d0bd
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2254284
> Commit-Queue: Hans Wennborg <hans@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#780580}
TBR=thakis
Bug: 1031540
Change-Id: I0ba8608458cf14c3e4bbc86eaef4c7ad136a9263
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2256179
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780795}
This reverts commit a6e9e966ab.
Reason for revert: this broke the win-chrome and win64-chrome
continuous builders. For the win-chrome build this CL was one of two
on the blamelist, for win64-chrome it was the only one.
Failure is:
FAILED: obj/chrome/browser/browser/widevine_hardware_caps_win.obj
c:\b\s\w\ir\cache\goma\client\gomacc.exe ..\..\third_party\llvm-build\Release+Asserts\bin\clang-cl.e...(too long)
../../chrome/browser/media/widevine_hardware_caps_win.cc(13,3): error: use of undeclared identifier 'NOTIMPLEMENTED'
NOTIMPLEMENTED();
^
1 error generated.
Original change's description:
> Remove/replace unnecessary includes of logging.h (base/)
>
> If the file just needs the CHECK/CHECK_OP/NOTREACHED
> macros, use the appropriate header for that instead.
> Or if logging.h is not needed at all, remove it.
>
> This is both a nice cleanup (logging.h is a big header,
> and including it unnecessarily has compile-time costs),
> and part of the final step towards making logging.h no
> longer include check.h and the others.
>
> TBR=thakis
>
> Bug: 1031540
> Change-Id: Ib87efde411a3617fcebad6dae08313c20d63d0bd
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2254284
> Commit-Queue: Hans Wennborg <hans@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#780580}
TBR=thakis@chromium.org,hans@chromium.org
Change-Id: Iea5fb95ca6e84da2668dbfa139f1dc866311d7de
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1031540
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2256151
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780587}
If the file just needs the CHECK/CHECK_OP/NOTREACHED
macros, use the appropriate header for that instead.
Or if logging.h is not needed at all, remove it.
This is both a nice cleanup (logging.h is a big header,
and including it unnecessarily has compile-time costs),
and part of the final step towards making logging.h no
longer include check.h and the others.
TBR=thakis
Bug: 1031540
Change-Id: Ib87efde411a3617fcebad6dae08313c20d63d0bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2254284
Commit-Queue: Hans Wennborg <hans@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780580}
This CL saves 27KB in chrome.dll and 5KB in chrome_child.dll.
https://chromium-review.googlesource.com/868013 had regressed size by
9KB and was caught as a performance regression. This CL should recover
this 3X.
Also removed an extra atomic operation in the simple case (used to
atomic-load for check and atomic-load again for return, now only
atomic-loads once).
Also moved GetOrCreateLazyPointer() to a subtle:: namespace (now that
calling it is tricky), also resolving recurring confusion about whether
Needs/CompleteLazyInstance() are invoked outside of it (they're
not, they're strictly helpers).
R=fdoray@chromium.org, thakis@chromium.org
Bug: 804034
Change-Id: I8de94fe742a8f9a68d4a66e0202a6fb276843af9
Reviewed-on: https://chromium-review.googlesource.com/883364
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532013}
They had more or less duplicated code for a while.
Creation logic for LazyInstance was extracted to base::internal methods
a little while back for LazyTaskRunner. It can now also be used by
Singleton to avoid code duplication.
Note: because of code duplication, until this CL: Singleton still
didn't benefit from the recent priority inversion mitigation added
to LazyInstance in r527445.
Bug: 797129
Change-Id: I4cfe0d94bce282901ec2471212e38b8e298d9f81
Reviewed-on: https://chromium-review.googlesource.com/868013
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529885}