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

Issue 752767 link

Starred by 13 users

Issue metadata

Status: Verified
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Launch-Accessibility: NA
Launch-Legal: Yes
Launch-M-Target: 64-Beta , 64-Dev , 64-Stable
Launch-Privacy: NA
Launch-Security: Started
Launch-Test: Started
Launch-UI: NA

Blocked on:
issue 753589
issue 755797
issue 763183
issue 789951

Blocking:
issue 739444



Sign in to add a comment

Extend system.display Chrome API to support Unified desktop

Project Member Reported by sduraisamy@chromium.org, Aug 5 2017

Issue description

Feature description:

Currently, System.display APIs don't support Unified-desktop (UD) configurations. 

* This API will enable changes to UD display order without swapping the display cables
* This feature will enable horizontal, vertical, and grid UD configurations (currently we only support horizontal layout from left to right in the order of the display-IDs)

Eng owner: afakhry
Product owner: sduraisamy

Mocks:
[Outdated design doc, please discard]
Design doc (send to chrome-design-docs@): https://docs.google.com/document/d/1PGQkHYDNBnlNXrLqYDTxDtbPHXklWn01arCphktCw9Y/edit
[/Outdated design doc, please discard]
We initially wanted to add new APIs, but later decided to make the existing ones work.

Metrics: Please list the histograms and user actions that you intend to
analyze for this launch. Include both the metrics that you will use to
define success and the metrics that you will monitor to identify
regressions. If possible, provide a sample analysis showing the current
metrics on Dev. See https://goto.google.com/chrome-launch-metrics for
examples.

If you need help defining metrics or using Finch, you should ask for a
Metrics ambassador. Go to https://goto.google.com/chrome-metrics-ambassador
to get a Metrics ambassador and CC them on this bug.

#################################################################
# Fill these surveys out as you are ready for various reviews.  #
#################################################################

Accessibility survey: The accessibility survey is included in a review bug
that will be filed by lpalmaro@. Please answer all questions there.

Legal survey: Email ctanaka@ (for non-Chrome OS) or jlchen@ (for Chrome OS)
to request a legal review.

Privacy survey: When you flip Launch-Status to Review-Requested, the
privacy team will be notified. Once they've triaged your
launch, a blocking privacy review bug will be filed. Fill out the privacy
survey included in that bug. Email yitingc@ for any questions.

Test survey (https://goto.google.com/chrome-test-questions):

UI survey: Email chrome-ui-review@ (for non-Chrome OS) or chromeos-ui-
review@ (for Chrome OS) to request a UI review if your launch will change
any user-visible strings, assets, animations, or workflows.

 
Blocking: 739444
Blockedon: 753589

Comment 3 by dchan@chromium.org, Aug 15 2017

Cc: kathrelk...@chromium.org krishna...@chromium.org
Labels: TEST-krishnargv
Test review should start ASAP, no need to wait for code complete.

To file test review:
1- File a test review request at: http://go/cros-launch-test
2- Set the test review request as blocking of this launch bug.
3- Add testreview-{bugNumber} label

Test review contact will be krishnargv@

Blockedon: 755797
Labels: testreview-755797

Comment 6 by dchan@chromium.org, Aug 16 2017

Due to M61 delay start, the test team have limited time to do test review and early testing.  Please engage with the test team as early as possible.  

- Feature Freeze date is 8/18/2017 (2 days form now)
- Branch or code freeze date is 8/31/2017 (2 weeks from now)

Comment 7 by dchan@chromium.org, Aug 16 2017

Cc: dchan@chromium.org
Labels: TEST-mlight
Status: Started (was: Assigned)
Labels: -Launch-Test-NotReviewed Launch-Test-Started

Comment 11 by dchan@chromium.org, Aug 22 2017

Cc: mlight@chromium.org
Cc: msnoxell@chromium.org
Hey all - there is a key APAC customer very keen to get access to this as soon as a dev build is available for Ninja. I'm now CC'd on the case so if someone can comment when that is available I would appreciate it :)
Cc: ryutas@chromium.org
Re#13: It is currently being implemented, and hopefully the CL will land later next week.
Labels: -Launch-Security-NotReviewed Launch-Security-Started
Flag flip pending updating the ddoc with the actual work that's being done.
Re#16: Please discard the doc. It contains a proposal we decided not to go through with. 

The actual plan now is to make the existing `chrome.system.display.setDisplayLayout()` API [1] support Unified Desktop mode; i.e. given a display layout that's valid for the Unified Desktop mode case, the API will accept it and apply it.


