New issue
Advanced search Search tips

Issue 908836 link

Starred by 3 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 3
Type: Bug

Blocking:
issue 884928



Sign in to add a comment

Serial port permissions storage and UI for Serial API

Project Member Reported by reillyg@chromium.org, Nov 27

Issue description

This issue tracks building specializations of ChooserContextBase and ChooserController for picking and managing serial port permissions as needed for the Serial API.

 
Blocking: 884928
Cc: reillyg@chromium.org
 Issue 917202  has been merged into this issue.
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 7

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

commit 7fa2022b91956a3bbedf4768460490641de85eda
Author: Reilly Grant <reillyg@chromium.org>
Date: Mon Jan 07 22:29:08 2019

[serial] Implement basic serial port chooser UI

This change adds a RunSerialChooser method to the WebContentsDelegate
interface which launches a chooser permission prompt displaying the
currently connected serial ports.

Bug: 908836
Change-Id: Ib84dd99d131aa5d52031f099da4d5293b5bb0e2a
Reviewed-on: https://chromium-review.googlesource.com/c/1393373
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620502}
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/app/generated_resources.grd
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/app/generated_resources_grd/IDS_SERIAL_PORT_CHOOSER_CONNECT_BUTTON_TEXT.png.sha1
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/app/generated_resources_grd/IDS_SERIAL_PORT_CHOOSER_PROMPT_EXTENSION_NAME.png.sha1
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/app/generated_resources_grd/IDS_SERIAL_PORT_CHOOSER_PROMPT_ORIGIN.png.sha1
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/browser/ui/browser.cc
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/browser/ui/browser.h
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/browser/ui/serial/serial_chooser.cc
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/browser/ui/serial/serial_chooser.h
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/browser/ui/serial/serial_chooser_controller.cc
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/chrome/browser/ui/serial/serial_chooser_controller.h
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/content/browser/serial/serial_browsertest.cc
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/content/browser/serial/serial_service.cc
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/content/browser/serial/serial_service.h
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/content/public/browser/BUILD.gn
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/content/public/browser/serial_chooser.cc
[add] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/content/public/browser/serial_chooser.h
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/content/public/browser/web_contents_delegate.cc
[modify] https://crrev.com/7fa2022b91956a3bbedf4768460490641de85eda/content/public/browser/web_contents_delegate.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 11

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

commit f3229ebb4aec65575ee22d6e08032d0f84efc688
Author: Reilly Grant <reillyg@chromium.org>
Date: Fri Jan 11 03:51:07 2019

[serial] Use base::FilePath in device.mojom.SerialPortInfo

This changes the type of the |path| field in device.mojom.SerialPortInfo
from a string to a mojo_base.mojom.FilePath and updates the
SerialDeviceEnumerator and SerialIoHandler implementations to pass
around base::FilePaths instead of std::strings.

This was done in order to make sure that device paths are stored in the
correct platform-specific encoding and can be displayed to the user
using base::FilePath::LossyDisplayName().

Bug: 908836
Change-Id: I46d0d18413c00db87f8ed3e58d73d5ae39b4c51e
Reviewed-on: https://chromium-review.googlesource.com/c/1406087
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621895}
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/chrome/browser/ui/serial/serial_chooser_controller.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/extensions/browser/api/serial/serial_api.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/extensions/browser/api/serial/serial_apitest.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/extensions/browser/api/serial/serial_port_manager.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/public/mojom/serial.mojom
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/fake_serial_device_enumerator.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/fake_serial_device_enumerator.h
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_device_enumerator.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_device_enumerator.h
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_device_enumerator_linux.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_device_enumerator_mac.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_device_enumerator_win.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_device_enumerator_win.h
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_io_handler.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_io_handler.h
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_io_handler_posix.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_io_handler_posix.h
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_io_handler_posix_unittest.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_io_handler_win.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_io_handler_win.h
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_port_impl.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_port_impl.h
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_port_manager_impl.cc
[modify] https://crrev.com/f3229ebb4aec65575ee22d6e08032d0f84efc688/services/device/serial/serial_port_manager_impl_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 11

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

commit 65a21975e57885f50e9579400b9235253d092511
Author: Reilly Grant <reillyg@chromium.org>
Date: Fri Jan 11 05:37:55 2019

[serial] Improve strings in chooser UI

This change implements changes suggested on the design doc. The message
at the top of the prompt now specifically calls out that the user is
being asked to choose a serial port. Each port listed now includes both
the friendly name (if available) as well as the device name i.e. COM1,
ttyS0, etc.

Bug: 908836
Change-Id: I003d5d4f759669e85195dd310591193881bcd288
Reviewed-on: https://chromium-review.googlesource.com/c/1401434
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621919}
[modify] https://crrev.com/65a21975e57885f50e9579400b9235253d092511/chrome/app/generated_resources.grd
[add] https://crrev.com/65a21975e57885f50e9579400b9235253d092511/chrome/app/generated_resources_grd/IDS_SERIAL_PORT_CHOOSER_NAME_WITH_PATH.png.sha1
[add] https://crrev.com/65a21975e57885f50e9579400b9235253d092511/chrome/app/generated_resources_grd/IDS_SERIAL_PORT_CHOOSER_PATH_ONLY.png.sha1
[modify] https://crrev.com/65a21975e57885f50e9579400b9235253d092511/chrome/app/generated_resources_grd/IDS_SERIAL_PORT_CHOOSER_PROMPT_EXTENSION_NAME.png.sha1
[modify] https://crrev.com/65a21975e57885f50e9579400b9235253d092511/chrome/app/generated_resources_grd/IDS_SERIAL_PORT_CHOOSER_PROMPT_ORIGIN.png.sha1
[modify] https://crrev.com/65a21975e57885f50e9579400b9235253d092511/chrome/browser/ui/serial/serial_chooser_controller.cc

Sign in to add a comment