""" -*- Mode: Python -*-
 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.

 The name of the event which real interface should have nsIDOM-prefix,
 and should be in nsIDOM<name>.idl file and which should have
 <name>Init dictionary for the event constructor. """

simple_events = [
    'ProgressEvent',
    'StorageEvent',
    'MozSettingsEvent',
    'CustomEvent',
    'PageTransitionEvent',
    'DOMTransactionEvent',
    'PopStateEvent',
    'HashChangeEvent',
    'CloseEvent',
    'DeviceOrientationEvent',
    'MozApplicationEvent',
    'SmartCardEvent',
    'StyleRuleChangeEvent',
    'StyleSheetChangeEvent',
    'StyleSheetApplicableStateChangeEvent',
#ifdef MOZ_WIDGET_GONK
    'MozWifiP2pStatusChangeEvent',
    'MozWifiStatusChangeEvent',
    'MozWifiConnectionInfoEvent',
#endif
#ifdef MOZ_B2G_RIL
    'MozCellBroadcastEvent',
    'MozVoicemailEvent',
#endif
    'ElementReplaceEvent',
    'MozSmsEvent',
    'MozMmsEvent',
#ifdef MOZ_WEBSPEECH
    'SpeechSynthesisEvent',
#endif
    'DeviceStorageChangeEvent',
    'PopupBlockedEvent',
    'RecordErrorEvent',
#ifdef MOZ_WEBSPEECH
    'SpeechRecognitionEvent',
#endif
  ]

""" include file names """
special_includes = [
    'nsContentUtils.h',
    'nsIDOMApplicationRegistry.h',
    'nsIDOMFile.h'
  ]

""" name of the type to not include using #include "typename.h" """
exclude_automatic_type_include = [
    'nsISupports',
    'mozIDOMApplication',
    'nsIDOMBlob'
  ]

""" Map xpidl interface names to implementation classes. The third column is the canonical interface. """
xpidl_to_native = [
    ['nsIDOMDocument', 'nsIDocument', 'nsIDocument'],
    ['nsIDOMElement', 'mozilla::dom::Element', 'mozilla::dom::Element'],
    ['nsIDOMCSSStyleSheet', 'nsCSSStyleSheet', 'nsIStyleSheet'],
    ['nsIDOMWindow', 'nsGlobalWindow', 'nsIDOMEventTarget']
  ]

