From ef9a2d70b38b2c3044fb9da3891c3242c6b00bd9 Mon Sep 17 00:00:00 2001 From: Mavis Ou Date: Wed, 31 Jul 2013 16:51:36 -0700 Subject: [PATCH 1/9] [Issue #328] Reset button handler (in progress) --- data/ui.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/data/ui.js b/data/ui.js index d23d330..18e9120 100644 --- a/data/ui.js +++ b/data/ui.js @@ -130,14 +130,9 @@ document.querySelector('.reset-data').addEventListener('click', function(){ if ( confirmed ){ addon.emit('reset'); aggregate.emit('reset'); - currentVisualization.emit('reset'); + currentVisualization.emit('remove'); allConnections = []; - Object.keys(localStorage).sort().forEach(function(key){ - if ( key.charAt(0) == "2" ){ // date keys are in the format of yyyy-mm-dd - delete localStorage[key];; - } - }); - delete localStorage.dnsDialogs; + localStorage.clear(); updateStatsBar(); } } From 502a605de174cc2084d12381c856dd814478bebf Mon Sep 17 00:00:00 2001 From: Mavis Ou Date: Wed, 31 Jul 2013 17:05:25 -0700 Subject: [PATCH 2/9] changed the zoom in factor for Graph to be 4x --- data/ui.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/ui.js b/data/ui.js index 18e9120..ffeb981 100644 --- a/data/ui.js +++ b/data/ui.js @@ -192,7 +192,7 @@ function setZoom(box,canvas){ * clock = " -350 -495 700 500 " * map = " 0 0 2711.3 1196.7 " */ -var graphZoomInLimit = { x:300, y:300, w:200, h:300 }; +var graphZoomInLimit = { w:250, h:250 }; var graphZoomOutLimit = { w:4000, h:4000 }; var clockZoomInLimit = { w:350, h:250 }; var clockZoomOutLimit = { w:2800, h:2800 }; From d90c05e5df33abc189f6c5ec530a3822af96da8a Mon Sep 17 00:00:00 2001 From: Mavis Ou Date: Wed, 31 Jul 2013 17:33:17 -0700 Subject: [PATCH 3/9] [Issue #293] diasble/enable the Hide/Show Hidden button accordingly --- data/index.html | 2 +- data/list.js | 78 +++++++++++++++++++++++++++++-------------------- 2 files changed, 47 insertions(+), 33 deletions(-) diff --git a/data/index.html b/data/index.html index a4e5b99..83481db 100644 --- a/data/index.html +++ b/data/index.html @@ -447,7 +447,7 @@ Clear Preference -
+
Hide Hidden Sites diff --git a/data/list.js b/data/list.js index 9166954..9bedf6e 100644 --- a/data/list.js +++ b/data/list.js @@ -30,6 +30,7 @@ function onInit(connections){ if ( !statsBarInitiated ){ updateStatsBar(); } + toggleShowHideHiddenButton(); } @@ -338,6 +339,7 @@ function resetCanvas(){ breadcrumb.parentElement.removeChild(breadcrumb); } breadcrumbList = []; + document.querySelector('.stage-stack').removeEventListener('click', listStageStackClickHandler, false); vizcanvas.classList.remove("hide"); } @@ -381,6 +383,7 @@ function setPreferences(pref){ setUserSetting(row, pref); }); toggleOnPrefButtons(false); // disable buttons since all checkboxes are unchecked now + toggleShowHideHiddenButton(); } function toggleHiddenSites(target){ @@ -405,6 +408,40 @@ if (localStorage.listViewHideRows){ document.querySelector('.stage-stack').classList.add('hide-hidden-rows'); } + +var listStageStackClickHandler = function(event){ + var target = event.target; + if(target.mozMatchesSelector('.block-pref.active a') ){ + dialog( { "name": "blockDialog", + "dnsPrompt": true, + "title": "Block Sites", + "message": "This will prevent you from connecting to the selected website(s) and can possibly break the web." + },function(confirmed){ + if ( confirmed ){ + setPreferences('block'); + } + } + ); + }else if (target.mozMatchesSelector('.hide-pref.active a')){ + dialog( { "name": "hideDialog", + "dnsPrompt": true, + "title": "Hide Sites", + "message": "Data of the selected website(s) will be hidden in all the Visualizations." + },function(confirmed){ + if ( confirmed ){ + setPreferences('hide'); + } + } + ); + }else if (target.mozMatchesSelector('.watch-pref.active a')){ + setPreferences('watch'); + }else if(target.mozMatchesSelector('.no-pref.active a')){ + setPreferences(''); + }else if(target.mozMatchesSelector('.toggle-hidden a')){ + toggleHiddenSites(target); + } +}; + // Install handlers function initializeHandlers(){ try{ @@ -416,38 +453,7 @@ function initializeHandlers(){ toggleLegendSection(event.target,document.querySelector('.list-footer')); }); - document.querySelector('.stage-stack').addEventListener('click', function(event){ - var target = event.target; - if(target.mozMatchesSelector('.block-pref.active a') ){ - dialog( { "name": "blockDialog", - "dnsPrompt": true, - "title": "Block Sites", - "message": "This will prevent you from connecting to the selected website(s) and can possibly break the web." - },function(confirmed){ - if ( confirmed ){ - setPreferences('block'); - } - } - ); - }else if (target.mozMatchesSelector('.hide-pref.active a')){ - dialog( { "name": "hideDialog", - "dnsPrompt": true, - "title": "Hide Sites", - "message": "Data of the selected website(s) will be hidden in all the Visualizations." - },function(confirmed){ - if ( confirmed ){ - setPreferences('hide'); - } - } - ); - }else if (target.mozMatchesSelector('.watch-pref.active a')){ - setPreferences('watch'); - }else if(target.mozMatchesSelector('.no-pref.active a')){ - setPreferences(''); - }else if(target.mozMatchesSelector('.toggle-hidden a')){ - toggleHiddenSites(target); - } - }, false); + document.querySelector('.stage-stack').addEventListener('click', listStageStackClickHandler, false); // highlight selected row document.querySelector(".list-table").addEventListener("click",function(event){ @@ -488,4 +494,12 @@ function toggleOnPrefButtons(toggleOn){ document.querySelector(".no-pref").classList.remove(classToRemove); } +function toggleShowHideHiddenButton(){ + if ( document.querySelectorAll("[data-pref='hide']").length > 0 ){ + document.querySelector(".toggle-hidden").classList.remove("disabled"); + }else{ + document.querySelector(".toggle-hidden").classList.add("disabled"); + } +} + })(visualizations); From ffbf27e4aafcd7d34029f791316f94718d11710c Mon Sep 17 00:00:00 2001 From: Mavis Ou Date: Thu, 1 Aug 2013 10:42:21 -0700 Subject: [PATCH 4/9] [Issue #336] modified content of some popup dialogs --- data/collusion.js | 14 +++++++------- data/list.js | 12 +++++++----- data/style.css | 8 ++++++-- data/ui.js | 3 ++- 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/data/collusion.js b/data/collusion.js index 06a91d3..fe8e874 100644 --- a/data/collusion.js +++ b/data/collusion.js @@ -224,11 +224,11 @@ function dateAsKey(timestamp){ function startSharing(callback){ dialog( { "title": "Upload Data", "message": - 'You are about to start uploading anonymized data to the Mozilla Collusion server. ' + - 'Your data will continue to be uploaded periodically until you turn off sharing.
' + - 'For more information about the data we upload, how it is anonymized, and what Mozilla\'s ' + - 'privacy policies are, please visit http://ItsOurData.com/privacy/.
' + - 'By clicking OK you are agreeing to share your data under those terms.' + '

