feat: add new fuse to treat file: identically to browsers (#40372)
This commit is contained in:
parent
0f68d845f9
commit
d504d150ef
7 changed files with 63 additions and 9 deletions
|
@ -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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue