Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from chromium:master #1

Merged
merged 21 commits into from
Apr 20, 2021
Merged

[pull] master from chromium:master #1

merged 21 commits into from
Apr 20, 2021

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 20, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

chromium-autoroll and others added 21 commits April 20, 2021 05:55
https://skia.googlesource.com/skia.git/+log/9d11cbdef854..d8c2750cf607

2021-04-20 [email protected] Roll Dawn from b6c0dac11024 to 8091c6845079 (4 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux-blink-rel;luci.chromium.try:linux-chromeos-compile-dbg;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Cq-Do-Not-Cancel-Tryjobs: true
Bug: None
Tbr: [email protected]
Change-Id: Ieef994c9361eda376f627c13c70a9d4756068b13
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2839484
Commit-Queue: chromium-autoroll <[email protected]>
Bot-Commit: chromium-autoroll <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874143}
https://chromium.googlesource.com/catapult.git/+log/eb5af39fe4eb..09248fe4327c

2021-04-20 [email protected] chromeperf: base64 decode for data in RBE-CAS

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/catapult-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:chromeos-kevin-rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Bug: None
Tbr: [email protected]
Change-Id: Idb517d7f6ce26e07e718c6146b9fec4d059b59fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2837543
Commit-Queue: chromium-autoroll <[email protected]>
Bot-Commit: chromium-autoroll <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874144}
This fixes incorrect translation of bounds, when 2 displays are used -
the primary display has scale device factor set to 1 and second display
has scale device factor set to 2. Prior to this CL, the contents might
have been rendered at wrong position inside the native window (shifted
to the right, used wrong size for fonts, etc).

DWTHPlatform::GetRootTransform uses content_window to get a display for
a root transform. While this is correct after the initialization is done
and content_window is added as a child of the root window owned by
WindowTreeHost, the content_window will have null root window (and thus
it will lack of host) during DWTHPlatform::Init, which creates a
compositor and does other stuff. This results in GetRootTransform always
using a primary display instead of a display where the native
PlatformWindow is located after it's created.

Thus, when WindowTreeHost::InitHost is called, the root window is
supposed to get bounds translated from DIP to pixels, which results in
calling GetRootTransform. But as long as the content window has not yet
been associated with the root window, the bounds are translated in a
wrong manner and the root window might continue to use DIP bounds as a
primary display will be used, while the actual native window will be
positioned on another display with a higher scale value.

Furthermore, we've already had DWTHPlatform::GetWorkAreaBoundsInScreen
method that uses root_window instead of a content window, which made me
believe that's the right approach.

Thus, this cl creates a helper method called
GetDisplayNearestRootWindow() and uses a root window owned by
WindowTreeHost to find a display for that window.

Bug: 1198965
Change-Id: I0a48f9c9e52be52ad5b2ebbec2403dc0ccc06d4b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2830932
Reviewed-by: Scott Violet <[email protected]>
Commit-Queue: Maksim Sisov <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874145}
…yingSource"

This reverts commit 52639de.

Reason for revert: Easier merging of alternative fix.

Original change's description:
> [BreakoutBox] Add prefinalizer to MediaStreamAudioTrackUnderlyingSource
>
> The prefinalizer ensures the underlying source is disconnected from the
> track when the source is marked for garbage collection.
> Failing to do this can lead to crash in cases where the platform track
> needs to access its sinks in its own cleanup after GC.
>
> Video does not suffer from this bug because the platform track in that
> case does not access its sinks during cleanup. This CL adds a test for
> video anyway to prevent future regressions.
>
> Fixed: 1198854
> Change-Id: I2a05c0f4f8e5959fb637fc991bef0f9da629fe90
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2835750
> Auto-Submit: Guido Urdaneta <[email protected]>
> Commit-Queue: Thomas Guilbert <[email protected]>
> Reviewed-by: Thomas Guilbert <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#873977}

Change-Id: I50791935d5954979da1fc5029d7ee9312a3481ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2837967
Auto-Submit: Guido Urdaneta <[email protected]>
Commit-Queue: Rubber Stamper <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874146}
This is a reland of 8e81fab

I couldn't find any sources that it might have broken some tests.
I believe it was a coincidence as the interactive_ui_tests might be
flaky. I need to land this again and watch myself if the bot becomes
red. If so, I will revert again.

Original change's description:
> ozone/wayland: watch fd on a dedicated thread.
>
> Whenever user closes a popup window (or any additional window),
> the browser process can get stuck waiting for the gpu side to
> close. But the gpu thread can also get stuck because of destroying
> the wl_egl_surface. That is, internally, Wayland EGL implementation
> (it's something driver vendors provide) can try to also read events
> from the wl_display's fd and call wl_display_prepare_read, and
> then try to read the events. But it won't be possible as
> wl_display_read_events will block for them, because Ozone/Wayland
> has already prepared to read, but it doesn't read, because
> it waits for another thread to complete.
>
> Thus, the most correct approach is to use a dedicated non-blocking
> thread that always watches the wayland fd and dispatches events
> on an original thread. Also, use a non-default event queue to avoid
> flushing events that may not belong to us (a toolkit or egl
> implementation uses a default queue). See also
> https://wayland.freedesktop.org/docs/html/apb.html#Client-classwl__display_1a40039c1169b153269a3dc0796a54ddb0
> that explains this.
>
> Bug: 1117463
> Change-Id: I33fa21f84bb26592e97327c3f0a9c926868ad214
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2814598
> Commit-Queue: Maksim Sisov <[email protected]>
> Reviewed-by: Robert Kroeger <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#873303}

Bug: 1117463
Change-Id: I0c307c2f2b1976d21c7f0b05df0d29c4842c41d5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2834093
Reviewed-by: Maksim Sisov <[email protected]>
Reviewed-by: Robert Kroeger <[email protected]>
Commit-Queue: Maksim Sisov <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874147}
r869703 granted temporary SharedArrayBuffer (SAB) access to the
extension scheme since there is no way currently for extensions to opt
into cross origin isolation. This CL ensures that a Devtools issue is
not raised when an extension transfers a SAB.

BUG=1184892

Change-Id: I303b6b602623bc688c7057636c4eac7b021afd90
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2829944
Auto-Submit: Karan Bhatia <[email protected]>
Commit-Queue: Sigurd Schneider <[email protected]>
Reviewed-by: Sigurd Schneider <[email protected]>
Reviewed-by: Kentaro Hara <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874148}
There is not real cr.ui.Oobe.refreshA11yInfo. It was moved into the
welcome screen.

Bug: none
Change-Id: I87160ffb90ef626837df7cf6a291941ad3195d1d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2835773
Auto-Submit: Roman Sorokin [CET] <[email protected]>
Reviewed-by: Yunke Zhou <[email protected]>
Commit-Queue: Roman Sorokin [CET] <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874149}
If the smiley category was highlighted, then pressing the right chevron would trick the emoji picker into thinking that the bar was always moving, so it wouldn't update the blue bar position

#SIMPLE_REVIEW

Bug: b/185436945
Change-Id: I11ee047eb9e85bbba2f712ced9b9a9fea4826cce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2837198
Commit-Queue: John Palmer <[email protected]>
Commit-Queue: Darren Shen <[email protected]>
Auto-Submit: John Palmer <[email protected]>
Reviewed-by: Darren Shen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874150}
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-aemu-chromium-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Tbr: [email protected]
Change-Id: Icc8f97b39d48e72dfb9e44edd09ed812dfe90750
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2837544
Commit-Queue: chromium-autoroll <[email protected]>
Bot-Commit: chromium-autoroll <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874151}
Profile classes created in Chrome browser store their type as user data
in BrowserContext using profile_metrics::SetBrowserProfileType.

weblayer::ProfileImpl is updated to store the same value.

Bug: 1169142
Change-Id: Id8dad4824cbcbe18452e42d3256d690e5541aa22
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2825883
Reviewed-by: Scott Violet <[email protected]>
Commit-Queue: Ramin Halavati <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874152}
Some of the mocked functions were using an old style with
override and an additional |OnX|. These are no longer
necessary. To remove the propagation of such by copy&paste
from other examples most of them have been cleaned up.

Leftovers:
* MockWebController::OnFindElement
* MockActionDelegate::OnShortWaitForElement

Bug: None
Change-Id: I8197a296623c86688b20a00000887be9db7c6bc8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2835276
Reviewed-by: Michele Mancina <[email protected]>
Commit-Queue: Sandro Maggi <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874153}
Change-Id: I10e11d9582441bde86c62f791a70549b40a129d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2798769
Reviewed-by: Marijn Kruisselbrink <[email protected]>
Reviewed-by: Ayu Ishii <[email protected]>
Commit-Queue: Victor Costan <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874154}
Remove kSyncBookmarkApps flag and dead code and tests related.

Bug: 1185374
Change-Id: I0ed98a2498a8c4413119a9a65b68817fabaf9927
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2821422
Auto-Submit: Fangzhen Song <[email protected]>
Commit-Queue: Fangzhen Song <[email protected]>
Reviewed-by: Phillis Tang <[email protected]>
Reviewed-by: Finnur Thorarinsson <[email protected]>
Reviewed-by: Daniel Murphy <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874155}
previous CL https://chromium-review.googlesource.com/c/chromium/src/+/2831211
removed goma_enable_ats=True for some builders, but it won't
disable ATS on windows, since goma recipe modules will set
GOMA_ARBITRARY_TOOLCHAIN_SUPPORT=true, if enable_ats property
is not set.
https://source.chromium.org/chromium/chromium/tools/build/+/master:recipes/recipe_modules/goma/api.py;l=222?q=enable_ats&ss=chromium

We need to set goma_enable_ats=False to disable ATS on windows.
set goma_enable_ats=False in try builders by default.
Fix goma_enable_ats handling in ci.star

Bug: b/183895446
Change-Id: I5e239d1f676bbb31f80f830196636775c4c7e17a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2838607
Commit-Queue: Fumitoshi Ukai <[email protected]>
Reviewed-by: Yoshisato Yanagisawa <[email protected]>
Reviewed-by: Takuto Ikuta <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874156}
GetDifferingKeys is unused.

Change-Id: If8059128fe6a13fe609514648c709a2b659e4379
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2835727
Reviewed-by: Maksim Ivanov <[email protected]>
Commit-Queue: Roland Bock <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874157}
Re-enabling 2 tests (timberland, bhphotovideo) that were disabled
due to failures unrelated to autofill, and fixing 3 (aeropostale,
tillys, bricklink) by editing recipe files. See bugs for full details.

Also removed some superfluous non- .test & .wpr extra files from cipd
package that had snuck in.

Bug: 1173038,1197254,1172846,1173033,1172707,1199496
Change-Id: Iabf1af9041072cff4c691cfa03f42a0e8a724964
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2827200
Commit-Queue: Ian Struiksma <[email protected]>
Auto-Submit: Ian Struiksma <[email protected]>
Reviewed-by: Christoph Schwering <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874158}
Attribution Reporting issues include the frame that triggered the
issue. The violating frame does not always match the frame the
issue is reported in (i.e. the DevTools target).

Example: An iframe with a valid impression anchor tag gets clicked,
but the impression is not recorded because the main frame is not
secure, then the issue is filed in the iframes storage, while the
violating frame is the insecure main frame.

This CL changes the existing reporting function so the violating
frame can be specified separately.

[email protected]

Bug: chromium:1190735
Change-Id: Ie16fcecc62056c90de82019f09baff93428122d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2824151
Reviewed-by: Joey Arhar <[email protected]>
Reviewed-by: Sigurd Schneider <[email protected]>
Commit-Queue: Simon Zünd <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874159}
This API is private to the Media Router component extension and is no
longer used as of M92.

Bug: 974335,1199447
Change-Id: Iedcc2fd8e1f79fa1a0fc153696f2da69232d6fcd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2830313
Reviewed-by: Takumi Fujimoto <[email protected]>
Reviewed-by: Karan Bhatia <[email protected]>
Commit-Queue: mark a. foltz <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874160}
This change removes the use of Value::GetAsInteger and replaces with
Value::is_int(), Value::GetInt(), Value::GetIfInt().

Bug: 1187004
Change-Id: I2e47e7e3009082330ef7834a837fe3fe4e638ffa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2831237
Reviewed-by: Bence Béky <[email protected]>
Commit-Queue: Minoru Chikamune <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874161}
Use SigninFatalErrorScreen instead

Bug: 1100910, 1198982
Change-Id: Ia79051259fe33dfcc657e2498c50cd6ba69f4242
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2828810
Reviewed-by: Denis Kuznetsov [CET] <[email protected]>
Commit-Queue: Roman Sorokin [CET] <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874162}
This CL enables the following tests on Chrome OS:
  VideoCaptureDeviceTest.UsingRealWebcam_CaptureWithSize
  VideoCaptureDeviceTest.NoCameraSupportsPixelFormatMax
  VideoCaptureDeviceTest.UsingRealWebcam_TakePhoto
  VideoCaptureDeviceTest.UsingRealWebcam_GetPhotoState
  VideoCaptureDeviceTest.OpenInvalidDevice

