chore: remove experimental from navigator.serial implementation (#30333)

Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
trop[bot]
2021-08-02 09:58:23 +09:00
committed by GitHub
parent 207c158536
commit 1222d12d1e
4 changed files with 8 additions and 27 deletions

View File

@@ -179,7 +179,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:
@@ -196,14 +196,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({
@@ -224,7 +220,7 @@ app.whenReady().then(() => {
})
```
#### Event: 'serial-port-added' _Experimental_
#### Event: 'serial-port-added'
Returns:
@@ -234,7 +230,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:

View File

@@ -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<content::SerialChooser> ElectronSerialDelegate::RunChooser(
content::RenderFrameHost* frame,
std::vector<blink::mojom::SerialPortFilterPtr> 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

View File

@@ -1641,10 +1641,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'));
});

View File

@@ -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);