Browse Source

feat: sandbox preloads by default (#35125)

feat: sandbox preloads by default (#32869)

Co-authored-by: Jeremy Rose <[email protected]>
Keeley Hammond 2 years ago
parent
commit
08aa57806e

+ 1 - 3
shell/browser/web_contents_preferences.cc

@@ -312,9 +312,7 @@ bool WebContentsPreferences::IsSandboxed() const {
   if (sandbox_)
     return *sandbox_;
   bool sandbox_disabled_by_default =
-      node_integration_ || node_integration_in_worker_ || preload_path_ ||
-      !SessionPreferences::GetValidPreloads(web_contents_->GetBrowserContext())
-           .empty();
+      node_integration_ || node_integration_in_worker_;
   return !sandbox_disabled_by_default;
 }
 

+ 2 - 1
spec-main/fixtures/apps/libuv-hang/main.js

@@ -5,7 +5,8 @@ async function createWindow () {
   const mainWindow = new BrowserWindow({
     show: false,
     webPreferences: {
-      preload: path.join(__dirname, 'preload.js')
+      preload: path.join(__dirname, 'preload.js'),
+      sandbox: false
     }
   });
 

+ 4 - 0
spec/webview-spec.js

@@ -243,6 +243,7 @@ describe('<webview> tag', function () {
     it('preload script can require modules that still use "process" and "Buffer" when nodeintegration is off', async () => {
       const message = await startLoadingWebViewAndWaitForMessage(webview, {
         preload: `${fixtures}/module/preload-node-off-wrapper.js`,
+        webpreferences: 'sandbox=no',
         src: `file://${fixtures}/api/blank.html`
       });
 
@@ -288,6 +289,7 @@ describe('<webview> tag', function () {
     it('works without script tag in page', async () => {
       const message = await startLoadingWebViewAndWaitForMessage(webview, {
         preload: `${fixtures}/module/preload.js`,
+        webpreferences: 'sandbox=no',
         src: `file://${fixtures}pages/base-page.html`
       });
 
@@ -303,6 +305,7 @@ describe('<webview> tag', function () {
     it('resolves relative URLs', async () => {
       const message = await startLoadingWebViewAndWaitForMessage(webview, {
         preload: '../fixtures/module/preload.js',
+        webpreferences: 'sandbox=no',
         src: `file://${fixtures}/pages/e.html`
       });
 
@@ -390,6 +393,7 @@ describe('<webview> tag', function () {
       const message = await startLoadingWebViewAndWaitForMessage(webview, {
         disablewebsecurity: '',
         preload: `${fixtures}/module/preload.js`,
+        webpreferences: 'sandbox=no',
         src: `file://${fixtures}/pages/e.html`
       });