#### GPU
# GPU Shutdown https://crbug.com/781714
-WebRtcCaptureFromElementBrowserTest.CaptureFromCanvas2DHandlesContextLoss
-WebRtcCaptureFromElementBrowserTest.CaptureFromOpaqueCanvas2DHandlesContextLoss

# TODO: investigate flaky failure http://crbug.com/783434
-GpuProcessHostBrowserTest.Shutdown

#### WaitForChildFrameSurfaceReady
# WaitForChildFrameSurfaceReady doesn't work http://crbug.com/763452
-PointerLockBrowserTest.*
-SitePerProcessGestureHitTestBrowserTest.*
-SitePerProcessHighDPIHitTestBrowserTest.*
-SitePerProcessInternalsHitTestBrowserTest.*
-SitePerProcessMouseWheelHitTestBrowserTest.*
-TouchSelectionForCrossProcessFramesTests/TouchSelectionControllerClientAuraSiteIsolationTest.*

# Further WaitForChildFrameSurfaceReady doesn't work http://crbug.com/787945
-SitePerProcessBrowserTest.CompositorViewportPixelSizeTest
-SitePerProcessBrowserTest.GestureFlingStartEventsBubble
-SitePerProcessBrowserTest.GestureFlingStart
-SitePerProcessBrowserTest.NavigateCrashedSubframeToSameSite
-SitePerProcessBrowserTest.OOPIFDetachDuringAnimation
-SitePerProcessBrowserTest.PhysicalBackingSizeTest
-SitePerProcessBrowserTest.ScrollBubblingFromNestedOOPIFTest
-SitePerProcessBrowserTest.ScrollBubblingFromOOPIFTest
-SitePerProcessBrowserTest.ScrollBubblingFromOOPIFWithBodyOverflowHidden
-SitePerProcessBrowserTest.ScrollLocalSubframeInOOPIF
-SitePerProcessBrowserTest.TwoSubframesCreatePopupMenuWidgetsSimultaneously
-SitePerProcessBrowserTest.ViewBoundsInNestedFrameTest
-SitePerProcessHitTestBrowserTest.AsynchronousHitTestChildTimeout*
-SitePerProcessHitTestBrowserTest.BubbledScrollEventsTransformedCorrectly*
-SitePerProcessHitTestBrowserTest.CancelWheelScrollBubblingOnWheelTargetDeletion*
-SitePerProcessHitTestBrowserTest.CreateContextMenuTest*
-SitePerProcessHitTestBrowserTest.CrossProcessMouseCapture*
-SitePerProcessHitTestBrowserTest.CrossProcessMouseEnterAndLeaveTest*
-SitePerProcessHitTestBrowserTest.CrossProcessTooltipTest*
-SitePerProcessHitTestBrowserTest.CursorUpdateReceivedFromCrossSiteIframe*
-SitePerProcessHitTestBrowserTest.HitTestLayerSquashing*
-SitePerProcessHitTestBrowserTest.HitTestNestedFrames*
-SitePerProcessHitTestBrowserTest.HitTestStaleDataDeletedView*
-SitePerProcessHitTestBrowserTest.HitTestWatermark*
-SitePerProcessHitTestBrowserTest.InputEventRouterGesturePreventDefaultTargetMapTest*
-SitePerProcessHitTestBrowserTest.InputEventRouterGestureTargetMapTest*
-SitePerProcessHitTestBrowserTest.InputEventRouterTouchpadGestureTargetTest*
-SitePerProcessHitTestBrowserTest.InputEventRouterWheelCoalesceTest*
-SitePerProcessHitTestBrowserTest.NestedSurfaceHitTestTest*
-SitePerProcessHitTestBrowserTest.OverlapSurfaceHitTestTest*
-SitePerProcessHitTestBrowserTest.PopupMenuTest*
-SitePerProcessHitTestBrowserTest.RootConsumesScrollDuringOverscrollGesture*
-SitePerProcessHitTestBrowserTest.ScrollEventToOOPIF*
-SitePerProcessHitTestBrowserTest.SubframeGesturePinchDeniedBySubframeTouchAction*
-SitePerProcessHitTestBrowserTest.SubframeTouchEventRouting*
-SitePerProcessHitTestBrowserTest.SurfaceHitTestPointerEventsNone*
-SitePerProcessHitTestBrowserTest.SurfaceHitTestTest*
-SitePerProcessMacBrowserTest.InputEventRouterTouchpadGestureTargetTest
-SitePerProcessNonIntegerScaleFactorHitTestBrowserTest.NestedSurfaceHitTestTest*
-SitePerProcessMouseWheelHitTestBrowserTestWheelScrollLatchingDisabled*

#### Compositor Frame Submission
# Waiting for CompositorFrames times out http://crbug.com/787941
-SitePerProcessBrowserTest.CompositorFrameSwapped
-SitePerProcessBrowserTest.HiddenOOPIFWillNotGenerateCompositorFrames
-SitePerProcessBrowserTest.HiddenOOPIFWillNotGenerateCompositorFramesAfterNavigation
-SitePerProcessBrowserTest.SubframeVisibleAfterRenderViewBecomesSwappedOut

#### VizProcessTransportFactory
# No ContextProvider http://crbug.com/785268
-ImageTransportFactoryTearDownBrowserTest.*
-ImageTransportFactoryBrowserTest.TestLostContext

#### Hit Testing
# Flaky Result on Windows-7 http://crbug.com/883463
-MainThreadEventQueueBrowserTest.MouseMove

# Uses LatencyInfo for input info https://crbug.com/791557
-MouseLatencyBrowserTest.CoalescedMouseMovesCorrectlyTerminated

### Mac
# BrowserSideFlingBrowserTest timing out https://crbug.com/842325
-BrowserSideFlingBrowserTest.AutoscrollFling
-BrowserSideFlingBrowserTest.TouchpadFling
-BrowserSideFlingBrowserTest.TouchscreenFling
