New issue
Advanced search Search tips

Issue 891490 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Proj-Servicification

Blocking:
issue 827532



Sign in to add a comment

WebviewLoginTest.Basic requires clicking 'Next' manually with Network Service

Project Member Reported by chongz@chromium.org, Oct 2

Issue description

This issue applies to Chrome OS + --enable-features=NetworkService only.

How to Reproduce:
1. Compile with Chrome OS on Linux
2. out/osDefault/browser_tests --enable-features=NetworkService --enable-pixel-output-in-tests --gtest_filter=WebviewLoginTest.Basic
(See testing/buildbot/filters/mojo.fyi.chromeos.network_browser_tests.filter for more similar tests)

What Happened:
The test stuck at the 'Local Auth Server' page, but would pass if clicking 'Next' manually.

Note: Adding the following |ExecuteJsInSigninFrame(...)| also helped the test to pass:
```
IN_PROC_BROWSER_TEST_F(WebviewLoginTest, Basic) {
  //...
  ClickNext();
  ExecuteJsInSigninFrame(
      "(function() {"
      "  setTimeout(() => {"
      "    document.getElementById('nextButton').click();"
      "  }, 300);"
      "})();");

  session_start_waiter.Wait();
}
```

+jdufault@, OWNER of /chrome/browser/chromeos/login/: Do you have any insights on what might cause the issue?

More specifically I tracked down to 'embedded_setup_chromeos.html::gaia.chromeOSLogin.attemptLogin()'[1], but don't quite understand who is handling the |gaia.chromeOSLogin.parent_webview_.postMessage(...)| call.

Thanks!

[1] https://cs.chromium.org/chromium/src/google_apis/test/embedded_setup_chromeos.html?l=56&rcl=d0b2ebaf1f6b47fca493e82da45eedf671cf6bf5
 
WebviewLoginTest.Basic.png
102 KB View Download
Cc: alemate@chromium.org
alemate@ is more familiar with oobe; I'm not sure without doing some digging.
alemate@ Do you have any idea on top of your head regarding the issue? Thanks!
I don't know this specific configuration. What does --enable-features=NetworkService  do?
Re #c3: Sorry for the confusion. Here is a few background:

--enable-features=NetworkService basically moves all /net code into a standalone process, and all consumers (browser process, renderer processes, etc.) have to communicate with it through mojo APIs.

Currently the feature is mostly stable on other desktop platforms (e.g. On Dev/Beta channels).

One thing that might be related is issue 887061, where SAML login doesn't seem to work. However this test would pass after a click, so I'm wondering if we are relying on some synchronous network calls (which doesn't exist in production mojo APIs).

See issue 598073 for more context and design doc about Network Service.

Thanks!
I see suspicious error message when running test with --enable-features=NetworkService :

ERROR:network_service.cc(89)] Not implemented reached in std::unique_ptr<net::NetworkChangeNotifier> network::(anonymous namespace)::CreateNetworkChangeNotifierIfNeeded()


Do you know what it is?
Owner: rmcelrath@chromium.org
Status: Assigned (was: Started)
Re #c5: Thanks for looking into it.

That error message happens for almost all Chrome OS tests (passing and failing) due to  issue 882610 . However I don't feel it's related to this test, and disabling |NOTIMPLEMENTED()| check at network_service.cc(89) doesn't seem to help.

Re-assigning to rmcelrath@ as I might not be able to get it done by this week.

Labels: Hotlist-KnownIssue
Owner: cmumford@chromium.org
Status: Fixed (was: Assigned)
This seems to have been fixed by crrev.com/cf73af4a92da77e20101aff44abe3a2152a7d71d

Sign in to add a comment