You are about to start uploading anonymized data to the Mozilla Collusion server. ' + + 'Your data will continue to be uploaded periodically until you turn off sharing.

' + + '

For more information about the data we upload, how it is anonymized, and what Mozilla\'s ' + + 'privacy policies are, please visit http://mozilla.org/collusion

' + + '

By clicking OK you are agreeing to share your data under those terms.

' }, function(confirmed){ if ( confirmed ){ @@ -243,8 +243,8 @@ function startSharing(callback){ function stopSharing(callback){ dialog( { "title": "Stop Uploading Data", "message": - 'You are about to stop sharing data with the Mozilla Collusion server.
' + - 'By clicking OK you will no longer be uploading data.' + '

You are about to stop sharing data with the Mozilla Collusion server.

' + + '

By clicking OK you will no longer be uploading data.

' }, function(confirmed){ console.log(confirmed); diff --git a/data/list.js b/data/list.js index 9bedf6e..19441df 100644 --- a/data/list.js +++ b/data/list.js @@ -412,10 +412,11 @@ if (localStorage.listViewHideRows){ var listStageStackClickHandler = function(event){ var target = event.target; if(target.mozMatchesSelector('.block-pref.active a') ){ - dialog( { "name": "blockDialog", - "dnsPrompt": true, - "title": "Block Sites", - "message": "This will prevent you from connecting to the selected website(s) and can possibly break the web." + dialog( { "title": "Block Sites", + "message": "