Bug: b/172344265, 1069608
Test: capture_unittests --test-launcher-jobs=1
Change-Id: I84b7125067196a59e84deb1397d5f6b2dd90cd8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2835119
Reviewed-by: Guido Urdaneta <[email protected]>
Commit-Queue: Wei Lee <[email protected]>
Cr-Commit-Position: refs/heads/master@{#874163}
@pull pull bot added the ⤵️ pull label Apr 20, 2021
@pull pull bot merged commit de511dd into jamlee-t:master Apr 20, 2021
pull bot pushed a commit that referenced this pull request Apr 23, 2021
Subresource Web Bundles.

The problem is: when Web Bundle fetching fails due to a network error,
Subresource fetch doesn't fail forever.
One such case (subresource-loading-cors-error test) was
timing out previously but passes successfully with this change.

This CL also adds 2 WPT tests:
1. subresource-loading-network-error.https.tentative.sub.html
2. subresource-loading-web-bundle-fetch-failed.https.tentative.html

Test #1 is a scenario with a different network error than the CORS
one, but with the same issue of subresource fetching timing out
without the change. It passes successfully after the change.

Test #2 is a scenario with a Web bundle not found error, which is
not directly influenced by the code added in this CL, but it expands
the test coverage which was found to be lacking the error cases before.

Bug: 1168449

Change-Id: Ia3abb967e36274becc86e317bc51b1272d3ae679
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2826001
Reviewed-by: Tsuyoshi Horo <[email protected]>
Reviewed-by: Hayato Ito <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Commit-Queue: Miras Myrzakerey <[email protected]>
Cr-Commit-Position: refs/heads/master@{#875532}
pull bot pushed a commit that referenced this pull request Apr 27, 2021
This reverts commit 59bae41.

Reason for revert: Broken on Linux Chromium OS ASan LSan Tests (1)
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20(1)/39927/

<div><pre>[ RUN      ] PrerenderBrowserTest.PrerenderBlankIframe
2021-04-26T19:40:32.221868Z INFO content_browsertests[5132:5132]: [content_main_runner_impl.cc(1077)] Chrome is running in full browser mode.

DevTools listening on ws://127.0.0.1:36659/devtools/browser/21b92715-e642-49fe-98ef-4b69eea3f8b2
2021-04-26T19:40:32.847975Z ERROR content_browsertests[5132:5132]: [browser_test_utils.cc(837)] No committed entry.
2021-04-26T19:40:34.078783Z WARNING content_browsertests[5132:5132]: [render_frame_host_impl.cc(977)] InterfaceRequest was dropped, the document is no longer active: blink.mojom.AppCacheBackend
2021-04-26T19:40:34.281683Z FATAL content_browsertests[5285:1]: [document.cc(8103)] Check failed: is_prerendering_.
    #0 0x55b148a133cb in backtrace /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4205:13
    #1 0x55b1586bd249 in base::debug::CollectStackTrace(void**, unsigned long) ./../../base/debug/stack_trace_posix.cc:840:39
    #2 0x55b1583f3f03 in StackTrace ./../../base/debug/stack_trace.cc:198:12
    #3 0x55b1583f3f03 in base::debug::StackTrace::StackTrace() ./../../base/debug/stack_trace.cc:195:28
    #4 0x55b158448eb2 in logging::LogMessage::~LogMessage() ./../../base/logging.cc:589:29
    #5 0x55b15844adde in logging::LogMessage::~LogMessage() ./../../base/logging.cc:583:27
    #6 0x55b15e0d8fa6 in blink::Document::ActivateForPrerendering() ./../../third_party/blink/renderer/core/dom/document.cc:8103:3
    #7 0x55b15392c60c in Run ./../../base/callback.h:101:12
    #8 0x55b15392c60c in RunInternal ./../../third_party/blink/renderer/platform/wtf/functional.h:221:33
    #9 0x55b15392c60c in WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>, void ()>::Run() ./../../third_party/blink/renderer/platform/wtf/functional.h:206:12
    #10 0x55b1585795fa in Run ./../../base/callback.h:101:12
    #11 0x55b1585795fa in base::TaskAnnotator::RunTask(char const*, base::PendingTask*) ./../../base/task/common/task_annotator.cc:173:33
    #12 0x55b1585e197a in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:351:25
    #13 0x55b1585e071f in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:264:36
    #14 0x55b158468934 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_default.cc:39:55
    #15 0x55b1585e36d9 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:460:12
    #16 0x55b158503839 in base::RunLoop::Run(base::Location const&) ./../../base/run_loop.cc:133:14
    #17 0x55b1671389dc in content::RendererMain(content::MainFunctionParams const&) ./../../content/renderer/renderer_main.cc:261:16
    #18 0x55b15003c45a in content::RunZygote(content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:572:14
    #19 0x55b15003f244 in content::ContentMainRunnerImpl::Run(bool) ./../../content/app/content_main_runner_impl.cc:958:10
    #20 0x55b150039a30 in content::RunContentProcess(content::ContentMainParams const&, content::ContentMainRunner*) ./../../content/app/content_main.cc:372:36
    #21 0x55b150039f11 in content::ContentMain(content::ContentMainParams const&) ./../../content/app/content_main.cc:398:10
    #22 0x55b157438e9c in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:372:12
    #23 0x55b1572a1d21 in main ./../../content/test/content_test_launcher.cc:91:10
    #24 0x7f772d1ad840 in __libc_start_main ??:0:0
    #25 0x55b1489dcaaa in _start ??:0:0
Task trace:
    #0 0x55b15ea7ff11 in blink::LocalFrame::ActivateForPrerendering() ./../../third_party/blink/renderer/core/frame/local_frame.cc:3766:18
    #1 0x55b15780d116 in IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept(mojo::Message*) ./../../ipc/ipc_mojo_bootstrap.cc:904:13
IPC message handler context: 0xA60C9B35

Received signal 6
    #0 0x55b148a133cb in backtrace /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4205:13
    #1 0x55b1586bd249 in base::debug::CollectStackTrace(void**, unsigned long) ./../../base/debug/stack_trace_posix.cc:840:39
    #2 0x55b1583f3f03 in StackTrace ./../../base/debug/stack_trace.cc:198:12
    #3 0x55b1583f3f03 in base::debug::StackTrace::StackTrace() ./../../base/debug/stack_trace.cc:195:28
    #4 0x55b1586bbd47 in base::debug::(anonymous namespace)::StackDumpSignalHandler(int, siginfo_t*, void*) ./../../base/debug/stack_trace_posix.cc:345:3
    #5 0x7f7730097390 in __funlockfile ??:?
    #6 0x7f7730097390 in ?? ??:0
    #7 0x7f772d1c2438 in raise ??:0:0
    #8 0x7f772d1c403a in abort ??:0:0
    #9 0x55b1586b9f6a in base::debug::BreakDebugger() ./../../base/debug/debugger_posix.cc:326:3
    #10 0x55b158449863 in logging::LogMessage::~LogMessage() ./../../base/logging.cc:891:7
    #11 0x55b15844adde in logging::LogMessage::~LogMessage() ./../../base/logging.cc:583:27
    #12 0x55b15e0d8fa6 in blink::Document::ActivateForPrerendering() ./../../third_party/blink/renderer/core/dom/document.cc:8103:3
    #13 0x55b15392c60c in Run ./../../base/callback.h:101:12
    #14 0x55b15392c60c in RunInternal ./../../third_party/blink/renderer/platform/wtf/functional.h:221:33
    #15 0x55b15392c60c in WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>, void ()>::Run() ./../../third_party/blink/renderer/platform/wtf/functional.h:206:12
    #16 0x55b1585795fa in Run ./../../base/callback.h:101:12
    #17 0x55b1585795fa in base::TaskAnnotator::RunTask(char const*, base::PendingTask*) ./../../base/task/common/task_annotator.cc:173:33
    #18 0x55b1585e197a in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:351:25
    #19 0x55b1585e071f in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:264:36
    #20 0x55b158468934 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_default.cc:39:55
    #21 0x55b1585e36d9 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:460:12
    #22 0x55b158503839 in base::RunLoop::Run(base::Location const&) ./../../base/run_loop.cc:133:14
    #23 0x55b1671389dc in content::RendererMain(content::MainFunctionParams const&) ./../../content/renderer/renderer_main.cc:261:16
    #24 0x55b15003c45a in content::RunZygote(content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:572:14
    #25 0x55b15003f244 in content::ContentMainRunnerImpl::Run(bool) ./../../content/app/content_main_runner_impl.cc:958:10
    #26 0x55b150039a30 in content::RunContentProcess(content::ContentMainParams const&, content::ContentMainRunner*) ./../../content/app/content_main.cc:372:36
    #27 0x55b150039f11 in content::ContentMain(content::ContentMainParams const&) ./../../content/app/content_main.cc:398:10
    #28 0x55b157438e9c in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:372:12
    #29 0x55b1572a1d21 in main ./../../content/test/content_test_launcher.cc:91:10
    #30 0x7f772d1ad840 in __libc_start_main ??:0:0
    #31 0x55b1489dcaaa in _start ??:0:0
  r8: 0000000000003000  r9: 00000feee51a2840 r10: 0000000000000008 r11: 0000000000000202
 r12: 00000fef65260c00 r13: 00000feee5268e48 r14: 00007f7729347230 r15: 00007f77293472b0
  di: 0000000000000001  si: 0000000000000001  bp: 00007ffcf0a97110  bx: 00007ffcf0a97120
  dx: 0000000000000006  ax: 0000000000000000  cx: 00007f772d1c2438  sp: 00007ffcf0a96fd8
  ip: 00007f772d1c2438 efl: 0000000000000202 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(EXIT_FAILURE). Core file will not be generated.
../../content/public/test/no_renderer_crashes_assertion.cc:101: Failure
Failed
Unexpected termination of a renderer process; status: 1, exit_code: 256
Stack trace:
    #0 0x556300884c70 in content::NoRendererCrashesAssertion::Observe(int, content::NotificationSource const&, content::NotificationDetails const&) ./../../content/public/test/no_renderer_crashes_assertion.cc:101:5
    #1 0x5562fe8a511c in content::NotificationServiceImpl::Notify(int, content::NotificationSource const&, content::NotificationDetails const&) ./../../content/browser/notification_service_impl.cc:123:16
    #2 0x5562fed854dc in content::RenderProcessHostImpl::ProcessDied(bool, content::ChildProcessTerminationInfo*) ./../../content/browser/renderer_host/render_process_host_impl.cc:4468:35
    #3 0x5562fed84d46 in content::RenderProcessHostImpl::FastShutdownIfPossible(unsigned long, bool) ./../../content/browser/renderer_host/render_process_host_impl.cc:3480:3
    #4 0x5563007096fd in content::ContentBrowserTest::PostRunTestOnMainThread() ./../../content/public/test/content_browser_test.cc:159:26
    #5 0x55630081ddfd in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:833:3
    #6 0x5562f23f595a in base::OnceCallback<void ()>::Run() && ./../../base/callback.h:101:12
    #7 0x556300a86450 in content::ShellBrowserMainParts::PreMainMessageLoopRun() ./../../content/shell/browser/shell_browser_main_parts.cc:200:37
    #8 0x5562fe06aed1 in content::BrowserMainLoop::PreMainMessageLoopRun() ./../../content/browser/browser_main_loop.cc:961:28
    #9 0x5562f78e60d9 in base::OnceCallback<int ()>::Run() && ./../../base/callback.h:101:12
    #10 0x5562ff118ca5 in content::StartupTaskRunner::RunAllTasksNow() ./../../content/browser/startup_task_runner.cc:41:29
    #11 0x5562fe06a59d in content::BrowserMainLoop::CreateStartupTasks() ./../../content/browser/browser_main_loop.cc:869:25
    #12 0x5562fe0715f3 in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) ./../../content/browser/browser_main_runner_impl.cc:131:15
    #13 0x5562fe066342 in content::BrowserMain(content::MainFunctionParams const&) ./../../content/browser/browser_main.cc:43:32
    #14 0x5562f94bb63d in content::RunBrowserProcessMain(content::MainFunctionParams const&, content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:598:10
    #15 0x5562f94bded9 in content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams&, bool) ./../../content/app/content_main_runner_impl.cc:1081:10
    #16 0x5562f94bd258 in content::ContentMainRunnerImpl::Run(bool) ./../../content/app/content_main_runner_impl.cc:956:12
    #17 0x5562f94b7a30 in content::RunContentProcess(content::ContentMainParams const&, content::ContentMainRunner*) ./../../content/app/content_main.cc:372:36
    #18 0x5562f94b7f11 in content::ContentMain(content::ContentMainParams const&) ./../../content/app/content_main.cc:398:10
    #19 0x55630081c4bd in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:696:3

2021-04-26T19:40:34.692356Z WARNING content_browsertests[5132:5174]: [discardable_shared_memory_manager.cc(432)] Some MojoDiscardableSharedMemoryManagerImpls are still alive. They will be leaked.
[  FAILED  ] PrerenderBrowserTest.PrerenderBlankIframe, where TypeParam =  and GetParam() =  (2830 ms)

Original change's description:
> Prerender: Enable PrerenderBrowserTest.PrerenderBlankIframe
>
> To sheriffs: Feel free to revert this CL if the test is flaky.
>
> The CL author tried to reproduce this on local environments but
> failed. For further investigation, this CL enables the test again to see
> how it works on the try bots.
>
> Bug: 1185965
> Change-Id: Ie7f65ef094a815e72b93091c8b3d0ab9b361e593
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2850329
> Reviewed-by: Lingqi Chi <[email protected]>
> Commit-Queue: Hiroki Nakagawa <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#876111}

Bug: 1185965
Change-Id: I245d5e5f2715c75ead3a50389cbd0e9a4ad49aed
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2853351
Auto-Submit: Thiemo Nagel <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Commit-Queue: Thiemo Nagel <[email protected]>
Owners-Override: Thiemo Nagel <[email protected]>
Cr-Commit-Position: refs/heads/master@{#876535}
pull bot pushed a commit that referenced this pull request May 1, 2021
This change addresses the following two issues:
1. Alert announcements are repeated when using the IME.
2. The entire IME window is read.

Please see the bug for more context.

To address issue #1, we never send alerts for the IME window;
these don't provide any useful information to the user, and as
mentioned in the bug, are sent repeatedly by the IME.

To address issue #2, we add the ignoreAncestry property for IME
candidates in Output.Role_info.

messages are no longer read. Also ensure that the entire IME window
is never read when following the repro steps in the bug.
IME candidate window opens.

Bug: 1184698
Test: Manual. Use IME for Japanese input and verify that alert
AX-Relnotes: ChromeVox doesn't repeatedly announce "alert" when the
Change-Id: Ib2922bf20ee123095c29796eb04aa952c13b1898
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2801279
Commit-Queue: Akihiro Ota <[email protected]>
Reviewed-by: Dana Fried <[email protected]>
Reviewed-by: Xiyuan Xia <[email protected]>
Reviewed-by: Hiroki Sato <[email protected]>
Cr-Commit-Position: refs/heads/master@{#878074}
pull bot pushed a commit that referenced this pull request May 4, 2021
This reverts commit cb50483.

Reason for revert: fails on UBSAN bot

https://ci.chromium.org/ui/p/chromium/builders/ci/linux-ubsan-vptr/3981/overview

Log is:

[ RUN      ] ReportClientTestSuite/ReportClientTest.CreatesReportQueue/1
../../base/bind_internal.h:509:12: runtime error: member call on address 0x1eb2009c7e00 which does not point to an object of type 'StorageInitContext'
0x1eb2009c7e00: note: object has invalid vptr
 00 00 00 00  00 00 1e b2 00 9c 7d 40  ff ff e1 4d ff 63 82 bf  20 0f 9b 01 b2 1e 00 00  80 e2 32 00
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
    #0 0x556cc82b0ebc in Invoke<void (StorageInitContext::*)(reporting::StatusOr<std::unique_ptr<reporting::UploaderInterface> >), StorageInitContext *, reporting::StatusOr<std::unique_ptr<reporting::UploaderInterface> > > base/bind_internal.h:509:12
    #1 0x556cc82b0ebc in MakeItSo<void (StorageInitContext::*)(reporting::StatusOr<std::unique_ptr<reporting::UploaderInterface> >), StorageInitContext *, reporting::StatusOr<std::unique_ptr<reporting::UploaderInterface> > > base/bind_internal.h:648:12
    #2 0x556cc82b0ebc in RunImpl<void (StorageInitContext::*)(reporting::StatusOr<std::unique_ptr<reporting::UploaderInterface> >), std::tuple<base::internal::UnretainedWrapper<StorageInitContext> >, 0> base/bind_internal.h:721:12
    #3 0x556cc82b0ebc in base::internal::Invoker<base::internal::BindState<void (reporting::Storage::Create(reporting::StorageOptions const&, base::RepeatingCallback<void (reporting::Priority, bool, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>)>, scoped_refptr<reporting::EncryptionModuleInterface>, base::OnceCallback<void (reporting::StatusOr<scoped_refptr<reporting::Storage> >)>)::StorageInitContext::*)(reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >), base::internal::UnretainedWrapper<reporting::Storage::Create(reporting::StorageOptions const&, base::RepeatingCallback<void (reporting::Priority, bool, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>)>, scoped_refptr<reporting::EncryptionModuleInterface>, base::OnceCallback<void (reporting::StatusOr<scoped_refptr<reporting::Storage> >)>)::StorageInitContext> >, void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>::RunOnce(base::internal::BindStateBase*, reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >&&) base/bind_internal.h:690:12
    #4 0x556cc82b087a in Run base/callback.h:101:12
    #5 0x556cc82b087a in reporting::Storage::Create(reporting::StorageOptions const&, base::RepeatingCallback<void (reporting::Priority, bool, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>)>, scoped_refptr<reporting::EncryptionModuleInterface>, base::OnceCallback<void (reporting::StatusOr<scoped_refptr<reporting::Storage> >)>)::StorageInitContext::WrapInstantiatedKeyUploader(reporting::Priority, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>, reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >) components/reporting/storage/storage.cc:543:12
    #6 0x556cc82b0f8b in void base::internal::FunctorTraits<void (*)(reporting::Priority, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>, reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >), void>::Invoke<void (*)(reporting::Priority, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>, reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >), reporting::Priority, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>, reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > > >(void (*&&)(reporting::Priority, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>, reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >), reporting::Priority&&, base::OnceCallback<void (reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >)>&&, reporting::StatusOr<std::__1::unique_ptr<reporting::UploaderInterface, std::__1::default_delete<reporting::UploaderInterface> > >&&) base/bind_internal.h:404:12
    #7 0x556cc3c9dbaf in Run base/callback.h:101:12
    #8 0x556cc3c9dbaf in reporting::ReportingClient::FlushAsyncStartUploaderQueue() chrome/browser/policy/messaging_layer/public/report_client.cc:407:44

Original change's description:
> Fixed ReportClient
>
> Made encryption key delivery work.
> Extended unit test to handle encrypted case.
> Also modified the test to accept unique directory instead of "reporting"
>
> Bug: b:186460976
> Change-Id: Ibe0c4caad64b4e77c0d984138ce0a9ae027253a7
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2866305
> Commit-Queue: Leonid Baraz <[email protected]>
> Reviewed-by: Zach Trudo <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#878713}

Bug: b:186460976
Change-Id: I059d13e662679816d63b219269b6f25c7acfb23f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2871825
Auto-Submit: David Roger <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Commit-Queue: David Roger <[email protected]>
Owners-Override: David Roger <[email protected]>
Cr-Commit-Position: refs/heads/master@{#878809}
pull bot pushed a commit that referenced this pull request May 8, 2021
Defining a custom element that has a slot can result in reparenting
slot contents into the corresponding <slot> element. However, if the
custom element happens to be hidden, this triggers a DCHECK in
AXNodeObject::AddNodeChild because the slot contents still had its
previous parent cached.

Other DCHECKs occur from slot assignment because the accessibility
code needs to use LayoutTreeBuilderTraversal (which uses
FlatTreeTraversal under the covers), during slot assignment, which
is illegal.

Fixes:
1. When slot assignment is being recalculated, call ChildrenChanged(),
even before flat tree traversal is forbidden.
2. Include the following types of nodes and their parents in the tree:
custom elements, shadow content, slots. This aids in tree management.
3. Do not use LayoutTreeBuilderTraversal to detach children from their
parents when it would be unsafe to do so. Instead, allow some
children to have detached parents, and repair them later. This involves
changing IsMissingParent() to return true if the parent is detached.
4. Do not use DisplayLockUtilities methods that walk ancestors while
flat tree traversal is illegal.

Even with #1, items #2 and #3 are necessary because slot assignment
can cause AXObjectCache calls due to layout changes, such as
layout objects being removed.

Bug: 1204683, 1205770, 1206404
Change-Id: I1718579e31ceea89d5854463be8e9073565134a9
Cq-Do-Not-Cancel-Tryjobs: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2867729
Commit-Queue: Aaron Leventhal <[email protected]>
Auto-Submit: Aaron Leventhal <[email protected]>
Reviewed-by: Mason Freed <[email protected]>
Reviewed-by: Joey Arhar <[email protected]>
Reviewed-by: Dominic Mazzoni <[email protected]>
Cr-Commit-Position: refs/heads/master@{#880559}
pull bot pushed a commit that referenced this pull request May 10, 2021
This reverts commit 2f782f3.

Reason for revert:
This is causing accessibility/slot-poison.html to fail on the WebKit Linux ASAN bot [1] and accessibility/details-summary-crash.html to fail on the WebKit Linux Leak bot [2].

For the details-summary-crash.html on the leak bot, I found that it's just appending strange output with leak detection enabled. I asked about this in #rendering on slack, and in the meantime we can get around this by just removing the "testRunner.dumpAsText()" from the test.

For the slot-poison.html ASAN issue though, I'm not sure exactly what's wrong. I was able to reproduce it by using the is_asan=true and is_lsan=true GN args and the following layout test command:
./third_party/blink/tools/run_web_tests.py --fully-parallel -t asan --no-retry-failures virtual/force-renderer-accessibility/accessibility/slot-poison.html --iterations=100
Note the --iterations=100, it doesn't reproduce on the first try usually. There's something happening where |node| at [3] is "poisoned". I'm not sure if that means it's been freed or what, but I can help look into it

[1] https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Linux%20ASAN/24190/overview
[2] https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Linux%20Leak/25929/overview
[3] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/html_slot_element.cc;l=347;drc=e33d8330523aa51ffe4ffd3c9139dcc02b50a205

Original change's description:
> Safe accessibility tree management during slot reassignment
>
> Defining a custom element that has a slot can result in reparenting
> slot contents into the corresponding <slot> element. However, if the
> custom element happens to be hidden, this triggers a DCHECK in
> AXNodeObject::AddNodeChild because the slot contents still had its
> previous parent cached.
>
> Other DCHECKs occur from slot assignment because the accessibility
> code needs to use LayoutTreeBuilderTraversal (which uses
> FlatTreeTraversal under the covers), during slot assignment, which
> is illegal.
>
> Fixes:
> 1. When slot assignment is being recalculated, call ChildrenChanged(),
> even before flat tree traversal is forbidden.
> 2. Include the following types of nodes and their parents in the tree:
> custom elements, shadow content, slots. This aids in tree management.
> 3. Do not use LayoutTreeBuilderTraversal to detach children from their
> parents when it would be unsafe to do so. Instead, allow some
> children to have detached parents, and repair them later. This involves
> changing IsMissingParent() to return true if the parent is detached.
> 4. Do not use DisplayLockUtilities methods that walk ancestors while
> flat tree traversal is illegal.
>
> Even with #1, items #2 and #3 are necessary because slot assignment
> can cause AXObjectCache calls due to layout changes, such as
> layout objects being removed.
>
> Bug: 1204683, 1205770, 1206404
> Change-Id: I1718579e31ceea89d5854463be8e9073565134a9
> Cq-Do-Not-Cancel-Tryjobs: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2867729
> Commit-Queue: Aaron Leventhal <[email protected]>
> Auto-Submit: Aaron Leventhal <[email protected]>
> Reviewed-by: Mason Freed <[email protected]>
> Reviewed-by: Joey Arhar <[email protected]>
> Reviewed-by: Dominic Mazzoni <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#880559}

Bug: 1204683
Bug: 1205770
Bug: 1206404
Change-Id: I2117ac176540a6110223ee5b85279ae384f7797f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2881294
Auto-Submit: Joseph Arhar (please use [email protected]) <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Commit-Queue: Mason Freed <[email protected]>
Reviewed-by: Joseph Arhar (please use [email protected]) <[email protected]>
Reviewed-by: Mason Freed <[email protected]>
Owners-Override: Joseph Arhar (please use [email protected]) <[email protected]>
Cr-Commit-Position: refs/heads/master@{#880807}
pull bot pushed a commit that referenced this pull request May 15, 2021
Original patch: http://crrev.com/c/2867729
Revert: http://crrev.com/c/2881294
Reland #1: http://crrev.com/c/2885943
Revert #2: http://crrev.com/c/2891310

Relative to Reland #1, this patch fixes the ASAN use-after-poison issue
by retaining the stricter HTMLSlotElement check in accessibility code.
I filed a bug to follow up on this: crbug.com/1209216

The leak test issue was also fixed by crrev.com/c/2896606, so I don't
need the LeakExpectations entry anymore.

Bug: 1204683, 1205770, 1206404
Change-Id: I79854301176978b3b734df5001790c42b310ab19
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2894725
Reviewed-by: Aaron Leventhal <[email protected]>
Commit-Queue: Joey Arhar <[email protected]>
Cr-Commit-Position: refs/heads/master@{#883039}
pull bot pushed a commit that referenced this pull request Sep 22, 2024
https://skia.googlesource.com/skia.git/+log/5e9aa3211d90..fa43a5f015f0

2024-09-19 [email protected] [rust png] Add support for `SkCodec::Result::kIncompleteInput`.
2024-09-19 [email protected] [graphite] Improve PaintParamsKeyTests' feedback re missing Pipelines
2024-09-19 [email protected] Reland "Reland "Split FreeType & FontConfig, step #1""
2024-09-19 [email protected] Roll vulkan-deps from e80717cdb17e to e4d224c16ab4 (1 revision)
2024-09-19 [email protected] [infra] Add Debian11 CPU test job

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux-blink-rel;luci.chromium.try:linux-chromeos-compile-dbg;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Cq-Do-Not-Cancel-Tryjobs: true
Bug: chromium:356923435
Tbr: [email protected]
Change-Id: I3d92c05f623f0b31392fdf4d0b81bfb1e99fb475
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5875336
Bot-Commit: chromium-autoroll <[email protected]>
Commit-Queue: chromium-autoroll <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1357950}
pull bot pushed a commit that referenced this pull request Oct 3, 2024
This CL adds metrics for the different opt in flows/user actions
for the user's interactions with the price tracking promotion in
the magic stack. The price tracking promotion in the magic stack
is for price tracking users from another platform (e.g. desktop)
who haven't discovered the feature on iOS yet.

Opt in Flow #1 https://drive.google.com/file/d/1ScW2Yeg8pqDbEKxLtv6nmCVDSTENLGE-/view
Opt in Flow #2 https://drive.google.com/file/d/1NHbJQUkdXDZTRgx6IWXmogL1N6ks7-sk/view
Opt in Flow #3 https://drive.google.com/file/d/13mvVKd-NWtusBZRTbR5qL8PWoQIBaCnG/view

Bug: 371045445
Change-Id: I4c3df641d8e0cfb9397f5bb2fcbdc5fecffb3134
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5906380
Commit-Queue: David Maunder <[email protected]>
Reviewed-by: Matthew Jones <[email protected]>
Reviewed-by: Chris Lu <[email protected]>
Reviewed-by: Luc Nguyen <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1363386}
pull bot pushed a commit that referenced this pull request Oct 5, 2024
This change removes a substantial amount of indirection in both code
and task execution.

net::FileStream is replaced by base::File, which has the effect of
making i/o synchronous and same-thread. This should theoretically be
faster due to fewer deferrals and no longer relying on the possibly
heavily contended browser i/o thread. In this case, the calling
thread is the IDB bucket thread, which is the same thread that the
LDB database disk i/o is performed on.

Previously, `FileStreamReaderToDataPipe` was constructed on the
browser I/O thread (deferral #1), disk i/o occurred on a
threadpool taskrunner and reported back to the i/o thread (deferral
#2,3).

This is also a win for code simplicity since `base::File` is simpler
than passing through the layers of `storage::FileStreamReader`,
`net::FileStream` and `net::FileStream::Context`.

I did consider also running each blob reader on a different task
runner and not using the bucket thread, however that didn't benchmark
any differently, so I decided against the added complexity.

*** Benchmarking ***

I updated the IDB playground to better test this:
evanstade/indexeddb_playground@c13325d

With 100B blobs, there is no consistently measurable performance
impact on two of the three tests. On the third, "getting each item
in its own transaction", there was an improvement of approximately
10% which was pretty consistent.

When increasing the blob size to 1MB, one benchmark was unimproved,
one was improved by about 7%, and the "blob per transaction" test
was improved by 25%.

These results are pretty load-specific and device dependent, but even
in cases where this change has little measured performance impact, it
has a theoretical benefit which is harder to measure: to reduce
dependence on (and contention of) the I/O thread, which would be busy
for reasons unrelated to IDB on systems experiencing high load.

Bug: 40262766,40518562,369319575
Change-Id: I9ec1dc5d5462d0ebdbd08d3a7c5b0b92642db6df
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5898304
Reviewed-by: Mike Wasserman <[email protected]>
Commit-Queue: Evan Stade <[email protected]>
Reviewed-by: Brad Triebwasser <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1364376}
pull bot pushed a commit that referenced this pull request Oct 10, 2024
When a prefetch is started, `PrefetchContainer` is registered to
`PrefetchService` and eligibility check is started. The eligibility
check is done in asynchronous and prefetch matching process regards this
as not a candidate.

This is problematic for prefetch ahead of prerender: When a prerender is
started by Speculation Rules, a prefetch ahead of prerender is started,
and a prerender is started synchronously. So, the prefetch doesn't match
to the prerender if a renderer started a prerender navigation and it
reached to prefetch matching process before the prefetech eligibility
check completion.

This CL fixes it as the followings:

- Adds `PrefetchContainer::ServableState::kCheckingEligibility`.
  `PrefetchContainer` becomes this state at the creation.
- Adds `PrefetchContainer::IsLikelyAheadOfPrerender()`. A prefetch that
  is ahead of prerender or was already in `PrefetchService` when a
  prerender started with the same `PrefetchContainer::Key`.
- Updates `PrefetchService::AddPrefetchContainerWithoutStartingPrefetch`
  to accomplish the above migration.
- Includes `PrefetchContainer` that is `kCheckingEligibility` and
  `IsLikelyAheadOfPrerender()` to the match candidates.

The change is behind a feature flag
`Prerender2FallbackPrefetchSpecRules`.

BYPASS_LARGE_CHANGE_WARNING

Fixed: 343867153
Change-Id: I684a35a528c0d54262dccec2a6a33f75e87ce874
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5859621
Reviewed-by: Hiroki Nakagawa <[email protected]>
Commit-Queue: Ken Okada <[email protected]>
Reviewed-by: Hiroshige Hayashizaki <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1366713}
pull bot pushed a commit that referenced this pull request Oct 26, 2024
See https://drafts.csswg.org/css-pseudo-4/#first-text-line

1. For a block container that establishes an inline formatting context,
the "first formatted line" is its first line box, if it has one.
Otherwise, there is no first formatted line.

2. Otherwise, for a block container that has block children, look inside
the first in-flow block child (if any) and do #1 if it establishes an
inline formatting context. Otherwise, do #2.

In short, we don't need to search for line boxes in blocks after the
first block child. If there is no line in the first child, there's no
"first formatted line".

There's no spec for "last formatted line", but apply the same logic.
I.e. if the last block child has no line, there's no "last formatted
line".

This allows us to simplify things a bit, especially when it comes to
re-laying out (kTextBoxTrimEndDidNotApply). The only case where we need
this now is for blocks inside inlines: If the last formatted line is
inside a block-in-inline, we need to go back and re-lay it out if it
turns out to be the last line (which isn't something we can check inside
block-in-inline layout). Note: When adding support for block
fragmentation, trimming at a fragmentainer's block end will be another
case where we need to re-lay out.

The motivation for this change was text box trimming inside block
fragmentation (upcoming CL), and be able to add support for that and
still be reasonably confident that it won't become too complicated.

This fixes one existing test. Some other existing tests had to be
updated because of this change (they were making incorrect assumptions
about first/last formatted line). As a result of that, some new refs had
to be added, since other tests were piggy-backing on the same ref.

Bug: 40254880, 367766472
Change-Id: I3fcc53af86353725b1f5705a5528493a72bf2e69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5952979
Commit-Queue: Morten Stenshorne <[email protected]>
Reviewed-by: Koji Ishii <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1373765}
pull bot pushed a commit that referenced this pull request Oct 26, 2024
This reverts commit ecb74d5.

Reason for revert:

A series of bots such as "Linux Tests (dbg)(1)", "Linux ASan LSan Tests (1)" started failing consistently in browser_tests for these two tests:
PreviewBrowserTest.ErrorOnNonHttpsUrl
PreviewBrowserTest.ErrorOnRedirectionToNonHttpsUrl
after this change was submitted.

More complete bot list is below [1].

Both of those tests are both prerender-related.  This is the only prerender-related change on the blamelist.

The former somtimes fails with
vector.h(1305): Check failed: i < size() (0 vs. 0)
See full stack trace below [2].

The latter sometimes fails with
preview_manager.cc(73): Check failed: tab_.
See full stack trace below [3].

I have also seen the former fail with the "Check failed: tab_." error message.

And on some bots I have also seen a full-blown crash (unexpected abort).

Also, on some both I have seen other PreviewBrowserTest failures at this time, such as PreviewBrowserTest.MojoCapabilityControl, with similar errors.


[1] bots that fail:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ASan%20LSan%20Tests%20(1)/128871/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20(1)/61153/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Tests/47171/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20MSan%20Tests/51450/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests%20(dbg)(1)/122977/blamelist
https://ci.chromium.org/ui/p/chromium/builders/ci/linux-chromeos-dbg/37765/blamelist

[2]
PreviewBrowserTest.ErrorOnNonHttpsUrl
[ RUN      ] PreviewBrowserTest.ErrorOnNonHttpsUrl
[292860:292860:1025/041435.600171:WARNING:field_trial_util.cc(106)] Field trial config study skipped: LinkPreview.EnabledAltClick (some of its features are already overridden)
[292860:292860:1025/041435.613074:WARNING:field_trial_util.cc(106)] Field trial config study skipped: PreconnectToSearchDesktop.EnabledWithStartupDelayForegroundOnly (some of its features are already overridden)
[292947:292947:1025/041436.521543:WARNING:gpu_memory_buffer_support_x11.cc(49)] dri3 extension not supported.
[292947:292947:1025/041436.577861:WARNING:sandbox_linux.cc(430)] InitializeSandbox() called with multiple threads in process gpu-process.
[292947:292947:1025/041436.602554:WARNING:viz_main_impl.cc(85)] VizNullHypothesis is disabled (not a warning)
[292948:292979:1025/041438.220989:WARNING:simple_synchronous_entry.cc(1449)] Could not open platform files for entry.
[292860:292860:1025/041439.058422:WARNING:idle_linux.cc(110)] None of the known D-Bus ScreenSaver services could be used.
[292860:293018:1025/041439.668033:WARNING:embedded_test_server.cc(757)] Request not handled. Returning 404: /favicon.ico
[293019:293019:1025/041440.636001:ERROR:html_media_element.cc(4927)] SetError: {code=4, message="MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check"}
[293019:293019:1025/041440.796426:FATAL:vector.h(1305)] Check failed: i < size() (0 vs. 0)
    #0 0x63a93d38d586 in ___interceptor_backtrace /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4441:13
    #1 0x63a95f5dc688 in base::debug::CollectStackTrace(base::span<void const*, 18446744073709551615ul, void const**>) ./../../base/debug/stack_trace_posix.cc:1047:7
    #2 0x63a95f593489 in base::debug::StackTrace::StackTrace(unsigned long) ./../../base/debug/stack_trace.cc:245:20
    #3 0x63a95f253ece in logging::LogMessage::Flush() ./../../base/logging.cc:725:29
    #4 0x63a95f25396d in logging::LogMessage::~LogMessage() ./../../base/logging.cc:713:3
    #5 0x63a95f20756b in ~CheckLogMessage ./../../base/check.cc:193:3
    #6 0x63a95f20756b in logging::(anonymous namespace)::CheckLogMessage::~CheckLogMessage() ./../../base/check.cc:190:31
    #7 0x63a95f206f30 in operator() ./../../third_party/libc++/src/include/__memory/unique_ptr.h:75:5
    #8 0x63a95f206f30 in reset ./../../third_party/libc++/src/include/__memory/unique_ptr.h:297:7
    #9 0x63a95f206f30 in logging::NotReachedError::~NotReachedError() ./../../base/check.cc:355:16
    #10 0x63a975d348af in WTF::Vector<blink::PaintChunk, 0u, blink::HeapAllocator>::at(unsigned int) const ./../../third_party/blink/renderer/platform/wtf/vector.h:1305:5
    #11 0x63a975d57f4b in operator[] ./../../third_party/blink/renderer/platform/wtf/vector.h:1310:52
    #12 0x63a975d57f4b in blink::PaintChunkSubset::operator[](unsigned int) const ./../../third_party/blink/renderer/platform/graphics/paint/paint_chunk_subset.h:108:12
    #13 0x63a975d9700d in FirstPaintChunk ./../../third_party/blink/renderer/platform/graphics/compositing/pending_layer.cc:183:10
    #14 0x63a975d9700d in blink::PendingLayer::Matches(blink::PendingLayer const&) const ./../../third_party/blink/renderer/platform/graphics/compositing/pending_layer.cc:196:54
    #15 0x63a975d23989 in Find ./../../third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc:73:21
    #16 0x63a975d23989 in blink::PaintArtifactCompositor::Update(blink::PaintArtifact const&, blink::PaintArtifactCompositor::ViewportProperties const&, blink::HeapVector<cppgc::internal::BasicMember<blink::TransformPaintPropertyNode const, cppgc::internal::StrongMemberTag, cppgc::internal::DijkstraWriteBarrierPolicy, cppgc::internal::DisabledCheckingPolicy, cppgc::internal::CompressedPointer>, 32u> const&, WTF::Vector<std::__Cr::unique_ptr<cc::ViewTransitionRequest, std::__Cr::default_delete<cc::ViewTransitionRequest>>, 0u, WTF::PartitionAllocator>) ./../../third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc:1006:35
    #17 0x63a9711e76ef in blink::LocalFrameView::PushPaintArtifactToCompositor(bool) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:3017:31
    #18 0x63a9711de07f in blink::LocalFrameView::RunPaintLifecyclePhase(blink::PaintBenchmarkMode) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:2677:5
    #19 0x63a9711d825b in blink::LocalFrameView::UpdateLifecyclePhasesInternal(blink::DocumentLifecycle::LifecycleState) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:2377:3
    #20 0x63a9711cfedd in blink::LocalFrameView::UpdateLifecyclePhases(blink::DocumentLifecycle::LifecycleState, blink::DocumentUpdateReason) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:2181:3
    #21 0x63a9711ced65 in blink::LocalFrameView::UpdateAllLifecyclePhases(blink::DocumentUpdateReason) ./../../third_party/blink/renderer/core/frame/local_frame_view.cc:1908:54
    #22 0x63a973c8b458 in blink::PageAnimator::UpdateAllLifecyclePhases(blink::LocalFrame&, blink::DocumentUpdateReason) ./../../third_party/blink/renderer/core/page/page_animator.cc:397:9
    #23 0x63a97146de8d in blink::WebFrameWidgetImpl::UpdateLifecycle(blink::WebLifecycleUpdate, blink::DocumentUpdateReason) ./../../third_party/blink/renderer/core/frame/web_frame_widget_impl.cc:1663:14
    #24 0x63a9761f2ce6 in UpdateVisualState ./../../third_party/blink/renderer/platform/widget/widget_base.cc:1027:12
    #25 0x63a9761f2ce6 in non-virtual thunk to blink::WidgetBase::UpdateVisualState() ./../../third_party/blink/renderer/platform/widget/widget_base.cc:0:0
    #26 0x63a9685d7f9e in cc::LayerTreeHost::RequestMainFrameUpdate(bool) ./../../cc/trees/layer_tree_host.cc:386:12
    #27 0x63a968929d27 in cc::ProxyMain::BeginMainFrame(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>) ./../../cc/trees/proxy_main.cc:296:21
    #28 0x63a96895daca in Invoke<void (cc::ProxyMain::*)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState> >), const base::WeakPtr<cc::ProxyMain> &, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState> > > ./../../base/functional/bind_internal.h:738:12
    #29 0x63a96895daca in MakeItSo<void (cc::ProxyMain::*)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState> >), std::__Cr::tuple<base::WeakPtr<cc::ProxyMain>, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState> > > > ./../../base/functional/bind_internal.h:954:5
    #30 0x63a96895daca in void base::internal::Invoker<base::internal::FunctorTraits<void (cc::ProxyMain::*&&)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>), base::WeakPtr<cc::ProxyMain>&&, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>&&>, base::internal::BindState<true, true, false, void (cc::ProxyMain::*)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>), base::WeakPtr<cc::ProxyMain>, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>>, void ()>::RunImpl<void (cc::ProxyMain::*)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>), std::__Cr::tuple<base::WeakPtr<cc::ProxyMain>, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>>, 0ul, 1ul>(void (cc::ProxyMain::*&&)(std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>), std::__Cr::tuple<base::WeakPtr<cc::ProxyMain>, std::__Cr::unique_ptr<cc::BeginMainFrameAndCommitState, std::__Cr::default_delete<cc::BeginMainFrameAndCommitState>>>&&, std::__Cr::integer_sequence<unsigned long, 0ul, 1ul>) ./../../base/functional/bind_internal.h:1067:14
    #31 0x63a93d44d4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #32 0x63a95f3ccd8c in base::TaskAnnotator::RunTaskImpl(base::PendingTask&) ./../../base/task/common/task_annotator.cc:202:34
    #33 0x63a95f473609 in RunTask<(lambda at ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:473:11)> ./../../base/task/common/task_annotator.h:98:5
    #34 0x63a95f473609 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:471:23
    #35 0x63a95f4718ba in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:332:40
    #36 0x63a95f474b5b in non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:0:0
    #37 0x63a95f28090b in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_default.cc:40:55
    #38 0x63a95f475cb8 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:641:12
    #39 0x63a95f34b020 in base::RunLoop::Run(base::Location const&) ./../../base/run_loop.cc:133:14
    #40 0x63a97f98da9d in content::RendererMain(content::MainFunctionParams) ./../../content/renderer/renderer_main.cc:361:16
    #41 0x63a95c23b8f7 in content::RunZygote(content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:700:14
    #42 0x63a95c23cc43 in content::RunOtherNamedProcessTypeMain(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, content::MainFunctionParams, content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:804:12
    #43 0x63a95c23fa5f in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:1164:10
    #44 0x63a95c2397f3 in content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) ./../../content/app/content_main.cc:356:36
    #45 0x63a95c23a05c in content::ContentMain(content::ContentMainParams) ./../../content/app/content_main.cc:369:10
    #46 0x63a9625187d6 in content::LaunchTestsInternal(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:385:12
    #47 0x63a962519512 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:504:10
    #48 0x63a96dc8f449 in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:338:10
    #49 0x63a95ef8f627 in main ./../../chrome/test/base/browser_tests_main.cc:60:10
    #50 0x780e7da29d90 in __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #51 0x780e7da29e40 in __libc_start_main ./csu/../csu/libc-start.c:392:3
    #52 0x63a93d34702a in _start ??:0:0
Task trace:
    #0 0x63a9689511e6 in cc::ProxyImpl::ScheduledActionSendBeginMainFrame(viz::BeginFrameArgs const&) ./../../cc/trees/proxy_impl.cc:760:7
    #1 0x63a96892e967 in cc::ProxyMain::SendCommitRequestToImplThreadIfNeeded(cc::ProxyMain::CommitPipelineStage) ./../../cc/trees/proxy_main.cc:878:7
    #2 0x63a976caa6c1 in blink::HTMLDocumentParser::SchedulePumpTokenizer(bool) ./../../third_party/blink/renderer/core/html/parser/html_document_parser.cc:890:7
    #3 0x63a976caa6c1 in blink::HTMLDocumentParser::SchedulePumpTokenizer(bool) ./../../third_party/blink/renderer/core/html/parser/html_document_parser.cc:890:7
    #4 0x63a976caa6c1 in blink::HTMLDocumentParser::SchedulePumpTokenizer(bool) ./../../third_party/blink/renderer/core/html/parser/html_document_parser.cc:890:7
Task trace buffer limit hit, update PendingTask::kTaskBacktraceLength to increase.
Crash keys:
... [omitted rest]

[3] PreviewBrowserTest.ErrorOnRedirectionToNonHttpsUrl stack trace:
[ RUN      ] PreviewBrowserTest.ErrorOnRedirectionToNonHttpsUrl
[444109:444109:1025/041553.399357:WARNING:field_trial_util.cc(106)] Field trial config study skipped: LinkPreview.EnabledAltClick (some of its features are already overridden)
[444109:444109:1025/041553.404344:WARNING:field_trial_util.cc(106)] Field trial config study skipped: PreconnectToSearchDesktop.EnabledWithStartupDelayForegroundOnly (some of its features are already overridden)
[444182:444182:1025/041554.079734:WARNING:gpu_memory_buffer_support_x11.cc(49)] dri3 extension not supported.
[444182:444182:1025/041554.104499:WARNING:sandbox_linux.cc(430)] InitializeSandbox() called with multiple threads in process gpu-process.
[444182:444182:1025/041554.121502:WARNING:viz_main_impl.cc(85)] VizNullHypothesis is disabled (not a warning)
[444183:444252:1025/041556.053677:WARNING:simple_synchronous_entry.cc(1449)] Could not open platform files for entry.
[444109:444109:1025/041557.583553:WARNING:idle_linux.cc(110)] None of the known D-Bus ScreenSaver services could be used.
[444109:444362:1025/041558.554846:WARNING:embedded_test_server.cc(757)] Request not handled. Returning 404: /favicon.ico
[444383:444383:1025/041559.563402:ERROR:html_media_element.cc(4927)] SetError: {code=4, message="MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check"}
[444383:444383:1025/041559.590330:ERROR:html_media_element.cc(4927)] SetError: {code=4, message="MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check"}
[444383:444383:1025/041559.591717:ERROR:html_media_element.cc(4927)] SetError: {code=4, message="MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check"}
chrome/browser/preloading/preview/preview_test_util.cc:35: Failure
Failed
RunLoop::Run() timed out. Timeout set at ProxyRunTestOnMainThreadLoop@content/public/test/browser_test_base.cc:862.
Stack trace:
    #0 0x581999742852 in base::test::(anonymous namespace)::TimeoutCallbackWithGtestFailure(base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&) ./../../base/test/scoped_run_loop_timeout.cc:59:3
    #1 0x581999743998 in Invoke<void (*const &)(const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &), const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &> ./../../base/functional/bind_internal.h:671:12
    #2 0x581999743998 in MakeItSo<void (*const &)(const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &), const std::__Cr::tuple<> &, const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &> ./../../base/functional/bind_internal.h:930:12
    #3 0x581999743998 in RunImpl<void (*const &)(const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &), const std::__Cr::tuple<> &> ./../../base/functional/bind_internal.h:1067:14
    #4 0x581999743998 in base::internal::Invoker<base::internal::FunctorTraits<void (* const&)(base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>, base::internal::BindState<false, true, false, void (*)(base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>, void (base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>::Run(base::internal::BindStateBase*, base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>&&, base::Location const&) ./../../base/functional/bind_internal.h:987:12
    #5 0x58199974311b in base::RepeatingCallback<void (base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>::Run(base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&) const & ./../../base/functional/callback.h:344:12
    #6 0x581999742dde in Invoke<const base::RepeatingCallback<void (const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &)> &, const base::Location &, const base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()> &, const base::Location &> ./../../base/functional/bind_internal.h:830:49
    #7 0x581999742dde in MakeItSo<const base::RepeatingCallback<void (const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &)> &, const std::__Cr::tuple<base::Location, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()> > &, const base::Location &> ./../../base/functional/bind_internal.h:930:12
    #8 0x581999742dde in RunImpl<const base::RepeatingCallback<void (const base::Location &, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()>, const base::Location &)> &, const std::__Cr::tuple<base::Location, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > ()> > &, 0UL, 1UL> ./../../base/functional/bind_internal.h:1067:14
    #9 0x581999742dde in base::internal::Invoker<base::internal::FunctorTraits<base::RepeatingCallback<void (base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)> const&, base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()> const&>, base::internal::BindState<false, true, true, base::RepeatingCallback<void (base::Location const&, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>, base::Location const&)>, base::Location, base::RepeatingCallback<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> ()>>, void (base::Location const&)>::Run(base::internal::BindStateBase*, base::Location const&) ./../../base/functional/bind_internal.h:987:12
    #10 0x5819993b1250 in base::OnceCallback<void (base::Location const&)>::Run(base::Location const&) && ./../../base/functional/callback.h:156:12
    #11 0x5819993aa151 in base::(anonymous namespace)::OnRunLoopTimeout(base::RunLoop*, base::Location const&, base::OnceCallback<void (base::Location const&)>) ./../../base/run_loop.cc:40:25
    #12 0x5819993b0c25 in Invoke<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), base::RunLoop *, base::Location, base::RepeatingCallback<void (const base::Location &)> > ./../../base/functional/bind_internal.h:671:12
    #13 0x5819993b0c25 in MakeItSo<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), std::__Cr::tuple<base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (const base::Location &)> > > ./../../base/functional/bind_internal.h:930:12
    #14 0x5819993b0c25 in RunImpl<void (*)(base::RunLoop *, const base::Location &, base::OnceCallback<void (const base::Location &)>), std::__Cr::tuple<base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (const base::Location &)> >, 0UL, 1UL, 2UL> ./../../base/functional/bind_internal.h:1067:14
    #15 0x5819993b0c25 in base::internal::Invoker<base::internal::FunctorTraits<void (*&&)(base::RunLoop*, base::Location const&, base::OnceCallback<void (base::Location const&)>), base::RunLoop*, base::Location&&, base::RepeatingCallback<void (base::Location const&)>&&>, base::internal::BindState<false, true, false, void (*)(base::RunLoop*, base::Location const&, base::OnceCallback<void (base::Location const&)>), base::internal::UnretainedWrapper<base::RunLoop, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, base::Location, base::RepeatingCallback<void (base::Location const&)>>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/functional/bind_internal.h:980:12
    #16 0x5819774ab4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #17 0x58197f9e29d4 in void base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::ForwardOnce<>() ./../../base/cancelable_callback.h:134:26
    #18 0x58197f9e2f2e in Invoke<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(), const base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > > &> ./../../base/functional/bind_internal.h:738:12
    #19 0x58197f9e2f2e in MakeItSo<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> >::*)(), std::__Cr::tuple<base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()> > > > > ./../../base/functional/bind_internal.h:954:5
    #20 0x58197f9e2f2e in void base::internal::Invoker<base::internal::FunctorTraits<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::*&&)(), base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>>&&>, base::internal::BindState<true, true, false, void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::*)(), base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>>>, void ()>::RunImpl<void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::*)(), std::__Cr::tuple<base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>>>, 0ul>(void (base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>::*&&)(), std::__Cr::tuple<base::WeakPtr<base::internal::CancelableCallbackImpl<base::OnceCallback<void ()>>>>&&, std::__Cr::integer_sequence<unsigned long, 0ul>) ./../../base/functional/bind_internal.h:1067:14
    #21 0x5819774ab4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #22 0x58199942ad8c in base::TaskAnnotator::RunTaskImpl(base::PendingTask&) ./../../base/task/common/task_annotator.cc:202:34
    #23 0x5819994d1609 in RunTask<(lambda at ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:473:11)> ./../../base/task/common/task_annotator.h:98:5
    #24 0x5819994d1609 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:471:23
    #25 0x5819994cf8ba in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:332:40
    #26 0x5819994d2b5b in non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:0:0
    #27 0x5819996866c3 in base::MessagePumpGlib::HandleDispatch() ./../../base/message_loop/message_pump_glib.cc:649:46
    #28 0x581999689959 in base::(anonymous namespace)::WorkSourceDispatch(_GSource*, int (*)(void*), void*) ./../../base/message_loop/message_pump_glib.cc:274:43
    #29 0x703e1f8f4d3b in g_main_context_dispatch ??:0:0
    #30 0x703e1f94a2b8 in g_io_channel_new_file ??:?
    #31 0x703e1f8f23e3 in g_main_context_iteration ??:0:0
    #32 0x581999686cf0 in base::MessagePumpGlib::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_glib.cc:683:30
    #33 0x5819994d3cb8 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ./../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:641:12
    #34 0x5819993a9020 in base::RunLoop::Run(base::Location const&) ./../../base/run_loop.cc:133:14
    #35 0x58199909ac37 in Wait ./../../chrome/browser/preloading/preview/preview_test_util.cc:35:17
    #36 0x58199909ac37 in test::PreviewTestHelper::WaitUntilLoadFinished() ./../../chrome/browser/preloading/preview/preview_test_util.cc:90:16
    #37 0x58197f539b56 in PreviewBrowserTest_ErrorOnRedirectionToNonHttpsUrl_Test::RunTestOnMainThread() ./../../chrome/browser/preloading/preview/preview_browsertest.cc:309:12
    #38 0x58199c3a39c1 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:955:9
    #39 0x58199c3a81c4 in Invoke<void (content::BrowserTestBase::*)(), content::BrowserTestBase *> ./../../base/functional/bind_internal.h:738:12
    #40 0x58199c3a81c4 in MakeItSo<void (content::BrowserTestBase::*)(), std::__Cr::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0> > > ./../../base/functional/bind_internal.h:930:12
    #41 0x58199c3a81c4 in RunImpl<void (content::BrowserTestBase::*)(), std::__Cr::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0> >, 0UL> ./../../base/functional/bind_internal.h:1067:14
    #42 0x58199c3a81c4 in base::internal::Invoker<base::internal::FunctorTraits<void (content::BrowserTestBase::*&&)(), content::BrowserTestBase*>, base::internal::BindState<true, true, false, void (content::BrowserTestBase::*)(), base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/functional/bind_internal.h:980:12
    #43 0x5819774ab4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #44 0x58198e84361a in InterceptMainMessageLoopRun ./../../content/browser/browser_main_loop.cc:1074:36
    #45 0x58198e84361a in content::BrowserMainLoop::RunMainMessageLoop() ./../../content/browser/browser_main_loop.cc:1086:7
    #46 0x58198e84c18d in content::BrowserMainRunnerImpl::Run() ./../../content/browser/browser_main_runner_impl.cc:156:15
    #47 0x58198e839c99 in content::BrowserMain(content::MainFunctionParams) ./../../content/browser/browser_main.cc:34:28
    #48 0x58199629a625 in content::RunBrowserProcessMain(content::MainFunctionParams, content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:732:10
    #49 0x58199629e5ed in content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) ./../../content/app/content_main_runner_impl.cc:1311:10
    #50 0x58199629da92 in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:1162:12
    #51 0x5819962977f3 in content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) ./../../content/app/content_main.cc:356:36
    #52 0x58199629805c in content::ContentMain(content::ContentMainParams) ./../../content/app/content_main.cc:369:10
    #53 0x58199c3a1792 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:622:3
    #54 0x5819991ef1d3 in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:542:20

[444109:444109:1025/041658.647315:FATAL:preview_manager.cc(73)] Check failed: tab_.
    #0 0x5819773eb586 in ___interceptor_backtrace /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4441:13
    #1 0x58199963a688 in base::debug::CollectStackTrace(base::span<void const*, 18446744073709551615ul, void const**>) ./../../base/debug/stack_trace_posix.cc:1047:7
    #2 0x5819995f1489 in base::debug::StackTrace::StackTrace(unsigned long) ./../../base/debug/stack_trace.cc:245:20
    #3 0x5819992b1ece in logging::LogMessage::Flush() ./../../base/logging.cc:725:29
    #4 0x5819992b196d in logging::LogMessage::~LogMessage() ./../../base/logging.cc:713:3
    #5 0x58199926556b in ~CheckLogMessage ./../../base/check.cc:193:3
    #6 0x58199926556b in logging::(anonymous namespace)::CheckLogMessage::~CheckLogMessage() ./../../base/check.cc:190:31
    #7 0x581999264f30 in operator() ./../../third_party/libc++/src/include/__memory/unique_ptr.h:75:5
    #8 0x581999264f30 in reset ./../../third_party/libc++/src/include/__memory/unique_ptr.h:297:7
    #9 0x581999264f30 in logging::NotReachedError::~NotReachedError() ./../../base/check.cc:355:16
    #10 0x58199a3afe8f in PreviewManager::GetWebContentsForPreviewTab() ./../../chrome/browser/preloading/preview/preview_manager.cc:73:3
    #11 0x58197f539b87 in PreviewBrowserTest_ErrorOnRedirectionToNonHttpsUrl_Test::RunTestOnMainThread() ./../../chrome/browser/preloading/preview/preview_browsertest.cc:312:16
    #12 0x58199c3a39c1 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:955:9
    #13 0x58199c3a81c4 in Invoke<void (content::BrowserTestBase::*)(), content::BrowserTestBase *> ./../../base/functional/bind_internal.h:738:12
    #14 0x58199c3a81c4 in MakeItSo<void (content::BrowserTestBase::*)(), std::__Cr::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0> > > ./../../base/functional/bind_internal.h:930:12
    #15 0x58199c3a81c4 in RunImpl<void (content::BrowserTestBase::*)(), std::__Cr::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0> >, 0UL> ./../../base/functional/bind_internal.h:1067:14
    #16 0x58199c3a81c4 in base::internal::Invoker<base::internal::FunctorTraits<void (content::BrowserTestBase::*&&)(), content::BrowserTestBase*>, base::internal::BindState<true, true, false, void (content::BrowserTestBase::*)(), base::internal::UnretainedWrapper<content::BrowserTestBase, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/functional/bind_internal.h:980:12
    #17 0x5819774ab4f8 in base::OnceCallback<void ()>::Run() && ./../../base/functional/callback.h:156:12
    #18 0x58198e84361a in InterceptMainMessageLoopRun ./../../content/browser/browser_main_loop.cc:1074:36
    #19 0x58198e84361a in content::BrowserMainLoop::RunMainMessageLoop() ./../../content/browser/browser_main_loop.cc:1086:7
    #20 0x58198e84c18d in content::BrowserMainRunnerImpl::Run() ./../../content/browser/browser_main_runner_impl.cc:156:15
    #21 0x58198e839c99 in content::BrowserMain(content::MainFunctionParams) ./../../content/browser/browser_main.cc:34:28
    #22 0x58199629a625 in content::RunBrowserProcessMain(content::MainFunctionParams, content::ContentMainDelegate*) ./../../content/app/content_main_runner_impl.cc:732:10
    #23 0x58199629e5ed in content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) ./../../content/app/content_main_runner_impl.cc:1311:10
    #24 0x58199629da92 in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:1162:12
    #25 0x5819962977f3 in content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) ./../../content/app/content_main.cc:356:36
    #26 0x58199629805c in content::ContentMain(content::ContentMainParams) ./../../content/app/content_main.cc:369:10
    #27 0x58199c3a1792 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:622:3
    #28 0x5819991ef1d3 in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:542:20
    #29 0x581996ad3b19 in HandleExceptionsInMethodIfSupported<testing::Test, void> ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #30 0x581996ad3b19 in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2723:3
    #31 0x581996ad61c2 in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2874:11
    #32 0x581996ad7d64 in testing::TestSuite::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:3052:30
    #33 0x581996aff5b5 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5982:44
    #34 0x581996afe64f in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #35 0x581996afe64f in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:5561:10
    #36 0x581999761d1c in base::TestSuite::Run() ./../../base/test/test_suite.cc:421:16
    #37 0x5819a7cecba7 in RunTestSuiteInternal ./../../chrome/test/base/chrome_test_launcher.cc:99:22
    #38 0x5819a7cecba7 in ChromeTestSuiteRunner::RunTestSuite(int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:104:10
    #39 0x58199c576a7d in content::LaunchTestsInternal(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:409:31
    #40 0x58199c577512 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:504:10
    #41 0x5819a7ced449 in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:338:10
    #42 0x581998fed627 in main ./../../chrome/test/base/browser_tests_main.cc:60:10
    #43 0x703e1da29d90 in __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #44 0x703e1da29e40 in __libc_start_main ./csu/../csu/libc-start.c:392:3
    #45 0x5819773a502a in _start ??:0:0
Crash keys:
... [omitted rest]


Original change's description:
> Prerender: first impl to dry run painting on prerendering page
>
> This CL triggers tree build right after renderer parsed the main DOM
> tree. CHCKEs on the browser side will guard the metric correctness.
> (See Ifd788c4b04f06a6b98caff1bb9df55af5fb8f07a)
> The following CLs will:
> 1. only trigger it for DSE.
> 2. add more metrics on the renderer side to verify the correctness.
>
> Bug: 40240492
> Change-Id: Icd94bad6a6ecfc5e492e4d9c4b4c227741c041d2
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5912738
> Reviewed-by: Hiroki Nakagawa <[email protected]>
> Reviewed-by: Taiyo Mizuhashi <[email protected]>
> Commit-Queue: Lingqi Chi <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1373803}

Bug: 40240492
Change-Id: I8729c84b4ceb1a77761c738f96c4c03675dfcdb0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5966495
Commit-Queue: Mark Pearson <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Owners-Override: Mark Pearson <[email protected]>
Auto-Submit: Mark Pearson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1374047}
pull bot pushed a commit that referenced this pull request Nov 20, 2024
This implements the core Sanitizer logic. This is still missing
spec-mandated handling of "javascript:" URLs, and will have to be
updated as the spec develops. But other than that, the basics are now
there.

------------------

This a re-land of crrev.com/c/5922125. Patch set #1 is the original version,
as reviewed and submitted there. Patch set #2 contains the fix. Analysis of
the bug is in https://issues.chromium.org/issues/356601280#comment16

Bug: 356601280, 379235386, 379246316
Change-Id: I06d4a9a378330cc76015e3922b9e288d9503881a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6021482
Reviewed-by: Yifan Luo <[email protected]>
Reviewed-by: Joey Arhar <[email protected]>
Commit-Queue: Daniel Vogelheim <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1385522}
pull bot pushed a commit that referenced this pull request Nov 20, 2024
Screencast: https://screencast.googleplex.com/cast/NTEyMzkzMjg1NTIwNTg4OHxiZGQ4YWFkZC1kZA

Fixes in part #1 (this CL):
- Batch Upload entry point properly reads the title, subtitle and
the button content.
- Account icon is not navigable.
- Items icons are not navigable.
- Checkbox reads it's content and is not navigable.
- Toggle and Expand button reads the section title without the count
for clearer context.
- When unselecting last checkbox of a section, the focus goes back to
the section's toggle since it got disabled.

Fixes to be done in part #2 (follow CL):
- Make focusing the last checked checkbox announce text that mentions
that unchecking it will be disable the section.
- Announce the number of selected items after checking or unchecking
an item.
- Make the toggle say a more specific action: "Select all/none"

All changes in part #2 requires adding new strings.

Fixed: b:378720472, b:378718895, b:378711564
Bug: b:378746667
Change-Id: I98251bdd5d3adcbe1a7ed3e2a7a62c2327964b58
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6032478
Reviewed-by: David Roger <[email protected]>
Code-Coverage: [email protected] <[email protected]>
Commit-Queue: Ryan Sultanem <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1385535}
pull bot pushed a commit that referenced this pull request Nov 20, 2024
Bug: 342707934
Change-Id: I598d414daf28b17fdfc101ad04548c251a0d61c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6035454
Commit-Queue: Olivia Saul <[email protected]>
Auto-Submit: Olivia Saul <[email protected]>
Reviewed-by: Christoph Schwering <[email protected]>
Reviewed-by: Vipul Koul <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1385733}
pull bot pushed a commit that referenced this pull request Nov 20, 2024
Those tests fail on headless shell. Temporary run them on Chrome
to make the migration easlier.

