Skip to content
This repository was archived by the owner on Nov 15, 2017. It is now read-only.

Commit 6525a93

Browse files
committed
this fixes #135
1 parent a72470c commit 6525a93

File tree

9 files changed

+94
-22
lines changed

9 files changed

+94
-22
lines changed

_locales/de/messages.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,10 @@
331331
"message": "",
332332
"description": "English:"
333333
},
334+
"settingsSubframeFgColor" : {
335+
"message": "Blocked frames color (any valid CSS color):",
336+
"description": "English: Blocked frames color (any valid CSS color):"
337+
},
334338
"settingsPrivacyHeader" : {
335339
"message": "Privatsphäre",
336340
"description": "header of Privacy section"

_locales/en/messages.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,10 @@
331331
"message": "",
332332
"description": "English:"
333333
},
334+
"settingsSubframeFgColor" : {
335+
"message": "Blocked frames color (any valid CSS color):",
336+
"description": "English: Blocked frames color (any valid CSS color):"
337+
},
334338
"settingsPrivacyHeader" : {
335339
"message": "Privacy",
336340
"description": "header of Privacy section"

_locales/fr/messages.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,10 @@
331331
"message": "",
332332
"description": "English:"
333333
},
334+
"settingsSubframeFgColor" : {
335+
"message": "Couleur pour les <iframe> bloqués (syntaxe CSS):",
336+
"description": "English: Blocked frames color (any valid CSS color):"
337+
},
334338
"settingsPrivacyHeader" : {
335339
"message": "Confidentialité",
336340
"description": "header of Privacy section"

_locales/ru/messages.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,10 @@
331331
"message": "",
332332
"description": "English:"
333333
},
334+
"settingsSubframeFgColor" : {
335+
"message": "Blocked frames color (any valid CSS color):",
336+
"description": "English: Blocked frames color (any valid CSS color):"
337+
},
334338
"settingsPrivacyHeader" : {
335339
"message": "Конфиденциальность",
336340
"description": "header of Privacy section"

js/background.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ var HTTPSB = {
4949
spoofUserAgentWith: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36\nMozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36\nMozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0\nMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36\nMozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36\n',
5050
statsFilters: {},
5151
strictBlocking: true,
52-
subframeOpacity: 1
52+
subframeFgColor: 'rgba(204,0,0,1)'
5353
},
5454

5555
runtimeId: 1,

js/settings.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,31 @@ function gethttpsb() {
3131

3232
/******************************************************************************/
3333

34+
var subframeDemoBackgroundImage = 'repeating-linear-gradient(\
35+
-45deg,\
36+
{{color}},{{color}} 25%,\
37+
transparent 25%,transparent 50%,\
38+
{{color}} 50%,{{color}} 75%,\
39+
transparent 75%,transparent\
40+
)';
41+
42+
var updateSubframeDemoPattern = function() {
43+
var demo = $('#subframe-fgcolor-demo');
44+
var color = $('#subframe-fgcolor').val();
45+
demo.css('border-color', color);
46+
var re = new RegExp('\{\{color\}\}', 'g');
47+
demo.css('background-image', subframeDemoBackgroundImage.replace(re, color));
48+
};
49+
50+
var validateColor = function(color) {
51+
if ( color === '' ) {
52+
return 'rgba(204,0,0,1)';
53+
}
54+
return color;
55+
};
56+
57+
/******************************************************************************/
58+
3459
function renderNumber(value) {
3560
// TODO: localization
3661
if ( +value > 1000 ) {
@@ -74,6 +99,7 @@ function onChangeValueHandler(elem, setting, min, max) {
7499
/******************************************************************************/
75100

76101
function prepareToDie() {
102+
changeUserSettings('subframeFgColor', validateColor($('#subframe-fgcolor').val()));
77103
onChangeValueHandler($('#delete-unused-session-cookies-after'), 'deleteUnusedSessionCookiesAfter', 15, 1440);
78104
onChangeValueHandler($('#clear-browser-cache-after'), 'clearBrowserCacheAfter', 15, 1440);
79105
onChangeValueHandler($('#spoof-user-agent-every'), 'spoofUserAgentEvery', 2, 999);
@@ -94,6 +120,8 @@ $(function() {
94120
$('#auto-whitelist-page-domain').attr('checked', userSettings.autoWhitelistPageDomain === true);
95121
$('#smart-auto-reload').val(userSettings.smartAutoReload);
96122
$('#delete-unused-temporary-scopes').attr('checked', userSettings.deleteUnusedTemporaryScopes === true);
123+
$('#subframe-fgcolor').val(userSettings.subframeFgColor);
124+
updateSubframeDemoPattern();
97125
$('#delete-unused-session-cookies').attr('checked', userSettings.deleteUnusedSessionCookies === true);
98126
$('#delete-unused-session-cookies-after').val(userSettings.deleteUnusedSessionCookiesAfter);
99127
$('#delete-blacklisted-cookies').attr('checked', userSettings.deleteCookies === true);
@@ -133,6 +161,12 @@ $(function() {
133161
$('#delete-unused-temporary-scopes').on('change', function(){
134162
changeUserSettings('deleteUnusedTemporaryScopes', $(this).is(':checked'));
135163
});
164+
$('#subframe-fgcolor').on('change', function(){
165+
var color = validateColor($(this).val());
166+
$(this).val(color);
167+
changeUserSettings('subframeFgColor', color);
168+
updateSubframeDemoPattern();
169+
});
136170
$('#delete-unused-session-cookies').on('change', function(){
137171
changeUserSettings('deleteUnusedSessionCookies', $(this).is(':checked'));
138172
});

js/storage.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ HTTPSB.loadUserSettings = function() {
5454
store.autoCreateScope = store.autoCreateSiteScope ? 'site' : '';
5555
delete store.autoCreateSiteScope;
5656
}
57+
// https://github.com/gorhill/httpswitchboard/issues/135
58+
// No longer needed.
59+
delete store.subframeOpacity;
5760

5861
HTTPSB.userSettings = store;
5962
};

js/traffic.js

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,16 @@ padding: 0; \
4848
font: 15px httpsb,sans-serif; \
4949
width: 100%; \
5050
height: 100%; \
51-
background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QkOFgcvc4DETwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAACGSURBVFjD7ZZBCsAgEAMT6f+/nJ5arYcqiKtIPAaFYR2DFCAAgEQ8iwzLCLxZWglSZgKUdgHJk2kdLEY5C4QAUxeIFOINfwUOBGkLPBnkAIEDQPoEDiw+uoGHBQ4ovv4GnvTMS4EvC+wvhBvYAltgC2yBLbAFPlTgvKG6vxXZB6QOl2S7gNw6ktgOp+IH7wAAAABJRU5ErkJggg==') repeat; \
51+
background-color:transparent;\
52+
background-size:10px 10px;\
53+
background-image:\
54+
repeating-linear-gradient(\
55+
-45deg,\
56+
rgba(204,0,0,0.5),rgba(204,0,0,0.5) 25%,\
57+
transparent 25%,transparent 50%,\
58+
rgba(204,0,0,0.5) 50%,rgba(204,0,0,0.5) 75%,\
59+
transparent 75%,transparent\
60+
);\
5261
text-align: center; \
5362
} \
5463
#p { \
@@ -98,42 +107,41 @@ margin:0;\
98107
border:0;\
99108
padding:0;\
100109
font:13px httpsb,sans-serif;\
101-
text-align:center;\
102110
}\
103111
#bg{\
112+
border:1px dotted {{fgColor}};\
104113
position:absolute;\
105114
top:0;\
106115
right:0;\
107116
bottom:0;\
108117
left:0;\
109-
background:transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QkOFgcvc4DETwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAACGSURBVFjD7ZZBCsAgEAMT6f+/nJ5arYcqiKtIPAaFYR2DFCAAgEQ8iwzLCLxZWglSZgKUdgHJk2kdLEY5C4QAUxeIFOINfwUOBGkLPBnkAIEDQPoEDiw+uoGHBQ4ovv4GnvTMS4EvC+wvhBvYAltgC2yBLbAFPlTgvKG6vxXZB6QOl2S7gNw6ktgOp+IH7wAAAABJRU5ErkJggg==') repeat;\
110-
opacity:{{opacity}};\
118+
background-color:transparent;\
119+
background-size:10px 10px;\
120+
background-image:\
121+
repeating-linear-gradient(\
122+
-45deg,\
123+
{{fgColor}},{{fgColor}} 25%,\
124+
transparent 25%,transparent 50%,\
125+
{{fgColor}} 50%,{{fgColor}} 75%,\
126+
transparent 75%,transparent\
127+
);\
128+
text-align:center;\
111129
}\
112-
#bgov{\
113-
border:1px dotted #c00;\
114-
position:absolute;\
115-
top:0;\
116-
right:0;\
117-
bottom:0;\
118-
left:0;\
119-
z-index:1;\
120-
opacity:{{opacity}};\
130+
#bg > div{\
131+
display:inline-block;\
132+
background-color:rgba(255,255,255,1);\
121133
}\
122-
#fg{\
134+
#bg > div > div {\
123135
padding:0 2px;\
124136
display:inline-block;\
125-
position:relative;\
126-
z-index:9;\
127137
color:white;\
128-
background:#c00;\
138+
background-color:{{fgColor}};\
129139
}\
130140
</style>\
131141
<title>Blocked by HTTPSB</title>\
132142
</head>\
133143
<body title='&ldquo;{{hostname}}&rdquo; frame\nblocked by HTTP Switchboard'>\
134-
<div id='bg'></div>\
135-
<div id='bgov'></div>\
136-
<span id='fg'>{{hostname}}</span>\
144+
<div id='bg'><div><div>{{hostname}}</div></div></div>\
137145
</body>\
138146
</html>";
139147

@@ -372,7 +380,7 @@ var onBeforeRequestHandler = function(details) {
372380
var html = subFrameReplacement
373381
.replace(/{{fontUrl}}/g, httpsb.fontCSSURL)
374382
.replace(/{{hostname}}/g, requestHostname)
375-
.replace(/{{opacity}}/g, httpsb.userSettings.subframeOpacity.toFixed(2));
383+
.replace(/{{fgColor}}/g, httpsb.userSettings.subframeFgColor);
376384
// quickProfiler.stop();
377385
return { 'redirectUrl': 'data:text/html,' + encodeURIComponent(html) };
378386
}

settings.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@
3333
word-wrap: normal;
3434
overflow-x: scroll;
3535
}
36+
#subframe-fgcolor-demo {
37+
border:1px dotted transparent;
38+
display: inline-block;
39+
width: 2em;
40+
height: 1.25em;
41+
position: relative;
42+
top: 5px;
43+
background-color:transparent;
44+
background-size:10px 10px;
45+
}
3646
</style>
3747
</head>
3848

@@ -81,6 +91,7 @@ <h2 data-i18n="settingsMatrixHeader"></h2>
8191
<input id="delete-unused-temporary-scopes" type="checkbox"><span data-i18n="settingsMatrixDeleteUnusedTemporaryScopesPrompt1"></span>
8292
<!-- <button class="whatisthis"></button>
8393
<div class="whatisthis-expandable para" data-i18n="settingsAutoDeleteTemporaryScopesHelp"></div> -->
94+
<li><span data-i18n="settingsSubframeFgColor"></span> <input id="subframe-fgcolor" type="text" value="" size="16"><span id="subframe-fgcolor-demo"></span>
8495
</ul>
8596
</ul>
8697

0 commit comments

Comments
 (0)