* Don't call gtk_widget_show_all() on popup dialog.
Fixes#15317.
Notes: Fixed incorrect display of some GtkMessageDialog icons.
The issue is caused because GtkMessageDialog contains an icon widget
which is not shown when there's no associated icon. Our call to
`gtk_widget_show_all()` overrides this, showing the uninitialized
icon widget.
This PR fixes the issue by calling `gtk_widget_show()` where needed
and removing use of `gtk_widget_show_all()` in the message dialog.
* use gtk_dialog_set_default_response() for default
* fix: support icons on gtk+ messageboxes.
* fix: correctly enable and disable windows
* Move has_child_modal_ to NativeWindowViews
* Track modal children as an int instead of a bool
* Use correct types
* Move Increment/DecrementChildModals to NativeWindowViews
* Use parent() in NativeWindowViews
* Add test for not enabling disabled parent when modal child closes
* test: asyncawaitify one of sandbox related tests (#15252)
(cherry picked from commit b3f134de06)
* test: backport "openTheWindow" function to "BrowserWindow module" specs
* Fix loading of devtools extensions on startup
The persisted DevTools Extensions were not being loaded correctly at startup. The `addDevToolsExtension` function was not defined when it was being called. An error was being thrown and ignored, so the whole thing would fail silently. I moved the code to load the extensions to the end of the event handler, so now it works.
* fixup: remove trailing spaces to unblock CI
* fixup: add logging when the Electron Enable Logging env var is set
* Fix linter error on undefined srcDirectory
* fixup: catch exception when loading extension
* Revert "fixup: catch exception when loading extension"
This reverts commit 42c2cf95bcaab8abfc5fbecbe4365d3adfe36d5b.
If an app has no menu bar (because `app.dock.hide()` has been called),
OS X will still render the menu bar of the previously-focused app.
This commit ensures simpleFullscreen windows will be drawn on top of
that menu bar by setting their level to NSPopUpMenuWindowLevel while
simpleFullscreen mode is active.
Ref: #11468
We've hardened Linux builds by enabling PIE and RELRO,
and should continue to try hardening Linux builds by
enabling BIND_NOW. With both RELRO and BIND_NOW enabled,
we can stop all GOT overwrite attacks. The same hardening
option has been enabled in official Chrome/Chromium
builds since more than five years ago.
This helps to improve the security of a whole range of
applications built upon Electron, including sensetive ones
such as Signal-Desktop.
Signed-off-by: Tom Li <tomli@tomli.me>
PIE allows an application to utilize the full benefits of ASLR
to prevent itself from exploitations, but it was disabled for
all released versions of Electron (3.0 and prior).
Currently, PIE is already enabled since 9294fac but enabling it
for all released version is still an ongoing work (#14961). This
patch backports PIE to the 3.0.x branch.
Signed-off-by: Tom Li <tomli@tomli.me>
* fix: backport #15030 to fix#14958 dbus crash
* chore: re-enable power spec tests
* chore: undo changes made to power monitor tests.
The Linux failures on that are gone in master / 4-0-x. Whatever
resolved it there is unrelated to this PR's changes, so I'm not
going to block this fix on an unrelated issue.