New issue
Advanced search Search tips

Issue 901516 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

chrome://version shoudl display full windows version

Project Member Reported by wfh@chromium.org, Nov 2

Issue description

chrome://version should display full windows version, this would make it easier when people paste a chrome://version into a bug to know exactly what version of Windows they are running.

e.g

Currently:

Google Chrome	72.0.3596.0 (Official Build) canary (64-bit) (cohort: Clang-64)
Revision	0b292963c513fc540a19aef5251a8b28a68f6f6f-refs/branch-heads/3596@{#1}
OS	Windows
JavaScript	V8 7.2.186
Flash	31.0.0.148 C:\Users\wfh\AppData\Local\Google\Chrome SxS\User Data\PepperFlash\31.0.0.148\pepflashplayer.dll

Proposed:

Google Chrome	72.0.3596.0 (Official Build) canary (64-bit) (cohort: Clang-64)
Revision	0b292963c513fc540a19aef5251a8b28a68f6f6f-refs/branch-heads/3596@{#1}
OS	Windows 10 OS Build 17134.345
JavaScript	V8 7.2.186
Flash	31.0.0.148 C:\Users\wfh\AppData\Local\Google\Chrome SxS\User Data\PepperFlash\31.0.0.148\pepflashplayer.dll
 
I'd like to fix this issue.
Status: Assigned (was: Available)
Hi, please go ahead and upload a CL. There is a load of help on how to commit code to Chromium here -> https://www.chromium.org/developers.

I can't assign the bug to you as you're not a project member, but I'll mark it assigned.
Hi,
I have reviewed the existing code and can make a CL.
However, I’d appreciate guidelines in two aspects:

1) Intended code changes
Currently chrome://version shows OS Type using version_info::GetOSType() which
 always returns a static string generated during compile time (see [1]).
Chromium has a code that retrieves Windows version/SP/build/patch etc [2],
 however the class lacks a "pretty_print" method. 
I’d like to add a new method to base::win::OSInfo: pretty_version_number()
 that will return Windows version as a pretty formatted string for every
 Chromium supported flavor of Windows.
This method can be update when new version of Windows arises.

Would this change be acceptable?

Another option (that seems less preferable to me) would be to use the existing
 class [2] and make/format a pretty string inside the version_ui.cc [1]


2) OWNER contacts
Should I contact owners of [3] and agree on the change before I submit the CL?


[1] https://cs.chromium.org/chromium/src/components/version_info/version_info.cc
[2] https://cs.chromium.org/chromium/src/base/win/windows_version.cc
[3] https://cs.chromium.org/chromium/src/base/win/OWNERS

I don't think we need to be making changes to base here, I think we can isolate it to the chrome://version panel. This would be [1] in your link.

The code review system will enforce the owners of each component/directory you make changes to approves the CL before it can be submitted, so I would just go ahead and upload the CL when you feel it's ready.

Bear in mind that you should try and add tests to verify the behavior.
Labels: Hotlist-DesktopUIToolingRequired Hotlist-DesktopUIChecked
**UI mass Triage**

Not sure what those newly attached labels mean, so let me post a quick update:

You are right I was able to get the required behavior and isolate the changes to the chrome://version panel only.
(I assume we are required to convert Windows release version to Windows marketing version for older Win versions like Win7/8/8.1, i.e. Window NT 6.1 -> Windows 7 etc.)

I am working on an unit test now, currently studying gtest and gmock.
yes, converting to the same format as e.g. running winver.exe from command line, would be great!
Adding screenshots with chrome://version on
1) Win 10 English
2) Win Server 2012 R2 English
3) Win 10 Arabic (RTL language)
Win10.PNG
69.5 KB View Download
win2012R2.PNG
71.6 KB View Download
win10arabic.PNG
141 KB View Download
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 20

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

commit cc0af1a20f819c4aae41b838342fc9380848e2d1
Author: Eugene Sudin <eugene@sudin.pro>
Date: Thu Dec 20 03:50:03 2018

Modifies chrome://version output on Windows to show full version.

This CL modifies chrome://version output on Windows:
The page now lists complete Windows version on the OS line.
Getting version on Windows may be slow (due to disk i/o or Windows
registry operations) therefore a handler is added (see
version_handler_windows.cc) that retrieve Windows version async and
update the page, similar to ChromeOS code.

The handler relies on base::win::OSInfo and may return "unknown
version x.x" string if values provided by OSInfo are not defined in
the handler.

Added unit tests to verify functionality,
see version_handler_windows_unittest.cc

Bug: 901516

version; see crbug.com/901516 for more details.

Test: On Windows, navigate chrome://version you should see full Windows
Change-Id: Ie3da87ce8c58b632eed630e048e68ad9041283d2
Reviewed-on: https://chromium-review.googlesource.com/c/1350231
Commit-Queue: Will Harris <wfh@chromium.org>
Reviewed-by: calamity <calamity@chromium.org>
Reviewed-by: Dave Schuyler <dschuyler@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618101}
[modify] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/AUTHORS
[modify] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/base/test/scoped_os_info_override_win.cc
[modify] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/base/test/scoped_os_info_override_win.h
[modify] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/chrome/browser/ui/webui/version_handler_win.cc
[add] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/chrome/browser/ui/webui/version_handler_win.h
[add] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/chrome/browser/ui/webui/version_handler_win_unittest.cc
[modify] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/chrome/browser/ui/webui/version_ui.cc
[modify] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/chrome/test/BUILD.gn
[modify] https://crrev.com/cc0af1a20f819c4aae41b838342fc9380848e2d1/components/version_ui/resources/about_version.html

Sign in to add a comment