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.udp 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 committed Sep 8, 2019
1 parent 67bb860 commit 2bd217a
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 @@ -20,7 +20,14 @@ var BIND_STATE_BOUND = 2
// Track open sockets to route incoming data (via onReceive) to the right handlers.
var sockets = {}

if (typeof chrome !== 'undefined') {
// 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' &&
typeof chrome.sockets === 'object' &&
typeof chrome.sockets.udp === 'object'
) {
chrome.sockets.udp.onReceive.addListener(onReceive)
chrome.sockets.udp.onReceiveError.addListener(onReceiveError)
} else {
Expand Down

0 comments on commit 2bd217a

Please sign in to comment.