Warning:

" + + "

Blocking sites will prevent any and all content from being loaded from these domains: [domain1.com, domain2.com, ...] and ALL SUBDOMAINS [www.domain1.com, etc.].

" + + "

This can prevent some sites from working and degrade your interenet experience. Please use this feature carefully.

" + + "

For more info: http://mozilla.org/collusion

" },function(confirmed){ if ( confirmed ){ setPreferences('block'); @@ -426,7 +427,8 @@ var listStageStackClickHandler = function(event){ dialog( { "name": "hideDialog", "dnsPrompt": true, "title": "Hide Sites", - "message": "Data of the selected website(s) will be hidden in all the Visualizations." + "message": "

These sites will not be shown in Collusion visualizations, including List View, unless you specifically toggle them back on with the Show Hidden Sites button.

" + + "

You can use this to ignore trusted sites from the data.

" },function(confirmed){ if ( confirmed ){ setPreferences('hide'); diff --git a/data/style.css b/data/style.css index e201314..e20d1ca 100644 --- a/data/style.css +++ b/data/style.css @@ -23,6 +23,7 @@ html, body{ background-color: #000; color: #EAEAEA; overflow: hidden; + font-size: 12px; } body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,aside,section,hgroup,footer,nav,figure,header,article,input,textarea,p,blockquote,th,td,select { @@ -113,12 +114,16 @@ h3 { padding-left: 20px; } +.pico-content p{ + margin-top: 15px; +} + .pico-content .dialog-message{ margin-top: 30px; } .pico-content .dialog-dns{ - margin: 10px 0; + margin: 20px 0; } .pico-content .dialog-ok, @@ -140,7 +145,6 @@ h3 { .btn{ margin-bottom: 5px; background: #171E25; - font-size: 7pt; letter-spacing: 1px; border-radius: 5px; } diff --git a/data/ui.js b/data/ui.js index ffeb981..8266a24 100644 --- a/data/ui.js +++ b/data/ui.js @@ -125,7 +125,8 @@ document.querySelector(".download").addEventListener('click', function(evt) { document.querySelector('.reset-data').addEventListener('click', function(){ dialog( { "title": "Reset Data", - "message": "Are you sure you want to reset your data?" + "message": "Pressing OK will delete all Collusion information including connection history, user preferences, unique token, block sites list [etc.]. " + + "Your browser will be returned to the state of a fresh install of Collusion." },function(confirmed){ if ( confirmed ){ addon.emit('reset'); From c40a9e98b2ba92fcb84da36fa0c37ec11b717829 Mon Sep 17 00:00:00 2001 From: Mavis Ou Date: Thu, 1 Aug 2013 10:55:54 -0700 Subject: [PATCH 5/9] removed unused code --- data/collusion.js | 27 --------------------------- lib/ui.js | 6 ------ 2 files changed, 33 deletions(-) diff --git a/data/collusion.js b/data/collusion.js index fe8e874..95f7d40 100644 --- a/data/collusion.js +++ b/data/collusion.js @@ -89,7 +89,6 @@ function elem(name, attributes, children){ }; window.addEventListener('load', function(evt){ - addon.emit("privateWindowCheck"); // Wire up events document.querySelector('[data-value=' + (localStorage.visualization || 'Graph') + ']').setAttribute("data-selected", true); var visualization = localStorage.visualization ? ( localStorage.visualization.toLowerCase() ) : "graph"; @@ -105,32 +104,6 @@ window.addEventListener('beforeunload', function(){ saveConnections(allConnections); }, false); - -addon.on("isPrivateWindow", function(isPrivate){ - if ( !localStorage.privateBrowsingMsgShown ){ - if ( isPrivate ){ - dialog( { "type": "alert", - "title": "Data Collected while Private Browsing", - "message": - "You've launched Collusion in a Private Browsing Window. " + - "Data collected under Private Browsing Windows will not be perserved or stored. " + - "It will not appear again once the Window is close." - } - ); - }else{ - dialog( { "type": "alert", - "title": "Data Collected while Private Browsing", - "message": - "Data collected under Private Browsing Windows will not be perserved or stored. " + - "It will not appear again once the Window is close." - } - ); - } - } - - localStorage.privateBrowsingMsgShown = true; -}); - function initCap(str){ return str[0].toUpperCase() + str.slice(1); } diff --git a/lib/ui.js b/lib/ui.js index 2b8cec6..bb6b3f3 100644 --- a/lib/ui.js +++ b/lib/ui.js @@ -118,10 +118,6 @@ function attachToCollusionPage(worker) { tempConnections = tempConn; }; - var onPrivateWindowCheck = function(){ - worker.port.emit('isPrivateWindow', isPrivate( getCollusionTab() )); - } - var onUIReady = function(){ worker.port.emit('log', 'addon received uiready'); Connection.on('restored', onRestored); @@ -171,7 +167,6 @@ function attachToCollusionPage(worker) { this.port.removeListener('reset', onWorkerReset); this.port.removeListener('uiready', onUIReady); this.port.removeListener('updateBlockList', onWorkerUpdateBlocklist); - this.port.removeListener('privateWindowCheck', onPrivateWindowCheck); this.port.removeListener('tempConnectionTransferred', onTempConnectionTransferred); uiworker = null; this.destroy(); @@ -181,7 +176,6 @@ function attachToCollusionPage(worker) { worker.port.on("reset", onWorkerReset); worker.port.on('uiready', onUIReady); worker.port.on('updateBlocklist', onWorkerUpdateBlocklist); - worker.port.on("privateWindowCheck", onPrivateWindowCheck); worker.port.on("tempConnectionTransferred", onTempConnectionTransferred); Connection.on('tempConnections', onTempConnections); From ef84e3f661a26f995771c33f53c46388c0a786f2 Mon Sep 17 00:00:00 2001 From: Mavis Ou Date: Thu, 1 Aug 2013 12:33:02 -0700 Subject: [PATCH 6/9] [Issue #336] code cleanup and bug fixes --- data/collusion.js | 1 - data/list.js | 25 +++++++++------ data/ui.js | 79 +++++++++++++++++++++++++++++++---------------- 3 files changed, 68 insertions(+), 37 deletions(-) diff --git a/data/collusion.js b/data/collusion.js index 95f7d40..b4df28d 100644 --- a/data/collusion.js +++ b/data/collusion.js @@ -220,7 +220,6 @@ function stopSharing(callback){ '

