# speech not enabled crbug.com/487255
interface SpeechSynthesisEvent : Event # speech not enabled
interface SpeechSynthesisUtterance : EventTarget
interface webkitSpeechGrammar
interface webkitSpeechGrammarList
interface webkitSpeechRecognition : EventTarget
interface webkitSpeechRecognitionError : Event
interface webkitSpeechRecognitionEvent : Event

# permissions api not enabled in webview crbug.com/490120
interface PermissionStatus : EventTarget
interface Permissions

# notifications api not enabled in webview crbug.com/434712
interface Notification : EventTarget

# not yet supported in webview.
interface SharedWorker : EventTarget

# push API not supported in webview
interface PushManager
interface PushSubscription
interface PushSubscriptionOptions

# presentation api not supported in webview crbug.com/521319
interface Presentation
interface PresentationAvailability : EventTarget
interface PresentationConnection : EventTarget
interface PresentationConnectionAvailableEvent : Event
interface PresentationConnectionCloseEvent : Event
interface PresentationRequest : EventTarget

# remoteplayback api not supported in webview crbug.com/521319
interface RemotePlayback : EventTarget

# crbug.com/589500
interface HTMLMediaElement : HTMLElement
    getter sinkId
    method setSinkId
    setter disableRemotePlayback       # crbug.com/521319
    getter disableRemotePlayback       # crbug.com/521319
    getter remote                      # crbug.com/521319

interface Navigator
    getter permissions                 # crbug.com/490120
    method registerProtocolHandler     # crbug.com/589502
    getter presentation                # crbug.com/521319
    method unregisterProtocolHandler   # crbug.com/589502

# notifications not yet supported in webview, crbug.com/551446
interface ServiceWorkerRegistration : EventTarget
    getter pushManager
    method getNotifications
    method showNotification

# crbug.com/589504
interface HTMLInputElement : HTMLElement
    getter webkitEntries

# crbug.com/671461
interface MediaDevices : EventTarget
    getter ondevicechange
    setter ondevicechange

# TODO(timvolodine): investigate in more detail
[GLOBAL OBJECT]
    method openDatabase
    attribute layoutTestController
    attribute eventSender
    method webkitRequestFileSystem
    attribute testRunner
    attribute internals
    attribute accessibilityController
    attribute textInputController
    attribute mojo
    attribute gamepadController
    attribute GCController
    getter speechSynthesis
    attribute chrome                   # crbug.com/618471
    method gc
    method webkitResolveLocalFileSystemURL

# TODO(timvolodine): check screen orientation lock api
# TODO(timvolodine): check notifications in service workers
# TODO(timvolodine): add File System API
