File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ var config = {
2929 permissions : [ "webRequest" ] ,
3030 origins : [ "https://*/" ]
3131 } ,
32+ browserId : getBrowser ( ) ,
3233}
3334
3435var defaults = {
@@ -571,7 +572,7 @@ function getBrowser() {
571572}
572573
573574function getHotkeySettingsUrl ( ) {
574- switch ( getBrowser ( ) ) {
575+ switch ( config . browserId ) {
575576 case 'opera' : return 'opera://settings/configureCommands' ;
576577 case 'chrome' : return 'chrome://extensions/configureCommands' ;
577578 default : return brapi . runtime . getURL ( "shortcuts.html" ) ;
Original file line number Diff line number Diff line change @@ -3,7 +3,6 @@ brapi.runtime.onInstalled.addListener(function() {
33 installContentScripts ( )
44 installContextMenus ( )
55} )
6- if ( getBrowser ( ) == "firefox" ) brapi . runtime . onStartup . addListener ( installContextMenus ) ;
76
87
98/**
Original file line number Diff line number Diff line change 22( function ( ) {
33 const queryString = getQueryString ( )
44 const domReadyPromise = domReady ( )
5+ const playerCheckIn$ = new rxjs . Subject ( )
6+
7+ registerMessageListener ( "options" , {
8+ playerCheckIn ( ) {
9+ playerCheckIn$ . next ( )
10+ }
11+ } )
512
613
714 //i18n
425432 }
426433 } )
427434 }
435+ else if ( config . browserId == "opera" && / l o c k e d f u l l s c r e e n / . test ( err . message ) ) {
436+ $ ( "#status" ) . html ( "Click <a href='#open-player-tab'>here</a> to start read aloud." ) . parent ( ) . show ( )
437+ $ ( "#status a" ) . click ( async function ( ) {
438+ try {
439+ playerCheckIn$ . pipe ( rxjs . take ( 1 ) ) . subscribe ( ( ) => $ ( "#test-voice" ) . click ( ) )
440+ const tab = await brapi . tabs . create ( {
441+ url : "player.html?opener=options&autoclose=long" ,
442+ index : 0 ,
443+ active : false ,
444+ } )
445+ brapi . tabs . update ( tab . id , { pinned : true } )
446+ . catch ( console . error )
447+ } catch ( err ) {
448+ handleError ( err )
449+ }
450+ } )
451+ }
428452 else {
429453 $ ( "#status" ) . text ( err . message ) . parent ( ) . show ( ) ;
430454 }
Original file line number Diff line number Diff line change @@ -101,7 +101,7 @@ if (queryString.has("autoclose"))
101101 rxjs . combineLatest ( idleSubject , piperSubject . pipe ( rxjs . startWith ( null ) ) )
102102 . pipe (
103103 rxjs . switchMap ( ( [ isIdle , piper ] ) => {
104- if ( isIdle ) return rxjs . timer ( piper ? 15 * 60 * 1000 : 5 * 60 * 1000 )
104+ if ( isIdle ) return rxjs . timer ( queryString . get ( "autoclose" ) == "long" || piper ? 15 * 60 * 1000 : 5 * 60 * 1000 )
105105 else return rxjs . EMPTY
106106 } )
107107 )
@@ -129,8 +129,13 @@ var messageHandlers = {
129129
130130registerMessageListener ( "player" , messageHandlers )
131131
132- bgPageInvoke ( "playerCheckIn" )
133- . catch ( console . error )
132+ if ( queryString . has ( "opener" ) ) {
133+ brapi . runtime . sendMessage ( { dest : queryString . get ( "opener" ) , method : "playerCheckIn" } )
134+ . catch ( console . error )
135+ } else {
136+ bgPageInvoke ( "playerCheckIn" )
137+ . catch ( console . error )
138+ }
134139
135140document . addEventListener ( "DOMContentLoaded" , initialize )
136141
Original file line number Diff line number Diff line change 11
22var queryString = getQueryString ( )
3+ const playerCheckIn$ = new rxjs . Subject ( )
4+
5+ registerMessageListener ( "popup" , {
6+ playerCheckIn ( ) {
7+ playerCheckIn$ . next ( )
8+ }
9+ } )
310
411const piperInitializingSubject = new rxjs . Subject ( )
512piperInitializingSubject
@@ -117,6 +124,23 @@ function handleError(err) {
117124 }
118125 } )
119126 }
127+ else if ( config . browserId == "opera" && / l o c k e d f u l l s c r e e n / . test ( err . message ) ) {
128+ $ ( "#status" ) . html ( "Click <a href='#open-player-tab'>here</a> to start read aloud." ) . show ( )
129+ $ ( "#status a" ) . click ( async function ( ) {
130+ try {
131+ playerCheckIn$ . pipe ( rxjs . take ( 1 ) ) . subscribe ( ( ) => $ ( "#btnPlay" ) . click ( ) )
132+ const tab = await brapi . tabs . create ( {
133+ url : "player.html?opener=popup&autoclose=long" ,
134+ index : 0 ,
135+ active : false ,
136+ } )
137+ brapi . tabs . update ( tab . id , { pinned : true } )
138+ . catch ( console . error )
139+ } catch ( err ) {
140+ handleError ( err )
141+ }
142+ } )
143+ }
120144 else {
121145 $ ( "#status" ) . text ( err . message ) . show ( ) ;
122146 }
Original file line number Diff line number Diff line change 1111 < script src ="js/jquery-3.7.1.min.js "> </ script >
1212 < script src ="js/aws-sdk.js "> </ script >
1313 < script src ="js/defaults.js "> </ script >
14+ < script src ="js/messaging.js "> </ script >
1415 < script src ="js/tts-engines.js "> </ script >
1516 < script src ="js/options.js "> </ script >
1617</ head >
Original file line number Diff line number Diff line change 1212 < script src ="js/rxjs.umd.min.js "> </ script >
1313 < script src ="js/jquery-3.7.1.min.js "> </ script >
1414 < script src ="js/defaults.js "> </ script >
15+ < script src ="js/messaging.js "> </ script >
1516 < script src ="js/popup.js "> </ script >
1617</ head >
1718< body >
You can’t perform that action at this time.
0 commit comments