From 838ffde4a33721888f74783821e0486dfcc88797 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Thu, 4 Apr 2019 17:53:24 +0200 Subject: [PATCH 1/2] fix: feature detection for Google Chrome Old version did not check if chrome.sockets.* actually exist. This caused problems with extensions built for Chromium-based browsers that tried to maintain the single codebase and do feature-detection at runtime. License: MIT Signed-off-by: Marcin Rataj --- index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 3f4dec5..7fd2d01 100644 --- a/index.js +++ b/index.js @@ -23,7 +23,15 @@ var servers = {} var sockets = {} // Thorough check for Chrome App since both Edge and Chrome implement dummy chrome object -if (typeof chrome === 'object' && typeof chrome.runtime === 'object' && typeof chrome.runtime.id === 'string') { +if ( + typeof chrome === 'object' && + typeof chrome.runtime === 'object' && + typeof chrome.runtime.id === 'string' && + typeof chrome.sockets === 'object' && + typeof chrome.sockets.tcpServer === 'object' && + typeof chrome.sockets === 'object' && + typeof chrome.sockets.tcp === 'object' +) { chrome.sockets.tcpServer.onAccept.addListener(onAccept) chrome.sockets.tcpServer.onAcceptError.addListener(onAcceptError) chrome.sockets.tcp.onReceive.addListener(onReceive) From 19817c0ef53b24df80982ca6685ab4669d2825ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Sch=C3=A4r?= Date: Sat, 27 Apr 2019 03:07:29 +0200 Subject: [PATCH 2/2] refactor: remove redundant check Co-Authored-By: lidel --- index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/index.js b/index.js index 7fd2d01..3a415b1 100644 --- a/index.js +++ b/index.js @@ -29,7 +29,6 @@ if ( typeof chrome.runtime.id === 'string' && typeof chrome.sockets === 'object' && typeof chrome.sockets.tcpServer === 'object' && - typeof chrome.sockets === 'object' && typeof chrome.sockets.tcp === 'object' ) { chrome.sockets.tcpServer.onAccept.addListener(onAccept)