[1]: https://developer.chrome.com/apps/system_display#method-setDisplayLayout

Comment 18 by dchan@chromium.org, Aug 25 2017

Labels: -Launch-Test-Started Launch-Test-NotReviewed
for c#17 so the title of this launch bug is no longer correct and the design doc in c#1 should be discarded ?  

Reminder that code freeze is 8/31, the test review is filed but with no content. The test team cannot proceed without some information. Please update the review bug ASAP.

Launch-Test status reverted to Not reviewed.

Comment 19 by dchan@chromium.org, Aug 29 2017

+mlight, the test review updated, please take a look and change the launch-test status accordingly.
Labels: -Launch-M-Target-62-Dev -Launch-M-Target-62-Beta -Launch-M-Target-62-Stable-Exp -Launch-M-Target-62-Stable M-63 Launch-M-Target-63-Dev Launch-M-Target-63-Beta Launch-M-Target-63-Stable-Exp Launch-M-Target-63-Stable
Ahmed just added a comment to https://docs.google.com/document/d/1PGQkHYDNBnlNXrLqYDTxDtbPHXklWn01arCphktCw9Y/edit (the ddoc in the OP) that says "Please disregard this doc." Can we update this bug with a more appropriate doc? Thanks!
Cc: ovanieva@chromium.org
Is there an update that can be shared with customers?
Re#23: Implementation finished. Adding more unit tests.
afakhry@ Thank you for your update.
 ryutas@, Please note, this API should be available in M63 and not M62.

Blockedon: 763183
Hi Jorge, we initially wanted create a new API to configure unified desktop. After some discussion, we decided to modify the existing API to support unified desktop.

Ahmed can give you more details if you have specific questions.
Description: Show this description
Cc: afakhry@chromium.org tbuck...@chromium.org
 Issue 647021  has been merged into this issue.
Project Member

Comment 31 by bugdroid1@chromium.org, Sep 21 2017

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

commit ace70769b89571fea6b992b2076b2ccc2c4995fa
Author: Ahmed Fakhry <afakhry@google.com>
Date: Thu Sep 21 19:40:09 2017

Unified Desktop: CL_1: From DisplayLayout to matrix

This CL introdueces the concept of a Unified Desktop layout matrix.
It implements the conversion from a DisplayLayout (which will be supplied
by the system_display APIs) to the matrix, and the rules regarding
this conversion. It also adds a lot of tests.

BUG= 752767 
TEST=covered by tests

Change-Id: I588a4df6139b4f90715665ab544f7e48d79ad972
Reviewed-on: https://chromium-review.googlesource.com/660883
Commit-Queue: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503536}
[modify] https://crrev.com/ace70769b89571fea6b992b2076b2ccc2c4995fa/ui/display/BUILD.gn
[add] https://crrev.com/ace70769b89571fea6b992b2076b2ccc2c4995fa/ui/display/unified_desktop_utils.cc
[add] https://crrev.com/ace70769b89571fea6b992b2076b2ccc2c4995fa/ui/display/unified_desktop_utils.h
[add] https://crrev.com/ace70769b89571fea6b992b2076b2ccc2c4995fa/ui/display/unified_desktop_utils_unittests.cc

Comment 32 by jlc...@google.com, Sep 27 2017

Labels: -Launch-Legal-NotReviewed Launch-Legal-Yes
Labels: -Launch-Test-NotReviewed Launch-Test-Started
sduraisamy@ 
I have not shared the customer about details of new functions yet, Is it OK to share with the customer about what you have requested via this case?

Project Member

Comment 35 by bugdroid1@chromium.org, Oct 31 2017

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

commit 4f8e372bc7ce69aaebe625283c2167492289b6dd
Author: Ahmed Fakhry <afakhry@google.com>
Date: Tue Oct 31 21:01:58 2017

Unified Desktop: CL_2: Apply the unified desktop layout matrix

- Applies the matrix if valid, or defaults to a single row horizontal
  layout matrix if the matrix is invalid (the original behavior).
- Adjusts the mouse warps and root window transforms.
- Adds test coverage.

BUG= 752767 
TEST=Covered by tests:
- display_unittests --gtest_filter=UnifiedDesktopLayoutTests.*
- ash_unittests --gtest_filter=DisplayManagerTest.Unified*
- ash_unittests --gtest_filter=UnifiedMouseWarpControllerTest.*
- ash_unittests --gtest_filter=ScreenUtilTest.*

