provide 'silent' param on snowflake proxy to disable confirmation dialog

This commit is contained in:
Serene Han 2016-03-07 22:58:23 -08:00
parent 91673a4abe
commit 39be8403a4
2 changed files with 11 additions and 1 deletions

View file

@ -14,6 +14,7 @@ DEFAULT_RELAY =
COPY_PASTE_ENABLED = false
DEBUG = false
silenceNotifications = false
query = null
if 'undefined' != typeof window && window.location
query = Query.parse(window.location.search.substr(1))
@ -190,6 +191,7 @@ dbg = (msg) -> log msg if true == snowflake.ui.debug
init = ->
ui = new UI()
silenceNotifications = Params.getBool(query, 'silent', false)
brokerUrl = Params.getString(query, 'broker', DEFAULT_BROKER)
broker = new Broker brokerUrl
snowflake = new Snowflake broker, ui
@ -205,7 +207,7 @@ init = ->
# Notification of closing tab with active proxy.
# TODO: Opt-in/out parameter or cookie
window.onbeforeunload = ->
if MODE.WEBRTC_READY == snowflake.state
if !silenceNotifications && MODE.WEBRTC_READY == snowflake.state
return CONFIRMATION_MESSAGE
null

View file

@ -61,6 +61,7 @@ describe 'Snowflake', ->
expect(s.proxyPairs.length).toBe 2
it 'gives a dialog when closing, only while active', ->
silenceNotifications = false
snowflake.state = MODE.WEBRTC_READY
msg = window.onbeforeunload()
expect(snowflake.state).toBe MODE.WEBRTC_READY
@ -70,3 +71,10 @@ describe 'Snowflake', ->
msg = window.onbeforeunload()
expect(snowflake.state).toBe MODE.INIT
expect(msg).toBe null
it 'does not give a dialog when silent flag is on', ->
silenceNotifications = true
snowflake.state = MODE.WEBRTC_READY
msg = window.onbeforeunload()
expect(snowflake.state).toBe MODE.WEBRTC_READY
expect(msg).toBe null