Skip to content
This repository was archived by the owner on Dec 11, 2019. It is now read-only.

Commit 73fdd4c

Browse files
committed
Adds lion badge
Resolves #7859 Auditors: @bradleyrichter @jonathansampson @bsclifton Test Plan: - go to youtube - play some videos - check if licon badge has the same number as shield panel
1 parent 3525fdb commit 73fdd4c

File tree

4 files changed

+46
-1
lines changed

4 files changed

+46
-1
lines changed

js/components/main.js

+32
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const React = require('react')
66
const ImmutableComponent = require('./immutableComponent')
77
const Immutable = require('immutable')
88
const electron = require('electron')
9+
const {StyleSheet, css} = require('aphrodite')
910
const ipc = electron.ipcRenderer
1011
// const systemPreferences = electron.remote.systemPreferences
1112

@@ -880,6 +881,14 @@ class Main extends ImmutableComponent {
880881
return null
881882
}
882883

884+
getTotalBlocks (frames) {
885+
const ads = frames.getIn(['adblock', 'blocked'])
886+
const trackers = frames.getIn(['trackingProtection', 'blocked'])
887+
const blocked = (ads ? ads.size : 0) + (trackers ? trackers.size : 0)
888+
889+
return (blocked > 99) ? '99+' : blocked
890+
}
891+
883892
render () {
884893
const comparatorByKeyAsc = (a, b) => a.get('key') > b.get('key')
885894
? 1 : b.get('key') > a.get('key') ? -1 : 0
@@ -1067,6 +1076,13 @@ class Main extends ImmutableComponent {
10671076
? <span className='buttonSeparator' />
10681077
: null
10691078
}
1079+
{
1080+
!this.braveShieldsDisabled
1081+
? <div className={css(styles.lionBadge)} data-test-id='lionBadge'>
1082+
{this.getTotalBlocks(activeFrame)}
1083+
</div>
1084+
: null
1085+
}
10701086
</div>
10711087
</div>
10721088
</div>
@@ -1342,4 +1358,20 @@ class Main extends ImmutableComponent {
13421358
}
13431359
}
13441360

1361+
const styles = StyleSheet.create({
1362+
lionBadge: {
1363+
right: '2px',
1364+
position: 'absolute',
1365+
top: '15px',
1366+
color: '#FFF',
1367+
borderRadius: '2px',
1368+
padding: '1px 2px',
1369+
pointerEvents: 'none',
1370+
font: '7pt "Arial Narrow"',
1371+
textAlign: 'center',
1372+
border: '.5px solid #FFF',
1373+
background: '#555555'
1374+
}
1375+
})
1376+
13451377
module.exports = Main

less/navigationBar.less

+1
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,7 @@
510510
display: flex;
511511
flex-direction: row;
512512
margin-left: 3px;
513+
position: relative;
513514

514515
.extensionButton {
515516
-webkit-app-region: no-drag;

test/bravery-components/braveryPanelTest.js

+9
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ describe('Bravery Panel', function () {
2929
.windowByUrl(Brave.browserWindowUrl)
3030
.waitForVisible(braveMenu)
3131
})
32+
it('lion badge', function * () {
33+
const url = Brave.server.url('tracking.html')
34+
yield this.app.client
35+
.waitForDataFile('trackingProtection')
36+
.tabByIndex(0)
37+
.loadUrl(url)
38+
.windowByUrl(Brave.browserWindowUrl)
39+
.waitForTextValue('[data-test-id="lionBadge"]', '2')
40+
})
3241
})
3342
describe('Stats', function () {
3443
Brave.beforeEach(this)

test/lib/brave.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,10 @@ var exports = {
316316
return this
317317
.waitForVisible(selector)
318318
.waitUntil(function () {
319-
return this.getText(selector).then((value) => { return value === text })
319+
return this.getText(selector).then((value) => {
320+
logVerbose('waitForTextValue("' + selector + '", ' + text + ') => ' + value)
321+
return value === text
322+
})
320323
}, 5000, null, 100)
321324
})
322325

0 commit comments

Comments
 (0)