# Keep alphabetized. When adding new exclusions file a bug with the reason and
# include a link. If a test should never run on mash, add an early exit to the
# code instead of listing here. See Shell::GetAshConfig().

# TODO: AppList needs to respond to fullscreen and VKB: crbug.com/610874
-AppListPresenterDelegateTest.AppListViewDragHandler
-AppListPresenterDelegateTest.AppListViewDragHandlerTabletModeFromSearch
-AppListPresenterDelegateTest.BottomShelfAlignmentTextStateTransitions
-AppListPresenterDelegateTest.HalfToFullscreenWhenTabletModeIsActive
-AppListPresenterDelegateTest.HalfToPeekingByClickOrTap/0
-AppListPresenterDelegateTest.HalfToPeekingByClickOrTap/1
-AppListPresenterDelegateTest.KeyPressEnablesSearchBox
-AppListPresenterDelegateTest.LongUpwardDragInFullscreenShouldNotClose/1
-AppListPresenterDelegateTest.PeekingToFullscreenWhenTabletModeIsActive
-AppListPresenterDelegateTest.SearchBoxShownOnSmallDisplay
-AppListPresenterDelegateTest.SideShelfAlignmentTextStateTransitions
-AppListPresenterDelegateTest.StateTransitionsByTapAndClickingAppListBodyFromHalf/0
-AppListPresenterDelegateTest.StateTransitionsByTapAndClickingAppListBodyFromHalf/1
-AppListPresenterDelegateTest.StateTransitionsByTappingAppListBodyFromFullscreen/0
-AppListPresenterDelegateTest.StateTransitionsByTappingAppListBodyFromFullscreen/1
-AppListPresenterDelegateTest.TabletModeTextStateTransitions
-AppListPresenterDelegateTest.TapAndClickOutsideClosesHalfAppList/0
-AppListPresenterDelegateTest.TapAndClickOutsideClosesHalfAppList/1
-AppListPresenterDelegateTest.WhitespaceQuery

# TODO: CursorManagerTestApi. http://crbug.com/780637
-CursorWindowControllerTest.DSF
-CursorWindowControllerTest.MoveToDifferentDisplay
-CursorWindowControllerTest.ShouldEnableCursorCompositing
-CursorWindowControllerTest.VisibilityTest

# TODO: wire up mirroring and unified display. http://crbug.com/770243.
-DisplayManagerTest.SoftwareMirroring
-DisplayManagerTest.SoftwareMirroringWithCompositingCursor
-DisplayManagerTest.SingleDisplayToSoftwareMirroring

# TODO: CursorManagerTestApi. http://crbug.com/780637
-DragWindowResizerTest.CursorDeviceScaleFactor

# TODO: Implement DragWindowController for mash? crbug.com/633782
-DragWindowResizerTest.DragWindowController
-DragWindowResizerTest.DragWindowControllerAcrossThreeDisplays

# TODO: Implement/fix mouse warp in mash: crbug.com/747465
-DragWindowResizerTest.MoveWindowAcrossDisplays
-DragWindowResizerTest.WarpMousePointer
-DragWindowResizerTest.WindowDragWithMultiDisplays
-DragWindowResizerTest.WindowDragWithMultiDisplaysActiveRoot
-DragWindowResizerTest.WindowDragWithMultiDisplaysRightToLeft

# TODO: Extended desktop. http://crbug.com/695570
-ExtendedDesktopTest.KeyEventsOnLockScreen
-ExtendedDesktopTest.TestCursor

// Test is flaky. http://crbug.com/794703.
-HighlighterControllerTest.HighlighterGesturesScaled

# TODO: Top-of-screen mouse reveal doesn't work, maybe problem with
# EventGenerator. http://crbug.com/698085
-ImmersiveFullscreenControllerTest.Bubbles
-ImmersiveFullscreenControllerTest.Delegate
-ImmersiveFullscreenControllerTest.DifferentModalityEnterExit
-ImmersiveFullscreenControllerTest.EndRevealViaGesture
-ImmersiveFullscreenControllerTest.EventsDoNotLeakToWindowUnderneath
-ImmersiveFullscreenControllerTest.Focus
-ImmersiveFullscreenControllerTest.Inactive
-ImmersiveFullscreenControllerTest.MouseEventsVerticalDisplayLayout
-ImmersiveFullscreenControllerTest.MouseHoveredWithoutMoving
-ImmersiveFullscreenControllerTest.OnMouseEvent
-ImmersiveFullscreenControllerTest.RevealViaGestureChildConsumesEvents
-ImmersiveFullscreenControllerTest.Transient

# TODO: http://crbug.com/725257
-LockScreenSanityTest.PasswordSubmitClearsPasswordAfterAuthentication

# TODO: Triage
-LoginMetricsRecorderTest.UnlockAttempts
-LoginPasswordViewTest.PasswordSubmitClearsPassword
-LoginPasswordViewTest.PasswordSubmitIncludesPasswordText
-LoginPasswordViewTest.PasswordSubmitViaButton

