Fix displaying context menu for devtools

This commit is contained in:
Cheng Zhao 2014-11-16 22:34:29 +08:00
parent af72842728
commit 651dabf47e
2 changed files with 10 additions and 6 deletions

View file

@ -37,9 +37,11 @@ for arg in process.argv
if location.protocol is 'chrome-devtools:' if location.protocol is 'chrome-devtools:'
# Override some inspector APIs. # Override some inspector APIs.
require path.join(__dirname, 'inspector') require path.join(__dirname, 'inspector')
nodeIntegration = 'true'
else if location.protocol is 'chrome-extension:' else if location.protocol is 'chrome-extension:'
# Add implementations of chrome API. # Add implementations of chrome API.
require path.join(__dirname, 'chrome-api') require path.join(__dirname, 'chrome-api')
nodeIntegration = 'true'
else else
# Override default web functions. # Override default web functions.
require path.join(__dirname, 'override') require path.join(__dirname, 'override')

View file

@ -1,7 +1,7 @@
window.onload = -> window.onload = ->
# Use menu API to show context menu. # Use menu API to show context menu.
InspectorFrontendHost.showContextMenu = (event, items) -> InspectorFrontendHost.showContextMenuAtPoint = (x, y, items, document) ->
createMenu items, event createMenu items
# Use dialog API to override file chooser dialog. # Use dialog API to override file chooser dialog.
WebInspector.createFileSelectorElement = (callback) -> WebInspector.createFileSelectorElement = (callback) ->
@ -32,17 +32,19 @@ convertToMenuTemplate = (items) ->
label: item.label label: item.label
enabled: item.enabled enabled: item.enabled
if item.id? if item.id?
transformed.click = -> WebInspector.contextMenuItemSelected item.id transformed.click = -> InspectorFrontendAPI.contextMenuItemSelected item.id
template.push transformed template.push transformed
template template
createMenu = (items, event) -> createMenu = (items) ->
remote = require 'remote' remote = require 'remote'
Menu = remote.require 'menu' Menu = remote.require 'menu'
menu = Menu.buildFromTemplate convertToMenuTemplate(items) menu = Menu.buildFromTemplate convertToMenuTemplate(items)
# The menu is expected to show asynchronously.
setImmediate ->
menu.popup remote.getCurrentWindow() menu.popup remote.getCurrentWindow()
event.consume true InspectorFrontendAPI.contextMenuCleared()
showFileChooserDialog = (callback) -> showFileChooserDialog = (callback) ->
remote = require 'remote' remote = require 'remote'