By clicking OK you will no longer be uploading data.

' }, function(confirmed){ - console.log(confirmed); if ( confirmed ){ localStorage.userHasOptedIntoSharing = false; if (uploadTimer){ diff --git a/data/list.js b/data/list.js index 19441df..cb6c206 100644 --- a/data/list.js +++ b/data/list.js @@ -424,17 +424,22 @@ var listStageStackClickHandler = function(event){ } ); }else if (target.mozMatchesSelector('.hide-pref.active a')){ - dialog( { "name": "hideDialog", - "dnsPrompt": true, - "title": "Hide Sites", - "message": "

These sites will not be shown in Collusion visualizations, including List View, unless you specifically toggle them back on with the Show Hidden Sites button.

" + - "

You can use this to ignore trusted sites from the data.

" - },function(confirmed){ - if ( confirmed ){ - setPreferences('hide'); + var hideDialogName = "hideDialog"; + if ( doNotShowDialog(hideDialogName) ){ + setPreferences('hide'); + }else{ + dialog( { "name": hideDialogName, + "dnsPrompt": true, + "title": "Hide Sites", + "message": "

These sites will not be shown in Collusion visualizations, including List View, unless you specifically toggle them back on with the Show Hidden Sites button.

" + + "

You can use this to ignore trusted sites from the data.