Change-Id: I074798ab9c3d17ba79209e2388d18c45d4b6b604
Reviewed-on: https://chromium-review.googlesource.com/683094
Commit-Queue: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512950}
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/BUILD.gn
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/display_manager_unittest.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/display_util.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/mirror_window_controller.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/mirror_window_controller.h
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/root_window_transformers.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/unified_mouse_warp_controller.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/unified_mouse_warp_controller.h
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/unified_mouse_warp_controller_unittest.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/display/window_tree_host_manager.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/host/ash_window_tree_host.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/host/ash_window_tree_host_init_params.h
[add] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/host/ash_window_tree_host_mirroring_delegate.h
[add] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/host/ash_window_tree_host_mirroring_unified.cc
[add] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/host/ash_window_tree_host_mirroring_unified.h
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/host/ash_window_tree_host_unified.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/host/ash_window_tree_host_unified.h
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/screen_util.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ash/screen_util_unittest.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/testing/buildbot/filters/ash_unittests_mash.filter
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/testing/buildbot/filters/ash_unittests_mus.filter
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ui/aura/window_tree_host.h
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ui/display/manager/display_manager.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ui/display/manager/display_manager.h
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ui/display/manager/display_manager_utilities.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ui/display/manager/display_manager_utilities.h
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ui/display/unified_desktop_utils.cc
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ui/display/unified_desktop_utils.h
[modify] https://crrev.com/4f8e372bc7ce69aaebe625283c2167492289b6dd/ui/display/unified_desktop_utils_unittests.cc

Cc: glevin@chromium.org
Good morning.  Just curious... does anyone here want a privacy review?  (They're free!)  As the launch bug template says,
  "When you flip Launch-Status to Review-Requested, the privacy team will be notified."
Looks like it's probably Privacy N/A, but we should still have a look.  Let us know when you're ready!
@afakhry: We are pretty late in the release cycle for M63. Are we sure that the CL: Unified Desktop: CL_2: (from #c35) won't break any other existing functionality. 
Could you also provide a test extension that implements these features. 
Labels: -Launch-Test-Started Launch-Test-No
Recommending Punting to M64, based on #c37.
Project Member

Comment 39 by bugdroid1@chromium.org, Nov 6 2017

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

commit 4ce143c7e55bf26819d521e51750675c5f374483
Author: Ahmed Fakhry <afakhry@google.com>
Date: Mon Nov 06 23:42:38 2017

Fix a crash in building the unified matrix

Don't push the same display placement over and over in the
unhandled displays stack. Add a test that exercises this path which
crashes without this fix.

BUG= 752767 
TEST=new test added

Change-Id: If6028f5f8f026aafd5b5b005d0f687a36f23d833
Reviewed-on: https://chromium-review.googlesource.com/754338
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Ahmed Fakhry <afakhry@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514295}
[modify] https://crrev.com/4ce143c7e55bf26819d521e51750675c5f374483/ui/display/unified_desktop_utils.cc
[modify] https://crrev.com/4ce143c7e55bf26819d521e51750675c5f374483/ui/display/unified_desktop_utils_unittests.cc

Labels: -Launch-M-Target-63-Dev -Launch-M-Target-63-Beta -Launch-M-Target-63-Stable-Exp -Launch-M-Target-63-Stable Launch-M-Target-64-Dev Launch-M-Target-64-Beta Launch-M-Target-64-Stable-Exp Launch-M-Target-64-Stable
afakhry@
Are we going to release this new management feature via M64-beta? 
Our enterprise customer who has reported crbug.com/739444 is very concerned about delay because they have to lock M-57 (NON supported) because Ninja was skipped M-58, and M-59 hit crbug.com/739444. 
Once the final CL lands, the setDisplayLayout() in the chrome.system.display APIs will be capable of setting a display matrix when Unified Desktop is enabled.

M-64-beta should be able to get this change.

Comment 43 by dchan@google.com, Nov 10 2017

Labels: -Launch-Test-No Launch-Test-Started
Project Member

Comment 44 by bugdroid1@chromium.org, Nov 10 2017

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

commit 335f836ef38e698833dc5331fe8d79fe2eb959a7
Author: Ahmed Fakhry <afakhry@google.com>
Date: Fri Nov 10 22:43:28 2017

Unified Desktop: CL_3: Hookup the display APIs to the unified matrix support

Make the chrome.system.display setDisplayLayout() and getDisplayLayout()
work while in Unified Desktop mode, converting the given layout (if valid)
to a display matrix and vice versa.

BUG= 752767 
TEST=Covered by tests


Change-Id: I55d498ca0fd203c635036eb4bfb9eaa074723d77
Reviewed-on: https://chromium-review.googlesource.com/749690
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Ahmed Fakhry <afakhry@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515721}
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/ash/display/display_configuration_controller.cc
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/ash/display/display_configuration_controller.h
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/chrome/browser/extensions/display_info_provider_chromeos.cc
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/chrome/browser/extensions/display_info_provider_chromeos.h
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/chrome/browser/extensions/display_info_provider_chromeos_unittest.cc
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/extensions/browser/api/system_display/display_info_provider.cc
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/extensions/browser/api/system_display/display_info_provider.h
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/extensions/browser/api/system_display/system_display_api.cc
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/ui/display/manager/display_manager.cc
[modify] https://crrev.com/335f836ef38e698833dc5331fe8d79fe2eb959a7/ui/display/manager/display_manager.h