Test owners should clean up this list at a later time.

Bug: 40927590
Change-Id: I3395ac4238ffc037724738846e3479603092ac44
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6026677
Reviewed-by: Jonathan Lee <[email protected]>
Commit-Queue: Weizhong Xia <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1385873}
pull bot pushed a commit that referenced this pull request Nov 29, 2024
In this part the feature flag is being removed.

It leaves the structure ProfilePickerForceSigninDialogHost unused with
it's underlying code: to be tackled in the other parts of the change.

Bug: b:381231566
Change-Id: I23f29d37e9a6542499d5a0ed9814a2cd2984e7a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054204
Reviewed-by: Nicolas Dossou-Gbété <[email protected]>
Commit-Queue: Ryan Sultanem <[email protected]>
Code-Coverage: [email protected] <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1389707}
pull bot pushed a commit that referenced this pull request Dec 4, 2024
…s //media." #1

This reverts commit dd89c95.

Reason: https://groups.google.com/a/chromium.org/g/chromium-dev/c/KxzyXKv7adQ

Based on the discussion here, I have decided to terminate this work.

This CL was uploaded by git cl split.

[email protected]

Bug: 377144451
Change-Id: Ie0c38f4ce3592eb2649d834acf51575d6c29da76
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6064379
Reviewed-by: Colin Blundell <[email protected]>
Reviewed-by: Dale Curtis <[email protected]>
Commit-Queue: Ho Cheung <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1391372}
pull bot pushed a commit that referenced this pull request Dec 4, 2024
Enforces that the Skia Graphite status of the browser matches what the
arguments requested, e.g. that Skia Graphite is actually used when
--enable-features=SkiaGraphite is passed in.