" + },function(confirmed){ + if ( confirmed ){ + setPreferences('hide'); + } } - } - ); + ); + } }else if (target.mozMatchesSelector('.watch-pref.active a')){ setPreferences('watch'); }else if(target.mozMatchesSelector('.no-pref.active a')){ diff --git a/data/ui.js b/data/ui.js index 8266a24..b1801a9 100644 --- a/data/ui.js +++ b/data/ui.js @@ -387,51 +387,78 @@ function legendBtnClickHandler(legendElm){ // options: name, title, message, type, dnsPrompt(Do Not Show) function dialog(options,callback){ - var dnsPref = localStorage.dnsDialogs || "[]"; - dnsPref = JSON.parse(dnsPref); - if ( dnsPref.indexOf(options.name) > -1 ) return; // according to user pref, do not show this dialog - showDialog(options,dnsPref,callback); + if ( doNotShowDialog(options.name) ) return; // according to user pref, do not show this dialog + createDialog(options,callback); } -function showDialog(options,dnsPref,callback){ +function doNotShowDialog(dialogName){ + var dnsPref = localStorage.dnsDialogs || "[]"; + dnsPref = JSON.parse(dnsPref); + return ( dnsPref.indexOf(dialogName) > -1 ) ? true : false; +} + +function createDialog(options,callback){ var titleBar = "
" + (options.title || " ") + "
"; var messageBody = "
" + (options.message || " ") + "
"; - var controls = "
"+ - "" + - "
Cancel
" + - "
OK
" + - "
"; + var childElems = ""; + if ( options.dnsPrompt ){ // show Do Not Show Again prompt + childElems += "
Do not show this again.
"; + } + if ( navigator.appVersion.indexOf("Win") > -1 ){ // runs on Windows + childElems += "
Cancel
"; + childElems += "
OK
"; + }else{ + childElems += "
OK
"; + childElems += "
Cancel
"; + } + var controls = "
" + childElems + "
"; + // create dialog var modal = picoModal({ content: titleBar + messageBody + controls, closeButton: false, overlayClose: false, - // width: 400, overlayStyles: { backgroundColor: "#000", opacity: 0.75 } }); - if ( options.dnsPrompt ){ // show Do Not Show Again prompt - document.querySelector(".dialog-dns").classList.remove("hidden"); - } if ( options.type == "alert" ){ document.querySelector(".dialog-cancel").classList.add("hidden"); } - toArray(document.querySelectorAll(".pico-close")).forEach(function(btn){ - btn.addEventListener("click", function(event){ - if ( options.dnsPrompt && (event.target.innerHTML == "OK") ){ // Do Not Show - var checked = document.querySelector(".dialog-dns input").checked; - if ( checked ){ // user does not want this dialog to show again - dnsPref.push(options.name); - localStorage.dnsDialogs = JSON.stringify(dnsPref); - } - } - modal.close(); - callback( (event.target.innerHTML == "OK") ? true : false ); - }); + addDialogEventHandlers(modal,options,function(userResponse){ + callback(userResponse); }); } +function addDialogEventHandlers(modal,options,callback){ + // press Esc to close the dialog (functions the same as clicking Cancel) + var escapeDialogKeyHandler = function(e){ + if ( e.keyCode == "27" ){ // Esc key pressed + modal.close(); + callback(false); + } + } + document.addEventListener("keydown", escapeDialogKeyHandler); + modal.onClose(function(){ + document.removeEventListener("keydown", escapeDialogKeyHandler); + }); + // OK button click event handler + document.querySelector(".pico-close.dialog-ok").addEventListener("click",function(){ + if ( document.querySelector(".dialog-dns input") && document.querySelector(".dialog-dns input").checked ){ // Do Not Show + var dnsPref = localStorage.dnsDialogs || "[]"; + dnsPref = JSON.parse(dnsPref); + dnsPref.push(options.name); + localStorage.dnsDialogs = JSON.stringify(dnsPref); + } + modal.close(); + callback(true); + }); + // Cancel button click event handler + document.querySelector(".pico-close.dialog-cancel").addEventListener("click",function(){ + modal.close(); + callback(false); + }); +} \ No newline at end of file From aed01394227e61476143a7040963668aba8b0bfd Mon Sep 17 00:00:00 2001 From: Mavis Ou Date: Thu, 1 Aug 2013 15:02:21 -0700 Subject: [PATCH 7/9] [Issue #336] added images to dialog --- data/collusion.js | 6 +- data/image/collusion_popup_blocked.png | Bin 0 -> 8037 bytes data/image/collusion_popup_hidden.png | Bin 0 -> 13396 bytes data/image/collusion_popup_privacy.png | Bin 0 -> 12133 bytes data/image/collusion_popup_stopsharing2.png | Bin 0 -> 5218 bytes data/image/collusion_popup_warningreset.png | Bin 0 -> 11126 bytes data/image/collusion_popup_warningsharing.png | Bin 0 -> 13709 bytes data/list.js | 6 +- data/style.css | 24 +++++++- data/ui.js | 53 +++++++++++------- 10 files changed, 64 insertions(+), 25 deletions(-) create mode 100755 data/image/collusion_popup_blocked.png create mode 100755 data/image/collusion_popup_hidden.png create mode 100755 data/image/collusion_popup_privacy.png create mode 100755 data/image/collusion_popup_stopsharing2.png create mode 100755 data/image/collusion_popup_warningreset.png create mode 100755 data/image/collusion_popup_warningsharing.png diff --git a/data/collusion.js b/data/collusion.js index b4df28d..90b3fec 100644 --- a/data/collusion.js +++ b/data/collusion.js @@ -201,7 +201,8 @@ function startSharing(callback){ 'Your data will continue to be uploaded periodically until you turn off sharing.