Status: Fixed (was: Started)
The final CL has landed. chrome.system.display.setDisplayLayout/getDisplayLayout() should now work with Unified Desktop mode supporting a horizontal / vertical or matrix layout. Closing.
Seems like a privacy review was never conducted nor requested.
Labels: Review-Privacy
Labels: -M-63 M-64
Project Member

Comment 49 by chrome-privacy-bot@chromium.org, Nov 20 2017

Dear afakhry,

This review is closed, but it appears that the PDD has not yet been updated.

Please take the appropriate steps and flip the Dev-PrivacyDesignDocUpdated label to Yes or NA.

Your friendly privacy review bot.

Comment 50 by dchan@chromium.org, Nov 29 2017

Labels: -Launch-M-Target-64-Stable-Exp
Re: privacy review - hi, the proper way of requesting privacy review is either emailing chrome-privacy-core@ (as feature owner you should have received an email of instructions already) or change your label to Launch-Status:Review-Requested.

Please see go/newchromefeature.
Labels: -Launch-Privacy-NotReviewed -Review-Privacy Launch-Privacy-Started
Project Member

Comment 53 by chrome-privacy-bot@chromium.org, Nov 30 2017

Blockedon: 789951
Labels: PrivacyReview-789951
Adding privacy review bug issue 789951 as a label to the launch bug  issue 752767 . This is an automated message.
Need a new PM assigned since Raj left the team.  I understand a number of approvals may be n/a, but they're still showing as they need to as blocks for M64 release.  Please take a look.. Thanks!
Labels: -Type-Launch Type-Bug
I attempted to re-classify as bug fix as the ultimate fix by afakhry@ was a fix of existing solution, not introduction of new.

Comment 57 Deleted

Labels: -Merge-Request-64
afakhry@
I am testing this new function before introducing it to customers, but I am still not able to manage it. (same as the previous version, The Unify desktop is not affected by the display layout)
So, I would like to verify it has been merged to M64.0.3282.11? or it has to be changed by API? Sorry for asking this basic thing. 
This API is only limited to kiosk and webui apps. If you are trying to call it from a normal extension, it won't work.
Wasn't this Launch bug recently punted to M65?
Is this still targeted for M64?


This was never punted to M-65. All the CLs landed in M-64 prior to the branch point.

Comment 63 by dchan@chromium.org, Dec 12 2017

This bug has fallen off the launch bug radar. The Type field was changed from Launch to Bug in c#55.  Any why this change ?

If there is a bug in this feature, please file a new bug instead.

Comment 64 by dchan@chromium.org, Dec 12 2017

When I said this has fallen off the radar, I mean the bug no longer show up in the chromefeature page https://chromefeatures.googleplex.com/?milestones=64&platforms=Chrome due to the change of the bug 'Type' field.

Comment 65 by dchan@chromium.org, Dec 12 2017

should have read through the bug, looks like in c#55 the type is changed to bug and in c#56 this is no longer a launch but a bug fix to add the API support.
Labels: -Launch-Privacy-Started Launch-Privacy-NA
Labels: -Launch-Accessibility-NotReviewed Launch-Accessibility-NA
Verified this feature on Sumo device flashed with M-64 Chrome OS 10176.68.0 platform 64.0.3282.144

Before powering on the device I connected the secondary display to the primary display to enable Unified desktop mode. I was able to change the display layout from horizontal to vertical while remaining in UD mode. This was achieved using a test application which calls chrome.system.display setDisplayLayout() and getDisplayLayout()

Status: Verified (was: Fixed)
Marked as Verified based on c#68.

Sign in to add a comment