Merge pull request #8165 from geoff-addepar/geoff/fix-sandbox-printing

Fix printing with the sandbox enabled
This commit is contained in:
Kevin Sawicki 2016-12-12 09:26:52 -08:00 committed by GitHub
commit 1a0fbf84f9
2 changed files with 22 additions and 0 deletions

View file

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

View file

@ -982,6 +982,26 @@ describe('BrowserWindow module', function () {
w.loadURL('file://' + path.join(fixtures, 'api', 'sandbox.html?webcontents-events')) 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()
})
})
})
}) })
}) })