' + '

For more information about the data we upload, how it is anonymized, and what Mozilla\'s ' + 'privacy policies are, please visit http://mozilla.org/collusion

' + - '

By clicking OK you are agreeing to share your data under those terms.

' + '

By clicking OK you are agreeing to share your data under those terms.

', + "imageUrl": "image/collusion_popup_warningsharing.png" }, function(confirmed){ if ( confirmed ){ @@ -217,7 +218,8 @@ function stopSharing(callback){ dialog( { "title": "Stop Uploading Data", "message": '

You are about to stop sharing data with the Mozilla Collusion server.

' + - '

By clicking OK you will no longer be uploading data.

' + '

By clicking OK you will no longer be uploading data.

', + "imageUrl": "image/collusion_popup_stopsharing2.png" }, function(confirmed){ if ( confirmed ){ diff --git a/data/image/collusion_popup_blocked.png b/data/image/collusion_popup_blocked.png new file mode 100755 index 0000000000000000000000000000000000000000..b9fc9034fc4fe32889ca46aa229ede502435bb62 GIT binary patch literal 8037 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 D7mx?W literal 0 HcmV?d00001 diff --git a/data/image/collusion_popup_hidden.png b/data/image/collusion_popup_hidden.png new file mode 100755 index 0000000000000000000000000000000000000000..27fe30981e1ee42ae08a8ab6dc82efa14fd0ddba GIT binary patch literal 13396 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 literal 0 HcmV?d00001 diff --git a/data/image/collusion_popup_privacy.png b/data/image/collusion_popup_privacy.png new file mode 100755 index 0000000000000000000000000000000000000000..0d7b59c68d536fe1ec97b70a2678727bf37212a1 GIT binary patch literal 12133 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 EKbOn3tpET3 literal 0 HcmV?d00001 diff --git a/data/image/collusion_popup_stopsharing2.png b/data/image/collusion_popup_stopsharing2.png new file mode 100755 index 0000000000000000000000000000000000000000..75d8c64fbc6357aa68442d8af7d0ec2a05e49a09 GIT binary patch literal 5218 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 literal 0 HcmV?d00001 diff --git a/data/image/collusion_popup_warningreset.png b/data/image/collusion_popup_warningreset.png new file mode 100755 index 0000000000000000000000000000000000000000..ebcd32c17f46d5098d8cee10e2fbb237dc26233c GIT binary patch literal 11126 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 lhFa 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 literal 0 HcmV?d00001 diff --git a/data/image/collusion_popup_warningsharing.png b/data/image/collusion_popup_warningsharing.png new file mode 100755 index 0000000000000000000000000000000000000000..3ecbcf5cc9d3a82ac58965f1ffdd475dd79e0af1 GIT binary patch literal 13709 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 z0>(qWarning:

