From 9cc1b556632b4840dcb8787cdb29e0ad285b5c94 Mon Sep 17 00:00:00 2001 From: John Kleinschmidt Date: Thu, 29 Jul 2021 19:57:22 -0400 Subject: [PATCH] chore: remove experimental from navigator.serial implementation (#30237) --- docs/api/session.md | 10 +++------- .../serial/electron_serial_delegate.cc | 19 ++++--------------- spec-main/chromium-spec.ts | 5 +---- spec-main/index.js | 1 - 4 files changed, 8 insertions(+), 27 deletions(-) diff --git a/docs/api/session.md b/docs/api/session.md index 25389f70b713..a6b3afec11fb 100644 --- a/docs/api/session.md +++ b/docs/api/session.md @@ -180,7 +180,7 @@ Emitted when a hunspell dictionary file download fails. For details on the failure you should collect a netlog and inspect the download request. -#### Event: 'select-serial-port' _Experimental_ +#### Event: 'select-serial-port' Returns: @@ -197,14 +197,10 @@ cancel the request. Additionally, permissioning on `navigator.serial` can be managed by using [ses.setPermissionCheckHandler(handler)](#sessetpermissioncheckhandlerhandler) with the `serial` permission. -Because this is an experimental feature it is disabled by default. To enable this feature, you -will need to use the `--enable-features=ElectronSerialChooser` command line switch. - ```javascript const { app, BrowserWindow } = require('electron') let win = null -app.commandLine.appendSwitch('enable-features', 'ElectronSerialChooser') app.whenReady().then(() => { win = new BrowserWindow({ @@ -225,7 +221,7 @@ app.whenReady().then(() => { }) ``` -#### Event: 'serial-port-added' _Experimental_ +#### Event: 'serial-port-added' Returns: @@ -235,7 +231,7 @@ Returns: Emitted after `navigator.serial.requestPort` has been called and `select-serial-port` has fired if a new serial port becomes available. For example, this event will fire when a new USB device is plugged in. -#### Event: 'serial-port-removed' _Experimental_ +#### Event: 'serial-port-removed' Returns: diff --git a/shell/browser/serial/electron_serial_delegate.cc b/shell/browser/serial/electron_serial_delegate.cc index f004ccdc8501..ad21fbc7f5bd 100644 --- a/shell/browser/serial/electron_serial_delegate.cc +++ b/shell/browser/serial/electron_serial_delegate.cc @@ -14,12 +14,6 @@ #include "shell/browser/serial/serial_chooser_controller.h" #include "shell/browser/web_contents_permission_helper.h" -namespace features { - -const base::Feature kElectronSerialChooser{"ElectronSerialChooser", - base::FEATURE_DISABLED_BY_DEFAULT}; -} - namespace electron { SerialChooserContext* GetChooserContext(content::RenderFrameHost* frame) { @@ -36,16 +30,11 @@ std::unique_ptr ElectronSerialDelegate::RunChooser( content::RenderFrameHost* frame, std::vector filters, content::SerialChooser::Callback callback) { - if (base::FeatureList::IsEnabled(features::kElectronSerialChooser)) { - SerialChooserController* controller = ControllerForFrame(frame); - if (controller) { - DeleteControllerForFrame(frame); - } - AddControllerForFrame(frame, std::move(filters), std::move(callback)); - } else { - // If feature is disabled, immediately return back with no port selected. - std::move(callback).Run(nullptr); + SerialChooserController* controller = ControllerForFrame(frame); + if (controller) { + DeleteControllerForFrame(frame); } + AddControllerForFrame(frame, std::move(filters), std::move(callback)); // Return a nullptr because the return value isn't used for anything, eg // there is no mechanism to cancel navigator.serial.requestPort(). The return diff --git a/spec-main/chromium-spec.ts b/spec-main/chromium-spec.ts index 97b1d6027f66..8f9661e4e2a1 100644 --- a/spec-main/chromium-spec.ts +++ b/spec-main/chromium-spec.ts @@ -1643,10 +1643,7 @@ describe('navigator.serial', () => { let w: BrowserWindow; before(async () => { w = new BrowserWindow({ - show: false, - webPreferences: { - enableBlinkFeatures: 'Serial' - } + show: false }); await w.loadFile(path.join(fixturesPath, 'pages', 'blank.html')); }); diff --git a/spec-main/index.js b/spec-main/index.js index 406a7b7ecf3e..cc605acf3cec 100644 --- a/spec-main/index.js +++ b/spec-main/index.js @@ -25,7 +25,6 @@ const { app, protocol } = require('electron'); v8.setFlagsFromString('--expose_gc'); app.commandLine.appendSwitch('js-flags', '--expose_gc'); -app.commandLine.appendSwitch('enable-features', 'ElectronSerialChooser'); // Prevent the spec runner quiting when the first window closes app.on('window-all-closed', () => null);