commit | a1f62c9971a200c3955edb45f17a94bd579cf9b8 | [log] [tgz] |
---|---|---|
author | Matthew DeVore <matvore@chromium.org> | Thu Aug 17 16:48:56 2023 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Aug 17 16:48:56 2023 |
tree | 3f660794c06283708acb58a6e257fa8972b64859 | |
parent | 00b56bdb6df665e9f225adf5fbe2dca819f0a208 [diff] |
ARC testing: builder for ARC task windows (reland) This has come up in a few places so replace all of them with a single solution. Many tests allowed never specifying a shell root surface, and only two seemed to require it, in autotest_private_apitest.cc and arc_graphics_tracing_handler_unittest.cc (SwitchWindowDuringModelBuild). I prefer not creating a root surface automatically, as this can result in multiple root surfaces in the case that multiple windows are created, and the surface destruction also becomes implicit, both of which may be surprising. Another potential issue is that there will be fragmentation on style where some callers will prefer to explicitly make the surface (which only requires two very short additional lines) and some will use the implicit style. I ran into strange failures in the autotest_private_apitest.cc case until I explicitly removed focus from the ARC window. It also was not explicitly closing the window, so I used the OwnsNativeWidget style with autoptr rather than use a raw pointer. These two changes may have been interrelated. This relands commit ca5e651d043d79294ab887dadec4376203320848. Avoid the msan error by not default-initializing a raw_ptr. Unit tests below were run with: $ xvfb-run tools/autotest.py -C $outdir ... with is_msan=true in gn.args. Test: chrome/browser/ash/extensions/autotest_private/autotest_private_apitest.cc Test: chrome/browser/ui/webui/ash/arc_graphics_tracing/arc_graphics_tracing_handler_unittest.cc Test: chrome/browser/ash/arc/tracing/arc_app_performance_tracing_unittest.cc Test: autoninja -C <brya> chrome chrome_sandbox nacl_helper Bug: b:288895124 Bug: chromium:1472938 Change-Id: Iaadb0ac243e2f9b652eb019b112ed8198696d098 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4780396 Auto-Submit: Matthew DeVore <matvore@chromium.org> Reviewed-by: Achuith Bhandarkar <achuith@chromium.org> Reviewed-by: Yury Khmel <khmel@chromium.org> Commit-Queue: Matthew DeVore <matvore@chromium.org> Cr-Commit-Position: refs/heads/main@{#1184765}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.