* refactor: add a v8::Isolate* arg to Constructible::GetConstructor()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: add a v8::Isolate* arg to NodeBindings::Initialize()
This is needed for the GetConstructor() call
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: avoid v8::Context::GetIsolate() call in GetIpcObject() by taking it as an arg
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: avoid v8::Context::GetIsolate() call in ipc_native::EmitIPCEvent() by taking it as an arg
Co-authored-by: Charles Kerr <charles@charleskerr.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: avoid redundant GetIsolate() calls in NodeBindings::CreateEnvironment()
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/6563615
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: use v8::Isolate::GetCurrent() in Initialize() methods
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: add v8::Isolate* arg to NodeBindings::CreateEnvironment()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fixup! refactor: use v8::Isolate::GetCurrent() in Initialize() methods
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: add v8::Isolate* arg to RendererClientBase::DidCreateScriptContext()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fixup! refactor: add v8::Isolate* arg to NodeBindings::CreateEnvironment()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fixup! fixup! refactor: use v8::Isolate::GetCurrent() in Initialize() methods
refactor: prefer JavascriptEnvironment::GetIsolate() in the browser layer
Co-authored-by: Charles Kerr <charles@charleskerr.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 139.0.7258.6
* chore: bump chromium in DEPS to 139.0.7258.5
* chore: bump chromium in DEPS to 140.0.7270.1
* chore: bump chromium in DEPS to 140.0.7271.1
* chore: bump chromium in DEPS to 140.0.7273.0
* chore: bump chromium in DEPS to 140.0.7273.1
* chore: bump chromium in DEPS to 140.0.7275.1
* chore: bump chromium in DEPS to 140.0.7275.4
* chore: bump chromium in DEPS to 140.0.7277.1
* chore: bump chromium in DEPS to 140.0.7279.1
* chore: bump chromium in DEPS to 140.0.7281.1
* chore: bump chromium in DEPS to 140.0.7283.1
* chore: bump chromium in DEPS to 140.0.7285.1
* chore: bump chromium in DEPS to 140.0.7287.1
* chore: bump chromium in DEPS to 140.0.7289.0
* chore: bump chromium in DEPS to 140.0.7289.1
* chore: bump chromium in DEPS to 140.0.7291.1
* chore: bump chromium in DEPS to 140.0.7293.1
* chore: bump chromium in DEPS to 140.0.7295.1
* chore: bump chromium in DEPS to 140.0.7296.0
* chore: bump chromium to 140.0.7281.0 (main) (#47616)
cherry picked from 603cafad7e
* chore: bump chromium in DEPS to 140.0.7269.2
* chore: bump chromium in DEPS to 140.0.7270.0
* chore: bump chromium in DEPS to 140.0.7271.0
* chore: bump chromium in DEPS to 140.0.7273.0
* 6516731: [ExclusiveAccessForAndroid] remove unneeded includes & deps | https://chromium-review.googlesource.com/c/chromium/src/+/6516731
* 6694809: dbus: Ensure systemd scope is started before using any portal services | https://chromium-review.googlesource.com/c/chromium/src/+/6694809
* chore: patch chromium
* chore: export patches
* chore: bump chromium in DEPS to 140.0.7275.0
* 6677511: [pepper] More pepper removal | https://chromium-review.googlesource.com/c/chromium/src/+/6677511
* 6513641: [gin] Rename gin::Wrappable to gin::DeprecatedWrappable | https://chromium-review.googlesource.com/c/chromium/src/+/6513641
* chore: export chromium patches
* 6513641: [gin] Rename gin::Wrappable to gin::DeprecatedWrappable | https://chromium-review.googlesource.com/c/chromium/src/+/6513641
* chore: bump chromium in DEPS to 140.0.7277.0
* chore: bump chromium in DEPS to 140.0.7279.0
* chore: bump chromium in DEPS to 140.0.7281.0
* 6677314: Plumb enabled client hints in the network requestion to network layer
https://chromium-review.googlesource.com/c/chromium/src/+/6677314
* 6351556: [source-phase-imports] Support Wasm Source Phase Imports
https://chromium-review.googlesource.com/c/chromium/src/+/6351556
* 6700077: [renderer] Avoid calls to deprecated GetIsolate methods
https://chromium-review.googlesource.com/c/chromium/src/+/6700077
* 6692873: Reland "Reland "FSA: Only normalize the hardcoded rules once during initialization""
https://chromium-review.googlesource.com/c/chromium/src/+/6692873
* 6686234: [gin] Cleanup NamedPropertyInterceptor for Wrappable
https://chromium-review.googlesource.com/c/chromium/src/+/6686234
* chore: export patches
* 6667723: Remove content_enable_legacy_ipc GN arg.
https://chromium-review.googlesource.com/c/chromium/src/+/6667723
* 6646566: ui: Move NativeWindowTracker to its own directory
https://chromium-review.googlesource.com/c/chromium/src/+/6646566
* fix: add missing includes
* 6580522: [WAR, DNR] Fix unsafe redirect error to web accessible resource
https://chromium-review.googlesource.com/c/chromium/src/+/6580522
* 6680477: Implement `completeCode` endpoint and expose to DevTools
https://chromium-review.googlesource.com/c/chromium/src/+/6680477
* 6677511: [pepper] More pepper removal
https://chromium-review.googlesource.com/c/chromium/src/+/6677511
* 6696689: Rename views::WidgetFocusManager -> NativeViewFocusManager
https://chromium-review.googlesource.com/c/chromium/src/+/6696689
* 6702812: Move wtf/text/string_impl*.* to "blink" namespace
https://chromium-review.googlesource.com/c/chromium/src/+/6702812
* chore: fix dialog patch
* 6702431: [animation-trigger] Parse timeline-trigger-name
https://chromium-review.googlesource.com/c/chromium/src/+/6702431
* chore: fixup patch indices
* feat: replace webFrame.routingId with webFrame.frameToken
* feat: WebFrameMain.prototype.frameToken
* test: refactor to use replacement APIs
* chore: fixup pip patch
* test: adjust webFrame tests for frameToken changes
* 6703757: Reland "Enable -fsanitize=array-bounds in non-UBSan builds"
https://chromium-review.googlesource.com/c/chromium/src/+/6703757
* test: switch to frameTokens
* test: routingId is fine to test in the main process
* docs: add routingId to breaking changes
* docs: update plugin-crashed event
* chore: fixup linux dialog patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
(cherry picked from commit 603cafad7e)
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* feat: add menu item role `palette` and `header`
* adds comments
* refactors new role items to new item types
* docs: custom type
* docs: note types only available on mac 14+
---------
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* feat: add support for associating a Menu with a WebFrameMain
This allows certain OS level features to activate such as Writing Tools, Autofill.. and Services.
There appears to be a bug in macOS where the responder chain isn't traversed if the menu is not popped up using an event, as such we spoof a fake mouse event at the write coordinates in the right window and use that to open the menu.
* build: fix build on non-mac
* build: oops missed a header
* fix: safely handle optional T* by checking nullptr too
* build: fix gn check and build errors
* docs: suggested changes
* feat: default `frame` to `window.webContents.mainFrame` when possible
* fix: avoid deref nullptr view
* Revert "feat: default `frame` to `window.webContents.mainFrame` when possible"
This reverts commit 2e888368199317d67f6ad931a7e9eff0295c4b1b.
* fix: lint
* Remove redundant scoped objects
This code, including the comments, matches almost exactly the behavior of this argument to the function.
* Add ScopedPumpMessagesInPrivateModes patch
* More null pointer safety
---------
Co-authored-by: clavin <clavin@electronjs.org>
* refactor: misc-use-internal-linkage warnings in context bridge
move impl functions into anonymous namespace so that they're not visible
to other compilation units:
- ExposeAPIInWorld()
- IsCalledFromMainWorld()
- OverrideGlobalPropertyFromIsolatedWorld()
- OverrideGlobalValueFromIsolatedWorld()
- TraceKeyPath()
* refactor: misc-use-internal-linkage warnings in skia util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- struct ScaleFactorPair
- kScaleFactorPairs[]
- GetScaleFactorFromPath()
- AddImageSkiaRepFromPath()
* refactor: misc-use-internal-linkage warnings in printing util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetFullPagePlugin()
* refactor: misc-use-internal-linkage warnings in blijnk converter
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetKeyLocationCode()
- ModifiersToArray()
* refactor: misc-use-internal-linkage warnings in extrension system
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- ParseManifest()
* refactor: misc-use-internal-linkage warnings in skia util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetFrameTokenMap()
- GetFrameTreeNodeIdMap()
* refactor: misc-use-internal-linkage warnings in electron_api_utility_process.cc
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetAllUtilityProcessWrappers()
* refactor: misc-use-internal-linkage warnings in electron_api_menu
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- InvokeBoolMethod()
* refactor: misc-use-internal-linkage warnings in platform util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- struct TrashItemResult
- TrashItemOnBlockingThread()
* feat: add MenuItem.userAccelerator property
This allows folks to read the user-assigned accelerator that macOS users can provide in system preferences. Useful for showing in-app shortcut help dialogs, you need to know if the accelerator you provided is not being used in favor of a user assigned one.
* chore: update syntax
* chore: add safety check for command index being -1
* fix: correctly handle shifted char in accelerator
* test: use actual accelerator of NSMenuItem
* chore: simplify KeyboardCodeFromStr
* chore: GetAcceleratorTextAt is testing only