Since this applies to multiple test types, this check and the other
similar checks are moved out of the WebGL test class and into the base
GPU test class.

As a result of making this change, it was discovered that there are
cases where:
1. Test-specific browser args conflict with suite-level browser args,
   which results in the actual browser args used being random due to
   non-deterministic set ordering between different runs in Python.
2. At least one test specifying browser args that will cause the new
   arg validation to fail.

#1 is fixed by detecting such potential conflicts and prioritizing
the test-specific args.

#2 is fixed by skipping the affected tests in cases where running them
does not make sense.

Additionally, Skia Graphite tests are removed from stable Win/NVIDIA
GTX 1660 testers for now since Skia Graphite is blocklisted on our
current driver version.

Bug: 372740546
Change-Id: Ia5677405dcc9aaf0196ac0e2667a834a132533cb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5925013
Reviewed-by: Yuly Novikov <[email protected]>
Auto-Submit: Brian Sheedy <[email protected]>
Commit-Queue: Yuly Novikov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1391589}
pull bot pushed a commit that referenced this pull request Dec 6, 2024
We make a series of successive small improvements:

 1. Together with the parent stack, store what values we set
    (i.e., were not already set). This allows us to switch away
    from the CountingBloomFilter to a non-counting version,
    which does not have the “stickiness” problem and is much
    smaller (reducing L1 cache footprint).

 2. Due to #1, we can make the filter much larger without
    blowing up the cache.

 3. Due to #2, we can switch from a Bloom filter to a simple
    bitset, reducing the number of lookups (including cache
    costs) from two to one.

 4. Due to #3, we don't need 24 bits of hash anymore, but can
    do with a simple uint16_t, saving a little bit of RAM
    for the rulesets.

