* refactor: clean up webFrame implementation to use gin wrappers
The previous implementation of webFrame in the renderer process leaked
sub-frame contexts and global objects across the context boundaries thus
making it possible for apps to either maliciously or accidentally
violate the contextIsolation boundary.
This re-implementation binds all methods in native code directly to
content::RenderFrame instances instead of relying on JS to provide a
"window" with every method request. This is much more consistent with
the rest of the Electron codebase and is substantially safer.
* chore: un-re-order for ease of review
* chore: pass isolate around instead of ErrorThrower
* chore: fix rebase typo
* chore: remove unused variables
As of #28480 we now dynamically determine the LSMinimumSystemVersion
value as part of the build process. To avoid this changing and no one
realizing we now have this assert which will trip during a Chromium
upgrade if they bump the minimum supported macOS version so we can
update our documentation appropriately.
* fix: move widget maximization check
* fix linting error
* change workaround to only effect transparent windows
* disable menu maximize and restore for transparent windows
* disable double clicking title bar max/unmax for transparent windows
* add docs change and address review
* fix: reject task when description exceeds 260 characters
* Switched out wcslen() for size() [linear -> constant time]
* Included comment describing the need for the additional check
* Added information about character limit to documentation
* Added newline character to end of jump-list-category.md
* chore: add types for electron_renderer_web_frame binding
* chore: use keyof for getWebPreference type
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
* feat: Use GtkFileChooserNative if available to support XDG portals
With this commit, users on KDE/plasma will finally have support in
Electron for their native file choosers dialogs.
* fix: namespace
* fix: labels were reversed
* fix: lint issue
* fix: clean up some implementation
* fix: remove deprecation branch
* fix: remove unused header
* fix: remove unused gi18n.h include
Not sure why this is
* fix: add the set_data call into the mirrored SetGtkTransientForAura func
* fix: remove gmodule support and use native for the dialog regardless
* fix: undo yarn.lock changes
* fix: lint
* fix: remove x11 unncessary x11 include
* fix: lint
* fix: remove SetGtkTransientForAura
* Revert "fix: remove gmodule support and use native for the dialog regardless"
This reverts commit 062db5951e59cf99fcce566ab8ebab7ddc031aeb.
* fix: add support in a backwards compatible way
Use GModule to dynamically load functions from libgtk in order to
support GtkNativeDialog.
* fix: lint
* docs: update comment
* Revert "fix: remove x11 unncessary x11 include"
This reverts commit 589cff583add458c25ca5a2202232fdff916c673.
* fix: compiler errors
* fix: int -> x11::time
* fix: move GtkNativeDialog static data to global state
* fix: revert yarn.lock change
* update: for code review comments
* fix: remove functional header
* fix: variable name
* fix: rename GTK native initalization func
* Help out the compiler
* Help out the compiler
* Help out the compiler
* Fix function signature
* Remove unused header
* Rename optional boolean for GtkFileChooserNative support
* Add back in USE_X11 check
* Satisfy linter
* Resatisfy linter
* Fix alignment of if
* Fix alignment of arguments
* linting...
* fix: add back in the i18n hack
* fix: lint
* Respond to some review comments
* fix: lint
* Make adding filter agnostic
* fix: transform is in place
* fix: remove std::transform because not c++17
* Remove unused include
* fix: address Cheng's review
* fix: Remove unused header