* feat: add query-session-end event for Windows
* fix: remove debug line
* feat: notify with reason on session-end
* docs: add comments and return params
* docs: add same docs to the BrowserWindow
* fix: add shutdown reason if lParam == 0
* docs: remove 'force' word
* docs: revert multithreading.md change
* docs: add reasons documentation, reason variable renamed to reasons
* docs: improve 'shutdown' reason wording
* docs: reword with 'can be'
* fix: pass reasons by reference
* fix: use newer approach which expose reasons value directly on Event object
* docs: add escaping
* style: linter fixes
* fix: project now should compile
* fix: EmitWithoutEvent method added, EmitWithEvent moved to private again
* docs: typo fix
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
* docs: dedicated WindowSessionEndEvent type created
* docs: better wording for session-end event description
Co-authored-by: Will Anderson <will@itsananderson.com>
---------
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
Co-authored-by: Will Anderson <will@itsananderson.com>
* refactor: BaseWindow::OnExecuteAppCommand() now takes a std::string_view
* refactor: NativeWindow::NotifyWindowExecuteAppCommand() takes a std::string_view
* refactor: AppCommandToString() returns a std::string_view, is now constexpr
* refactor: make kBrowserBackward, kBrowserForward inline constexpr std::string_view
Xref: https://abseil.io/tips/140https://groups.google.com/a/chromium.org/g/chromium-dev/c/jROTxMo_m2Q/m/HgciN2KsAgAJ
* refactor: use inline constexpr string_view for kDevice*Key constants
Xref: https://abseil.io/tips/140https://groups.google.com/a/chromium.org/g/chromium-dev/c/jROTxMo_m2Q/m/HgciN2KsAgAJ
* refactor: IsEnvSet now takes a base::cstring_view
* refactor: use inline constexpr cstring_view for kRunAsNode
* refactor: use inline constexpr string_view for kPDF*PluginName
* refactor: use base::FilePath::FromASCII() since "internal-pdf-viewer" is ascii
* chore: remove unused shell/common/electron_constants.cc
* fixup! refactor: IsEnvSet now takes a base::cstring_view
* refactor: use private inheritance in PushNotifications
* refactor: use private inheritance in electron::api::App
* refactor: use private inheritance in electron::api::BrowserWindow
* refactor: use private inheritance in electron::api::NativeTheme
* refactor: use private inheritance in electron::api::Tray
* refactor: use private inheritance in electron::api::Session
* refactor: use private inheritance in electron::api::WebContents
* refactor: use private inheritance in electron::api::DownloadItem
* refactor: use private inheritance in electron::api::MenuBar
* refactor: use private inheritance in ClearDataOperation
* refactor: use private inheritance in electron::api::Screen
* refactor: use private inheritance in electron::ElectronDesktopWindowTreeHostLinux
* refactor: use private inheritance in SpellCheckerHolder
* refactor: use private inheritance in electron::api::PowerMonitor
* refactor: use private inheritance in electron::api::BaseWindow
* refactor: use private inheritance in electron::api::AutoUpdater
* refactor: use private inheritance in electron::api::Menu
* refactor: use private inheritance in electron::api::NativeWindowViews
* refactor: use private inheritance in electron::ElectronBrowserClient
* refactor: use private inheritance in electron::AutofillPopupView
* refactor: use private inheritance in GtkMessageBox
* refactor: use private inheritance in electron::OffScreenRenderWidgetHostView
* refactor: use private inheritance in electron::InspectableWebContents
* refactor: use private inheritance in electron::ElectronUsbDelegate
* refactor: use private inheritance in electron::LoginHandler
* refactor: use private inheritance in WebFrameRenderer
* refactor: use private inheritance in electron::ElectronSerialDelegate
* refactor: use private inheritance in electron::ClientFrameViewLinux
* refactor: use private inheritance in electron::ElectronHidDelegate
* refactor: use private inheritance in IPCRenderer
* refactor: use private inheritance in electron::WinCaptionButtonContainer
* refactor: use private inheritance in electron::ElectronApiIPCHandlerImpl
* refactor: use private inheritance in electron::api::ServiceWorkerContext
* refactor: use private inheritance in ui::FileSelectHelper
* refactor: use private inheritance in electron::api::WebContentsView
* refactor: use private inheritance in electron::api::SimpleURLLoaderWrapper
* refactor: use private inheritance in electron::api::InAppPurchase
* refactor: use private inheritance in electron::api::Debugger
* refactor: use private inheritance in electron::ElectronWebContentsUtilityHandlerImpl
* refactor: use private inheritance in electron::OffScreenWebContentsView
* chore: migrate from base::StringPiece to std::string_view in keyboard_util.cc
* chore: migrate from base::StringPiece to std::string_view in error_thrower.cc
* chore: migrate from base::StringPiece to std::string_view in electron_api_web_contents.cc
* chore: migrate from base::StringPiece to std::string_view in gin_helper/dictionary.h
* chore: migrate from base::StringPiece to std::string_view in electron_api_url_loader.cc
* chore: phase out internal use of base:::StringPiece
`base::StringPiece` is being phased out upstream. Its code has been
removed upstream and it's just a typedef for `std::string_view`.
They haven't removed the typedef yet, so this PR tries to get ahead
of future breakage by migrating "internal" use (i.e. leaving alone the
places where the `base::StringPiece` name is coming from an upstream
method that we override).
Xref: https://bugs.chromium.org/p/chromium/issues/detail?id=691162
Xref: 4294483
Xref: https://docs.google.com/document/d/1d4RnD1uAE2t4iANR0nXy82ASIPGsPuw2mpO6v6T7JKs
* feat: Add BrowserWindow option to ignore Mission Control (macOS)
* There are many circumstances when app developers may want to hide their
windows from mission control. E.g., full screen overlays, small helper
windows, dialogs, etc.
* This PR adds the functionality, docs, and tests.
* chore:Rename variables
* Update shell/browser/native_window_mac.h
Co-authored-by: Samuel Maddock <samuel.maddock@gmail.com>
Co-authored-by: Samuel Maddock <samuel.maddock@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: bump chromium in DEPS to 103.0.5020.0
* chore: bump chromium in DEPS to 103.0.5022.0
* chore: bump chromium in DEPS to 103.0.5024.0
* chore: update patches
* 3587410: [Printing] Remove JobEventDetails
Ref: 3587410
* chore: bump chromium in DEPS to 103.0.5026.0
* chore: update patches
* 3577218: WebUI: Delete webui_resources.grd and related GN targets.
Ref: 3577218
* chore: bump chromium in DEPS to 103.0.5028.0
* chore: update patches
* 3579297: Convert UpdatePrintSettings() to use non-deprecated base::Value APIs.
Ref: 3579297
* 3560622: serial: Add SerialPort.forget() method
Ref: 3560622
* 3581708: Restore original display when moving from tab-fullscreen to browser-fullscreen.
Ref: 3581708
* chore: fix authorization flags lint error
* 3583363: Remove net wrappers around base/strings/escape.h
Ref: 3583363
* fixup! 3560622: serial: Add SerialPort.forget() method
Ref: 3560622
* 3587589: Reland "Propagate the MIME type from DownloadTargetDeterminer to DownloadItem"
Ref: 3587589
* 3584006: Remove IsRenderViewLive from content public
Ref: 3584006
* 3596174: [api] Remove APIs for resurrecting finalizers
Ref: 3596174
* 3368244: Hook SnapshotForContentAnalysis renderer API to scan system prints
Ref: 3368244
* chore: bump chromium in DEPS to 103.0.5030.0
* chore: update patches
* chore: bump chromium in DEPS to 103.0.5032.0
* chore: bump chromium in DEPS to 103.0.5034.0
* chore: bump chromium in DEPS to 103.0.5036.0
* chore: update patches
* 3586363: Introduce PrintRenderFrame.PrintWithParams() for batch printing to PDF
Ref: 3586363
* 3593199: Remove content::PermissionType references and replace them with blink::PermissionType
Ref: 3593199
* 3368244: Hook SnapshotForContentAnalysis renderer API to scan system prints
Ref: 3368244
* chore: lint
* chore: bump chromium in DEPS to 103.0.5038.0
* chore: update patches
* fixup! 3560622: serial: Add SerialPort.forget() method
* 3606495: mac screen capture: add metric
Ref: 3606495
* chore: bump chromium in DEPS to 103.0.5040.0
* chore: update patches
* 3590840: Add IPs to DnsOverHttpsServerConfig
3590840
* stub functions for ElectronSerialDelegate and SerialChooserController to fix link
* 3566412: [base] Remove base/android dependency on post_task.h and officially remove post_task.h!
Ref: 3566412
* 3347944: [content] No longer hand-off whole MainFunctionParams to BrowserMainParts
Ref: 3347944
* fixup! 3566412: [base] Remove base/android dependency on post_task.h and off…
e3ea3e1
…icially remove post_task.h!
* chore: update process_singleton patches for content::GetIOThreadTaskRunner({})
Ref: 2015655: [BrowserThread] Migrate co/pub/br and co/br/scheduler to the new API | 2015655
* chore: migrate base::DeleteSoon to content::GetUIThreadTaskRunner({})->DeleteSoon
Ref: 3566412
* chore: remove duplicate functions for RevokePortPermissionWebInitiated & GetPortInfo
* chore: migrate Linux/Windows methods off of post_task.h
Ref: 3566412
* 64908: Stop building legacy SwiftShader GL in Chromium
https://swiftshader-review.googlesource.com/c/SwiftShader/+/64908
* 3573245: Added Themed versions of RoundedRectBackground and RoundedRectBorder.
Ref: 3573245
* chore: bump chromium in DEPS to 103.0.5042.0
* chore: update patches
* 3571804: [api] Advance API deprecation for V8 version v10.2
3571804
* fixup! 3571804: [api] Advance API deprecation for V8 version v10.2
* build: fix run-clang-format extension matching
* lint
* fix windows build
* how is clang-format still not working for me
* chore: update patches
* 3623985: Replace ad-hoc SetPublicFirstPartySets calls with method in ContentBrowserClient.
3623985
* no need to implement WillProvidePublicFirstPartySets; the default is false
* 3601036: [QT] Introduce ui/views/linux_ui/linux_ui_factory.*
3601036
* 3583363: Remove net wrappers around base/strings/escape.h
3583363
* lint
* chore: bump chromium in DEPS to 103.0.5044.0
* fix conflicts
* chore: update patches
* upgrade nan
* pin version of nan in tests
* replace my hacky deprecated override fix with the fix from upstream
* revert runtime dcheck in v8
* pin nan version at root too
* refactor: tell gyp to use c++17 when building with our node
* Revert "refactor: tell gyp to use c++17 when building with our node"
This reverts commit 41a03a5799a8f40f31555d73d20ea865acfcd192.
* Undo the reversion of 41a03a5799a8f40f31555d73d20ea865acfcd192.
This reverts commit 54440abc598153bd7e259be4a908f0ecc0b33348.
* disable sequential/test-cpu-prof-kill for now
* also sequential/test-diagnostic-dir-cpu-prof
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <japthorp@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 99.0.4819.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4824.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4827.0
* chore: update patches
* 3352511: PiP: Add inkdrop and pointer cursor to PiP window buttons
3352511
* 3309164: webhid: Show FIDO devices in the chooser if allowed
3309164
* 3297868: hid: Add experimental HIDDevice.forget()
3297868
* 3362491: [Extensions] Move i18n API to //extensions
3362491
* MCC Refactor step0: Allow embedders to register associated_interface binders with RenderFrameHostImpl::associated_registry_.
3281481
* 3352616: [Gtk] Remove libgtk from the link-line
3352616
* 3249211: Clear-Site-Data support for partitioned cookies
3249211
* [Extensions][COIL] Use [allow|block]list in //extensions/common
3372668
* Begin ScopedUserPrefUpdate migration to modern base::Value
3376154
* [Code Health] Refactor PrefService GetDict + GetList to use base::Value
3343526
* 3354997: [CodeHealth] Remove deprecated SetDictionary method
3354997
* 3287323: Add LacrosPrefStore for lacros settings
3287323
* 3365916: [PA] Clean up remaining lazy commit code
3365916
* [MPArch] Target the external protocol error at the responsible frame.
3011560
* Pass origin to RegisterNonNetworkSubresourceURLLoaderFactories
3350608
* Linux: Send OSCrypt raw encryption key to the Network Service
3320484
* [PlzServiceWorker] Remove remaining references to PlzServiceWorker.
3359441
* chore: fixup for lint
* 3327621: Fix tablet mode detection for Win 11.
3327621
* 3342428: ax_mac: move AXTextMarker conversion utils under ui umbrella
3342428
* 3353974: Mac: Use base::Feature for overlay features
3353974
* chore: bump chromium in DEPS to 99.0.4828.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4837.0
* chore: update patches
* chore: update patches
* 3379142: Drop FALLTHROUGH macro
Ref: 3379142
* 3381749: C++17: Allow use of std::map::try_emplace and std::map::insert_or_assign
Ref: 3381749
* chore: bump chromium in DEPS to 99.0.4839.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4840.0
* chore: bump chromium in DEPS to 99.0.4844.0
* 3395881: [api] Deprecate Local<v8::Context> v8::Object::CreationContext()
Ref: 3395881
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4845.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4847.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4849.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4851.0
* chore: bump chromium in DEPS to 100.0.4853.0
* update patches
* chore: update patches
* update patches
* 3383599: Fonts Access: Remove prototype that uses a font picker.
3383599
* 3404768: Remove ALLOW_UNUSED macros
3404768
* 3374762: Remove ignore_result.h
3374762
* 3399305: [unseasoned-pdf] Apply proper frame offsets for touch selections
3399305
* 3402210: [Extensions] Don't trigger unload event for already unloaded extension
3402210
* 3410912: Combine URLLoaderClient OnReceiveResponse and OnStartLoadingResponseBody.
3410912
* 3370428: Make the AuthSchemes policy support dynamic refresh
3370428
* 3407603: Finish ScopedUserPrefUpdate migration to modern base::Value
3407603
* 3378352: ozone/x11: move code from //ui/p/x11 to //ui/ozone/p/x11
3378352
* 3370810: Delete chrome/service, AKA the Cloud Print service process.
3370810
* chore: bump chromium in DEPS to 100.0.4855.0
* chore: update patches
* fixup! 3370810: Delete chrome/service, AKA the Cloud Print service process.
* revert 3348007 to fix windows build
* 3318572: [Code health] Fix gn check errors in //extensions/browser:*
3318572
* fix printing.patch
* fix iwyu issue
* 3408515: win: Make ShorcutOperation an enum class and modernize names
3408515
* 3388333: [UIA] Remove dead code accessibility_misc_utils.h/cc
3388333
* fix windows build? i hope
* patch gn visibility of //ui/ozone/platform/x11
* missing include base/logging.h
* use BUILDFLAG for USE_NSS_CERTS
3379123
* defined(OS_*) ==> BUILDFLAG(IS_*)
https://bugs.chromium.org/p/chromium/issues/detail?id=1234043
* fixup! 3404768: Remove ALLOW_UNUSED macros
* another attempt to fix windows build
* temporarily disable the custom scheme service worker test
https://github.com/electron/electron/issues/32664
* fix loading mv3 extensions
not sure what cl broke this unfort.
* fixup! 3404768: Remove ALLOW_UNUSED macros
* patch nan
3395880
* fix node test
* fix nullptr in FindPdfFrame
* patch perfetto to fix build issue on win-ia32
bc44c3c753
* fix build for linux-x64-testing-no-run-as-node
* fix patch
* skip <webview>.capturePage() test
https://github.com/electron/electron/issues/32705
* test: fix failing tests of focus/blur events of WebContents (#32711)
* inherit stdio from app module test child processes
this prevents them from timing out due to full stdout buffers
* test to see if we can get better logs on windows ci
* try again for appveyor log things
* skip contentTracing tests on ia32
* ci: disable gpu compositing
* drop applied patch
* fix merge fail
* Revert "ci: disable gpu compositing"
This reverts commit 0344129fcb19ea3e87e06c1110d751f22eba3fec.
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: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: VerteDinde <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
* feat: emit resize edge with will-resize event
fix: wparam type
fix: private member usage on mac
docs: will-resize event edge option
refactor: 'info' -> 'details' for better type gen
* Update docs/api/browser-window.md
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* Update docs/api/browser-window.md
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* feat: Raise a browser view via `BrowserWindow.setTopBrowserView()`.
This is similar to removing and re-adding a browser view, but avoids a visible flicker as the browser view is not removed from the window when using `setTopBrowserView`. Note: if the given browser view is not attached to the window, it will be added.
This commit contains the macOS implementation.
* feat: setTopBrowserView support for Windows and Linux
* docs: add info about setTopBrowserView
* docs: Clarify behavior when browserView is not yet attached.
* fix: throw en error when browserView is not attached to the window
* fix: build error
* fix: test
* fix: add test case
* fix: tests
* fix: reparenting
* fix: close second window in tests
Co-authored-by: sentialx <sentialx@gmail.com>
* fix: do not throw if NativeImage conversion fails.
Throwing is an unannounced semver/major breaking change, so revert that
behavior but keep the rest of the #26546 refactor.
* test: add invalid icon test
* refactor: be explicit about when to throw or warn.
* chore: bump chromium in DEPS to 1f1c4d91f6eaa4a033ec8f499d63a0717f79a42a
* viz: Do not apply white level scaling for RGBA fp16 HDR video
2296006
* Move WebPreferences to WebContents
2263635
* Fix missing WeakPtr check in PreconnectManager
2309029
* Fixup swiftshader roll revision
* Update patch indices
* Move WebDeviceEmulationParams into common.
2303356
* Move EnableDisableDeviceEmulation to blink mojom messages
2303367
* PDF Viewer: Remove flag for two-up view
2311130
* Add mojom definition for DeviceEmulationParams.
2303491
* Remove ServiceWorkerContextWatcher from PaymentAppInstaller
2291186
* Loader: Move transferrable_url_loader.mojom into blink's mojom directory
2306123
* chore: bump chromium in DEPS to 4974f436479739025a90ebc2cc2e36d67ee1ac46
* mac: Work around Xcode 12b3 SDK bug
2315078
* Reland Update core items for macOS Big Sur.
2315162
* Update Swiftshader revision
* mac/arm64: When cross-building the snapshot, use page size of the target ISA instead of the host.
2310575
* Update patch indices
* Rename {,Non}ClientView::CanClose() to OnWindowCloseRequested()
2247838
* chore: bump chromium in DEPS to e9465d70d1dea539400f0fddad43358ea3c31d71
* chore: bump chromium in DEPS to bd5b71c5f20288eb26068a39ae6e0579566a51c5
* chore: bump chromium in DEPS to 786ee543048bd07d07c5ac50b7dbbdd6bdd8dcce
* chore: bump chromium in DEPS to 34eb6ecbf2c5894b648900bf771a2a29de204798
* chore: bump chromium in DEPS to 567ff038d68e3adb8116a01eec863cdf34d775f5
* chore: bump chromium in DEPS to 340b45c8d4ceb2dd61969fc34e1928d3c46db48c
* chore: update patches
* chore: base::DeleteFile with two params is removed
Should use base::DeleteFile and base::DeletePathRecursively when
appropriate
Refs: 2313376
* chore: add patch for NodePlatform::PostJob impl
* chore: update patches
* chore: extension file access is now instrumented
Refs: 2209995
* chore: implement SetWindowFrameInScreen in OSR RWHV
Refs: 2321409
* chore: NotifyUserActivation requires a type now
This is just for a histogram thing and therefore it does not matter what
we pass in
Refs: 2281303
* chore: update patches
* chore: bump chromium in DEPS to cd570e6dd3dcb84463ac252b04e92ceb02d8400c
* chore: update patches
* chore: bump chromium in DEPS to 0187908a31866992b90c59719ac1d016328f6ee0
* chore: bump chromium in DEPS to 3c9df38c508f3dba26a75248beed4882ddfb98e9
* chore: bump chromium in DEPS to 1a47d3b9cee710bd3c958c4f2d8b205710df9d50
* chore: bump chromium in DEPS to baac93040d96abdab72d46dd034c60f86e108702
* chore: bump chromium in DEPS to 13836145f97299e636491de38064b78861c4fb2e
* update patches
* change OS_MACOSX -> OS_MAC
Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=1105907
* patch: add header for ToExecutionContext in WebMessagePortConverter
* chore: bump chromium in DEPS to 91ab9b6ac5d04dc034a03ad847fbfa8261328c2b
* update patches
* NeedToFireBeforeUnloadOrUnload -> NeedToFireBeforeUnloadOrUnloadEvents
Refs: 2288711
* chore: bump chromium in DEPS to 290deb11f0e30cb1382fd8f8793d340560283c23
* update patches
* add dragdrop header for autofill popup
* int -> x11::Time
* patch out accessibility private API use
Refs: 2330812
* remove usage of XEvent
Refs: 2317767
* trigger recalculation of WebPreferences before renderer initialization
Refs: 2263635
* chore: bump chromium in DEPS to 6bdb484583b99c96ef3388d0c2184326581b2d5a
* chore: bump chromium in DEPS to 1eb2a79cde04fd5c8ae51b4d813e6521635269e5
* chore: bump chromium in DEPS to 3dc8e3c0f400e4ca9c0a63d7a39bd910997ad4c6
* chore: update patches
* fixup! trigger recalculation of WebPreferences before renderer initialization
* views: Make MenuButton and RadioButton default constructible
2339586
* chore: fix code style
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
Co-authored-by: Andy Locascio <andy@slack-corp.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>