reference: Note: It is known that having both Content-Security-Policy
and X-Content-Security-Policy or X-Webkit-CSP causes unexpected
behaviours on certain versions of browsers. Please avoid using deprecated
X-* headers. https://content-security-policy.com/
also:
1ad18486ed
* Switch to gender neutral terms
* Update docs/api/web-contents.md
Co-authored-by: Milan Burda <milan.burda@gmail.com>
* Update docs/api/webview-tag.md
Co-authored-by: Milan Burda <milan.burda@gmail.com>
* Update script/release/uploaders/upload.py
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
* Update docs/tutorial/in-app-purchases.md
Co-authored-by: Milan Burda <milan.burda@gmail.com>
Co-authored-by: inclusive-coding-bot <inclusive-coding-bot@github.com>
Co-authored-by: Milan Burda <milan.burda@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Rule 13 recommends using Node's URL parser for handling url inputs. At
the moment, this is not being followed in the code example for rule 5,
which falls back on checking that the url ends with a '/'. If this was
forgotten when a user copies this code it could introduce security
vulnerabilities if an attacker uses an URL in the following way:
"https://example.com.attacker.com"
Using Node's URL parser fixes this potential missuse and enables the
'/' to be omited from the code example.
Co-authored-by: Baitinq <you@example.com>
* docs: Updated list numbering
The steps to package and distribute an application using electron had incorrect numbering
* Indented text within ordered list sections
* Removed single space
* Fixed indentation
* docs: remove platform notices from tutorial titles
* Update docs/tutorial/launch-app-from-url-in-another-app.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* docs: add IPC doc
* fix: use "string" primitive
* use 'string' ipcrenderer
* use "number" primitive
* Update docs/tutorial/ipc.md
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* Update docs/tutorial/ipc.md
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* add code sample
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* docs: update chromium development-related documentation
* chore: remove obsolete clang-format doc
clang-format linting and fixing is a pre-commit hook now
* docs: update debugging documentation
* docs: misc updates
* Update docs/development/debugging-on-windows.md
Co-authored-by: Micha Hanselmann <mh74182@gmail.com>
* Update docs/development/README.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/development/README.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/development/README.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/development/README.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/development/README.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/development/README.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/development/debugging-on-macos.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/development/testing.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/development/testing.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
Co-authored-by: Micha Hanselmann <mh74182@gmail.com>
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* docs: add window customization guide
* fixes
* Update docs/api/browser-window.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/api/browser-window.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/fiddles/windows/manage-windows/frameless-window/index.html
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* fix code fence
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* fix information
* move historical section to bottom
* Update docs/tutorial/electron-versioning.md
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* docs: Update CI Badge Branch Name
The CI badges were still pointing at builds for the master branch, which
are stale since the rename to main.
* docs: Update electron/electron Branch Name
Update electron/electron branch name from master to main.
* docs: Update electron/governance Branch Name
Update electron/governance branch name from master to main.
* feat: add support for WebHID
* Apply suggestions from code review
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* Address review feedback
* Address review feedback
* chore: clear granted_devices on navigation
Also added test to verify devices get cleared
* fixup testing for device clear
* make sure navigator.hid.getDevices is run on correct frame
* clear granted devices on RenderFrameHost deletion/change
* manage device permissions per RenderFrameHost
This change makes sure we don't clear device permission prematurely due to child frame navigation
* Update shell/browser/api/electron_api_web_contents.cc
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* apply review feedback from @zcbenz
* Match upstream ObjectMap
This change matches what ObjectPermissionContextBase uses to cache object permissions: https://source.chromium.org/chromium/chromium/src/+/main:components/permissions/object_permission_context_base.h;l=52;drc=8f95b5eab2797a3e26bba299f3b0df85bfc98bf5;bpv=1;bpt=0
The main reason for this was to resolve this crash on Win x64:
ok 2 WebContentsView doesn't crash when GCed during allocation
Received fatal exception EXCEPTION_ACCESS_VIOLATION
Backtrace:
gin::WrappableBase::SecondWeakCallback [0x00007FF6F2AFA005+133] (o:\gin\wrappable.cc:53)
v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacks [0x00007FF6F028F9AB+171] (o:\v8\src\handles\global-handles.cc:1400)
v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacksFromTask [0x00007FF6F028F867+391] (o:\v8\src\handles\global-handles.cc:1387)
node::PerIsolatePlatformData::RunForegroundTask [0x00007FF6F3B4D065+317] (o:\third_party\electron_node\src\node_platform.cc:415)
node::PerIsolatePlatformData::FlushForegroundTasksInternal [0x00007FF6F3B4C424+776] (o:\third_party\electron_node\src\node_platform.cc:479)
uv_run [0x00007FF6F2DDD07C+492] (o:\third_party\electron_node\deps\uv\src\win\core.c:609)
electron::NodeBindings::UvRunOnce [0x00007FF6EEE1E036+294] (o:\electron\shell\common\node_bindings.cc:631)
base::TaskAnnotator::RunTask [0x00007FF6F2318A19+457] (o:\base\task\common\task_annotator.cc:178)
base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl [0x00007FF6F2E6F553+963] (o:\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc:361)
base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork [0x00007FF6F2E6EC69+137] (o:\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc:266)
base::MessagePumpForUI::DoRunLoop [0x00007FF6F235AA58+216] (o:\base\message_loop\message_pump_win.cc:221)
base::MessagePumpWin::Run [0x00007FF6F235A01A+106] (o:\base\message_loop\message_pump_win.cc:79)
base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run [0x00007FF6F2E702DA+682] (o:\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc:470)
base::RunLoop::Run [0x00007FF6F22F95BA+842] (o:\base\run_loop.cc:136)
content::BrowserMainLoop::RunMainMessageLoop [0x00007FF6F14423CC+208] (o:\content\browser\browser_main_loop.cc:990)
content::BrowserMainRunnerImpl::Run [0x00007FF6F144402F+143] (o:\content\browser\browser_main_runner_impl.cc:153)
content::BrowserMain [0x00007FF6F143F911+257] (o:\content\browser\browser_main.cc:49)
content::RunBrowserProcessMain [0x00007FF6EFFA7D18+112] (o:\content\app\content_main_runner_impl.cc:608)
content::ContentMainRunnerImpl::RunBrowser [0x00007FF6EFFA8CF4+1220] (o:\content\app\content_main_runner_impl.cc:1104)
content::ContentMainRunnerImpl::Run [0x00007FF6EFFA87C9+393] (o:\content\app\content_main_runner_impl.cc:971)
content::RunContentProcess [0x00007FF6EFFA73BD+733] (o:\content\app\content_main.cc:394)
content::ContentMain [0x00007FF6EFFA79E1+54] (o:\content\app\content_main.cc:422)
wWinMain [0x00007FF6EECA1535+889] (o:\electron\shell\app\electron_main.cc:291)
__scrt_common_main_seh [0x00007FF6F6F88482+262] (d:\A01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
BaseThreadInitThunk [0x00007FFEC0087034+20]
RtlUserThreadStart [0x00007FFEC1F02651+33]
✗ Electron tests failed with code 0xc0000005.
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Images that used the inline link format do not show up on Docusaurus or
the old website infrastructure. There are only 2 guides using it so it
is faster to change the format rather than figuring out why the parsin
logic does not work.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ref: https://github.com/electron/electronjs.org-new/issues/84
* docs: update context isolation doc
* Apply suggestions from code review
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
Co-authored-by: Cheng Zhao <github@zcbenz.com>
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update process-model.md
the demo have two error:
- at macos, close all window, the app will not quite, unless press cmd + q
- attach preload.js, use preload prop that is member of `webPreferences` property of `BrowserWindow` controller argument
* Update docs/tutorial/process-model.md
Co-authored-by: Erick Zhao <erick@hotmail.ca>
Co-authored-by: Cheng Zhao <github@zcbenz.com>
Co-authored-by: Erick Zhao <erick@hotmail.ca>
* build: embed binary checksums in the npm package
* Update docs/tutorial/installation.md
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* refactor: replace reduce with loop
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* Typo in launch-app-from-url-in-another-app.md
Code snippet for the info.plist example had html formatting. Removed.
* Fix paddings
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* docs: remove unused Desktop Environment Integration doc
* Update docs/api/app.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/api/app.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* docs: Update to the use of arrow functions in line with the style guide
* docs: Fixed unmatched bracket typo in previous commit 9ebe3e58f7948c6636d77f3c58a2693683b69691
* fix linting
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* Update dark-mode.md
Fix the unmatched css file name
* Update docs/tutorial/dark-mode.md
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* remove version information from html
* change format for readability
* clarify which console the message should appear in
* minor changes to renderer.md
* update UI on click instead of developer console
* remove node-integration and fix md
* update content
* chore: remove ****
Co-authored-by: Ethan Arrowood <ethan.arrowood@gmail.com>
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* improve progress bar fiddle
* add comments to code snippet
* edits to progress-bar tutorial
* remove versions and nodeIntegration
* limit line length to 100
* implement standard linter suggestions
* add indeterminate and clear timers
* update to have reader replace all of main.js
* remove extra button
* loop the progress bar
* add logic to show reset state briefly
* Update docs/tutorial/progress-bar.md
Co-authored-by: Erick Zhao <erick@hotmail.ca>
* chore: fix lint
Co-authored-by: Cheng Zhao <github@zcbenz.com>
Co-authored-by: Erick Zhao <erick@hotmail.ca>
* feat: add experimental cookie encryption support on macOS
* chore: fix TODO
* update patches
* feat: make cookie encryption work on windows
* chore: update cookie encryption support comments
* fix: only call OSCrypt::Init on windows
* chore: make cookie encryption work on linux
* Update shell/browser/net/system_network_context_manager.cc
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* chore: fix lint
* chore: update patches
* chore: update patches to upstreamed variants
* chore: use chrome ::switches constants
* chore: remove bad patch
* build: disable cookie encryption by default
* chore: update patches
* fix: provide std::string to NoDestructor
* chore: fix macos, nodestructor syntax
* build: fix macOS build due to mismatch in DEFINE
Co-authored-by: Electron Bot <electron@github.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* Update docs for keyboard shortcuts
* Add a fiddle for web-apis
* Apply suggestions from code review
Co-authored-by: Erick Zhao <erick@hotmail.ca>
* Cleanup a few formatting errors and missed copies
* Add descriptions to index.html
* Focus on renderer
Co-authored-by: Erick Zhao <erick@hotmail.ca>