Only extension-related tests failing with User Activation v2 |
||||||||||
Issue descriptionSince around mid June, we encountered 13 new failures in browser_tests when UAv2 is enabled. Most (11) of them are extension related. Wondering what might have changed with extensions in last month or so. DeveloperPrivateApiTest.Basics ExecuteScriptApiTest.UserGesture ExtensionApiTest.ChromeRuntimeUninstallURL ExtensionManagementApiTest.CreateAppShortcut ExtensionManagementApiTest.GenerateAppForLink ExtensionManagementApiTest.LaunchType ExtensionManagementApiTest.ManagementPolicyAllowed ExtensionManagementApiTest.Uninstall ExtensionWebstorePrivateApiTest.IconUrl ExtensionWebstorePrivateApiTest.InstallAccepted ExtensionWebstorePrivateApiTest.MissingDownloadDir Apparently the only change around user activation that I am aware of is this: https://chromium-review.googlesource.com/c/chromium/src/+/1045272 which removes consumption thus relaxing the activation requirement is a way. The failures seem related to lack of activation, so I have no clue what's the source of the problem.
,
Jul 5
Looks like all 13 of the 13 new failures in browser_tests are extension related. Here are 2 more not listed above: PermissionsApiTest.OptionalPermissionsRetainGesture PermissionsApiTest.OptionalPermissionsUpdatesBindings
,
Jul 6
We have a failing case of interactive_ui_tests that has been failing for a few months. Looks like this is also related to extensions, could have a common problem: NotificationsApiTest.TestUserGesture
,
Aug 16
Issue 866576 has been merged into this issue.
,
Aug 16
,
Aug 16
All the tests pass with --disable-features=NativeCrxBindings, so it's the same as Issue 866576 .
,
Aug 20
,
Aug 20
,
Aug 20
Here’s a very simple Chrome extension that triggers this simply by just requesting the "downloads" permission in a click event: https://github.com/mrcoles/test-chrome-extension-request-perm-beta-69-2
,
Aug 22
Upon further investigation, it seems: - this bug is unrelated to Issue 778769 , and - the test failure mentioned in #c3 is different. --- I tried with various combinations of --{enable,disable}-features=UserActivationv2 and --{enable,disable}-features=NativeCrxBindings and found that all 13 tests mentioned in the first post and in #c2 above PASS with all 4 combinations of these two flags. However, they all fail if the NativeCrxBindings flag is completely omitted. I think this is a test setup problem with NativeCrxBindings flag. rdevlin.cronin@: ptal. --- Full test result: https://docs.google.com/spreadsheets/d/18JxPikkwY331K0ICVd_28cIJGVhlTLbckfeqWmH8_sc/edit?usp=sharing ("+StartReq" means APIRequestHandler::StartRequest has been used in the run)
,
Aug 22
To ease investigation, we will use this bug for these 13 browser tests: DeveloperPrivateApiTest.Basics ExecuteScriptApiTest.UserGesture ExtensionApiTest.ChromeRuntimeUninstallURL ExtensionManagementApiTest.CreateAppShortcut ExtensionManagementApiTest.GenerateAppForLink ExtensionManagementApiTest.LaunchType ExtensionManagementApiTest.ManagementPolicyAllowed ExtensionManagementApiTest.Uninstall ExtensionWebstorePrivateApiTest.IconUrl ExtensionWebstorePrivateApiTest.InstallAccepted ExtensionWebstorePrivateApiTest.MissingDownloadDir PermissionsApiTest.OptionalPermissionsRetainGesture PermissionsApiTest.OptionalPermissionsUpdatesBindings I will track the remaining two test failures separately ( Issue 778769 covers one).
,
Aug 22
,
Aug 22
,
Aug 27
@10: I'm not seeing the same thing. browser_tests --gtest_filter=DeveloperPrivateApiTest.Basics - PASS browser_tests --gtest_filter=DeveloperPrivateApiTest.Basics --enable-features=UserActivationV2 - FAIL browser_tests --gtest_filter=DeveloperPrivateApiTest.Basics --enable-features=UserActivationV2,NativeCrxBindings - FAIL browser_tests --gtest_filter=DeveloperPrivateApiTest.Basics --disable-features=UserActivationV2 - PASS browser_tests --gtest_filter=DeveloperPrivateApiTest.Basics --disable-features=UserActivationV2,NativeCrxBindings - PASS browser_tests --gtest_filter=DeveloperPrivateApiTest.Basics --enable-features=UserActivationV2 --disable-features=NativeCrxBindings - PASS browser_tests --gtest_filter=DeveloperPrivateApiTest.Basics --disable-features=UserActivationV2 --enable-features=NativeCrxBindings - PASS So we're seeing the test fail if and only if UserActivationV2 and NativeCrxBindings are both enabled. This corresponds to what we suspected, have seen on the trybots, and are seeing in the wild, and I believe is caused by issue 778769 . What commandline did you use to reproduce the results in the spreadsheet? Was this on a clean build of Chromium? In general, omitting the feature shouldn't make it behave any differently than the default (which is enabled for crx bindings on trunk).
,
Aug 27
Yours look correct. My test script used "--enable-features=X --enable-features=Y" instead of a single comma-separated lists, yikes! Sorry for the confusion. The NativeBindings/* test doesn't call StartRequest(), so it still looks separate.
,
Aug 28
Which NativeBindings/* test? I don't see one in this list?
,
Aug 28
NativeBindings/MessagingApiTest.MessagingUserGesture/0, mentioned in Issue 778769 .
,
Aug 28
Correcting my post #c10 above: - The interactive_ui_tests NotificationsApiTest.TestUserGesture is also included in this bug, so 14 tests in total. - In all those tests, APIRequestHandler::StartRequest is called, and they all fail iff UAv2 is enabled.
,
Sep 14
After crrev.com/c/1194336 landed, 12 of the 14 failures here fixed for UAv2. The remaining UAv2-specific failures are: - browser_tests: NativeBindings/MessagingApiTest.MessagingUserGesture/0 - interactive_ui_tests: NotificationsApiTest.TestUserGesture
,
Nov 14
(We have fixes ready for two more tests in Issue 860718 , so this blocker bug is not a concern now.) We have three more UAv2 specific failures: - browser_tests: NativeBindings/MessagingApiTest.MessagingUserGesture/0 - browser_tests: Native/ExtensionBindingsApiTest.UserGestureFromExtensionMessageTest/0 - interactive_ui_tests: NotificationsApiTest.TestUserGesture
,
Nov 14
Looks like our fix for Issue 860718 resolves NotificationsApiTest.TestUserGesture too, yayy.
,
Nov 14
Raising the priority since we are planning to ship UAv2 in M72.
,
Nov 15
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4cd69a24f207f949442aa0c6b98d77e8ebe5030f commit 4cd69a24f207f949442aa0c6b98d77e8ebe5030f Author: Mustaq Ahmed <mustaq@google.com> Date: Thu Nov 15 16:34:53 2018 Add a missing WebFrame pointer in MessageFromJSONString. Fixes the following two browser tests for UAv2: - ExtensionBindingsApiTest.UserGestureFromExtensionMessageTest - MessagingApiTest.MessagingUserGesture Bug: 860509 Change-Id: I3a70c3d3fa7a6dd8351422399193e9b49c63bd0d Reviewed-on: https://chromium-review.googlesource.com/c/1335782 Reviewed-by: Devlin <rdevlin.cronin@chromium.org> Commit-Queue: Mustaq Ahmed <mustaq@chromium.org> Cr-Commit-Position: refs/heads/master@{#608396} [modify] https://crrev.com/4cd69a24f207f949442aa0c6b98d77e8ebe5030f/extensions/renderer/messaging_util.cc [modify] https://crrev.com/4cd69a24f207f949442aa0c6b98d77e8ebe5030f/extensions/renderer/messaging_util.h
,
Nov 16
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by mustaq@chromium.org
, Jul 5