Fix printing with the sandbox enabled

Closes #7984
This commit is contained in:
Geoff Lywood 2016-12-07 17:33:28 -08:00
Родитель a9f4c208a0
Коммит 5345b08d24
2 изменённых файлов: 22 добавлений и 0 удалений

Просмотреть файл

@ -15,6 +15,7 @@
#include "atom/renderer/api/atom_api_renderer_ipc.h"
#include "atom/renderer/atom_render_view_observer.h"
#include "base/command_line.h"
#include "chrome/renderer/printing/print_web_view_helper.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_frame_observer.h"
#include "content/public/renderer/render_view.h"
@ -126,6 +127,7 @@ void AtomSandboxedRendererClient::RenderFrameCreated(
void AtomSandboxedRendererClient::RenderViewCreated(
content::RenderView* render_view) {
new printing::PrintWebViewHelper(render_view);
new AtomSandboxedRenderViewObserver(render_view, this);
}

Просмотреть файл

@ -943,6 +943,26 @@ describe('browser-window module', function () {
w.loadURL('file://' + path.join(fixtures, 'api', 'sandbox.html?webcontents-events'))
})
})
it('can print to PDF', function (done) {
w.destroy()
w = new BrowserWindow({
show: false,
webPreferences: {
sandbox: true,
preload: preload
}
})
w.loadURL('data:text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E')
w.webContents.once('did-finish-load', function () {
w.webContents.printToPDF({}, function (error, data) {
assert.equal(error, null)
assert.equal(data instanceof Buffer, true)
assert.notEqual(data.length, 0)
done()
})
})
})
})
})