We also improve the salting (empirically improving the
collision resistance); we don't need to salt all hashes,
one of them can stay unsalted, and we don't need to waste
so many of the lower bits by using the larger primes.

Style perftest (Zen 3, LTO but no PGO):

  Initial style (µs)     Before     After    Perf      95% CI (BCa)
  =================== ========= ========= ======= =================
  ECommerce                5493      5432   +1.1%  [ +1.1%,  +1.2%]
  Encyclopedia            48213     47895   +0.7%  [ +0.6%,  +0.7%]
  Extension               52744     52202   +1.0%  [ +1.0%,  +1.2%]
  News                    22890     22795   +0.4%  [ +0.3%,  +1.0%]
  Search                   7845      7759   +1.1%  [ +1.1%,  +1.2%]
  Social1                 14198     14026   +1.2%  [ +0.6%,  +1.4%]
  Social2                  9260      9154   +1.2%  [ +1.1%,  +1.2%]
  Sports                  30637     30668   -0.1%  [ -0.1%,  -0.1%]
  Video                   19402     19189   +1.1%  [ +1.0%,  +1.2%]
  Geometric mean                            +0.9%  [ +0.8%,  +0.9%]

  Recalc style (µs)      Before     After    Perf      95% CI (BCa)
  =================== ========= ========= ======= =================
  ECommerce                3006      2951   +1.8%  [ +1.8%,  +1.9%]
  Encyclopedia            35889     35356   +1.5%  [ +1.2%,  +1.6%]
  Extension               40928     40421   +1.3%  [ +1.2%,  +1.3%]
  News                    11580     11481   +0.9%  [ +0.8%,  +0.9%]
  Search                   2989      2924   +2.2%  [ +2.1%,  +2.3%]
  Social1                  6981      6836   +2.1%  [ +2.1%,  +2.2%]
  Social2                  4888      4810   +1.6%  [ +1.6%,  +1.7%]
  Sports                  14605     14352   +1.8%  [ +1.6%,  +2.4%]
  Video                    7942      7863   +1.0%  [ +0.0%,  +1.2%]
  Geometric mean                            +1.6%  [ +1.5%,  +1.6%]

