Merge pull request #8739 from electron/pepper-context-menu
Use owner browser window in pepper context menu
This commit is contained in:
		
				commit
				
					
						d01250eceb
					
				
			
		
					 2 changed files with 6 additions and 3 deletions
				
			
		| 
						 | 
					@ -147,12 +147,12 @@ Menu.prototype.popup = function (window, x, y, positioningItem) {
 | 
				
			||||||
  let asyncPopup = false
 | 
					  let asyncPopup = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // menu.popup(x, y, positioningItem)
 | 
					  // menu.popup(x, y, positioningItem)
 | 
				
			||||||
  if (typeof window !== 'object' || window.constructor !== BrowserWindow) {
 | 
					  if (window != null && (typeof window !== 'object' || window.constructor !== BrowserWindow)) {
 | 
				
			||||||
    // Shift.
 | 
					    // Shift.
 | 
				
			||||||
    positioningItem = y
 | 
					    positioningItem = y
 | 
				
			||||||
    y = x
 | 
					    y = x
 | 
				
			||||||
    x = window
 | 
					    x = window
 | 
				
			||||||
    window = BrowserWindow.getFocusedWindow()
 | 
					    window = null
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // menu.popup(window, {})
 | 
					  // menu.popup(window, {})
 | 
				
			||||||
| 
						 | 
					@ -164,6 +164,9 @@ Menu.prototype.popup = function (window, x, y, positioningItem) {
 | 
				
			||||||
    asyncPopup = options.async
 | 
					    asyncPopup = options.async
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Default to showing in focused window.
 | 
				
			||||||
 | 
					  if (window == null) window = BrowserWindow.getFocusedWindow()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Default to showing under mouse location.
 | 
					  // Default to showing under mouse location.
 | 
				
			||||||
  if (typeof x !== 'number') x = -1
 | 
					  if (typeof x !== 'number') x = -1
 | 
				
			||||||
  if (typeof y !== 'number') y = -1
 | 
					  if (typeof y !== 'number') y = -1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -253,7 +253,7 @@ WebContents.prototype._init = function () {
 | 
				
			||||||
  this.on('pepper-context-menu', function (event, params) {
 | 
					  this.on('pepper-context-menu', function (event, params) {
 | 
				
			||||||
    // Access Menu via electron.Menu to prevent circular require
 | 
					    // Access Menu via electron.Menu to prevent circular require
 | 
				
			||||||
    const menu = electron.Menu.buildFromTemplate(params.menu)
 | 
					    const menu = electron.Menu.buildFromTemplate(params.menu)
 | 
				
			||||||
    menu.popup(params.x, params.y)
 | 
					    menu.popup(event.sender.getOwnerBrowserWindow(), params.x, params.y)
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // The devtools requests the webContents to reload.
 | 
					  // The devtools requests the webContents to reload.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue