Historically, we've been passing in all MessageBox parameters individually, which makes augmenting or improving MessageBox functionality challenging because to change or add even one argument requires a huge cascade of argument changes that leaves room for errors.
For other file dialog related APIs, we use a struct (DialogSettings), and so this PR takes a similar approach and refactors MessageBox parameters into a struct (MessageBoxSettings) which we then use to simplify argument passing and which will enable us to more quickly iterate and improve upon functionality in the future.
Don't re-enter fullscreen if there is a pending operation,
for subframe fullscreen request `EnterFullScreenModeForTab`
will be called for both the frame in question as well as
the outer webContents hosting it.
* feat: provide the frame URL with permission requests and checks
Also provides a handy isMainFrame property to determine if it is an
iframe making the request
* chore: refactor to use base::Value
* chore: use Set<Type>Key over SetPath
* Initial changes to use crashpad for windows
* Remove crashpad patch
* Report error when failed to connect pipe
* Allow crashpad to communicate with named pipe
* Add patch to make crashpad named pipe work
* Windows also needs crashReporter on main process
* Call SetUnhandledExceptionFilter in node process
Node can also use crash reporter.
* Do not treat node process as browser process
* No more need to manually start crash service
* Use base::StringPrintf for better readbility
* Print error when pipe name not available
* Make sure pipe name is updated
Note that the crashpad may be started after renderer process gets
created.
* Fix some tests
* Update node
* Exclude crashpad files on Linux and MAS
* Fix lint warning
* Remove unused checks
* kCrashpadPipeName is only available on Windows
* Fix uploadToServer tests
* Fix extra params tests
* Fix getCrashesDirectory tests
* Run crashReporter tests on CI
* Style fixes
* Update crashreporter docs
* Rename InitBreakpad to Init
* Add comment for process_type_.empty() and UTF16ToASCII to UTF16ToUTF8.
* Update build.gn include crashpad headers
* Address comment https://github.com/electron/electron/pull/18483#discussion_r290887898
* Avoid using api::WebContents
* Put kRunAsNode in atom_constants
* Remove duplicate settings on upload params
* Fix building on macOS
* Update description for crashpad_pid_check.patch
* Pipe data into HTTP protocol handlers
* Remove unused parameters
* Remove "sending request of http protocol urls" test
Sending request to "http://" in "file://" violates CORS rules and always
fail, before NetworkService somehow Chromium still sent a request even
though the request failed with CORS error, so the test passes while the
test is not valid. With NetworkService no request is sent at all and the
test jsut fails.
So this is an ancient invalid test, as sending http requests have been
fully covered in other tests, I am removing this test.
* fix: properly pass openExternal activate option
A reference to an OpenExternalOptions structure was being captured by an Objective-C block that
outlived the object that was being referenced.
* Fix test in CI
* Don't check for activate on linux
* Close BrowserWindow
* docs: Update Guides & Tutorials section
* docs: Update the list of docs
* Update docs/README.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update docs/README.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update docs/README.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* Update docs/README.md
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
* docs: Implement feedback
* build: unify YARN_VERSION variable usage and ensure CI uses yarn not npm
* chore: use a JS helper so that it can work on windows
* chore: make script/yarn without node_modules installed
* fix: reject the executeJavaScript promise when it fails to execute the script
Closes#9102
* Update atom/renderer/api/atom_api_web_frame.cc
Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>
* Update atom/renderer/api/atom_api_web_frame.cc
Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>
* fix: missing semicolon