PartitionAlloc memory used (it is not clear why Video increases):

  Video:         3560 → 3608 kB   ( +48 kB)
  Extension:      904 →  888 kB   ( -16 kB)
  News:          1948 → 1932 kB   ( -16 kB)
  ECommerce:     1420 → 1404 kB   ( -16 kB)
  Social1:       2348 → 2316 kB   ( -32 kB)
  Social2:        808 →  792 kB   ( -16 kB)
  Encyclopedia:  2212 → 2172 kB   ( -48 kB)
  Sports:        1888 → 1824 kB   ( -64 kB)
  Search:        2720 → 2704 kB   ( -16 kB)

Speedometer3 is neutral.

Change-Id: I388fa7f2edc9548719401cc7a58b3e7a055a69ea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6068473
Commit-Queue: Steinar H Gunderson <[email protected]>
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1392869}
pull bot pushed a commit that referenced this pull request Dec 13, 2024
Audited explicit calls to fixed-extent span constructor #1 (it + count)
and changed to less verbose forms. Also did some other misc. cleanup
locally in a few places.

Bug: none
Change-Id: I40fb6bc6e21739636ea21d588bc83f9555f9c850
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6090580
Reviewed-by: Lei Zhang <[email protected]>
Auto-Submit: Peter Kasting <[email protected]>
Code-Coverage: [email protected] <[email protected]>
Commit-Queue: Lei Zhang <[email protected]>
Owners-Override: Lei Zhang <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1395560}
pull bot pushed a commit that referenced this pull request Dec 13, 2024
Problem: Pressing ctrl+z (or cmd+z) on Mac, to undo the mobile
promo doesn't work correctly, as middle_slot_promo.ts maps
the key to undoing the "default" promo dismissal and mobile_promo.ts
has no behavior defined for these undo commands.

