Merge branch 'master' into as-ns-startup-snapshot

This commit is contained in:
Antonio Scandurra
2017-03-10 16:47:27 +01:00
4 changed files with 26 additions and 1 deletions

View File

@@ -128,7 +128,7 @@
"notifications": "0.67.1",
"open-on-github": "1.2.1",
"package-generator": "1.1.1",
"settings-view": "0.248.2",
"settings-view": "0.249.0",
"snippets": "1.1.3",
"spell-check": "0.71.1",
"status-bar": "1.8.4",

View File

@@ -277,3 +277,14 @@ class ApplicationDelegate
emitDidSavePath: (path) ->
ipcRenderer.sendSync('did-save-path', path)
resolveProxy: (requestId, url) ->
ipcRenderer.send('resolve-proxy', requestId, url)
onDidResolveProxy: (callback) ->
outerCallback = (event, requestId, proxy) ->
callback(requestId, proxy)
ipcRenderer.on('did-resolve-proxy', outerCallback)
new Disposable ->
ipcRenderer.removeListener('did-resolve-proxy', outerCallback)

View File

@@ -133,6 +133,7 @@ class AtomEnvironment extends Model
constructor: (params={}) ->
{@applicationDelegate, @window, @document, @blobStore, @clipboard, @configDirPath, @enablePersistence, onlyLoadBaseStyleSheets} = params
@nextProxyRequestId = 0
@unloaded = false
@loadTime = null
{devMode, safeMode, resourcePath, clearWindowState} = @getLoadSettings()
@@ -992,6 +993,16 @@ class AtomEnvironment extends Model
return
resolveProxy: (url) ->
return new Promise (resolve, reject) =>
requestId = @nextProxyRequestId++
disposable = @applicationDelegate.onDidResolveProxy (id, proxy) ->
if id is requestId
disposable.dispose()
resolve(proxy)
@applicationDelegate.resolveProxy(requestId, url)
# Preserve this deprecation until 2.0. Sorry. Should have removed Q sooner.
Promise.prototype.done = (callback) ->
deprecate("Atom now uses ES6 Promises instead of Q. Call promise.then instead of promise.done")

View File

@@ -283,6 +283,9 @@ class AtomApplication
@disposable.add ipcHelpers.on ipcMain, 'restart-application', =>
@restart()
@disposable.add ipcHelpers.on ipcMain, 'resolve-proxy', (event, requestId, url) ->
event.sender.session.resolveProxy url, (proxy) -> event.sender.send('did-resolve-proxy', requestId, proxy)
@disposable.add ipcHelpers.on ipcMain, 'did-change-history-manager', (event) =>
for atomWindow in @windows
webContents = atomWindow.browserWindow.webContents