# TODO: Triage
-MagnificationControllerTest.CenterTextCaretInViewport
-MagnificationControllerTest.CenterTextCaretNotInsideViewport
-MagnificationControllerTest.FollowTextInputFieldFocus
-MagnificationControllerTest.FollowTextInputFieldKeyPress
-MagnificationControllerTest.PanWindowToLeft
-MagnificationControllerTest.PanWindowToRight

# TODO: CursorManagerTestApi. http://crbug.com/780637
-MirrorWindowControllerTest.MirrorCursorBasic
-MirrorWindowControllerTest.MirrorCursorLocations
-MirrorWindowControllerTest.MirrorCursorMoveOnEnter
-MirrorWindowControllerTest.MirrorCursorRotate
-MouseCursorEventFilterTest.CursorDeviceScaleFactor

# TODO: Triage
-MultiMirroringTest.CompositingCursorInMultiSoftwareMirroring
-MultiMirroringTest.HardwareMirrorMode
-MultiMirroringTest.SoftwareMirrorModeBasics
-MultiMirroringTest.SourceAndDestinationInSoftwareMirrorMode
-MultiMirroringTest.SwitchToAndFromSoftwareMirrorMode

# TODO: MultiWindowResizeController. http://crbug.com/699172
-MultiWindowResizeControllerTest.BasicTests
-MultiWindowResizeControllerTest.ClickOutside
-MultiWindowResizeControllerTest.DeleteWindow
-MultiWindowResizeControllerTest.Drag
-MultiWindowResizeControllerTest.IsOverWindows
-MultiWindowResizeControllerTest.Three
-MultiWindowResizeControllerTest.TwoSnappedWindows
-NativeCursorManagerAshTest.FractionalScale
-NativeCursorManagerAshTest.LockCursor
-NativeCursorManagerAshTest.SetCursor
-NativeCursorManagerAshTest.SetCursorSize
-NativeCursorManagerAshTest.SetDeviceScaleFactorAndRotation
-NativeCursorManagerAshTest.UIScaleShouldNotChangeCursor

# TODO: Maybe due to dragging across displays. http://crbug.com/698888
-NormalPanelPopup/PanelWindowResizerTransientTest.PanelWithTransientChild/0

# TODO: Triage
-OverviewGestureHandlerTest.HorizontalScrollInOverview
-OverviewGestureHandlerTest.ScrollUpDownWithoutReleasing
-OverviewGestureHandlerTest.VerticalScrolls

# TODO: Maybe due to dragging across displays. http://crbug.com/698888
-PanelWindowResizerTest.AttachToSecondDisplay
-PanelWindowResizerTest.AttachToSecondFullscreenDisplay
-PanelWindowResizerTest.DetachAcrossDisplays
-PanelWindowResizerTest.DetachThenAttachToSecondDisplay
-PanelWindowResizerTest.DetachThenDragAcrossDisplays

# TODO: Needs cursor manager support. http://crbug.com/698033
-PartialScreenshotControllerTest.CursorVisibilityTest
-PartialScreenshotControllerTest.LargeCursor

# TODO: Needs LockStateController. http://crbug.com/632189.
-PreferredReservedAcceleratorsTest.AcceleratorsWithFullscreen
-PreferredReservedAcceleratorsTest.AcceleratorsWithPinned

# TODO: CursorManagerTestApi. http://crbug.com/780637
-ResizeShadowAndCursorTest.MaximizeRestore
-ResizeShadowAndCursorTest.Minimize
-ResizeShadowAndCursorTest.MouseDrag
-ResizeShadowAndCursorTest.MouseHover
-ResizeShadowAndCursorTest.Touch

# TODO: Triage
-ShelfLayoutManagerTest.SwipingUpOnShelfInLaptopModeForFullscreenAppList
-ShelfLayoutManagerTest.SwipingUpOnShelfInTabletModeForFullscreenAppList
-ShelfLayoutManagerTest.AutoHide
-ShelfLayoutManagerTest.AutoHideShelfOnScreenBoundary
-ShelfLayoutManagerTest.GestureDrag

# TODO: http://crbug.com/695562
-ShelfWindowWatcherTest.CreateAndRemoveShelfItemProperties

# TODO: Probably event filter problem. http://crbug.com/695758
-ShellTest.TestPreTargetHandlerOrder

# TODO: Needs virtual keyboard. http://crbug.com/698892
-SystemModalContainerLayoutManagerTest.SystemModalDialogGetPushedButNotCroppedFromKeyboard
-SystemModalContainerLayoutManagerTest.SystemModalDialogGetPushedButNotCroppedFromKeyboardIfNotCentered
-SystemModalContainerLayoutManagerTest.SystemModalDialogGetPushedFromKeyboard