Proposed changes: 1. Only trigger keyboard undo from
middle_slot_promo.ts if it has blocklisted a promo id before.
2. Give mobile_promo.ts ctrl+z behavior of its own, that follows
the same rule as #1.

Note: A follow-up CL[1] addresses the duplicated code in these tests.

[1]https://chromium-review.googlesource.com/c/chromium/src/+/6090055

Change-Id: Ifbd79d4293c079d2fb42e4e290e0a90ec0ccd525
Bug: 383068576
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6090090
Reviewed-by: Roman Arora <[email protected]>
Commit-Queue: Paul Adedeji <[email protected]>
Code-Coverage: [email protected] <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1395564}
pull bot pushed a commit that referenced this pull request Dec 13, 2024
- This should fix bug #1 mentioned in crbug.com/362329064#comment8

Bug: 362329064
Change-Id: I2e43665a88f0981ab7b83cb197fe95c23456ee17
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6092648
Code-Coverage: [email protected] <[email protected]>
Reviewed-by: Brandon Fong <[email protected]>
Reviewed-by: Calder Kitagawa <[email protected]>
Commit-Queue: Fiaz Muhammad <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1395637}
pull bot pushed a commit that referenced this pull request Dec 27, 2024
The answers feature check in the history WebUI controller can be
safely removed, because #1 answers may be disabled for the profile
even if the answers feature itself is enabled. and #2 when the
feature is disabled, the answer mojom fields fall back to default
values with the exception of the answer text which should be empty.

Bug: 381108241
Change-Id: I2c7bcd3bd38aab64263103cbea923ac1d25ad75a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6116038
Commit-Queue: Moe Ahmadi <[email protected]>
Reviewed-by: John Lee <[email protected]>
Code-Coverage: [email protected] <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1400350}
pull bot pushed a commit that referenced this pull request Jan 3, 2025
No change to logic. This flag is not currently in use, as we instead
opted to proceed with the SITE_BLOCK flag. This removes most references
to the switch, however we still need to leave the flag definition so
that downstream references can be safely cleaned up.

This is change #1/3.

Bug: 356234122
Test: autoninja -C out/Default system_webview_google_apk
Test: tools/autotest.py -C out/Default AwSupervisedUserTest
Change-Id: I8c1e84ccec844064fb6648d791776b1d2da00874
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6107741
Commit-Queue: Peter Pakkenberg <[email protected]>
Reviewed-by: Peter Pakkenberg <[email protected]>
Auto-Submit: Nate Fischer <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1401748}
pull bot pushed a commit that referenced this pull request Jan 9, 2025
… document.scripts()"

This reverts commit 14d9421.

Reason for revert: extensions_unittests failures started after this
CL on Linux UBSAN, see failed build at https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/2624/overview
Specific test failure:
https://luci-milo.appspot.com/ui/inv/build-8726283549253023857/test-results?q=ScriptContextSetTest.Lifecycle&sortby=&groupby=
Partial stack trace seems related to this CL:
../../v8/include/cppgc/member.h:258:43: runtime error: reference binding to null pointer of type 'blink::Element'
    #0 0x6285783a4e16 in operator* v8/include/cppgc/member.h:258:36
    #1 0x6285783a4e16 in blink::Document::UpdateBaseURL() third_party/blink/renderer/core/dom/document.cc:4597:52
    #2 0x6285783a22db in blink::Document::Document(blink::DocumentInit const&, base::EnumSet<blink::DocumentClass, (blink::DocumentClass)0, (blink::DocumentClass)7>) third_party/blink/renderer/core/dom/document.cc:918:5
    #3 0x6285764452e4 in blink::HTMLDocument::HTMLDocument(blink::DocumentInit const&, base::EnumSet<blink::DocumentClass, (blink::DocumentClass)0, (blink::DocumentClass)7>) third_party/blink/renderer/core/html/html_document.cc:67:7

Original change's description:
> SpeculationRules: Use Traversal<HTMLScriptElement> instead of document.scripts()
>
> It's possible to run Document::UpdateBaseURL() while processing the
> removal of elements (ContainerNode::RemovedFrom), but before the
> HTMLCollections (like document.scripts()) are invalidated (which
> happens in ContainerNode::ChildrenChanged after all removals are
> complete).
>
> Bug: 386547460
> Change-Id: Ifc8036887dad3b999e77b1a014b950b97a20484a
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6148370
> Reviewed-by: Jeremy Roman <[email protected]>
> Reviewed-by: Mason Freed <[email protected]>
> Commit-Queue: Adithya Srinivasan <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1403679}

Bug: 386547460
Change-Id: Ibfaa45470d3f303610fdf8ceb4048dc22ea3029f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6158707
Commit-Queue: Justin Lulejian <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Owners-Override: Justin Lulejian <[email protected]>
Reviewed-by: Adithya Srinivasan <[email protected]>
Reviewed-by: Justin Lulejian <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1403868}
pull bot pushed a commit that referenced this pull request Jan 10, 2025
Updates the GPU pixel tests which force a context loss to restart the
browser afterwards as a tentative fix for flakes in subsequent tests.

This requires two related changes:

1. A new post-test hook is defined that GpuIntegrationTest calls
  since restarting the browser in the test method breaks the
  expected crash checks that GpuIntegrationTest performs.
2. Adding support for specifying platform-specific expected crashes.
   This allows us to work around Fuchsia-specific weirdness related
   to how expected crashes are checked that has been uncovered due
   to changing when the browser is restarted as part of #1.

Bug: 382422293
Change-Id: I3a4a7cb75247776f7836bfcadb7a639893a03cf9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6160817
Auto-Submit: Brian Sheedy <[email protected]>
Commit-Queue: Yuly Novikov <[email protected]>
Reviewed-by: Yuly Novikov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1404724}
pull bot pushed a commit that referenced this pull request Jan 23, 2025
- Adds tests for canceling query tasks.
- Adds tests for using DB as cache and rebuilding DB.

SchedulingEmbedder does two things which are specific to the History
Embeddings feature:

#1 Canceling stale query passages.
#2 Removing non-ascii chars before sending the passages to the embedder.

These functionalities need to be factored out before we can use the
SchedulingEmbedder in the passage_embeddings:: namespace. This CL adds
some tests around those functionalities so future changes don't break
things.

Adding these tests helped identify three potential bugs. #1 the first
query in a series of queries always gets processed, which shouldn't.
#2 enabling the feature param for removing non-ascii characters causes
a crash when the passage is entirely made up of non-ascii characters.
#3 attempting to compute embeddings for an empty passage causes a crash.

I'll attempt to address these bugs in follow-up changes.

Bug: 390241271
Change-Id: I5002b1fbaf6ea5068da405219ba153cce8378faf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6186446
Code-Coverage: [email protected] <[email protected]>
Commit-Queue: Moe Ahmadi <[email protected]>
Reviewed-by: Orin Jaworski <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1409805}
pull bot pushed a commit that referenced this pull request Jan 23, 2025
In crrev.com/c/6181046, the following blink::Vector constructors were
combined to call blink::Vector::assign:
1. Vector(vector with different inline capacity)
2. Vector(same vector type, projection)
3. Vector(vector with different inline capacity, projection)
4. Vector(range)

blink::Vector::assign calls reserve (in GCForbiddenScope) and
base::ranges::transform(back_inserter), which has lower performance
than the original UinitializedCopy().

Optimizations:
- For #1, add back the original code which can use memcpy when
  possible.
- For #2, #3, #4, call a new function
  TypeOperations::UninitializedTransform() (which is basically
  equivalent to TypeOperations::UninitializedCopy() before
  crrev.com/c/6181046, but accepts generic input iterator),
  instead of assign().
- For assign(), remove GCForbiddenScope [1], and use
  UninitializedTransform() instead of transform(back_inserter).

The differences between this CL and the version before
crrev.com/c/6181046 are:
- Vector(range) now uses optimized code path;
- Vector::assign(range) is optimized.

[1] About GCForbiddenScope: It was added to fix crbug.com/40448463.
It prevents GC during reserve/resize to prevent the change of
the input collection (if it's a hash table with WeakMember keys)
during GC. Before that fix, the result vector might contain extra
empty elements. With the new code, the size of the result vector is
based on the final size of the range, so the original problem no
longer exists. The capacity may be larger than necessary in rare
cases, which is not a big deal.
https://pinpoint-dot-chromeperf.appspot.com/job/16bf9884a10000 shows that removing GCForbiddenScope can improve performance of a benchmark
by 5% (though the improvement will not apply with the final CL
because the assign() code path is no longer used for that benchmark,
which can get a greater improvement).

Bug: 390461329
Change-Id: I152218d56ab93c44ca89f3397d96b0b7780edd6a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6185833
Reviewed-by: Kentaro Hara <[email protected]>
Reviewed-by: Michael Lippautz <[email protected]>
Commit-Queue: Xianzhu Wang <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1410367}
pull bot pushed a commit that referenced this pull request Jan 28, 2025
This reverts commit 5b0eb0d.