" + "

Blocking sites will prevent any and all content from being loaded from these domains: [domain1.com, domain2.com, ...] and ALL SUBDOMAINS [www.domain1.com, etc.].

" + "

This can prevent some sites from working and degrade your interenet experience. Please use this feature carefully.

" + - "

For more info: http://mozilla.org/collusion

" + "

For more info: http://mozilla.org/collusion

", + "imageUrl": "image/collusion_popup_blocked.png" },function(confirmed){ if ( confirmed ){ setPreferences('block'); @@ -432,7 +433,8 @@ var listStageStackClickHandler = function(event){ "dnsPrompt": true, "title": "Hide Sites", "message": "

These sites will not be shown in Collusion visualizations, including List View, unless you specifically toggle them back on with the Show Hidden Sites button.

" + - "

You can use this to ignore trusted sites from the data.

" + "

You can use this to ignore trusted sites from the data.

", + "imageUrl": "image/collusion_popup_hidden.png" },function(confirmed){ if ( confirmed ){ setPreferences('hide'); diff --git a/data/style.css b/data/style.css index e20d1ca..591c6f8 100644 --- a/data/style.css +++ b/data/style.css @@ -114,12 +114,34 @@ h3 { padding-left: 20px; } +.pico-content .dialog-content{ + overflow: hidden; + margin-top: 30px; +} + .pico-content p{ margin-top: 15px; } +.pico-content .dialog-sign{ + float: left; + width: 20%; +} + +.pico-content .dialog-sign img{ + margin-top: 10px; + width: 100%; + height: 100%; +} + .pico-content .dialog-message{ - margin-top: 30px; + float: left; + width: calc( 80% - 20px ); + margin-left: 20px; +} + +.pico-content .dialog-controls{ + clear: both; } .pico-content .dialog-dns{ diff --git a/data/ui.js b/data/ui.js index b1801a9..6f03bfd 100644 --- a/data/ui.js +++ b/data/ui.js @@ -125,8 +125,9 @@ document.querySelector(".download").addEventListener('click', function(evt) { document.querySelector('.reset-data').addEventListener('click', function(){ dialog( { "title": "Reset Data", - "message": "Pressing OK will delete all Collusion information including connection history, user preferences, unique token, block sites list [etc.]. " + - "Your browser will be returned to the state of a fresh install of Collusion." + "message": "

