
This is a reland of087f254cc6
This reland fixes more IWYU issues. Additionally, we reintroduce some includes that would have been brought in from hang_watcher.h back into thread_restrictions.h. These extra includes are those that are frequently implicitly depended on by code outside of base/. The intent is to have an overall reduction in included headers by getting rid of hang_watcher.h in favour of more targeted, smaller includes, while still having a CL that has a better chance of landing when it has to race other CLs in the commit queue. Original change's description: > Reland "Don't include hang_watcher.h from thread_restrictions.h" > > This is a reland of0e6733427f
> This reland fixes more IWYU issues. > > Original change's description: > > Don't include hang_watcher.h from thread_restrictions.h > > > > This is only needed in thread_restrictions.cc. > > We also fix IWYU issues that this removal revealed. > > > > Bug: 1227131 > > Change-Id: I68e19fc27b3ab32f3b423b44c6b4a431a9927732 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3060580 > > Auto-Submit: Kevin McNee <mcnee@chromium.org> > > Reviewed-by: Lei Zhang <thestig@chromium.org> > > Reviewed-by: Albert J. Wong <ajwong@chromium.org> > > Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> > > Owners-Override: Lei Zhang <thestig@chromium.org> > > Commit-Queue: Kevin McNee <mcnee@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#912313} > > Bug: 1227131 > Cq-Include-Trybots: luci.chromium.try:win-official;luci.chrome.try:win-chrome,mac-chrome,linux-chrome > Change-Id: I436be161287647e132c49ec9a31ad0eeda202564 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3098329 > Reviewed-by: Lei Zhang <thestig@chromium.org> > Owners-Override: Lei Zhang <thestig@chromium.org> > Commit-Queue: Kevin McNee <mcnee@chromium.org> > Cr-Commit-Position: refs/heads/master@{#912712} Bug: 1227131 Change-Id: I020d7cf646e481a99c85c7b5226d211f2c838eaa Cq-Include-Trybots: luci.chromium.try:win-official,ios-device,linux_chromium_asan_rel_ng,mac_chromium_archive_rel_ng,win_archive;luci.chrome.try:win-chrome,mac-chrome,linux-chrome Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3101285 Reviewed-by: Lei Zhang <thestig@chromium.org> Owners-Override: Lei Zhang <thestig@chromium.org> Commit-Queue: Kevin McNee <mcnee@chromium.org> Cr-Commit-Position: refs/heads/main@{#913170}
Sandbox Library
This directory contains platform-specific sandboxing libraries. Sandboxing is a technique that can improve the security of an application by separating untrustworthy code (or code that handles untrustworthy data) and restricting its privileges and capabilities.
Each platform relies on the operating system's process primitive to isolate code into distinct security principals, and platform-specific technologies are used to implement the privilege reduction. At a high-level:
mac/
uses the Seatbelt sandbox. See the detailed design for more.linux/
uses namespaces and Seccomp-BPF. See the detailed design for more.win/
uses a combination of restricted tokens, distinct job objects, alternate desktops, and integrity levels. See the detailed design for more.
Built on top of the low-level sandboxing library is the
//sandbox/policy
component, which provides concrete
policies and helper utilities for sandboxing specific Chromium processes and
services. The core sandbox library cannot depend on the policy component.