Reason for revert:
GlicStatusIconTest.ExecuteCommand test consistently fails on Linux UBSan Tests bot:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/

First failure was in this build, the same one where the change landed:
https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/3210/overview

The failure is
===
[ RUN      ] GlicStatusIconTest.ExecuteCommand
../../chrome/browser/glic/launcher/glic_status_icon.cc:90:57: runtime error: member call on null pointer of type 'glic::GlicProfileManager'
    #0 0x5715ce835751 in glic::GlicStatusIcon::ExecuteCommand(int, int) chrome/browser/glic/launcher/glic_status_icon.cc:90:57
    #1 0x5715c0d9a3fd in glic::GlicStatusIconTest_ExecuteCommand_Test::TestBody() chrome/browser/glic/launcher/glic_status_icon_unittest.cc:90:17
    #2 0x5715ce8a7b3e in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2728:5
    #3 0x5715ce8a9730 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2874:11
    #4 0x5715ce8abbdb in testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:3052:30
    #5 0x5715ce8c3418 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:6020:44
    #6 0x5715ce8c2317 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:5599:10
    #7 0x5715cf9bba9a in base::TestSuite::Run() base/test/test_suite.cc:424:16
    #8 0x5715d0b8969e in content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:190:23
    #9 0x5715bf16bcc3 in base::OnceCallback<int ()>::Run() && base/functional/callback.h:156:12
    #10 0x5715cf9c5abf in RunTestSuite base/test/launcher/unit_test_launcher.cc:188:38
    #11 0x5715cf9c5abf in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, unsigned long, bool, base::RepeatingCallback<void ()>, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:271:10
    #12 0x5715cf9c56cf in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>, unsigned long) base/test/launcher/unit_test_launcher.cc:336:10
    #13 0x5715cf9812a4 in main chrome/test/base/run_all_unittests.cc:83:10
    #14 0x70e16a829d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #15 0x70e16a829e3f in __libc_start_main csu/../csu/libc-start.c:392:3
    #16 0x5715b77d4029 in _start (/b/s/w/ir/out/fd58-Linux_UBSan_Bui/unit_tests+0x1ff21029) (BuildId: bc8f3031e6d09fe5)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../chrome/browser/glic/launcher/glic_status_icon.cc:90:57 
===

Original change's description:
> Add unit test for glic status icon
>
> Bug: 391706417
> Change-Id: I68aca3dd194ca04fd45d1dd94daffda82ca0f77e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203121
> Commit-Queue: Alison Gale <[email protected]>
> Code-Coverage: [email protected] <[email protected]>
> Reviewed-by: Erik Chen <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1411859}

Bug: 391706417
Change-Id: Ic227009761f576122a2f8e2a102b812fd6a66b2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203514
Bot-Commit: Rubber Stamper <[email protected]>
Auto-Submit: Mark Pearson <[email protected]>
Commit-Queue: Rubber Stamper <[email protected]>
Owners-Override: Mark Pearson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412018}
pull bot pushed a commit that referenced this pull request Jan 29, 2025
This reverts commit c1ff9e3.

Reason for revert: Land with fixes for failing builder. Only request
profile manager when needed

Passing run:
https://ci.chromium.org/ui/inv/u-agale-2025-01-28-19-50-00-97127e6aff791b32

Note that this doesn't solve the underlying initialization timing
of GlobalFeatures but I want to make sure we have some test
coverage checked in while investigating that.

Original change's description:
> Revert "Add unit test for glic status icon"
>
> This reverts commit 5b0eb0d.
>
> Reason for revert:
> GlicStatusIconTest.ExecuteCommand test consistently fails on Linux UBSan Tests bot:
> https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/
>
> First failure was in this build, the same one where the change landed:
> https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/3210/overview
>
> The failure is
> ===
> [ RUN      ] GlicStatusIconTest.ExecuteCommand
> ../../chrome/browser/glic/launcher/glic_status_icon.cc:90:57: runtime error: member call on null pointer of type 'glic::GlicProfileManager'
>     #0 0x5715ce835751 in glic::GlicStatusIcon::ExecuteCommand(int, int) chrome/browser/glic/launcher/glic_status_icon.cc:90:57
>     #1 0x5715c0d9a3fd in glic::GlicStatusIconTest_ExecuteCommand_Test::TestBody() chrome/browser/glic/launcher/glic_status_icon_unittest.cc:90:17
>     #2 0x5715ce8a7b3e in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2728:5
>     #3 0x5715ce8a9730 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2874:11
>     #4 0x5715ce8abbdb in testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:3052:30
>     #5 0x5715ce8c3418 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:6020:44
>     #6 0x5715ce8c2317 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:5599:10
>     #7 0x5715cf9bba9a in base::TestSuite::Run() base/test/test_suite.cc:424:16
>     #8 0x5715d0b8969e in content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:190:23
>     #9 0x5715bf16bcc3 in base::OnceCallback<int ()>::Run() && base/functional/callback.h:156:12
>     #10 0x5715cf9c5abf in RunTestSuite base/test/launcher/unit_test_launcher.cc:188:38
>     #11 0x5715cf9c5abf in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, unsigned long, bool, base::RepeatingCallback<void ()>, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:271:10
>     #12 0x5715cf9c56cf in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>, unsigned long) base/test/launcher/unit_test_launcher.cc:336:10
>     #13 0x5715cf9812a4 in main chrome/test/base/run_all_unittests.cc:83:10
>     #14 0x70e16a829d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
>     #15 0x70e16a829e3f in __libc_start_main csu/../csu/libc-start.c:392:3
>     #16 0x5715b77d4029 in _start (/b/s/w/ir/out/fd58-Linux_UBSan_Bui/unit_tests+0x1ff21029) (BuildId: bc8f3031e6d09fe5)
>
> SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../chrome/browser/glic/launcher/glic_status_icon.cc:90:57
> ===
>
> Original change's description:
> > Add unit test for glic status icon
> >
> > Bug: 391706417
> > Change-Id: I68aca3dd194ca04fd45d1dd94daffda82ca0f77e
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203121
> > Commit-Queue: Alison Gale <[email protected]>
> > Code-Coverage: [email protected] <[email protected]>
> > Reviewed-by: Erik Chen <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#1411859}
>
> Bug: 391706417
> Change-Id: Ic227009761f576122a2f8e2a102b812fd6a66b2b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203514
> Bot-Commit: Rubber Stamper <[email protected]>
> Auto-Submit: Mark Pearson <[email protected]>
> Commit-Queue: Rubber Stamper <[email protected]>
> Owners-Override: Mark Pearson <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1412018}

Bug: 391706417
Change-Id: Ia23f037231fdfb0dcf6bbde8262f0257fc3af0d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6207131
Commit-Queue: Alison Gale <[email protected]>
Reviewed-by: Erik Chen <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412571}
pull bot pushed a commit that referenced this pull request Jan 29, 2025
This reverts commit fda25ea.

Reason for revert: Broke msan tests

https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Tests/49651

[ RUN      ] DiskCacheEntryTest.SparseReadLength0
Uninitialized bytes in pwrite64 at offset 22 inside [0x728000028000, 1046)
==306877==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x5555619ee0ea in base::File::Write(long, char const*, int) ./../../base/files/file_posix.cc:378:10
    #1 0x5555614825d2 in Write ./../../net/disk_cache/blockfile/file_posix.cc:60:13
    #2 0x5555614825d2 in disk_cache::File::Write(void const*, unsigned long, unsigned long, disk_cache::FileIOCallback*, bool*) ./../../net/disk_cache/blockfile/file_posix.cc:95:12
    #3 0x555560d19451 in disk_cache::EntryImpl::Flush(int, int) ./../../net/disk_cache/blockfile/entry_impl.cc:1484:14
    #4 0x555560d17f21 in disk_cache::EntryImpl::~EntryImpl() ./../../net/disk_cache/blockfile/entry_impl.cc:954:15
    #5 0x555560d1979d in disk_cache::EntryImpl::~EntryImpl() ./../../net/disk_cache/blockfile/entry_impl.cc:929:25


Original change's description:
> SimpleCache: don't check on some empty ReadSparseData reads
>
> Bug: 392690731
> Change-Id: I80c093972012d6364cecaef6bd8eedcbf6ace6b2
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6207149
> Reviewed-by: Adam Rice <[email protected]>
> Commit-Queue: Maks Orlovich <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1412904}

Bug: 392690731
Change-Id: I8e7e2766dcebc7b5f023a2d2b9eb2df00ac8399c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6214791
Bot-Commit: Rubber Stamper <[email protected]>
Owners-Override: Avi Drissman <[email protected]>
Auto-Submit: Avi Drissman <[email protected]>
Commit-Queue: Avi Drissman <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412996}
pull bot pushed a commit that referenced this pull request Feb 1, 2025
Specifically, add the ManifestV3WebRequestApiTest test suite. This
requires adding wait_for_registration_stored support to
ExtensionPlatformBrowserTest.

Bug: 371324825
Change-Id: I4e13ee732bcaa84472b05613b0e6d281c3c5bd80
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6221540
Commit-Queue: James Cook <[email protected]>
Reviewed-by: David Bertoni <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1414479}
pull bot pushed a commit that referenced this pull request Feb 4, 2025
The Non-modal DB promo is not based on the promo reason
and should change in function of 3 triggers:

1. Omnibox URL copy/paste and navigate - the original copy is ok for this trigger
2. Share Chrome (via overflow menu action) or sharing URL via share icon in omnibox
3. Chrome opened through first-party app

Before:
https://screenshot.googleplex.com/8L8xzX66BDDgZnU

After:
Promo #1: https://screenshot.googleplex.com/89vApARcvGHfrbB
Promo #2: https://screenshot.googleplex.com/Ba7RvouRavR6Ewb
Promo #3: https://screenshot.googleplex.com/8L8xzX66BDDgZnU

Change-Id: I440b03b48d33d2715223d8baafb2190308819e7b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6190733
Reviewed-by: Cheick Cisse <[email protected]>
Reviewed-by: Nicolas MacBeth <[email protected]>
Reviewed-by: Guillaume Jenkins <[email protected]>
Commit-Queue: Pier-Alexandre Bouchard <[email protected]>
Reviewed-by: Rohit Rao <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1415657}
pull bot pushed a commit that referenced this pull request Feb 19, 2025
crrev.com/c/6019971 moved static utility methods for processing the
input in keyword mode from KeywordProvider to Autocomplete. However, it
made a functional change to AdjustInputForStarterPackEngines() which was
not a noop.

The said utility function would previously return an adjusted input
(i.e., have the keyword stripped form the input text) if the input was
in keyword mode for a starter pack engine. Otherwise it would return a
copy of the original input. After that change, the utility function
would adjust the input if the input was in keyword mode for any keyword.

This caused a test crash (b/388312949) and crash report (b/396460805)
in `HistoryURLProvider::Start()`. This change restores the original
implementation of `ACInput::AdjustInputForStarterPackEngines()`, placing
it in AutocompleteProvider (due to the function return type referencing
`ACInput` itself).

This should fix the test crash and alleviate (not entirely eliminate)
the crash report since '@1' would still crash the browser in @history
keyword mode (which is an existing bug).

A follow up change should #1 strip the keyword from the input
in any keyword mode, e.g., '[mykeyword] xyz' should search the history,
bookmarks, and tabs for 'xyz' and not 'mykeyword xyz' and #2 fix the
root cause of the crash report (b/396460805), and #3 use this utility
consistently in all relevant providers, like EnterpriseSearchAggregator.

Bug: 379111291, 388312949, 396460805
Change-Id: Ifca773dcf849de7b6f3f3b21553d0aafe199917e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6277330
Reviewed-by: Nihar Majmudar <[email protected]>
Commit-Queue: Moe Ahmadi <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1421530}
pull bot pushed a commit that referenced this pull request Feb 27, 2025
Specifically:
 1) Adding a new //tools/typescript/definitions:build_ts ts_library()
    target which uses `skipLibCheck=false` and type checks all
    definition files once.
 2) Making all other ts_library() targets (specifically the ones defined
    in build_webui() and webui_ts_library()) to depend on the new
    target.
 3) Modifying ts_library() to automatically add `skipLibCheck=true`
    when
    `skipLibCheck` is not specified anywhere in the inheritance chain
    AND
    no definition files outside of tools/typescript/definitions exist.
 4) Also fixed TsLibraryTest.testEnableSourceMaps which was erroneously
    passing due to a bug in _read_file() that was always reading from
    the same folder, ignoring its input parameter, resulting in
    comparing the expected file with itself. The actual file contains
    an absolute path embedded in the generated sourcemap and therefore
    the comparison needs to be relaxed to work across across machines.

#1 and #2 mitigate any missed type coverage from #3, such that any
TypeScript errors within tools/typescript/definitions/*.d.ts are still
caught during the build.

Essentially this change modifies the build such that some type
checking work that was done by the TS compiler N times (where N=number
of ts_library() targets) is only done once.

Combined with the follow-up related CL this improves TS build times by
~21.5% (43.8s -> 34.4s) on a local Linux build with
`use_remoteexec=false`. This CL alone accounts for the majority of
that improvement (~20% out of 21.5%).

Bug: 397737230
Change-Id: I14bc721e0e2a16ded0d71909d77a8e9b468f3519
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6292793
Auto-Submit: Demetrios Papadopoulos <[email protected]>
Reviewed-by: Rebekah Potter <[email protected]>
Commit-Queue: Demetrios Papadopoulos <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1425476}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants