mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
feat: add new fuse to treat file: identically to browsers (#40372)
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
#include "content/public/common/content_constants.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "electron/buildflags/buildflags.h"
|
||||
#include "electron/fuses.h"
|
||||
#include "extensions/common/constants.h"
|
||||
#include "pdf/buildflags.h"
|
||||
#include "ppapi/buildflags/buildflags.h"
|
||||
@@ -168,7 +169,9 @@ void ElectronContentClient::AddAdditionalSchemes(Schemes* schemes) {
|
||||
&schemes->cors_enabled_schemes);
|
||||
}
|
||||
|
||||
schemes->service_worker_schemes.emplace_back(url::kFileScheme);
|
||||
if (electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled()) {
|
||||
schemes->service_worker_schemes.emplace_back(url::kFileScheme);
|
||||
}
|
||||
|
||||
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
|
||||
schemes->standard_schemes.push_back(extensions::kExtensionScheme);
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
#include "content/public/common/url_constants.h"
|
||||
#include "crypto/crypto_buildflags.h"
|
||||
#include "electron/buildflags/buildflags.h"
|
||||
#include "electron/fuses.h"
|
||||
#include "electron/shell/common/api/api.mojom.h"
|
||||
#include "extensions/browser/extension_navigation_ui_data.h"
|
||||
#include "mojo/public/cpp/bindings/binder_map.h"
|
||||
@@ -425,8 +426,10 @@ void ElectronBrowserClient::OverrideWebkitPrefs(
|
||||
prefs->javascript_can_access_clipboard = true;
|
||||
prefs->local_storage_enabled = true;
|
||||
prefs->databases_enabled = true;
|
||||
prefs->allow_universal_access_from_file_urls = true;
|
||||
prefs->allow_file_access_from_file_urls = true;
|
||||
prefs->allow_universal_access_from_file_urls =
|
||||
electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled();
|
||||
prefs->allow_file_access_from_file_urls =
|
||||
electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled();
|
||||
prefs->webgl1_enabled = true;
|
||||
prefs->webgl2_enabled = true;
|
||||
prefs->allow_running_insecure_content = false;
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "content/public/renderer/render_frame.h"
|
||||
#include "content/public/renderer/render_thread.h"
|
||||
#include "electron/buildflags/buildflags.h"
|
||||
#include "electron/fuses.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "shell/browser/api/electron_api_protocol.h"
|
||||
#include "shell/common/api/electron_api_native_image.h"
|
||||
@@ -277,8 +278,10 @@ void RendererClientBase::RenderThreadStarted() {
|
||||
|
||||
// Allow file scheme to handle service worker by default.
|
||||
// FIXME(zcbenz): Can this be moved elsewhere?
|
||||
blink::WebSecurityPolicy::RegisterURLSchemeAsAllowingServiceWorkers("file");
|
||||
blink::SchemeRegistry::RegisterURLSchemeAsSupportingFetchAPI("file");
|
||||
if (electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled()) {
|
||||
blink::WebSecurityPolicy::RegisterURLSchemeAsAllowingServiceWorkers("file");
|
||||
blink::SchemeRegistry::RegisterURLSchemeAsSupportingFetchAPI("file");
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Set ApplicationUserModelID in renderer process.
|
||||
|
||||
Reference in New Issue
Block a user