'atom/common/api/lib/shell.coffee',
'atom/common/lib/init.coffee',
'atom/renderer/lib/init.coffee',
+ 'atom/renderer/lib/inspector.coffee',
'atom/renderer/lib/override.coffee',
'atom/renderer/api/lib/ipc.coffee',
'atom/renderer/api/lib/remote.coffee',
path = require 'path'
+url = require 'url'
Module = require 'module'
# Expose information of current process.
global.__filename = __filename
global.__dirname = __dirname
-# Override default web functions.
-require path.join(__dirname, 'override')
+if location.protocol is 'chrome-devtools:'
+ # Override some inspector APIs.
+ require path.join(__dirname, 'inspector')
+else
+ # Override default web functions.
+ require path.join(__dirname, 'override')
--- /dev/null
+# Use menu API to show context menu.
+window.onload = ->
+ WebInspector.ContextMenu.prototype.show = ->
+ menuObject = @_buildDescriptor()
+ if menuObject.length
+ WebInspector._contextMenu = this
+ createMenu(menuObject, @_event)
+ @_event.consume()
+
+convertToMenuTemplate = (items) ->
+ template = []
+ for item in items
+ if item.type is 'subMenu'
+ template.push
+ type: 'submenu'
+ label: item.label
+ submenu: convertToMenuTemplate item.subItems
+ else
+ template.push
+ type: 'normal'
+ label: item.label
+ template
+
+createMenu = (items, event) ->
+ remote = require 'remote'
+ Menu = remote.require 'menu'
+
+ menu = Menu.buildFromTemplate convertToMenuTemplate(items.subItems)
+ menu.popup()
+ event.consume true