Browse Source

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

Co-authored-by: John Kleinschmidt <[email protected]>
trop[bot] 3 years ago
parent
commit
1222d12d1e

+ 3 - 7
docs/api/session.md

@@ -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:
 

+ 4 - 15
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<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

+ 1 - 4
spec-main/chromium-spec.ts

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

+ 0 - 1
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);