# TODO: ShellPortMash::CreateTabletModeEventHandler. http://crbug.com/698093
-TabletModeWindowManagerTest.ExitFullScreenWithEdgeSwipeFromBottom
-TabletModeWindowManagerTest.ExitFullScreenWithEdgeSwipeFromTop
-TabletModeWindowManagerTest.ExitFullScreenWithEdgeTouchAtBottom
-TabletModeWindowManagerTest.ExitFullScreenWithEdgeTouchAtTop

# TODO: Needs CursorManager. http://crbug.com/631103
-TooltipControllerTest.HideTooltipWhenCursorHidden

# TODO: Touch HUD. http://crbug.com/698032
-TouchHudDebugTest.DualDisplays
-TouchHudDebugTest.Headless
-TouchHudDebugTest.MirrorDisplays
-TouchHudDebugTest.RemovePrimaryDisplay
-TouchHudDebugTest.RemoveSecondaryDisplay
-TouchHudDebugTest.SingleDisplay
-TouchHudDebugTest.SwapPrimaryDisplay
-TouchHudDebugTest.SwapPrimaryThenMirrorDisplays

# TODO: Needs virtual keyboard. http://crbug.com/616909
-TrayIMETest.HidesOnA11yEnabled
-TrayIMETest.PerformActionOnDetailedView

# TODO: Wire up mirroring and unified display: http://crbug.com/770243.
-UnifiedMouseWarpControllerTest.BoundaryTest
-UnifiedMouseWarpControllerTest.BoundaryAndWarpSimpleTest
-UnifiedMouseWarpControllerTest.BoundaryTestGrid
-UnifiedMouseWarpControllerTest.WarpMouse

# TODO: Needs virtual keyboard. http://crbug.com/616909
-VirtualKeyboardControllerAutoTest.DisabledIfInternalKeyboardPresent
-VirtualKeyboardControllerAutoTest.DisabledIfNoTouchScreen
-VirtualKeyboardControllerAutoTest.EnabledDuringTabletMode
-VirtualKeyboardControllerAutoTest.SuppressedIfExternalKeyboardPresent
-VirtualKeyboardControllerAutoTest.SuppressedInMaximizedMode

# TODO: Needs virtual keyboard, but different issue. http://crbug.com/695640
-VirtualKeyboardRootWindowControllerTest.EnsureCaretInWorkAreaWithMultipleDisplays
-VirtualKeyboardRootWindowControllerTest.FollowInputFocus
-VirtualKeyboardRootWindowControllerTest.VirtualKeyboardOnTouchableDisplayOnly
-VirtualKeyboardRootWindowControllerTest.VirtualKeyboardShowOnSpecifiedDisplay

# TODO: http://crbug.com/698894
-WindowCycleControllerTest.MouseEventsCaptured
-WindowCycleControllerTest.TabKeyNotLeaked

# TODO: Needs CursorManager. http://crbug.com/631103
-WindowManagerTest.MouseEventCursors
-WindowManagerTest.UpdateCursorVisibility
-WindowManagerTest.UpdateCursorVisibilityOnKeyEvent
-WindowManagerTest.UpdateCursorVisibilityAccelerator
-WindowManagerTest.TestCursorClientObserver

# TODO: Crashes in bounds_animator.cc. http://crbug.com/730759
-WindowSelectorTest.MultipleDisplays
-WindowSelectorTest.RemoveDisplay
-WindowSelectorTest.RemoveDisplayWithAnimation

# TODO: CursorManagerTestApi. http://crbug.com/780637
-WindowTreeHostManagerTest.UpdateMouseLocationAfterDisplayChange_PrimaryDisconnected
-WindowTreeHostManagerTest.UpdateMouseLocationAfterDisplayChange_SwapPrimary

# TODO: Panel focus is broken. http://crbug.com/780936
-WorkspaceControllerTest.WindowEdgeMouseHitTestPanel

# TODO: Possible event filter problem. http://crbug.com/699175
-WorkspaceEventHandlerTest.DoubleClickCaptionTogglesMaximize
-WorkspaceEventHandlerTest.DoubleClickSingleAxisResizeEdge
-WorkspaceEventHandlerTest.DoubleClickSingleAxisWhenSideSnapped
-WorkspaceEventHandlerTest.DoubleTapCaptionTogglesMaximize

# TODO: Needs virtual keyboard. http://crbug.com/616909
-WorkspaceLayoutManagerKeyboardTest.AdjustWindowForA11yKeyboard
-WorkspaceLayoutManagerKeyboardTest.ChildWindowFocused
-WorkspaceLayoutManagerKeyboardTest.IgnoreKeyboardBoundsChange
-WorkspaceLayoutManagerKeyboardTest.IgnoreWorkAreaChangeinNonStickyMode

# TODO: Possible display config issue. http://crbug.com/793101
-WorkspaceLayoutManagerTest.KeepMinimumVisibilityInDisplays

# TODO: Needs CursorManager. http://crbug.com/631103
-WorkspaceWindowResizerTest.MouseMoveWithTouchDrag

# Keep alphabetized. See comment at top of file.
