Show context menu in Calls popout (#3085)
This commit is contained in:
parent
6c673bd42c
commit
6305153711
|
@ -74,6 +74,17 @@ jest.mock('../utils', () => ({
|
||||||
composeUserAgent: jest.fn(),
|
composeUserAgent: jest.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
const mockContextMenuReload = jest.fn();
|
||||||
|
const mockContextMenuDispose = jest.fn();
|
||||||
|
jest.mock('../contextMenu', () => {
|
||||||
|
return jest.fn().mockImplementation(() => {
|
||||||
|
return {
|
||||||
|
reload: mockContextMenuReload,
|
||||||
|
dispose: mockContextMenuDispose,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('main/windows/callsWidgetWindow', () => {
|
describe('main/windows/callsWidgetWindow', () => {
|
||||||
describe('onShow', () => {
|
describe('onShow', () => {
|
||||||
const callsWidgetWindow = new CallsWidgetWindow();
|
const callsWidgetWindow = new CallsWidgetWindow();
|
||||||
|
@ -385,8 +396,11 @@ describe('main/windows/callsWidgetWindow', () => {
|
||||||
},
|
},
|
||||||
id: 'webContentsId',
|
id: 'webContentsId',
|
||||||
getURL: () => ('http://myurl.com'),
|
getURL: () => ('http://myurl.com'),
|
||||||
|
removeListener: jest.fn(),
|
||||||
},
|
},
|
||||||
|
off: jest.fn(),
|
||||||
loadURL: jest.fn(),
|
loadURL: jest.fn(),
|
||||||
|
isDestroyed: jest.fn(() => false),
|
||||||
};
|
};
|
||||||
|
|
||||||
const callsWidgetWindow = new CallsWidgetWindow();
|
const callsWidgetWindow = new CallsWidgetWindow();
|
||||||
|
@ -395,6 +409,7 @@ describe('main/windows/callsWidgetWindow', () => {
|
||||||
expect(WebContentsEventManager.addWebContentsEventListeners).toHaveBeenCalledWith(popOut.webContents);
|
expect(WebContentsEventManager.addWebContentsEventListeners).toHaveBeenCalledWith(popOut.webContents);
|
||||||
expect(redirectListener).toBeDefined();
|
expect(redirectListener).toBeDefined();
|
||||||
expect(frameFinishedLoadListener).toBeDefined();
|
expect(frameFinishedLoadListener).toBeDefined();
|
||||||
|
expect(mockContextMenuReload).toHaveBeenCalledTimes(1);
|
||||||
|
|
||||||
const event = {preventDefault: jest.fn()};
|
const event = {preventDefault: jest.fn()};
|
||||||
redirectListener(event);
|
redirectListener(event);
|
||||||
|
@ -405,6 +420,7 @@ describe('main/windows/callsWidgetWindow', () => {
|
||||||
|
|
||||||
closedListener();
|
closedListener();
|
||||||
expect(callsWidgetWindow.popOut).not.toBeDefined();
|
expect(callsWidgetWindow.popOut).not.toBeDefined();
|
||||||
|
expect(mockContextMenuDispose).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('getViewURL', () => {
|
it('getViewURL', () => {
|
||||||
|
|
|
@ -43,6 +43,8 @@ import type {
|
||||||
CallsWidgetWindowConfig,
|
CallsWidgetWindowConfig,
|
||||||
} from 'types/calls';
|
} from 'types/calls';
|
||||||
|
|
||||||
|
import ContextMenu from '../contextMenu';
|
||||||
|
|
||||||
const log = new Logger('CallsWidgetWindow');
|
const log = new Logger('CallsWidgetWindow');
|
||||||
|
|
||||||
export class CallsWidgetWindow {
|
export class CallsWidgetWindow {
|
||||||
|
@ -294,8 +296,12 @@ export class CallsWidgetWindow {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const contextMenu = new ContextMenu({}, this.popOut);
|
||||||
|
contextMenu.reload();
|
||||||
|
|
||||||
this.popOut.on('closed', () => {
|
this.popOut.on('closed', () => {
|
||||||
delete this.popOut;
|
delete this.popOut;
|
||||||
|
contextMenu.dispose();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Set the userAgent so that the widget's popout is considered a desktop window in the webapp code.
|
// Set the userAgent so that the widget's popout is considered a desktop window in the webapp code.
|
||||||
|
|
Loading…
Reference in a new issue