Fixes#18502
This PR changes the focus and blur events that we emit in Electron to listen to changes in key window rather than main window. It swaps out windowDidBecomeMain and windowDidResignMain for windowDidBecomeKey and windowDidResignKey, respectively.
* test: move more BrowserWindow specs to main runner
* more movey
* maximized/minimized events don't work on linux?
* try for better printing of non-equal bounds
* add a timeout when checking window bounds after resize
* add a timeout when reading content size
* setTimeout...?
* try a smaller window size
* Get a site instance related to current one instead of creation a new one
Using `GetRelatedSiteInstance` will keep the relation (same browsing instance) between the current and the new site instance.
* Some relies on preloads in opened window
The fact that, now, we always have an opener for opened windows diables note integration in opened windows, except if `nodeIntegrationInSubFrames` is enabled.
* Add a test on window.opener after cross-orgin navigation
* Make sure to unregisterProtocol in tests
* Introduc and use a NetworkSandbox for tests
* Modify tests about zoom persistence to properly simulate cross-origin navigation
* Revert "Modify tests about zoom persistence to properly simulate cross-origin navigation"
This reverts commit 0a7537f2eb7f183ddec16637e8a2e92a0d600321.
* spec: replace assert with expect in api-browser-view-spec.js
* spec: replace assert with expect in api-touch-bar-spec.js
* spec: replace assert with expect in api-web-frame-spec.js
* spec: replace assert with expect in api-web-contents-view-spec.js
* spec: replace assert with expect in security-warnings-spec.js
* spec: replace assert with expect in api-menu-item-spec.js
* spec: replace assert with expect in api-web-request-spec.js
* spec: replace assert with expect in api-remote-spec.js
* spec: replace assert with expect in api-session-spec.js
* spec: replace assert with expect in api-system-preferences-spec.js
* spec: replace assert with expect in api-browser-window-spec.js
* spec: replace assert with expect in webview-spec.js
* spec: replace assert with expect in api-net-spec.js
* spec: replace assert with expect in api-protocol-spec.js
* spec: replace assert with expect api-web-contents-spec.js
* spec: replace assert with expect in api-shell-spec.js
* spec: replace assert with expect in modules-spec.js
* spec: replace assert with expect in chromium-spec.js
* spec: replace assert with expect in api-crash-reporter-spec.js
* spec: replace assert with expect in asar-spec.js
* spec: rename assert-helpers to expect-helpers
* address PR feedback
* chore: bump chromium in DEPS to 1e9f9a24aa12bea9cf194a82a7e249bd1242ec4f
* chore: update patches
* Make WebContents' theme color a base::Optional<SkColor>
1540022
* update autofill patch for incorrect header includes
* Move Shell messages to web_test and rename to BlinkTest.
1525181
* Make PlatformNotificationServiceImpl a KeyedService.
1336150
* Move MediaPlayerId to its own file.
1547057
* Remove net/base/completion_callback.h, which is no longer used
1552821
* AW NS: support file scheme cookies
1533486
* Remove SecurityInfo and adapt remaining consumers
1509455
* Remove deprecated type-specific number to string conversion functions
1545881
* DevTools: Adding new performance histograms for launch of top 4 tools
1506388
* Update include paths for //base/hash/hash.h
1544630
* build: Disable ensure_gn_version gclient hook for mac CI checkout
* update patches
* use maybe version of v8::String::NewFromTwoByte
* bump appveyor image version
* fix mac ci hopefully
* Convert enum to enum class for MenuAnchorPosition
1530508
* use maybe version of ToObject
* RenderViewHost::GetProcess is no longer const
* Unrefcount AuthChallengeInfo
1550631
* MenuButtonController takes Button rather than MenuButton
1500935
* add //ui/views_bridge_mac to deps to fix link error
* forward declare views::Button in atom::MenuDelegate
* more v8 patches
* base/{=> hash}/md5.h
1535124
* gfx::{PlatformFontWin => win}::*
1534178
* fix v8 patches
* [base] Rename TaskScheduler to ThreadPool
1561552
* use internal_config_base for bytecode_builtins_list_generator
avoids windows link errors
* FIXME: temporarily disable v8/breakpad integration
* FIXME: temporarily disable prevent-will-redirect test
* FIXME: disable neon on aarch64 pending crbug.com/953815
* update to account for WebCursor refactor
1562755
* enable stack dumping on appveyor
* Revert "FIXME: disable neon on aarch64 pending crbug.com/953815"
This reverts commit 57f082026be3d83069f2a2814684abf4dc9e7b53.
* fix: remove const qualifiers to match upstream
* fix: remove const qualifiers to match upstream in cc files as well
* don't throw an error when testing if an object is an object
* use non-deprecated Buffer constructor
* Remove net::CookieSameSite::DEFAULT_MODE enum value
1567955
* depend on modded dbus-native to work around buffer deprecation
https://github.com/sidorares/dbus-native/pull/262
* revert clang roll to fix arm build on linux
* fixup! depend on modded dbus-native to work around buffer deprecation
need more coffee
* update coffee-script
* robustify verify-mksnapshot w.r.t. command-line parameters
* Revert "robustify verify-mksnapshot w.r.t. command-line parameters"
This reverts commit a49af01411f684f6025528d604895c3696e0bc57.
* fix mksnapshot by matching args
* update patches
* TMP: enable rdp on appveyor
* Changed ContentBrowserClient::CreateQuotaPermissionContext() to return scoped_refptr.
1569376
* Make content::ResourceType an enum class.
1569345
* fixup! Make content::ResourceType an enum class.
* turn off rdp
* use net::CompletionRepeatingCallback instead of base::Callback<void(int)>
* remove disable_ensure_gn_version_gclient_hook.patch
* copy repeating callback instead of std::move
* fix lint
* add completion_repeating_callback.h include
* fix: make OSR work with viz compositor
* fix: update OSR patch
* fix: update patch again
* fix: update viz_osr.patch for macOS
* fix: gn check warnings
* chore: no need to change SoftwareOutputDeviceWinProxy
* chore: add check in case we missed something
* fix: consider scale factor when compare size
* fix: make GPU OSR work
* fix: autofill popups with OSR
* chore: use UNIX line ending for osr_video_consumer
* chore: code is already in defined(OS_MACOSX)
* fix: share same OSR implementation on macOS
This should also fix the crash when there is navigation on macOS.
* test: osr window should not crash after navigation
* fix: make osr work on Mac properly
* fix: software osr on windows
* fix: software osr on Linux
* fix: compilation error introduced with rebase
* fix: split local surface id allocation into two
* Update osr_host_display_client_mac.mm
* chore: update copyright year
* fix: update patch
* feat: promisify webContents.savePage()
* no need to make compatible w callbacks, we're breaking it
* fix promise resolve type
* address feedback from review
* fix promise return text
* update smoke test
It was implemented on Mac and Win but not on X11.
Tested on Ubuntu 16.04 and 18.04.
Also added a unit test in spec/api-browser-window-spec.js.
This test BrowserWindow.moveTop verifies that calling moveTop
on a window does not give the focus to this window.
notes: BrowserWindow.moveTop is now available on Linux/x11
https://github.com/electron/electron/issues/12516
* fix: use Chromium's determined new site instance as candidate when navigating.
When navigating to a new address, consider using Chromium's determined site instance
for the new page as it should belong to an existing browsing instance when the
navigation was triggered by window.open().
fixes 8100.
* Revert "fix: use Chromium's determined new site instance as candidate when navigating."
This reverts commit eb95f935654a2c4d4457821297670836c10fdfd5.
* fix: delegate site instance creation back to content when sandboxed.
* fix: ensure site isolation is on
* test: adapt ut for cross-site navigation
* fix: register pending processes during a navigation.
* refactor: dont call loadURL for a window constructed from an existing webContents.
* test: add sandboxed affinity UT's.
* fix: check affinity before deciding if to force a new site instance.
* chore: adapt subsequent patch.
* refactor: constify logically const methods.
* fix: do not reuse site instances when navigation redirects cross-site.
* test: ensure localStorage accessible after x-site redirect.
* test: adapt localStorage acess denied UT for site isolation.
* fix: do not send render-view-deleted for speculative frames.
* chore: amend tests after rebase.
* test: add ut for webContents' render-view-deleted emission
* fix: introduce current-render-view-deleted for current RVH's deletions.
Revert render-view-deleted to being emitted with any RVH's deletion.
current-render-view-deleted is emitted only when the RVH being deleted
is the current one.
* refactor: style and comments fixed.
Extend the existing win.setBounds functionality by allowing developers to partially update bounds without being forced to pass in all four bounds values. No existing functionality is altere
* fix: child window with nativeWindowOpen should disable node integration
* Revert "fix: do not enable node integration in child window if not enabled (#15076)"
This reverts commit 0252d7686c.
This patch is not needed anymore since we are force disabling node integration
for child windows.