Skip to content

Commit

Permalink
fix: feature detection for Google Chrome
Browse files Browse the repository at this point in the history
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 <lidel@lidel.org>
  • Loading branch information
lidel authored and jscissr committed May 3, 2019
1 parent 93e340d commit 1362648
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,14 @@ 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.tcp === 'object'
) {
chrome.sockets.tcpServer.onAccept.addListener(onAccept)
chrome.sockets.tcpServer.onAcceptError.addListener(onAcceptError)
chrome.sockets.tcp.onReceive.addListener(onReceive)
Expand Down

0 comments on commit 1362648

Please sign in to comment.