Fix devtools override for its new architecture
This commit is contained in:
parent
6af7388ac0
commit
ceccf1b48a
1 changed files with 17 additions and 10 deletions
|
@ -1,14 +1,11 @@
|
||||||
window.onload = ->
|
window.onload = ->
|
||||||
|
inspectorFrame = document.getElementById('inspector-app-iframe').contentWindow
|
||||||
|
|
||||||
# Use menu API to show context menu.
|
# Use menu API to show context menu.
|
||||||
InspectorFrontendHost.showContextMenuAtPoint = (x, y, items, document) ->
|
inspectorFrame.eval 'InspectorFrontendHost.showContextMenuAtPoint = parent.createMenu'
|
||||||
createMenu items
|
|
||||||
|
|
||||||
# Use dialog API to override file chooser dialog.
|
# Use dialog API to override file chooser dialog.
|
||||||
WebInspector.createFileSelectorElement = (callback) ->
|
inspectorFrame.eval 'WebInspector.createFileSelectorElement = parent.createFileSelectorElement'
|
||||||
fileSelectorElement = document.createElement 'span'
|
|
||||||
fileSelectorElement.style.display = 'none'
|
|
||||||
fileSelectorElement.click = showFileChooserDialog.bind this, callback
|
|
||||||
return fileSelectorElement
|
|
||||||
|
|
||||||
convertToMenuTemplate = (items) ->
|
convertToMenuTemplate = (items) ->
|
||||||
template = []
|
template = []
|
||||||
|
@ -32,11 +29,11 @@ convertToMenuTemplate = (items) ->
|
||||||
label: item.label
|
label: item.label
|
||||||
enabled: item.enabled
|
enabled: item.enabled
|
||||||
if item.id?
|
if item.id?
|
||||||
transformed.click = -> InspectorFrontendAPI.contextMenuItemSelected item.id
|
transformed.click = -> DevToolsAPI.contextMenuItemSelected item.id
|
||||||
template.push transformed
|
template.push transformed
|
||||||
template
|
template
|
||||||
|
|
||||||
createMenu = (items) ->
|
createMenu = (x, y, items, document) ->
|
||||||
remote = require 'remote'
|
remote = require 'remote'
|
||||||
Menu = remote.require 'menu'
|
Menu = remote.require 'menu'
|
||||||
|
|
||||||
|
@ -44,7 +41,7 @@ createMenu = (items) ->
|
||||||
# The menu is expected to show asynchronously.
|
# The menu is expected to show asynchronously.
|
||||||
setImmediate ->
|
setImmediate ->
|
||||||
menu.popup remote.getCurrentWindow()
|
menu.popup remote.getCurrentWindow()
|
||||||
InspectorFrontendAPI.contextMenuCleared()
|
DevToolsAPI.contextMenuCleared()
|
||||||
|
|
||||||
showFileChooserDialog = (callback) ->
|
showFileChooserDialog = (callback) ->
|
||||||
remote = require 'remote'
|
remote = require 'remote'
|
||||||
|
@ -57,3 +54,13 @@ pathToHtml5FileObject = (path) ->
|
||||||
blob = new Blob([fs.readFileSync(path)])
|
blob = new Blob([fs.readFileSync(path)])
|
||||||
blob.name = path
|
blob.name = path
|
||||||
blob
|
blob
|
||||||
|
|
||||||
|
createFileSelectorElement = (callback) ->
|
||||||
|
fileSelectorElement = document.createElement 'span'
|
||||||
|
fileSelectorElement.style.display = 'none'
|
||||||
|
fileSelectorElement.click = showFileChooserDialog.bind this, callback
|
||||||
|
return fileSelectorElement
|
||||||
|
|
||||||
|
# Exposed for iframe.
|
||||||
|
window.createMenu = createMenu
|
||||||
|
window.createFileSelectorElement = createFileSelectorElement
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue