# Being ported, https://crbug.com/754861.

# These rely on chmod() for MakeFileUnread/writable(), https://crbug.com/759853.
-BaseFileTest.ReadonlyBaseFile
-BaseFileTest.RenameWithError
-BaseFileTest.RenameWithErrorInProgress
-BlobTransportControllerTest.Disk
-DownloadFile/DownloadFileTestWithRename.RenameError/0
-DownloadFile/DownloadFileTestWithRename.RenameError/1
-DownloadFile/DownloadFileTestWithRename.RenameWithErrorRetry/0
-DownloadFile/DownloadFileTestWithRename.RenameWithErrorRetry/1

# https://crbug.com/761214
-RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest
-WebContentsAudioInputStreamTest.MirroringNothingWithTargetChange/0

# Flaky: https://crbug.com/760687.
-CacheStorageManagerTest.GetAllOriginsUsageWithOldIndex
-CacheStorageManagerTest.GetOriginSizeWithOldIndex

# Flaky: https://crbug.com/759653.
-RenderWidgetHostViewAuraTest.Resize

# Flaky: https://crbug.com/766223.
-AppCacheUpdateJobTest.AlreadyChecking/1
-AppCacheUpdateJobTest.AlreadyDownloading/1

# These expect video capture: https://crbug.com/766356.
-MediaStreamManagerTest.MakeAndCancelMultipleRequests
-MediaStreamManagerTest.MakeMediaAccessRequest
-MediaStreamManagerTest.MakeMultipleRequests

# Failing: https://crbug.com/771701.
-IndexedDBFactoryTest.DataFormatVersion

# Flaky: https://crbug.com/776424.
-RenderWidgetHostViewGuestSurfaceTest.TestGuestSurface

# Flaky: https://crbug.com/800877.
-RenderWidgetHostViewAuraTest.SetCanScrollForWebMouseWheelEvent

# Flaky: https://crbug.com/800415.
-RenderWidgetHostViewAuraTest.CursorVisibilityChange

# Flaky: https://crbug.com/777916.
-NotificationDatabaseTest.NotificationIdCorruption

# Flaky: https://crbug.com/777917.
-LevelDBTransactionRangeTests/LevelDBTransactionRangeTest.*

# Flaky: https://crbug.com/780508.
-ServiceWorkerProviderHostTest.*

# Flaky, https://crbug.com/784449.
-WebContentsAudioInputStreamTest.MirroringOneStreamAfterTargetChange*

# Flaky, https://crbug.com/802375 and https://crbug.com/776424.
-RenderWidgetHostViewAuraOverscrollTest.GestureScrollDebounceOverscrolls
-RenderWidgetHostViewAuraOverscrollTest.GestureScrollDebounceTimerOverscroll
-RenderWidgetHostViewAuraOverscrollTest.TouchGestureEndDispatchedAfterOverscrollComplete
-RenderWidgetHostViewAuraWheelScrollLatchingEnabledTest.TimerBasedWheelEventPhaseInfo
-RenderWidgetHostViewAuraAsyncWheelEventsEnabledTest.TimerBasedWheelEventPhaseInfo
