New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 884065 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 5
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature


Sign in to add a comment

Add actual setup flow logic to OOBE

Project Member Reported by khorimoto@chromium.org, Sep 14

Issue description

Once a skeleton page has been added to OOBE (see  issue 884061 ), we need to add the actual UI/logic/functionality into the flow.

Tasks:
(1) Add Mojo bindings to the OOBE. This requires making OobeUI (see [1]) derive from MojoWebUIController (see [2]) and having this class connect to the Mojo service.
(2) Update the logic for the setup flow to make a call to the OOBE-specific Mojo API (see  issue 884056 ).
(3) Change the way that the flow completes. OOBE pages expect a special "user action" (see [3]) to communicate that a page has completed.

[1] https://cs.chromium.org/chromium/src/chrome/browser/ui/webui/chromeos/login/oobe_ui.h
[2] https://cs.chromium.org/chromium/src/ui/webui/mojo_web_ui_controller.h
[3] https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/screens/base_screen.h?q=OnUserAction
 
Components: -UI>ProximityAuth UI>Multidevice
Status: Started (was: Assigned)
Blockedon: 890963
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/36f28038d708bc1976b0c975de0ea95c747fa58b

commit 36f28038d708bc1976b0c975de0ea95c747fa58b
Author: Kyle Horimoto <khorimoto@google.com>
Date: Thu Oct 04 16:21:30 2018

[CrOS MultiDevice] Only make setup flow Mojo connection when needed.

Previously, the MultiDevice setup flow would make a connection to the
Mojo service as soon as the flow was loaded. However, in OOBE mode, this
means that the WebUI page requests a connection as soon as OOBE loads,
which is before the user has signed in. Since the MultiDeviceSetup
service is only created once the user has signed in, the strategy of
connecting as soon as the page loads resulted in trying to connect to a
service which had not yet been registered.

This CL delays the process of connecting to the Mojo service; now, a
connection is made only when the initializeSetupFlow() function is called
or the "multidevice_setup.initializeSetupFlow" WebUI event is fired.

Bug:  884065 
Change-Id: I2dde7916ac400625677c45d6de1c0fc72afab976
Reviewed-on: https://chromium-review.googlesource.com/c/1259835
Commit-Queue: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Ryan Hansberry <hansberry@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596697}
[modify] https://crrev.com/36f28038d708bc1976b0c975de0ea95c747fa58b/chrome/browser/resources/chromeos/multidevice_setup/BUILD.gn
[modify] https://crrev.com/36f28038d708bc1976b0c975de0ea95c747fa58b/chrome/browser/resources/chromeos/multidevice_setup/multidevice_setup_post_oobe.js
[modify] https://crrev.com/36f28038d708bc1976b0c975de0ea95c747fa58b/chrome/test/data/webui/multidevice_setup/integration_test.js
[modify] https://crrev.com/36f28038d708bc1976b0c975de0ea95c747fa58b/ui/webui/resources/cr_components/chromeos/multidevice_setup/BUILD.gn
[modify] https://crrev.com/36f28038d708bc1976b0c975de0ea95c747fa58b/ui/webui/resources/cr_components/chromeos/multidevice_setup/mojo_api.js
[modify] https://crrev.com/36f28038d708bc1976b0c975de0ea95c747fa58b/ui/webui/resources/cr_components/chromeos/multidevice_setup/multidevice_setup.html
[modify] https://crrev.com/36f28038d708bc1976b0c975de0ea95c747fa58b/ui/webui/resources/cr_components/chromeos/multidevice_setup/multidevice_setup.js

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e7b93a4524a4ef2cc5302144f7ac5fc422c794b

commit 6e7b93a4524a4ef2cc5302144f7ac5fc422c794b
Author: Kyle Horimoto <khorimoto@google.com>
Date: Fri Oct 05 17:17:20 2018

[CrOS MultiDevice] Add multi-device setup flow to OOBE/login.

This CL replaces the placeholder setup page with the real page which
includes the logic for choosing a multi-device host phone.

As part of this CL, WizardController now decides whether or not to
show the setup flow based on whether setup is applicable and needed for
the GAIA account under question.

Bug:  884065 
Change-Id: I8f3be643b77890fb249516369d76f5c392a568a9
Reviewed-on: https://chromium-review.googlesource.com/c/1255591
Commit-Queue: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597178}
[modify] https://crrev.com/6e7b93a4524a4ef2cc5302144f7ac5fc422c794b/chrome/browser/chromeos/login/wizard_controller.cc
[modify] https://crrev.com/6e7b93a4524a4ef2cc5302144f7ac5fc422c794b/chrome/browser/resources/chromeos/login/multidevice_setup_first_run.html
[modify] https://crrev.com/6e7b93a4524a4ef2cc5302144f7ac5fc422c794b/chrome/browser/resources/chromeos/login/multidevice_setup_first_run.js
[modify] https://crrev.com/6e7b93a4524a4ef2cc5302144f7ac5fc422c794b/chrome/browser/ui/webui/chromeos/login/multidevice_setup_screen_handler.cc
[modify] https://crrev.com/6e7b93a4524a4ef2cc5302144f7ac5fc422c794b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
[modify] https://crrev.com/6e7b93a4524a4ef2cc5302144f7ac5fc422c794b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h

Status: Fixed (was: Started)

Sign in to add a comment