File tree Expand file tree Collapse file tree 2 files changed +9
-2
lines changed Expand file tree Collapse file tree 2 files changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -294,6 +294,7 @@ export default class Messages {
294
294
} else {
295
295
iframe . style . top = '0'
296
296
}
297
+ iframe . contentWindow . focus ( )
297
298
298
299
context . track ( )
299
300
break
@@ -339,6 +340,7 @@ export default class Messages {
339
340
const vars = JSON . stringify ( options . message )
340
341
const iframe = document . createElement ( 'iframe' ) as MessageFrame
341
342
iframe . setAttribute ( 'id' , `lp-message-${ messageId } ` )
343
+ iframe . setAttribute ( 'title' , 'Popup' )
342
344
iframe . style . cssText = [
343
345
'border-width: 0' ,
344
346
'position: fixed' ,
Original file line number Diff line number Diff line change @@ -1189,11 +1189,12 @@ describe(Messages, () => {
1189
1189
} )
1190
1190
1191
1191
it ( "shows the message on loadFinished events" , ( ) => {
1192
- const renderedMessage = createMockMessageRender ( )
1192
+ const renderedMessage = createMockMessageRender ( ) as any
1193
1193
1194
1194
messages . processMessageEvent ( "123" , "http://leanplum/loadFinished" )
1195
1195
1196
1196
expect ( renderedMessage . style . visibility ) . toEqual ( "visible" )
1197
+ expect ( renderedMessage . contentWindow . focus ) . toHaveBeenCalledTimes ( 1 )
1197
1198
} )
1198
1199
1199
1200
it ( "removes the message on close events" , ( ) => {
@@ -1250,7 +1251,10 @@ describe(Messages, () => {
1250
1251
expect ( renderedMessage . style . top ) . toEqual ( "" )
1251
1252
} )
1252
1253
1253
- type RenderedMessage = HTMLElement & { metadata : any }
1254
+ type RenderedMessage = HTMLElement & {
1255
+ metadata : any ,
1256
+ contentWindow : Window
1257
+ }
1254
1258
1255
1259
function createMockMessageRender ( message : any = { } ) : RenderedMessage {
1256
1260
const renderedMessage = document . createElement ( 'a' ) as unknown as RenderedMessage
@@ -1266,6 +1270,7 @@ describe(Messages, () => {
1266
1270
runTrackedActionNamed : jest . fn ( )
1267
1271
}
1268
1272
}
1273
+ jest . spyOn ( renderedMessage . contentWindow , 'focus' ) . mockImplementation ( ( ) => { /* noop */ } )
1269
1274
jest . spyOn ( document , 'getElementById' ) . mockReturnValue ( renderedMessage )
1270
1275
1271
1276
return renderedMessage
You can’t perform that action at this time.
0 commit comments