The browser version assumes that chrome.storage.local uses an API which is compatible with localStorage; which is not the case. Even though I am using chrome.storage.local for my Chrome extension, I would much prefer to keep debug's variable in localStorage, as I consider chrome.storage.local the 'private space' of my extension.
This change obviates the need to support multiple storage types. But if storage type is important, how about supporting a custom storage facility, including chrome.storage.sync? I.e. the user would provide an object that follows the conventions. Just a thought - I certainly don't see the need at this point though.
* Check for undefined on browser globals.
Not all environments include these globals. For example, web workers do not have global window objects.
* remove redundant global checks
Exporting to the "outer" scope of the module is more the responsibility
of the module loader (i.e. browserify, webpack, etc.) and thus this
is not necessary. `make test-browser` still passes after this patch.