* Add failing test for #16746
* Always read the value from the target object.
The value must be read from the target object instead of using the value from the event because the value may have changed again between the time the event was raised and now: if that occurs in a two-way binding then we end up with a stack overflow.
The `AvaloniaNative.GlPlatformSurface.CreateGlRenderTarget` method can only be called on the UI thread. In normal circumstances this method is called in response to a call to `TopLevel.HandlePaint` from the native `AvnView.updateLayer` method. However, a customer was experiencing a problem where `AvnView.updateLayer` and by extension `TopLevel.HandlePaint` were being called before the window is shown. This broke the creation of the GL render target.
Toggling the window decorations can cause the window to be moved off screen, causing integration test failures. Until this bug is fixed, detect this and move the window to the screen origin. See #11411.
#14982 added some logic from WPF to contrain a window showed with `WindowStartupLocation.CenterOwner` to the screen, but it had a bug: the screen used was the screen that the window being _shown) is currently on, not the _owner_ window.
This means that if the owner window is on a different screen to the window being shown then it will be constrained to the wrong screen.
You can see this on Windows by showing a child `Window` with `CenterOwner` when the owner window is on a secondary screen: the child window will initially be shown on the primary screen and so the constraint will be wrong, resulting in the child window being shown on the wrong screen.
* [Android] fix a bug which cause closing soft keyboard does not clear focus on TextBox, which makes clicking on the TextBox cannot call out the soft keyboard again
* change way to show soft keyboard
* add new api
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Fixed overlay popups not automatically closing
* Fix overlay tooltip tests not actually generating overlay tooltips
Verify popup type whenever we verify that the popup is open
* Fixed overlay tooltips not being attached to the visual tree in tests
#Conflicts:
# tests/Avalonia.Controls.UnitTests/ToolTipTests.cs
* Record video for failing win32 integration tests.
* Be more specific when selecting the test dll.
https://github.com/microsoft/vstest/issues/3939
---------
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
* Refactor IntegrationTestApp.
Use a `ListBox` to switch pages instead of a `TabControl`: the `TabControl` didn't adapt well to smaller screen sizes, and the `MainWindow` was getting unwieldy anyway.
* Update tests to use new pager.
Move logic for selecting the page to a base class as we may need to handle scrolling manually on macOS at some point (Appium on macOS doesn't scroll elements into view automatically).
* Add AutomationPeer.IsOffscreen.
This is needed in order for controls to be scrolled into view using WinAppDriver. The default is the same as WPF and the default value is overridden in the same controls as WPF (where present).
#Conflicts:
# samples/IntegrationTestApp/App.axaml.cs
# samples/IntegrationTestApp/MainWindow.axaml
# samples/IntegrationTestApp/MainWindow.axaml.cs
# samples/IntegrationTestApp/TopmostWindowTest.axaml.cs
# src/Avalonia.Controls/TreeViewItem.cs
# tests/Avalonia.IntegrationTests.Appium/ContextMenuTests.cs
# tests/Avalonia.IntegrationTests.Appium/PointerTests.cs
# tests/Avalonia.IntegrationTests.Appium/ScreenTests.cs
# tests/Avalonia.IntegrationTests.Appium/TrayIconTests.cs
# tests/Avalonia.IntegrationTests.Appium/WindowDecorationsTests.cs
# tests/Avalonia.IntegrationTests.Appium/WindowTests.cs
# tests/Avalonia.IntegrationTests.Appium/WindowTests_MacOS.cs
* Make it work on macOS
* Revert most of changes
This reverts commit 3526c6f601.
* Polyfill appium2, make it usable with both versions
* Revert unrelated changes
* Fix slider incompatibility
* Change namespace to prevent conflicts.
The `DataGrid` in the namespace name was hiding the `DataGrid` type.
* Initial impl of bindable DataGridRow.IsSelected.
* Make DataGridRow.IsSelected two-way bindable.
* Updated Popup to raise the pass-through overlay dismiss event prior to possibly closing the popup when a pointer is pressed. Added the PopupFlyoutBase.OverlayDismissEventPassThrough property and updated logic in Button.
* Updated SplitButton logic to handle OverlayDismissEventPassThrough scenarios.
* Updated CalendarDatePicker logic to handle OverlayDismissEventPassThrough scenarios.
* Updated ComboBox logic to handle OverlayDismissEventPassThrough scenarios.
* Removed unncessary ComboBox.PopupClosed logic that focused the control. This was problematic when the popup was open with OverlayDismissEventPassThrough and clicking onto another control. Focus would not move to the clicked control.
* Fixed the Clicking_On_Control_PseudoClass unit test to properly recognize pseudo-class behavior change.
* Added a couple unit tests to FlyoutTests.
When opening a context menu and pressing the "arrow down" key, the first menu item was not selected. This issue was introduced by #11287. The fix is to make the `ContextMenu` focusable.
Added an integration test to try to prevent regressions.
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Fix NUnit test context not being properly set
* Add failing tests
* Capture ExecutionContext to keep async locals
* Remove explicit EstablishExecutionEnvironment call, as it was a bad idea
* Make ExecutionContext usage disabled by default, and only enabled for NUnit