Pressing OK will delete all Collusion information including connection history, user preferences, unique token, block sites list [etc.].

" + + "

Your browser will be returned to the state of a fresh install of Collusion.

", + "imageUrl": "image/collusion_popup_warningreset.png" },function(confirmed){ if ( confirmed ){ addon.emit('reset'); @@ -385,7 +386,7 @@ function legendBtnClickHandler(legendElm){ /* Dialog / Popup ===================================== */ -// options: name, title, message, type, dnsPrompt(Do Not Show) +// options: name, title, message, type, dnsPrompt(Do Not Show), imageUrl function dialog(options,callback){ if ( doNotShowDialog(options.name) ) return; // according to user pref, do not show this dialog createDialog(options,callback); @@ -398,24 +399,8 @@ function doNotShowDialog(dialogName){ } function createDialog(options,callback){ - var titleBar = "
" + (options.title || " ") + "
"; - var messageBody = "
" + (options.message || " ") + "
"; - var childElems = ""; - if ( options.dnsPrompt ){ // show Do Not Show Again prompt - childElems += "
Do not show this again.
"; - } - if ( navigator.appVersion.indexOf("Win") > -1 ){ // runs on Windows - childElems += "
Cancel
"; - childElems += "
OK
"; - }else{ - childElems += "
OK
"; - childElems += "
Cancel
"; - } - var controls = "
" + childElems + "
"; - - // create dialog var modal = picoModal({ - content: titleBar + messageBody + controls, + content: createDialogContent(options), closeButton: false, overlayClose: false, overlayStyles: { @@ -433,6 +418,34 @@ function createDialog(options,callback){ }); } +function createDialogContent(options){ + var titleBar = "
" + (options.title || " ") + "
"; + var messageBody = "
" + (options.message || " ") + "
"; + var content = ""; + // dialog sign + var image = ""; + if ( options.imageUrl ){ + image = "
"; + } + // controls + var controls; + var childElems = ""; + if ( options.dnsPrompt ){ // show Do Not Show Again prompt + childElems += "
Do not show this again.
"; + } + if ( navigator.appVersion.indexOf("Win") > -1 ){ // runs on Windows + childElems += "
Cancel
"; + childElems += "
OK
"; + }else{ + childElems += "
OK
"; + childElems += "
Cancel
"; + } + controls = "
" + childElems + "
"; + content = "
" + image + messageBody + "
"; + + return titleBar + content + controls; +} + function addDialogEventHandlers(modal,options,callback){ // press Esc to close the dialog (functions the same as clicking Cancel) var escapeDialogKeyHandler = function(e){ From 2a196035bf21a7cdd3d5e6505bb4c59f34b3af33 Mon Sep 17 00:00:00 2001 From: Mavis Ou Date: Thu, 1 Aug 2013 16:11:33 -0700 Subject: [PATCH 8/9] [Issue #295] typography/styling changes --- data/index.html | 94 ++++++++++++++++++------------------ data/style.css | 123 +++++++++++++++++------------------------------- 2 files changed, 90 insertions(+), 127 deletions(-) diff --git a/data/index.html b/data/index.html index 83481db..56e1e9b 100644 --- a/data/index.html +++ b/data/index.html @@ -15,7 +15,7 @@ -
VISUALIZATION
+
VISUALIZATION
-
FILTER
+
FILTER
-
DATA
+
DATA
Download @@ -59,20 +59,20 @@
- DATA GATHERED SINCE -
+
DATA GATHERED SINCE
+
- YOU HAVE VISITED -
+
YOU HAVE VISITED
+
- YOU HAVE CONNECTED WITH -
+
YOU HAVE CONNECTED WITH
+