зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1423562 part 3. Remove [PrimaryGlobal] and require explicit [Exposed] annotations on everything. r=edgar
For review purposes, the important changes are in dom/bindings/Configuration.py and dom/bindings/parser. The changes to the IDL files were done by running these in dom/webidl and dom/bindings/test: perl -pi -e 's/^interface ([A-Za-z0-9_]+)($| [:{])/[Exposed=Window]\ninterface \1\2/' *.webidl perl -pi -e 'BEGIN { $/ = undef; } s/\[HTMLConstructor\]\n\[Exposed=Window\]/[HTMLConstructor,\n Exposed=Window]/g' *.webidl perl -pi -e 'BEGIN { $/ = undef; } s/\[NoInterfaceObject\]\n\[Exposed=Window\]/[NoInterfaceObject,\n Exposed=Window]/g' *.webidl perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\n\[Exposed=Window\]/[ChromeOnly,\n Exposed=Window]/g' *.webidl And running this in dom/chrome-webidl: perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\ninterface/[ChromeOnly, Exposed=Window]\ninterface/g' *.webidl and then fixing all the resulting parser failures. I then verified that the generated code is the same as before this change. Differential Revision: https://phabricator.services.mozilla.com/D46697 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
29f544b623
Коммит
e5497b955e
|
@ -708,9 +708,8 @@ struct NamedConstructor {
|
||||||
* underlying global.
|
* underlying global.
|
||||||
* unscopableNames if not null it points to a null-terminated list of const
|
* unscopableNames if not null it points to a null-terminated list of const
|
||||||
* char* names of the unscopable properties for this interface.
|
* char* names of the unscopable properties for this interface.
|
||||||
* isGlobal if true, we're creating interface objects for a [Global] or
|
* isGlobal if true, we're creating interface objects for a [Global] interface,
|
||||||
* [PrimaryGlobal] interface, and hence shouldn't define properties on
|
* and hence shouldn't define properties on the prototype object.
|
||||||
* the prototype object.
|
|
||||||
* legacyWindowAliases if not null it points to a null-terminated list of const
|
* legacyWindowAliases if not null it points to a null-terminated list of const
|
||||||
* char* names of the legacy window aliases for this
|
* char* names of the legacy window aliases for this
|
||||||
* interface.
|
* interface.
|
||||||
|
|
|
@ -748,8 +748,7 @@ class Descriptor(DescriptorProvider):
|
||||||
Returns true if this is the primary interface for a global object
|
Returns true if this is the primary interface for a global object
|
||||||
of some sort.
|
of some sort.
|
||||||
"""
|
"""
|
||||||
return (self.interface.getExtendedAttribute("Global") or
|
return self.interface.getExtendedAttribute("Global")
|
||||||
self.interface.getExtendedAttribute("PrimaryGlobal"))
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def namedPropertiesEnumerable(self):
|
def namedPropertiesEnumerable(self):
|
||||||
|
|
|
@ -236,8 +236,6 @@ class IDLScope(IDLObject):
|
||||||
# A mapping from global name to the set of global interfaces
|
# A mapping from global name to the set of global interfaces
|
||||||
# that have that global name.
|
# that have that global name.
|
||||||
self.globalNameMapping = defaultdict(set)
|
self.globalNameMapping = defaultdict(set)
|
||||||
self.primaryGlobalAttr = None
|
|
||||||
self.primaryGlobalName = None
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.QName()
|
return self.QName()
|
||||||
|
@ -465,8 +463,17 @@ class IDLExposureMixins():
|
||||||
raise WebIDLError("Unknown [Exposed] value %s" % globalName,
|
raise WebIDLError("Unknown [Exposed] value %s" % globalName,
|
||||||
[self._location])
|
[self._location])
|
||||||
|
|
||||||
if len(self._exposureGlobalNames) == 0:
|
# Verify that we are exposed _somwhere_ if we have some place to be
|
||||||
self._exposureGlobalNames.add(scope.primaryGlobalName)
|
# exposed. We don't want to assert that we're definitely exposed
|
||||||
|
# because a lot of our parser tests have small-enough IDL snippets that
|
||||||
|
# they don't include any globals, and we don't really want to go through
|
||||||
|
# and add global interfaces and [Exposed] annotations to all those
|
||||||
|
# tests.
|
||||||
|
if len(scope.globalNames) != 0:
|
||||||
|
if (len(self._exposureGlobalNames) == 0):
|
||||||
|
raise WebIDLError(("'%s' is not exposed anywhere even though we have "
|
||||||
|
"globals to be exposed to") % self,
|
||||||
|
[self.location])
|
||||||
|
|
||||||
globalNameSetToExposureSet(scope, self._exposureGlobalNames,
|
globalNameSetToExposureSet(scope, self._exposureGlobalNames,
|
||||||
self.exposureSet)
|
self.exposureSet)
|
||||||
|
@ -798,8 +805,10 @@ class IDLInterfaceMixin(IDLInterfaceOrInterfaceMixinOrNamespace):
|
||||||
# Expose to the globals of interfaces that includes this mixin if this
|
# Expose to the globals of interfaces that includes this mixin if this
|
||||||
# mixin has no explicit [Exposed] so that its members can be exposed
|
# mixin has no explicit [Exposed] so that its members can be exposed
|
||||||
# based on the base interface exposure set.
|
# based on the base interface exposure set.
|
||||||
# Make sure this is done before IDLExposureMixins.finish call to
|
#
|
||||||
# prevent exposing to PrimaryGlobal by default.
|
# Make sure this is done before IDLExposureMixins.finish call, since
|
||||||
|
# that converts our set of exposure global names to an actual exposure
|
||||||
|
# set.
|
||||||
hasImplicitExposure = len(self._exposureGlobalNames) == 0
|
hasImplicitExposure = len(self._exposureGlobalNames) == 0
|
||||||
if hasImplicitExposure:
|
if hasImplicitExposure:
|
||||||
self._exposureGlobalNames.update(self.actualExposureGlobalNames)
|
self._exposureGlobalNames.update(self.actualExposureGlobalNames)
|
||||||
|
@ -997,10 +1006,8 @@ class IDLInterfaceOrNamespace(IDLInterfaceOrInterfaceMixinOrNamespace):
|
||||||
|
|
||||||
self.totalMembersInSlots = self.parent.totalMembersInSlots
|
self.totalMembersInSlots = self.parent.totalMembersInSlots
|
||||||
|
|
||||||
# Interfaces with [Global] or [PrimaryGlobal] must not
|
# Interfaces with [Global] must not have anything inherit from them
|
||||||
# have anything inherit from them
|
if self.parent.getExtendedAttribute("Global"):
|
||||||
if (self.parent.getExtendedAttribute("Global") or
|
|
||||||
self.parent.getExtendedAttribute("PrimaryGlobal")):
|
|
||||||
# Note: This is not a self.parent.isOnGlobalProtoChain() check
|
# Note: This is not a self.parent.isOnGlobalProtoChain() check
|
||||||
# because ancestors of a [Global] interface can have other
|
# because ancestors of a [Global] interface can have other
|
||||||
# descendants.
|
# descendants.
|
||||||
|
@ -1094,7 +1101,7 @@ class IDLInterfaceOrNamespace(IDLInterfaceOrInterfaceMixinOrNamespace):
|
||||||
if self.globalNames:
|
if self.globalNames:
|
||||||
raise WebIDLError(
|
raise WebIDLError(
|
||||||
"Can't have both a named constructor and [Global]",
|
"Can't have both a named constructor and [Global]",
|
||||||
[self.location, self.namedConstructors.location])
|
[self.location, ctor.location])
|
||||||
assert len(ctor._exposureGlobalNames) == 0
|
assert len(ctor._exposureGlobalNames) == 0
|
||||||
ctor._exposureGlobalNames.update(self._exposureGlobalNames)
|
ctor._exposureGlobalNames.update(self._exposureGlobalNames)
|
||||||
ctor.finish(scope)
|
ctor.finish(scope)
|
||||||
|
@ -1718,20 +1725,6 @@ class IDLInterface(IDLInterfaceOrNamespace):
|
||||||
self.parentScope.addIfaceGlobalNames(self.identifier.name,
|
self.parentScope.addIfaceGlobalNames(self.identifier.name,
|
||||||
self.globalNames)
|
self.globalNames)
|
||||||
self._isOnGlobalProtoChain = True
|
self._isOnGlobalProtoChain = True
|
||||||
elif identifier == "PrimaryGlobal":
|
|
||||||
if not attr.noArguments():
|
|
||||||
raise WebIDLError("[PrimaryGlobal] must take no arguments",
|
|
||||||
[attr.location])
|
|
||||||
if self.parentScope.primaryGlobalAttr is not None:
|
|
||||||
raise WebIDLError(
|
|
||||||
"[PrimaryGlobal] specified twice",
|
|
||||||
[attr.location,
|
|
||||||
self.parentScope.primaryGlobalAttr.location])
|
|
||||||
self.parentScope.primaryGlobalAttr = attr
|
|
||||||
self.parentScope.primaryGlobalName = self.identifier.name
|
|
||||||
self.parentScope.addIfaceGlobalNames(self.identifier.name,
|
|
||||||
[self.identifier.name])
|
|
||||||
self._isOnGlobalProtoChain = True
|
|
||||||
elif identifier == "LegacyWindowAlias":
|
elif identifier == "LegacyWindowAlias":
|
||||||
if attr.hasValue():
|
if attr.hasValue():
|
||||||
self.legacyWindowAliases = [attr.value()]
|
self.legacyWindowAliases = [attr.value()]
|
||||||
|
@ -3780,10 +3773,6 @@ class IDLInterfaceMember(IDLObjectWithIdentifier, IDLExposureMixins):
|
||||||
return self._extendedAttrDict.get(name, None)
|
return self._extendedAttrDict.get(name, None)
|
||||||
|
|
||||||
def finish(self, scope):
|
def finish(self, scope):
|
||||||
# We better be exposed _somewhere_.
|
|
||||||
if (len(self._exposureGlobalNames) == 0):
|
|
||||||
print(self.identifier.name)
|
|
||||||
assert len(self._exposureGlobalNames) != 0
|
|
||||||
IDLExposureMixins.finish(self, scope)
|
IDLExposureMixins.finish(self, scope)
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
|
@ -5484,10 +5473,8 @@ class IDLIncludesStatement(IDLObject):
|
||||||
raise WebIDLError("Right-hand side of 'includes' is not an "
|
raise WebIDLError("Right-hand side of 'includes' is not an "
|
||||||
"interface mixin",
|
"interface mixin",
|
||||||
[self.mixin.location, mixin.location])
|
[self.mixin.location, mixin.location])
|
||||||
if len(interface._exposureGlobalNames) != 0:
|
|
||||||
mixin.actualExposureGlobalNames.update(interface._exposureGlobalNames)
|
mixin.actualExposureGlobalNames.update(interface._exposureGlobalNames)
|
||||||
else:
|
|
||||||
mixin.actualExposureGlobalNames.add(scope.primaryGlobalName);
|
|
||||||
|
|
||||||
interface.addIncludedMixin(mixin)
|
interface.addIncludedMixin(mixin)
|
||||||
self.interface = interface
|
self.interface = interface
|
||||||
|
@ -7335,12 +7322,6 @@ class Parser(Tokenizer):
|
||||||
|
|
||||||
self._globalScope = IDLScope(BuiltinLocation("<Global Scope>"), None, None)
|
self._globalScope = IDLScope(BuiltinLocation("<Global Scope>"), None, None)
|
||||||
|
|
||||||
# To make our test harness work, pretend like we have a primary global already.
|
|
||||||
# Note that we _don't_ set _globalScope.primaryGlobalAttr,
|
|
||||||
# so we'll still be able to detect multiple PrimaryGlobal extended attributes.
|
|
||||||
self._globalScope.primaryGlobalName = "FakeTestPrimaryGlobal"
|
|
||||||
self._globalScope.addIfaceGlobalNames("FakeTestPrimaryGlobal", ["FakeTestPrimaryGlobal"])
|
|
||||||
|
|
||||||
self._installBuiltins(self._globalScope)
|
self._installBuiltins(self._globalScope)
|
||||||
self._productions = []
|
self._productions = []
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
|
import traceback
|
||||||
|
|
||||||
def WebIDLTest(parser, harness):
|
def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global]
|
[Global, Exposed=TestConstructorGlobal]
|
||||||
interface TestConstructorGlobal {
|
interface TestConstructorGlobal {
|
||||||
constructor();
|
constructor();
|
||||||
};
|
};
|
||||||
|
@ -18,7 +20,8 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global, NamedConstructor=FooBar]
|
[Global, Exposed=TestNamedConstructorGlobal,
|
||||||
|
NamedConstructor=FooBar]
|
||||||
interface TestNamedConstructorGlobal {
|
interface TestNamedConstructorGlobal {
|
||||||
};
|
};
|
||||||
""")
|
""")
|
||||||
|
@ -32,7 +35,8 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[NamedConstructor=FooBar, Global]
|
[NamedConstructor=FooBar, Global,
|
||||||
|
Exposed=TestNamedConstructorGlobal]
|
||||||
interface TestNamedConstructorGlobal {
|
interface TestNamedConstructorGlobal {
|
||||||
};
|
};
|
||||||
""")
|
""")
|
||||||
|
@ -46,7 +50,7 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global, HTMLConstructor]
|
[Global, HTMLConstructor, Exposed=TestHTMLConstructorGlobal]
|
||||||
interface TestHTMLConstructorGlobal {
|
interface TestHTMLConstructorGlobal {
|
||||||
};
|
};
|
||||||
""")
|
""")
|
||||||
|
@ -61,7 +65,7 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[HTMLConstructor, Global]
|
[HTMLConstructor, Global, Exposed=TestHTMLConstructorGlobal]
|
||||||
interface TestHTMLConstructorGlobal {
|
interface TestHTMLConstructorGlobal {
|
||||||
};
|
};
|
||||||
""")
|
""")
|
||||||
|
|
|
@ -2,9 +2,9 @@ import WebIDL
|
||||||
|
|
||||||
def WebIDLTest(parser, harness):
|
def WebIDLTest(parser, harness):
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[PrimaryGlobal] interface Foo {};
|
[Global, Exposed=Foo] interface Foo {};
|
||||||
[Global=(Bar1,Bar2)] interface Bar {};
|
[Global=(Bar, Bar1,Bar2), Exposed=Bar] interface Bar {};
|
||||||
[Global=Baz2] interface Baz {};
|
[Global=(Baz, Baz2), Exposed=Baz] interface Baz {};
|
||||||
|
|
||||||
[Exposed=(Foo,Bar1)]
|
[Exposed=(Foo,Bar1)]
|
||||||
interface Iface {
|
interface Iface {
|
||||||
|
@ -51,10 +51,11 @@ def WebIDLTest(parser, harness):
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[PrimaryGlobal] interface Foo {};
|
[Global, Exposed=Foo] interface Foo {};
|
||||||
[Global=(Bar1,Bar2)] interface Bar {};
|
[Global=(Bar, Bar1, Bar2), Exposed=Bar] interface Bar {};
|
||||||
[Global=Baz2] interface Baz {};
|
[Global=(Baz, Baz2), Exposed=Baz] interface Baz {};
|
||||||
|
|
||||||
|
[Exposed=Foo]
|
||||||
interface Iface2 {
|
interface Iface2 {
|
||||||
void method3();
|
void method3();
|
||||||
};
|
};
|
||||||
|
@ -80,9 +81,9 @@ def WebIDLTest(parser, harness):
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[PrimaryGlobal] interface Foo {};
|
[Global, Exposed=Foo] interface Foo {};
|
||||||
[Global=(Bar1,Bar2)] interface Bar {};
|
[Global=(Bar, Bar1, Bar2), Exposed=Bar] interface Bar {};
|
||||||
[Global=Baz2] interface Baz {};
|
[Global=(Baz, Baz2), Exposed=Baz] interface Baz {};
|
||||||
|
|
||||||
[Exposed=Foo]
|
[Exposed=Foo]
|
||||||
interface Iface3 {
|
interface Iface3 {
|
||||||
|
@ -181,8 +182,8 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Foo {};
|
[Global, Exposed=Foo] interface Foo {};
|
||||||
[Global] interface Bar {};
|
[Global, Exposed=Bar] interface Bar {};
|
||||||
|
|
||||||
[Exposed=Foo]
|
[Exposed=Foo]
|
||||||
interface Baz {
|
interface Baz {
|
||||||
|
@ -199,8 +200,8 @@ def WebIDLTest(parser, harness):
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Foo {};
|
[Global, Exposed=Foo] interface Foo {};
|
||||||
[Global] interface Bar {};
|
[Global, Exposed=Bar] interface Bar {};
|
||||||
|
|
||||||
[Exposed=Foo]
|
[Exposed=Foo]
|
||||||
interface Baz {
|
interface Baz {
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
def WebIDLTest(parser, harness):
|
def WebIDLTest(parser, harness):
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global]
|
[Global, Exposed=Foo]
|
||||||
interface Foo : Bar {
|
interface Foo : Bar {
|
||||||
getter any(DOMString name);
|
getter any(DOMString name);
|
||||||
};
|
};
|
||||||
|
[Exposed=Foo]
|
||||||
interface Bar {};
|
interface Bar {};
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
@ -18,7 +19,7 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global]
|
[Global, Exposed=Foo]
|
||||||
interface Foo {
|
interface Foo {
|
||||||
getter any(DOMString name);
|
getter any(DOMString name);
|
||||||
setter void(DOMString name, any arg);
|
setter void(DOMString name, any arg);
|
||||||
|
@ -36,7 +37,7 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global]
|
[Global, Exposed=Foo]
|
||||||
interface Foo {
|
interface Foo {
|
||||||
getter any(DOMString name);
|
getter any(DOMString name);
|
||||||
deleter void(DOMString name);
|
deleter void(DOMString name);
|
||||||
|
@ -54,7 +55,7 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global, OverrideBuiltins]
|
[Global, OverrideBuiltins, Exposed=Foo]
|
||||||
interface Foo {
|
interface Foo {
|
||||||
};
|
};
|
||||||
""")
|
""")
|
||||||
|
@ -70,10 +71,10 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global]
|
[Global, Exposed=Foo]
|
||||||
interface Foo : Bar {
|
interface Foo : Bar {
|
||||||
};
|
};
|
||||||
[OverrideBuiltins]
|
[OverrideBuiltins, Exposed=Foo]
|
||||||
interface Bar {
|
interface Bar {
|
||||||
};
|
};
|
||||||
""")
|
""")
|
||||||
|
@ -89,9 +90,10 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global]
|
[Global, Exposed=Foo]
|
||||||
interface Foo {
|
interface Foo {
|
||||||
};
|
};
|
||||||
|
[Exposed=Foo]
|
||||||
interface Bar : Foo {
|
interface Bar : Foo {
|
||||||
};
|
};
|
||||||
""")
|
""")
|
||||||
|
|
|
@ -283,7 +283,7 @@ def WebIDLTest(parser, harness):
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Window {};
|
[Global, Exposed=Window] interface Window {};
|
||||||
[Exposed=Window, LegacyWindowAlias=A]
|
[Exposed=Window, LegacyWindowAlias=A]
|
||||||
interface B {};
|
interface B {};
|
||||||
[Exposed=Window, LegacyWindowAlias=(C, D)]
|
[Exposed=Window, LegacyWindowAlias=(C, D)]
|
||||||
|
@ -325,7 +325,8 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Window {};
|
[Global, Exposed=Window] interface Window {};
|
||||||
|
[Exposed=Window]
|
||||||
interface A {};
|
interface A {};
|
||||||
[Exposed=Window, LegacyWindowAlias=A]
|
[Exposed=Window, LegacyWindowAlias=A]
|
||||||
interface B {};
|
interface B {};
|
||||||
|
@ -340,9 +341,10 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Window {};
|
[Global, Exposed=Window] interface Window {};
|
||||||
[Exposed=Window, LegacyWindowAlias=A]
|
[Exposed=Window, LegacyWindowAlias=A]
|
||||||
interface B {};
|
interface B {};
|
||||||
|
[Exposed=Window]
|
||||||
interface A {};
|
interface A {};
|
||||||
""")
|
""")
|
||||||
results = parser.finish()
|
results = parser.finish()
|
||||||
|
@ -355,7 +357,7 @@ def WebIDLTest(parser, harness):
|
||||||
threw = False
|
threw = False
|
||||||
try:
|
try:
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Window {};
|
[Global, Exposed=Window] interface Window {};
|
||||||
[Exposed=Window, LegacyWindowAlias=A]
|
[Exposed=Window, LegacyWindowAlias=A]
|
||||||
interface B {};
|
interface B {};
|
||||||
[Exposed=Window, LegacyWindowAlias=A]
|
[Exposed=Window, LegacyWindowAlias=A]
|
||||||
|
|
|
@ -377,8 +377,8 @@ def WebIDLTest(parser, harness):
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Window {};
|
[Global, Exposed=Window] interface Window {};
|
||||||
[Global] interface Worker {};
|
[Global, Exposed=Worker] interface Worker {};
|
||||||
[Exposed=Window]
|
[Exposed=Window]
|
||||||
interface Base {};
|
interface Base {};
|
||||||
interface mixin Mixin {
|
interface mixin Mixin {
|
||||||
|
@ -394,8 +394,8 @@ def WebIDLTest(parser, harness):
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Window {};
|
[Global, Exposed=Window] interface Window {};
|
||||||
[Global] interface Worker {};
|
[Global, Exposed=Worker] interface Worker {};
|
||||||
[Exposed=Window]
|
[Exposed=Window]
|
||||||
interface Base {};
|
interface Base {};
|
||||||
[Exposed=Window]
|
[Exposed=Window]
|
||||||
|
@ -412,8 +412,8 @@ def WebIDLTest(parser, harness):
|
||||||
|
|
||||||
parser = parser.reset()
|
parser = parser.reset()
|
||||||
parser.parse("""
|
parser.parse("""
|
||||||
[Global] interface Window {};
|
[Global, Exposed=Window] interface Window {};
|
||||||
[Global] interface Worker {};
|
[Global, Exposed=Worker] interface Worker {};
|
||||||
[Exposed=Window]
|
[Exposed=Window]
|
||||||
interface Base1 {};
|
interface Base1 {};
|
||||||
[Exposed=Worker]
|
[Exposed=Worker]
|
||||||
|
@ -435,28 +435,3 @@ def WebIDLTest(parser, harness):
|
||||||
harness.check(attr.exposureSet, set(["Window", "Worker"]),
|
harness.check(attr.exposureSet, set(["Window", "Worker"]),
|
||||||
"Should expose on all globals where including interfaces are "
|
"Should expose on all globals where including interfaces are "
|
||||||
"exposed")
|
"exposed")
|
||||||
|
|
||||||
parser = parser.reset()
|
|
||||||
parser.parse("""
|
|
||||||
[PrimaryGlobal] interface Window {};
|
|
||||||
[Global] interface Worker {};
|
|
||||||
interface Base1 {};
|
|
||||||
[Exposed=Worker]
|
|
||||||
interface Base2 {};
|
|
||||||
interface mixin Mixin {
|
|
||||||
attribute short a;
|
|
||||||
};
|
|
||||||
Base1 includes Mixin;
|
|
||||||
Base2 includes Mixin;
|
|
||||||
""")
|
|
||||||
results = parser.finish()
|
|
||||||
base = results[2]
|
|
||||||
attr = base.members[0]
|
|
||||||
harness.check(attr.exposureSet, set(["Window", "Worker"]),
|
|
||||||
"Should expose on all globals where including interfaces are "
|
|
||||||
"exposed")
|
|
||||||
base = results[3]
|
|
||||||
attr = base.members[0]
|
|
||||||
harness.check(attr.exposureSet, set(["Window", "Worker"]),
|
|
||||||
"Should expose on all globals where including interfaces are "
|
|
||||||
"exposed")
|
|
||||||
|
|
|
@ -12,10 +12,12 @@ typedef CustomEventInit TestDictionaryTypedef;
|
||||||
interface TestExternalInterface;
|
interface TestExternalInterface;
|
||||||
|
|
||||||
// We need a pref name that's in StaticPrefList.h here.
|
// We need a pref name that's in StaticPrefList.h here.
|
||||||
[Pref="dom.webidl.test1"]
|
[Pref="dom.webidl.test1",
|
||||||
|
Exposed=Window]
|
||||||
interface TestRenamedInterface {
|
interface TestRenamedInterface {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
callback interface TestCallbackInterface {
|
callback interface TestCallbackInterface {
|
||||||
readonly attribute long foo;
|
readonly attribute long foo;
|
||||||
attribute DOMString bar;
|
attribute DOMString bar;
|
||||||
|
@ -59,6 +61,7 @@ callback interface TestCallbackInterface {
|
||||||
Promise<void> receivePromise();
|
Promise<void> receivePromise();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
callback interface TestSingleOperationCallbackInterface {
|
callback interface TestSingleOperationCallbackInterface {
|
||||||
TestInterface doSomething(short arg, sequence<double> anotherArg);
|
TestInterface doSomething(short arg, sequence<double> anotherArg);
|
||||||
};
|
};
|
||||||
|
@ -142,6 +145,7 @@ callback constructor TestSequenceConstruction = sequence<boolean>();
|
||||||
TestInterface includes InterfaceMixin;
|
TestInterface includes InterfaceMixin;
|
||||||
|
|
||||||
// This interface is only for use in the constructor below
|
// This interface is only for use in the constructor below
|
||||||
|
[Exposed=Window]
|
||||||
interface OnlyForUseInConstructor {
|
interface OnlyForUseInConstructor {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -154,6 +158,7 @@ interface OnlyForUseInConstructor {
|
||||||
NamedConstructor=Test4(record<DOMString, record<DOMString, any>> arg1),
|
NamedConstructor=Test4(record<DOMString, record<DOMString, any>> arg1),
|
||||||
NamedConstructor=Test5(record<DOMString, sequence<record<DOMString, record<DOMString, sequence<sequence<any>>>>>> arg1),
|
NamedConstructor=Test5(record<DOMString, sequence<record<DOMString, record<DOMString, sequence<sequence<any>>>>>> arg1),
|
||||||
NamedConstructor=Test6(sequence<record<ByteString, sequence<sequence<record<ByteString, record<USVString, any>>>>>> arg1),
|
NamedConstructor=Test6(sequence<record<ByteString, sequence<sequence<record<ByteString, record<USVString, any>>>>>> arg1),
|
||||||
|
Exposed=Window,
|
||||||
]
|
]
|
||||||
interface TestInterface {
|
interface TestInterface {
|
||||||
constructor();
|
constructor();
|
||||||
|
@ -1019,12 +1024,15 @@ interface TestInterface {
|
||||||
// If you add things here, add them to TestExampleGen and TestJSImplGen as well
|
// If you add things here, add them to TestExampleGen and TestJSImplGen as well
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestParentInterface {
|
interface TestParentInterface {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestChildInterface : TestParentInterface {
|
interface TestChildInterface : TestParentInterface {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestNonWrapperCacheInterface {
|
interface TestNonWrapperCacheInterface {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1189,6 +1197,7 @@ dictionary DictWithConditionalMembers {
|
||||||
long chromeOnlyFuncAndPrefControlledMember;
|
long chromeOnlyFuncAndPrefControlledMember;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestIndexedGetterInterface {
|
interface TestIndexedGetterInterface {
|
||||||
getter long item(unsigned long idx);
|
getter long item(unsigned long idx);
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
|
@ -1197,10 +1206,12 @@ interface TestIndexedGetterInterface {
|
||||||
[StoreInSlot, Pure] readonly attribute long storeInSlotAttr;
|
[StoreInSlot, Pure] readonly attribute long storeInSlotAttr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestNamedGetterInterface {
|
interface TestNamedGetterInterface {
|
||||||
getter DOMString (DOMString name);
|
getter DOMString (DOMString name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestIndexedGetterAndSetterAndNamedGetterInterface {
|
interface TestIndexedGetterAndSetterAndNamedGetterInterface {
|
||||||
getter DOMString (DOMString myName);
|
getter DOMString (DOMString myName);
|
||||||
getter long (unsigned long index);
|
getter long (unsigned long index);
|
||||||
|
@ -1208,23 +1219,27 @@ interface TestIndexedGetterAndSetterAndNamedGetterInterface {
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestIndexedAndNamedGetterInterface {
|
interface TestIndexedAndNamedGetterInterface {
|
||||||
getter long (unsigned long index);
|
getter long (unsigned long index);
|
||||||
getter DOMString namedItem(DOMString name);
|
getter DOMString namedItem(DOMString name);
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestIndexedSetterInterface {
|
interface TestIndexedSetterInterface {
|
||||||
setter void setItem(unsigned long idx, DOMString item);
|
setter void setItem(unsigned long idx, DOMString item);
|
||||||
getter DOMString (unsigned long idx);
|
getter DOMString (unsigned long idx);
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestNamedSetterInterface {
|
interface TestNamedSetterInterface {
|
||||||
setter void (DOMString myName, TestIndexedSetterInterface item);
|
setter void (DOMString myName, TestIndexedSetterInterface item);
|
||||||
getter TestIndexedSetterInterface (DOMString name);
|
getter TestIndexedSetterInterface (DOMString name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestIndexedAndNamedSetterInterface {
|
interface TestIndexedAndNamedSetterInterface {
|
||||||
setter void (unsigned long index, TestIndexedSetterInterface item);
|
setter void (unsigned long index, TestIndexedSetterInterface item);
|
||||||
getter TestIndexedSetterInterface (unsigned long index);
|
getter TestIndexedSetterInterface (unsigned long index);
|
||||||
|
@ -1233,6 +1248,7 @@ interface TestIndexedAndNamedSetterInterface {
|
||||||
getter TestIndexedSetterInterface (DOMString name);
|
getter TestIndexedSetterInterface (DOMString name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestIndexedAndNamedGetterAndSetterInterface : TestIndexedSetterInterface {
|
interface TestIndexedAndNamedGetterAndSetterInterface : TestIndexedSetterInterface {
|
||||||
getter long item(unsigned long index);
|
getter long item(unsigned long index);
|
||||||
getter DOMString namedItem(DOMString name);
|
getter DOMString namedItem(DOMString name);
|
||||||
|
@ -1242,23 +1258,27 @@ interface TestIndexedAndNamedGetterAndSetterInterface : TestIndexedSetterInterfa
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestNamedDeleterInterface {
|
interface TestNamedDeleterInterface {
|
||||||
deleter void (DOMString name);
|
deleter void (DOMString name);
|
||||||
getter long (DOMString name);
|
getter long (DOMString name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestNamedDeleterWithRetvalInterface {
|
interface TestNamedDeleterWithRetvalInterface {
|
||||||
deleter boolean delNamedItem(DOMString name);
|
deleter boolean delNamedItem(DOMString name);
|
||||||
getter long (DOMString name);
|
getter long (DOMString name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestCppKeywordNamedMethodsInterface {
|
interface TestCppKeywordNamedMethodsInterface {
|
||||||
boolean continue();
|
boolean continue();
|
||||||
boolean delete();
|
boolean delete();
|
||||||
long volatile();
|
long volatile();
|
||||||
};
|
};
|
||||||
|
|
||||||
[Deprecated="EnablePrivilege"]
|
[Deprecated="EnablePrivilege",
|
||||||
|
Exposed=Window]
|
||||||
interface TestDeprecatedInterface {
|
interface TestDeprecatedInterface {
|
||||||
constructor();
|
constructor();
|
||||||
|
|
||||||
|
@ -1266,10 +1286,12 @@ interface TestDeprecatedInterface {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestInterfaceWithPromiseConstructorArg {
|
interface TestInterfaceWithPromiseConstructorArg {
|
||||||
constructor(Promise<void> promise);
|
constructor(Promise<void> promise);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
namespace TestNamespace {
|
namespace TestNamespace {
|
||||||
readonly attribute boolean foo;
|
readonly attribute boolean foo;
|
||||||
long bar();
|
long bar();
|
||||||
|
@ -1279,15 +1301,18 @@ partial namespace TestNamespace {
|
||||||
void baz();
|
void baz();
|
||||||
};
|
};
|
||||||
|
|
||||||
[ClassString="RenamedNamespaceClassName"]
|
[ClassString="RenamedNamespaceClassName",
|
||||||
|
Exposed=Window]
|
||||||
namespace TestRenamedNamespace {
|
namespace TestRenamedNamespace {
|
||||||
};
|
};
|
||||||
|
|
||||||
[ProtoObjectHack]
|
[ProtoObjectHack,
|
||||||
|
Exposed=Window]
|
||||||
namespace TestProtoObjectHackedNamespace {
|
namespace TestProtoObjectHackedNamespace {
|
||||||
};
|
};
|
||||||
|
|
||||||
[SecureContext]
|
[SecureContext,
|
||||||
|
Exposed=Window]
|
||||||
interface TestSecureContextInterface {
|
interface TestSecureContextInterface {
|
||||||
static void alsoSecureContext();
|
static void alsoSecureContext();
|
||||||
};
|
};
|
||||||
|
@ -1302,10 +1327,12 @@ interface TestWorkerExposedInterface {
|
||||||
[NeedsSubjectPrincipal=NonSystem] attribute boolean needsNonSystemSubjectPrincipalAttr;
|
[NeedsSubjectPrincipal=NonSystem] attribute boolean needsNonSystemSubjectPrincipalAttr;
|
||||||
};
|
};
|
||||||
|
|
||||||
[HTMLConstructor]
|
[HTMLConstructor,
|
||||||
|
Exposed=Window]
|
||||||
interface TestHTMLConstructorInterface {
|
interface TestHTMLConstructorInterface {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestThrowingConstructorInterface {
|
interface TestThrowingConstructorInterface {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor();
|
constructor();
|
||||||
|
@ -1326,6 +1353,7 @@ interface TestThrowingConstructorInterface {
|
||||||
// [Throws] constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3);
|
// [Throws] constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestCEReactionsInterface {
|
interface TestCEReactionsInterface {
|
||||||
[CEReactions] setter void (unsigned long index, long item);
|
[CEReactions] setter void (unsigned long index, long item);
|
||||||
[CEReactions] setter void (DOMString name, DOMString item);
|
[CEReactions] setter void (DOMString name, DOMString item);
|
||||||
|
@ -1349,6 +1377,7 @@ dictionary TestAttributesOnDictionaryMembers {
|
||||||
// test [ChromeOnly] required [Clamp] octet e
|
// test [ChromeOnly] required [Clamp] octet e
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestAttributesOnTypes {
|
interface TestAttributesOnTypes {
|
||||||
void foo(OctetClamp thingy);
|
void foo(OctetClamp thingy);
|
||||||
void bar(OctetRange thingy);
|
void bar(OctetRange thingy);
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
NamedConstructor=Example2(DictForConstructor dict, any any1, object obj1,
|
NamedConstructor=Example2(DictForConstructor dict, any any1, object obj1,
|
||||||
object? obj2, sequence<Dict> seq, optional any any2,
|
object? obj2, sequence<Dict> seq, optional any any2,
|
||||||
optional object obj3, optional object? obj4),
|
optional object obj3, optional object? obj4),
|
||||||
NamedConstructor=Example2((long or record<DOMString, any>) arg1)
|
NamedConstructor=Example2((long or record<DOMString, any>) arg1),
|
||||||
|
Exposed=Window,
|
||||||
]
|
]
|
||||||
interface TestExampleInterface {
|
interface TestExampleInterface {
|
||||||
constructor();
|
constructor();
|
||||||
|
@ -820,6 +821,7 @@ interface TestExampleInterface {
|
||||||
// If you add things here, add them to TestCodeGen and TestJSImplGen as well
|
// If you add things here, add them to TestCodeGen and TestJSImplGen as well
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestExampleProxyInterface {
|
interface TestExampleProxyInterface {
|
||||||
getter long longIndexedGetter(unsigned long ix);
|
getter long longIndexedGetter(unsigned long ix);
|
||||||
setter void longIndexedSetter(unsigned long y, long z);
|
setter void longIndexedSetter(unsigned long y, long z);
|
||||||
|
@ -840,6 +842,7 @@ interface TestExampleWorkerInterface {
|
||||||
[NeedsSubjectPrincipal=NonSystem] attribute boolean needsNonSystemSubjectPrincipalAttr;
|
[NeedsSubjectPrincipal=NonSystem] attribute boolean needsNonSystemSubjectPrincipalAttr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestExampleThrowingConstructorInterface {
|
interface TestExampleThrowingConstructorInterface {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor();
|
constructor();
|
||||||
|
|
|
@ -15,7 +15,7 @@ enum MyTestEnum {
|
||||||
"b"
|
"b"
|
||||||
};
|
};
|
||||||
|
|
||||||
[JSImplementation="@mozilla.org/test-js-impl-interface;1"]
|
[Exposed=Window, JSImplementation="@mozilla.org/test-js-impl-interface;1"]
|
||||||
interface TestJSImplInterface {
|
interface TestJSImplInterface {
|
||||||
// We don't support multiple constructors (bug 869268) or named constructors
|
// We don't support multiple constructors (bug 869268) or named constructors
|
||||||
// for JS-implemented WebIDL.
|
// for JS-implemented WebIDL.
|
||||||
|
@ -842,14 +842,17 @@ interface TestJSImplInterface {
|
||||||
// If you add things here, add them to TestCodeGen as well
|
// If you add things here, add them to TestCodeGen as well
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestCImplementedInterface : TestJSImplInterface {
|
interface TestCImplementedInterface : TestJSImplInterface {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TestCImplementedInterface2 {
|
interface TestCImplementedInterface2 {
|
||||||
};
|
};
|
||||||
|
|
||||||
[NoInterfaceObject,
|
[NoInterfaceObject,
|
||||||
JSImplementation="@mozilla.org/test-js-impl-interface;2"]
|
JSImplementation="@mozilla.org/test-js-impl-interface;2",
|
||||||
|
Exposed=Window]
|
||||||
interface TestJSImplNoInterfaceObject {
|
interface TestJSImplNoInterfaceObject {
|
||||||
// [Cached] is not supported in JS-implemented WebIDL.
|
// [Cached] is not supported in JS-implemented WebIDL.
|
||||||
//[Cached, Pure]
|
//[Cached, Pure]
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[JSImplementation="@mozilla.org/test-js-impl-interface2;1"]
|
[Exposed=Window, JSImplementation="@mozilla.org/test-js-impl-interface2;1"]
|
||||||
interface TestJSImplInterface2 : TestCImplementedInterface {
|
interface TestJSImplInterface2 : TestCImplementedInterface {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor();
|
constructor();
|
||||||
};
|
};
|
||||||
|
|
||||||
[JSImplementation="@mozilla.org/test-js-impl-interface3;1"]
|
[Exposed=Window, JSImplementation="@mozilla.org/test-js-impl-interface3;1"]
|
||||||
interface TestJSImplInterface3 : TestCImplementedInterface2 {
|
interface TestJSImplInterface3 : TestCImplementedInterface2 {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor();
|
constructor();
|
||||||
|
@ -18,7 +18,7 @@ interface TestJSImplInterface3 : TestCImplementedInterface2 {
|
||||||
|
|
||||||
// Important: TestJSImplInterface5 needs to come before TestJSImplInterface6 in
|
// Important: TestJSImplInterface5 needs to come before TestJSImplInterface6 in
|
||||||
// this file to test what it's trying to test.
|
// this file to test what it's trying to test.
|
||||||
[JSImplementation="@mozilla.org/test-js-impl-interface5;1"]
|
[Exposed=Window, JSImplementation="@mozilla.org/test-js-impl-interface5;1"]
|
||||||
interface TestJSImplInterface5 : TestJSImplInterface6 {
|
interface TestJSImplInterface5 : TestJSImplInterface6 {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor();
|
constructor();
|
||||||
|
@ -26,13 +26,13 @@ interface TestJSImplInterface5 : TestJSImplInterface6 {
|
||||||
|
|
||||||
// Important: TestJSImplInterface6 needs to come after TestJSImplInterface3 in
|
// Important: TestJSImplInterface6 needs to come after TestJSImplInterface3 in
|
||||||
// this file to test what it's trying to test.
|
// this file to test what it's trying to test.
|
||||||
[JSImplementation="@mozilla.org/test-js-impl-interface6;1"]
|
[Exposed=Window, JSImplementation="@mozilla.org/test-js-impl-interface6;1"]
|
||||||
interface TestJSImplInterface6 : TestJSImplInterface3 {
|
interface TestJSImplInterface6 : TestJSImplInterface3 {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor();
|
constructor();
|
||||||
};
|
};
|
||||||
|
|
||||||
[JSImplementation="@mozilla.org/test-js-impl-interface4;1"]
|
[Exposed=Window, JSImplementation="@mozilla.org/test-js-impl-interface4;1"]
|
||||||
interface TestJSImplInterface4 : EventTarget {
|
interface TestJSImplInterface4 : EventTarget {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor();
|
constructor();
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface DOMLocalization : Localization {
|
interface DOMLocalization : Localization {
|
||||||
/**
|
/**
|
||||||
* Constructor arguments:
|
* Constructor arguments:
|
||||||
|
|
|
@ -20,7 +20,7 @@ enum DebuggerNotificationType {
|
||||||
"domEvent",
|
"domEvent",
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface DebuggerNotification {
|
interface DebuggerNotification {
|
||||||
readonly attribute DebuggerNotificationType type;
|
readonly attribute DebuggerNotificationType type;
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ enum CallbackDebuggerNotificationPhase {
|
||||||
|
|
||||||
// A base notification type for notifications that are dispatched as pairs with
|
// A base notification type for notifications that are dispatched as pairs with
|
||||||
// a before and after notification.
|
// a before and after notification.
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface CallbackDebuggerNotification : DebuggerNotification {
|
interface CallbackDebuggerNotification : DebuggerNotification {
|
||||||
readonly attribute CallbackDebuggerNotificationPhase phase;
|
readonly attribute CallbackDebuggerNotificationPhase phase;
|
||||||
};
|
};
|
||||||
|
@ -50,7 +50,7 @@ enum EventCallbackDebuggerNotificationType {
|
||||||
};
|
};
|
||||||
|
|
||||||
// A notification that about the engine calling a DOM event handler.
|
// A notification that about the engine calling a DOM event handler.
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface EventCallbackDebuggerNotification : CallbackDebuggerNotification {
|
interface EventCallbackDebuggerNotification : CallbackDebuggerNotification {
|
||||||
readonly attribute Event event;
|
readonly attribute Event event;
|
||||||
readonly attribute EventCallbackDebuggerNotificationType targetType;
|
readonly attribute EventCallbackDebuggerNotificationType targetType;
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
* are added to the document, and is removed in case all links
|
* are added to the document, and is removed in case all links
|
||||||
* of that type are removed from it.
|
* of that type are removed from it.
|
||||||
*/
|
*/
|
||||||
[NoInterfaceObject]
|
[NoInterfaceObject,
|
||||||
|
Exposed=Window]
|
||||||
interface DocumentL10n : DOMLocalization {
|
interface DocumentL10n : DOMLocalization {
|
||||||
/**
|
/**
|
||||||
* A promise which gets resolved when the initial DOM localization resources
|
* A promise which gets resolved when the initial DOM localization resources
|
||||||
|
|
|
@ -20,7 +20,7 @@ enum FlexPhysicalDirection {
|
||||||
"vertical-bt",
|
"vertical-bt",
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface Flex
|
interface Flex
|
||||||
{
|
{
|
||||||
sequence<FlexLineValues> getLines();
|
sequence<FlexLineValues> getLines();
|
||||||
|
@ -51,7 +51,7 @@ interface Flex
|
||||||
*/
|
*/
|
||||||
enum FlexLineGrowthState { "shrinking", "growing" };
|
enum FlexLineGrowthState { "shrinking", "growing" };
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface FlexLineValues
|
interface FlexLineValues
|
||||||
{
|
{
|
||||||
readonly attribute FlexLineGrowthState growthState;
|
readonly attribute FlexLineGrowthState growthState;
|
||||||
|
@ -79,7 +79,7 @@ enum FlexItemClampState {
|
||||||
"unclamped", "clamped_to_min", "clamped_to_max"
|
"unclamped", "clamped_to_min", "clamped_to_max"
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface FlexItemValues
|
interface FlexItemValues
|
||||||
{
|
{
|
||||||
readonly attribute Node? node;
|
readonly attribute Node? node;
|
||||||
|
|
|
@ -9,7 +9,8 @@
|
||||||
*
|
*
|
||||||
* See InspectorUtils.h for documentation on these methods.
|
* See InspectorUtils.h for documentation on these methods.
|
||||||
*/
|
*/
|
||||||
[Func="nsContentUtils::IsCallerChromeOrFuzzingEnabled"]
|
[Func="nsContentUtils::IsCallerChromeOrFuzzingEnabled",
|
||||||
|
Exposed=Window]
|
||||||
namespace InspectorUtils {
|
namespace InspectorUtils {
|
||||||
// documentOnly tells whether user and UA sheets should get included.
|
// documentOnly tells whether user and UA sheets should get included.
|
||||||
sequence<StyleSheet> getAllStyleSheets(Document document, optional boolean documentOnly = false);
|
sequence<StyleSheet> getAllStyleSheets(Document document, optional boolean documentOnly = false);
|
||||||
|
@ -136,7 +137,8 @@ dictionary InspectorFontFeature {
|
||||||
required DOMString languageSystem;
|
required DOMString languageSystem;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Func="nsContentUtils::IsCallerChromeOrFuzzingEnabled"]
|
[Func="nsContentUtils::IsCallerChromeOrFuzzingEnabled",
|
||||||
|
Exposed=Window]
|
||||||
interface InspectorFontFace {
|
interface InspectorFontFace {
|
||||||
// An indication of how we found this font during font-matching.
|
// An indication of how we found this font during font-matching.
|
||||||
// Note that the same physical font may have been found in multiple ways within a range.
|
// Note that the same physical font may have been found in multiple ways within a range.
|
||||||
|
|
|
@ -16,7 +16,7 @@ interface mixin JSWindowActor {
|
||||||
optional any obj);
|
optional any obj);
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface JSWindowActorParent {
|
interface JSWindowActorParent {
|
||||||
[ChromeOnly]
|
[ChromeOnly]
|
||||||
constructor();
|
constructor();
|
||||||
|
@ -33,7 +33,7 @@ interface JSWindowActorParent {
|
||||||
};
|
};
|
||||||
JSWindowActorParent includes JSWindowActor;
|
JSWindowActorParent includes JSWindowActor;
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface JSWindowActorChild {
|
interface JSWindowActorChild {
|
||||||
[ChromeOnly]
|
[ChromeOnly]
|
||||||
constructor();
|
constructor();
|
||||||
|
@ -71,6 +71,7 @@ JSWindowActorChild includes JSWindowActor;
|
||||||
* NOTE: This isn't marked as ChromeOnly, as it has no interface object, and
|
* NOTE: This isn't marked as ChromeOnly, as it has no interface object, and
|
||||||
* thus cannot be conditionally exposed.
|
* thus cannot be conditionally exposed.
|
||||||
*/
|
*/
|
||||||
|
[Exposed=Window]
|
||||||
callback interface MozObserverCallback {
|
callback interface MozObserverCallback {
|
||||||
void observe(nsISupports subject, ByteString topic, DOMString? data);
|
void observe(nsISupports subject, ByteString topic, DOMString? data);
|
||||||
};
|
};
|
||||||
|
|
|
@ -10,7 +10,8 @@ dictionary L10nOverlaysError {
|
||||||
DOMString l10nName;
|
DOMString l10nName;
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly,
|
||||||
|
Exposed=Window]
|
||||||
namespace L10nOverlays {
|
namespace L10nOverlays {
|
||||||
const unsigned short ERROR_FORBIDDEN_TYPE = 1;
|
const unsigned short ERROR_FORBIDDEN_TYPE = 1;
|
||||||
const unsigned short ERROR_NAMED_ELEMENT_MISSING = 2;
|
const unsigned short ERROR_NAMED_ELEMENT_MISSING = 2;
|
||||||
|
|
|
@ -62,7 +62,7 @@ callback GenerateMessages = Promise<any> (sequence<DOMString> aResourceIds);
|
||||||
* - formatMessages - format multiple compound messages
|
* - formatMessages - format multiple compound messages
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface Localization {
|
interface Localization {
|
||||||
/**
|
/**
|
||||||
* Constructor arguments:
|
* Constructor arguments:
|
||||||
|
|
|
@ -203,6 +203,7 @@ dictionary ReceiveMessageArgument
|
||||||
FrameLoader targetFrameLoader;
|
FrameLoader targetFrameLoader;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
callback interface MessageListener
|
callback interface MessageListener
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
@ -220,7 +221,7 @@ callback interface MessageListener
|
||||||
any receiveMessage(ReceiveMessageArgument argument);
|
any receiveMessage(ReceiveMessageArgument argument);
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MessageListenerManager
|
interface MessageListenerManager
|
||||||
{
|
{
|
||||||
// All the methods are pulled in via mixin.
|
// All the methods are pulled in via mixin.
|
||||||
|
@ -286,7 +287,7 @@ interface mixin MessageListenerManagerMixin
|
||||||
* messages that are only delivered to its one parent-process message
|
* messages that are only delivered to its one parent-process message
|
||||||
* manager.
|
* manager.
|
||||||
*/
|
*/
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MessageSender : MessageListenerManager
|
interface MessageSender : MessageListenerManager
|
||||||
{
|
{
|
||||||
// All the methods are pulled in via mixin.
|
// All the methods are pulled in via mixin.
|
||||||
|
@ -336,7 +337,7 @@ interface mixin MessageSenderMixin {
|
||||||
readonly attribute DOMString remoteType;
|
readonly attribute DOMString remoteType;
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface SyncMessageSender : MessageSender
|
interface SyncMessageSender : MessageSender
|
||||||
{
|
{
|
||||||
// All the methods are pulled in via mixin.
|
// All the methods are pulled in via mixin.
|
||||||
|
@ -379,7 +380,7 @@ interface mixin SyncMessageSenderMixin
|
||||||
* ChildProcessMessageManager is used in a child process to communicate with the parent
|
* ChildProcessMessageManager is used in a child process to communicate with the parent
|
||||||
* process.
|
* process.
|
||||||
*/
|
*/
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface ChildProcessMessageManager : SyncMessageSender
|
interface ChildProcessMessageManager : SyncMessageSender
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@ -487,7 +488,7 @@ interface mixin GlobalProcessScriptLoader
|
||||||
readonly attribute MozWritableSharedMap sharedData;
|
readonly attribute MozWritableSharedMap sharedData;
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface ContentFrameMessageManager : EventTarget
|
interface ContentFrameMessageManager : EventTarget
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
@ -521,7 +522,7 @@ ContentFrameMessageManager includes SyncMessageSenderMixin;
|
||||||
ContentFrameMessageManager includes MessageSenderMixin;
|
ContentFrameMessageManager includes MessageSenderMixin;
|
||||||
ContentFrameMessageManager includes MessageListenerManagerMixin;
|
ContentFrameMessageManager includes MessageListenerManagerMixin;
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface ContentProcessMessageManager
|
interface ContentProcessMessageManager
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
@ -544,7 +545,7 @@ ContentProcessMessageManager includes MessageListenerManagerMixin;
|
||||||
* through a window message manager will broadcast the message to all frame message
|
* through a window message manager will broadcast the message to all frame message
|
||||||
* managers within its window.
|
* managers within its window.
|
||||||
*/
|
*/
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MessageBroadcaster : MessageListenerManager
|
interface MessageBroadcaster : MessageListenerManager
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
@ -580,7 +581,7 @@ interface MessageBroadcaster : MessageListenerManager
|
||||||
/**
|
/**
|
||||||
* ChromeMessageBroadcaster is used for window and group message managers.
|
* ChromeMessageBroadcaster is used for window and group message managers.
|
||||||
*/
|
*/
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface ChromeMessageBroadcaster : MessageBroadcaster
|
interface ChromeMessageBroadcaster : MessageBroadcaster
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@ -590,14 +591,14 @@ ChromeMessageBroadcaster includes FrameScriptLoader;
|
||||||
* ParentProcessMessageManager is used in a parent process to communicate with all the
|
* ParentProcessMessageManager is used in a parent process to communicate with all the
|
||||||
* child processes.
|
* child processes.
|
||||||
*/
|
*/
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface ParentProcessMessageManager : MessageBroadcaster
|
interface ParentProcessMessageManager : MessageBroadcaster
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
ParentProcessMessageManager includes ProcessScriptLoader;
|
ParentProcessMessageManager includes ProcessScriptLoader;
|
||||||
ParentProcessMessageManager includes GlobalProcessScriptLoader;
|
ParentProcessMessageManager includes GlobalProcessScriptLoader;
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface ChromeMessageSender : MessageSender
|
interface ChromeMessageSender : MessageSender
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
@ -607,7 +608,7 @@ ChromeMessageSender includes FrameScriptLoader;
|
||||||
* ProcessMessageManager is used in a parent process to communicate with a child process
|
* ProcessMessageManager is used in a parent process to communicate with a child process
|
||||||
* (or with the process itself in a single-process scenario).
|
* (or with the process itself in a single-process scenario).
|
||||||
*/
|
*/
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface ProcessMessageManager : MessageSender
|
interface ProcessMessageManager : MessageSender
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
callback interface MozDocumentCallback {
|
callback interface MozDocumentCallback {
|
||||||
void onNewDocument(MozDocumentMatcher matcher, WindowProxy window);
|
void onNewDocument(MozDocumentMatcher matcher, WindowProxy window);
|
||||||
void onPreloadDocument(MozDocumentMatcher matcher, LoadInfo loadInfo);
|
void onPreloadDocument(MozDocumentMatcher matcher, LoadInfo loadInfo);
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
typedef any StructuredClonable;
|
typedef any StructuredClonable;
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MozSharedMapChangeEvent : Event {
|
interface MozSharedMapChangeEvent : Event {
|
||||||
[Cached, Constant]
|
[Cached, Constant]
|
||||||
readonly attribute sequence<DOMString> changedKeys;
|
readonly attribute sequence<DOMString> changedKeys;
|
||||||
|
@ -16,7 +16,7 @@ dictionary MozSharedMapChangeEventInit : EventInit {
|
||||||
required sequence<DOMString> changedKeys;
|
required sequence<DOMString> changedKeys;
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MozSharedMap : EventTarget {
|
interface MozSharedMap : EventTarget {
|
||||||
boolean has(DOMString name);
|
boolean has(DOMString name);
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ interface MozSharedMap : EventTarget {
|
||||||
iterable<DOMString, StructuredClonable>;
|
iterable<DOMString, StructuredClonable>;
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MozWritableSharedMap : MozSharedMap {
|
interface MozWritableSharedMap : MozSharedMap {
|
||||||
/**
|
/**
|
||||||
* Sets the given key to the given structured-clonable value. The value is
|
* Sets the given key to the given structured-clonable value. The value is
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* 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/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MozStorageAsyncStatementParams
|
interface MozStorageAsyncStatementParams
|
||||||
{
|
{
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* 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/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MozStorageStatementParams
|
interface MozStorageStatementParams
|
||||||
{
|
{
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* 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/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface MozStorageStatementRow
|
interface MozStorageStatementRow
|
||||||
{
|
{
|
||||||
[Throws]
|
[Throws]
|
||||||
|
|
|
@ -29,6 +29,7 @@ enum PromiseDebuggingState { "pending", "fulfilled", "rejected" };
|
||||||
* this interface are responsible for presenting the information
|
* this interface are responsible for presenting the information
|
||||||
* in a meaningful manner.
|
* in a meaningful manner.
|
||||||
*/
|
*/
|
||||||
|
[Exposed=Window]
|
||||||
callback interface UncaughtRejectionObserver {
|
callback interface UncaughtRejectionObserver {
|
||||||
/**
|
/**
|
||||||
* A Promise has been left in `rejected` state and is the
|
* A Promise has been left in `rejected` state and is the
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
interface nsIDocShell;
|
interface nsIDocShell;
|
||||||
interface nsIWebNavigation;
|
interface nsIWebNavigation;
|
||||||
|
|
||||||
[HTMLConstructor, Func="IsChromeOrXBL"]
|
[HTMLConstructor, Func="IsChromeOrXBL",
|
||||||
|
Exposed=Window]
|
||||||
interface XULFrameElement : XULElement
|
interface XULFrameElement : XULElement
|
||||||
{
|
{
|
||||||
readonly attribute nsIDocShell? docShell;
|
readonly attribute nsIDocShell? docShell;
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[HTMLConstructor, Func="IsChromeOrXBL"]
|
[HTMLConstructor, Func="IsChromeOrXBL",
|
||||||
|
Exposed=Window]
|
||||||
interface XULMenuElement : XULElement {
|
interface XULMenuElement : XULElement {
|
||||||
|
|
||||||
attribute Element? activeChild;
|
attribute Element? activeChild;
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[HTMLConstructor, Func="IsChromeOrXBL"]
|
[HTMLConstructor, Func="IsChromeOrXBL",
|
||||||
|
Exposed=Window]
|
||||||
interface XULTextElement : XULElement {
|
interface XULTextElement : XULElement {
|
||||||
attribute boolean disabled;
|
attribute boolean disabled;
|
||||||
attribute DOMString value;
|
attribute DOMString value;
|
||||||
|
|
|
@ -13,7 +13,8 @@ dictionary TreeCellInfo {
|
||||||
DOMString childElt = "";
|
DOMString childElt = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
[HTMLConstructor, Func="IsChromeOrXBL"]
|
[HTMLConstructor, Func="IsChromeOrXBL",
|
||||||
|
Exposed=Window]
|
||||||
interface XULTreeElement : XULElement
|
interface XULTreeElement : XULElement
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -30,7 +30,8 @@ dictionary APZBucket {
|
||||||
sequence<ScrollFrameData> scrollFrames;
|
sequence<ScrollFrameData> scrollFrames;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="apz.test.logging_enabled"]
|
[Pref="apz.test.logging_enabled",
|
||||||
|
Exposed=Window]
|
||||||
namespace APZHitResultFlags {
|
namespace APZHitResultFlags {
|
||||||
// These constants should be kept in sync with mozilla::gfx::CompositorHitTestInfo
|
// These constants should be kept in sync with mozilla::gfx::CompositorHitTestInfo
|
||||||
const unsigned short INVISIBLE = 0;
|
const unsigned short INVISIBLE = 0;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface AbstractRange {
|
interface AbstractRange {
|
||||||
[BinaryName="GetStartContainer"]
|
[BinaryName="GetStartContainer"]
|
||||||
readonly attribute Node startContainer;
|
readonly attribute Node startContainer;
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Func="mozilla::dom::AccessibleNode::IsAOMEnabled"]
|
[Func="mozilla::dom::AccessibleNode::IsAOMEnabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AccessibleNode {
|
interface AccessibleNode {
|
||||||
readonly attribute DOMString computedRole;
|
readonly attribute DOMString computedRole;
|
||||||
[Frozen, Cached, Pure]
|
[Frozen, Cached, Pure]
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[Func="mozilla::AddonManagerWebAPI::IsAPIEnabled"]
|
[Func="mozilla::AddonManagerWebAPI::IsAPIEnabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AddonEvent : Event {
|
interface AddonEvent : Event {
|
||||||
constructor(DOMString type, AddonEventInit eventInitDict);
|
constructor(DOMString type, AddonEventInit eventInitDict);
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
/* We need a JSImplementation but cannot get one without a contract ID.
|
/* We need a JSImplementation but cannot get one without a contract ID.
|
||||||
Since Addon and AddonInstall are only ever created from JS they don't need
|
Since Addon and AddonInstall are only ever created from JS they don't need
|
||||||
real contract IDs. */
|
real contract IDs. */
|
||||||
[ChromeOnly, JSImplementation="dummy"]
|
[ChromeOnly, JSImplementation="dummy",
|
||||||
|
Exposed=Window]
|
||||||
interface Addon {
|
interface Addon {
|
||||||
// The add-on's ID.
|
// The add-on's ID.
|
||||||
readonly attribute DOMString id;
|
readonly attribute DOMString id;
|
||||||
|
@ -31,7 +32,8 @@ interface Addon {
|
||||||
Promise<void> setEnabled(boolean value);
|
Promise<void> setEnabled(boolean value);
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly, JSImplementation="dummy"]
|
[ChromeOnly, JSImplementation="dummy",
|
||||||
|
Exposed=Window]
|
||||||
interface AddonInstall : EventTarget {
|
interface AddonInstall : EventTarget {
|
||||||
// One of the STATE_* symbols from AddonManager.jsm
|
// One of the STATE_* symbols from AddonManager.jsm
|
||||||
readonly attribute DOMString state;
|
readonly attribute DOMString state;
|
||||||
|
@ -57,7 +59,8 @@ dictionary addonInstallOptions {
|
||||||
[HeaderFile="mozilla/AddonManagerWebAPI.h",
|
[HeaderFile="mozilla/AddonManagerWebAPI.h",
|
||||||
Func="mozilla::AddonManagerWebAPI::IsAPIEnabled",
|
Func="mozilla::AddonManagerWebAPI::IsAPIEnabled",
|
||||||
JSImplementation="@mozilla.org/addon-web-api/manager;1",
|
JSImplementation="@mozilla.org/addon-web-api/manager;1",
|
||||||
WantsEventListenerHooks]
|
WantsEventListenerHooks,
|
||||||
|
Exposed=Window]
|
||||||
interface AddonManager : EventTarget {
|
interface AddonManager : EventTarget {
|
||||||
/**
|
/**
|
||||||
* Gets information about an add-on
|
* Gets information about an add-on
|
||||||
|
|
|
@ -17,7 +17,8 @@ dictionary AnalyserOptions : AudioNodeOptions {
|
||||||
double smoothingTimeConstant = 0.8;
|
double smoothingTimeConstant = 0.8;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AnalyserNode : AudioNode {
|
interface AnalyserNode : AudioNode {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor(BaseAudioContext context,
|
constructor(BaseAudioContext context,
|
||||||
|
|
|
@ -14,6 +14,7 @@ enum AnimationPlayState { "idle", "running", "paused", "finished" };
|
||||||
|
|
||||||
enum AnimationReplaceState { "active", "removed", "persisted" };
|
enum AnimationReplaceState { "active", "removed", "persisted" };
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface Animation : EventTarget {
|
interface Animation : EventTarget {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor(optional AnimationEffect? effect = null,
|
constructor(optional AnimationEffect? effect = null,
|
||||||
|
|
|
@ -55,7 +55,8 @@ dictionary ComputedEffectTiming : EffectTiming {
|
||||||
unrestricted double? currentIteration = null;
|
unrestricted double? currentIteration = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Func="Document::IsWebAnimationsEnabled"]
|
[Func="Document::IsWebAnimationsEnabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AnimationEffect {
|
interface AnimationEffect {
|
||||||
EffectTiming getTiming();
|
EffectTiming getTiming();
|
||||||
[BinaryName="getComputedTimingAsDict"]
|
[BinaryName="getComputedTimingAsDict"]
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface AnimationEvent : Event {
|
interface AnimationEvent : Event {
|
||||||
constructor(DOMString type, optional AnimationEventInit eventInitDict = {});
|
constructor(DOMString type, optional AnimationEventInit eventInitDict = {});
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Func="Document::IsWebAnimationsEnabled"]
|
[Func="Document::IsWebAnimationsEnabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AnimationPlaybackEvent : Event {
|
interface AnimationPlaybackEvent : Event {
|
||||||
constructor(DOMString type,
|
constructor(DOMString type,
|
||||||
optional AnimationPlaybackEventInit eventInitDict = {});
|
optional AnimationPlaybackEventInit eventInitDict = {});
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Func="Document::AreWebAnimationsTimelinesEnabled"]
|
[Func="Document::AreWebAnimationsTimelinesEnabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AnimationTimeline {
|
interface AnimationTimeline {
|
||||||
[BinaryName="currentTimeAsDouble"]
|
[BinaryName="currentTimeAsDouble"]
|
||||||
readonly attribute double? currentTime;
|
readonly attribute double? currentTime;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* the inserted content.
|
* the inserted content.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly, Exposed=Window]
|
||||||
interface AnonymousContent {
|
interface AnonymousContent {
|
||||||
/**
|
/**
|
||||||
* Get the text content of an element inside this custom anonymous content.
|
* Get the text content of an element inside this custom anonymous content.
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface Attr : Node {
|
interface Attr : Node {
|
||||||
readonly attribute DOMString localName;
|
readonly attribute DOMString localName;
|
||||||
[CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
|
[CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
|
||||||
|
|
|
@ -16,7 +16,8 @@ dictionary AudioBufferOptions {
|
||||||
required float sampleRate;
|
required float sampleRate;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioBuffer {
|
interface AudioBuffer {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor(AudioBufferOptions options);
|
constructor(AudioBufferOptions options);
|
||||||
|
|
|
@ -19,7 +19,8 @@ dictionary AudioBufferSourceOptions {
|
||||||
float playbackRate = 1;
|
float playbackRate = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioBufferSourceNode : AudioScheduledSourceNode {
|
interface AudioBufferSourceNode : AudioScheduledSourceNode {
|
||||||
constructor(BaseAudioContext context,
|
constructor(BaseAudioContext context,
|
||||||
optional AudioBufferSourceOptions options = {});
|
optional AudioBufferSourceOptions options = {});
|
||||||
|
|
|
@ -19,7 +19,8 @@ dictionary AudioTimestamp {
|
||||||
DOMHighResTimeStamp performanceTime;
|
DOMHighResTimeStamp performanceTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioContext : BaseAudioContext {
|
interface AudioContext : BaseAudioContext {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor(optional AudioContextOptions contextOptions = {});
|
constructor(optional AudioContextOptions contextOptions = {});
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioDestinationNode : AudioNode {
|
interface AudioDestinationNode : AudioNode {
|
||||||
|
|
||||||
readonly attribute unsigned long maxChannelCount;
|
readonly attribute unsigned long maxChannelCount;
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioListener {
|
interface AudioListener {
|
||||||
// Uses a 3D cartesian coordinate system
|
// Uses a 3D cartesian coordinate system
|
||||||
void setPosition(double x, double y, double z);
|
void setPosition(double x, double y, double z);
|
||||||
|
|
|
@ -27,7 +27,8 @@ dictionary AudioNodeOptions {
|
||||||
ChannelInterpretation channelInterpretation;
|
ChannelInterpretation channelInterpretation;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioNode : EventTarget {
|
interface AudioNode : EventTarget {
|
||||||
|
|
||||||
[Throws]
|
[Throws]
|
||||||
|
|
|
@ -15,7 +15,8 @@ enum AutomationRate {
|
||||||
"k-rate"
|
"k-rate"
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioParam {
|
interface AudioParam {
|
||||||
|
|
||||||
attribute float value;
|
attribute float value;
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Pref="dom.audioworklet.enabled"]
|
[Pref="dom.audioworklet.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioParamMap {
|
interface AudioParamMap {
|
||||||
readonly maplike<DOMString, AudioParam>;
|
readonly maplike<DOMString, AudioParam>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioProcessingEvent : Event {
|
interface AudioProcessingEvent : Event {
|
||||||
|
|
||||||
readonly attribute double playbackTime;
|
readonly attribute double playbackTime;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface AudioScheduledSourceNode : AudioNode {
|
interface AudioScheduledSourceNode : AudioNode {
|
||||||
attribute EventHandler onended;
|
attribute EventHandler onended;
|
||||||
[Throws]
|
[Throws]
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
* http://www.whatwg.org/specs/web-apps/current-work/#audiotrack
|
* http://www.whatwg.org/specs/web-apps/current-work/#audiotrack
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Pref="media.track.enabled"]
|
[Pref="media.track.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioTrack {
|
interface AudioTrack {
|
||||||
readonly attribute DOMString id;
|
readonly attribute DOMString id;
|
||||||
readonly attribute DOMString kind;
|
readonly attribute DOMString kind;
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
* http://www.whatwg.org/specs/web-apps/current-work/#audiotracklist
|
* http://www.whatwg.org/specs/web-apps/current-work/#audiotracklist
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Pref="media.track.enabled"]
|
[Pref="media.track.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioTrackList : EventTarget {
|
interface AudioTrackList : EventTarget {
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
getter AudioTrack (unsigned long index);
|
getter AudioTrack (unsigned long index);
|
||||||
|
|
|
@ -12,4 +12,4 @@
|
||||||
|
|
||||||
[Exposed=Window, SecureContext, Pref="dom.audioworklet.enabled"]
|
[Exposed=Window, SecureContext, Pref="dom.audioworklet.enabled"]
|
||||||
interface AudioWorklet : Worklet {
|
interface AudioWorklet : Worklet {
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,7 +18,8 @@ dictionary AudioWorkletNodeOptions : AudioNodeOptions {
|
||||||
object? processorOptions = null;
|
object? processorOptions = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
[SecureContext, Pref="dom.audioworklet.enabled"]
|
[SecureContext, Pref="dom.audioworklet.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface AudioWorkletNode : AudioNode {
|
interface AudioWorkletNode : AudioNode {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor(BaseAudioContext context, DOMString name,
|
constructor(BaseAudioContext context, DOMString name,
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface BarProp
|
interface BarProp
|
||||||
{
|
{
|
||||||
[Throws, NeedsCallerType]
|
[Throws, NeedsCallerType]
|
||||||
|
|
|
@ -19,6 +19,7 @@ enum AudioContextState {
|
||||||
"closed"
|
"closed"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface BaseAudioContext : EventTarget {
|
interface BaseAudioContext : EventTarget {
|
||||||
readonly attribute AudioDestinationNode destination;
|
readonly attribute AudioDestinationNode destination;
|
||||||
readonly attribute float sampleRate;
|
readonly attribute float sampleRate;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface BatteryManager : EventTarget {
|
interface BatteryManager : EventTarget {
|
||||||
readonly attribute boolean charging;
|
readonly attribute boolean charging;
|
||||||
readonly attribute unrestricted double chargingTime;
|
readonly attribute unrestricted double chargingTime;
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
* http://www.whatwg.org/specs/web-apps/current-work/#beforeunloadevent
|
* http://www.whatwg.org/specs/web-apps/current-work/#beforeunloadevent
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface BeforeUnloadEvent : Event {
|
interface BeforeUnloadEvent : Event {
|
||||||
attribute DOMString returnValue;
|
attribute DOMString returnValue;
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,7 +29,8 @@ dictionary BiquadFilterOptions : AudioNodeOptions {
|
||||||
float gain = 0;
|
float gain = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface BiquadFilterNode : AudioNode {
|
interface BiquadFilterNode : AudioNode {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor(BaseAudioContext context,
|
constructor(BaseAudioContext context,
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
* https://w3c.github.io/mediacapture-record/#blobevent-section
|
* https://w3c.github.io/mediacapture-record/#blobevent-section
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface BlobEvent : Event
|
interface BlobEvent : Event
|
||||||
{
|
{
|
||||||
constructor(DOMString type, optional BlobEventInit eventInitDict = {});
|
constructor(DOMString type, optional BlobEventInit eventInitDict = {});
|
||||||
|
|
|
@ -4,5 +4,6 @@
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface CDATASection : Text {
|
interface CDATASection : Text {
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
namespace CSS {
|
namespace CSS {
|
||||||
[Throws]
|
[Throws]
|
||||||
boolean supports(DOMString property, DOMString value);
|
boolean supports(DOMString property, DOMString value);
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
[Exposed=Window]
|
||||||
interface CSS2Properties : CSSStyleDeclaration {
|
interface CSS2Properties : CSSStyleDeclaration {
|
||||||
${props}
|
${props}
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Func="Document::IsWebAnimationsGetAnimationsEnabled",
|
[Func="Document::IsWebAnimationsGetAnimationsEnabled",
|
||||||
HeaderFile="nsAnimationManager.h"]
|
HeaderFile="nsAnimationManager.h",
|
||||||
|
Exposed=Window]
|
||||||
interface CSSAnimation : Animation {
|
interface CSSAnimation : Animation {
|
||||||
[Constant] readonly attribute DOMString animationName;
|
[Constant] readonly attribute DOMString animationName;
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/css-conditional/#the-cssconditionrule-interface
|
// https://drafts.csswg.org/css-conditional/#the-cssconditionrule-interface
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSConditionRule : CSSGroupingRule {
|
interface CSSConditionRule : CSSGroupingRule {
|
||||||
[SetterThrows]
|
[SetterThrows]
|
||||||
attribute DOMString conditionText;
|
attribute DOMString conditionText;
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/css-counter-styles-3/#the-csscounterstylerule-interface
|
// https://drafts.csswg.org/css-counter-styles-3/#the-csscounterstylerule-interface
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSCounterStyleRule : CSSRule {
|
interface CSSCounterStyleRule : CSSRule {
|
||||||
attribute DOMString name;
|
attribute DOMString name;
|
||||||
attribute DOMString system;
|
attribute DOMString system;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
// https://drafts.csswg.org/css-fonts/#om-fontface
|
// https://drafts.csswg.org/css-fonts/#om-fontface
|
||||||
// But we implement a very old draft, apparently....
|
// But we implement a very old draft, apparently....
|
||||||
// See bug 1058408 for implementing the current spec.
|
// See bug 1058408 for implementing the current spec.
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSFontFaceRule : CSSRule {
|
interface CSSFontFaceRule : CSSRule {
|
||||||
[SameObject] readonly attribute CSSStyleDeclaration style;
|
[SameObject] readonly attribute CSSStyleDeclaration style;
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
// https://drafts.csswg.org/css-fonts/#om-fontfeaturevalues
|
// https://drafts.csswg.org/css-fonts/#om-fontfeaturevalues
|
||||||
// but we don't implement anything remotely resembling the spec.
|
// but we don't implement anything remotely resembling the spec.
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSFontFeatureValuesRule : CSSRule {
|
interface CSSFontFeatureValuesRule : CSSRule {
|
||||||
[SetterThrows]
|
[SetterThrows]
|
||||||
attribute DOMString fontFamily;
|
attribute DOMString fontFamily;
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom/#cssgroupingrule
|
// https://drafts.csswg.org/cssom/#cssgroupingrule
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSGroupingRule : CSSRule {
|
interface CSSGroupingRule : CSSRule {
|
||||||
[SameObject] readonly attribute CSSRuleList cssRules;
|
[SameObject] readonly attribute CSSRuleList cssRules;
|
||||||
[Throws]
|
[Throws]
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom/#cssimportrule
|
// https://drafts.csswg.org/cssom/#cssimportrule
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSImportRule : CSSRule {
|
interface CSSImportRule : CSSRule {
|
||||||
readonly attribute DOMString href;
|
readonly attribute DOMString href;
|
||||||
// Per spec, the .media is never null, but in our implementation it can
|
// Per spec, the .media is never null, but in our implementation it can
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/css-animations/#interface-csskeyframerule
|
// https://drafts.csswg.org/css-animations/#interface-csskeyframerule
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSKeyframeRule : CSSRule {
|
interface CSSKeyframeRule : CSSRule {
|
||||||
attribute DOMString keyText;
|
attribute DOMString keyText;
|
||||||
[SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
|
[SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/css-animations/#interface-csskeyframesrule
|
// https://drafts.csswg.org/css-animations/#interface-csskeyframesrule
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSKeyframesRule : CSSRule {
|
interface CSSKeyframesRule : CSSRule {
|
||||||
attribute DOMString name;
|
attribute DOMString name;
|
||||||
readonly attribute CSSRuleList cssRules;
|
readonly attribute CSSRuleList cssRules;
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
// https://drafts.csswg.org/css-conditional/#the-cssmediarule-interface
|
// https://drafts.csswg.org/css-conditional/#the-cssmediarule-interface
|
||||||
// except they disagree with each other. We're taking the inheritance from
|
// except they disagree with each other. We're taking the inheritance from
|
||||||
// css-conditional and the PutForwards behavior from cssom.
|
// css-conditional and the PutForwards behavior from cssom.
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSMediaRule : CSSConditionRule {
|
interface CSSMediaRule : CSSConditionRule {
|
||||||
[SameObject, PutForwards=mediaText] readonly attribute MediaList media;
|
[SameObject, PutForwards=mediaText] readonly attribute MediaList media;
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// This is a non-standard interface for @-moz-document rules
|
// This is a non-standard interface for @-moz-document rules
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSMozDocumentRule : CSSConditionRule {
|
interface CSSMozDocumentRule : CSSConditionRule {
|
||||||
// XXX Add access to the URL list.
|
// XXX Add access to the URL list.
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom/#cssnamespacerule
|
// https://drafts.csswg.org/cssom/#cssnamespacerule
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSNamespaceRule : CSSRule {
|
interface CSSNamespaceRule : CSSRule {
|
||||||
readonly attribute DOMString namespaceURI;
|
readonly attribute DOMString namespaceURI;
|
||||||
readonly attribute DOMString prefix;
|
readonly attribute DOMString prefix;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
// https://drafts.csswg.org/cssom/#the-csspagerule-interface
|
// https://drafts.csswg.org/cssom/#the-csspagerule-interface
|
||||||
// Per spec, this should inherit from CSSGroupingRule, but we don't
|
// Per spec, this should inherit from CSSGroupingRule, but we don't
|
||||||
// implement this yet.
|
// implement this yet.
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSPageRule : CSSRule {
|
interface CSSPageRule : CSSRule {
|
||||||
// selectorText not implemented yet
|
// selectorText not implemented yet
|
||||||
// attribute DOMString selectorText;
|
// attribute DOMString selectorText;
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Func="Document::IsWebAnimationsGetAnimationsEnabled"]
|
[Func="Document::IsWebAnimationsGetAnimationsEnabled",
|
||||||
|
Exposed=Window]
|
||||||
interface CSSPseudoElement {
|
interface CSSPseudoElement {
|
||||||
readonly attribute DOMString type;
|
readonly attribute DOMString type;
|
||||||
readonly attribute Element element;
|
readonly attribute Element element;
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom/#the-cssrule-interface
|
// https://drafts.csswg.org/cssom/#the-cssrule-interface
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSRule {
|
interface CSSRule {
|
||||||
|
|
||||||
const unsigned short STYLE_RULE = 1;
|
const unsigned short STYLE_RULE = 1;
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSRuleList {
|
interface CSSRuleList {
|
||||||
readonly attribute unsigned long length;
|
readonly attribute unsigned long length;
|
||||||
getter CSSRule? item(unsigned long index);
|
getter CSSRule? item(unsigned long index);
|
||||||
|
|
|
@ -9,7 +9,8 @@
|
||||||
|
|
||||||
// Because of getComputedStyle, many CSSStyleDeclaration objects can be
|
// Because of getComputedStyle, many CSSStyleDeclaration objects can be
|
||||||
// short-living.
|
// short-living.
|
||||||
[ProbablyShortLivingWrapper]
|
[ProbablyShortLivingWrapper,
|
||||||
|
Exposed=Window]
|
||||||
interface CSSStyleDeclaration {
|
interface CSSStyleDeclaration {
|
||||||
[CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
|
[CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
|
||||||
attribute DOMString cssText;
|
attribute DOMString cssText;
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom/#the-cssstylerule-interface
|
// https://drafts.csswg.org/cssom/#the-cssstylerule-interface
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSStyleRule : CSSRule {
|
interface CSSStyleRule : CSSRule {
|
||||||
attribute DOMString selectorText;
|
attribute DOMString selectorText;
|
||||||
[SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
|
[SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
|
||||||
|
|
|
@ -13,6 +13,7 @@ enum CSSStyleSheetParsingMode {
|
||||||
"agent"
|
"agent"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSStyleSheet : StyleSheet {
|
interface CSSStyleSheet : StyleSheet {
|
||||||
[Pure, BinaryName="DOMOwnerRule"]
|
[Pure, BinaryName="DOMOwnerRule"]
|
||||||
readonly attribute CSSRule? ownerRule;
|
readonly attribute CSSRule? ownerRule;
|
||||||
|
|
|
@ -8,5 +8,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// https://drafts.csswg.org/css-conditional/#the-csssupportsrule-interface
|
// https://drafts.csswg.org/css-conditional/#the-csssupportsrule-interface
|
||||||
|
[Exposed=Window]
|
||||||
interface CSSSupportsRule : CSSConditionRule {
|
interface CSSSupportsRule : CSSConditionRule {
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Func="Document::IsWebAnimationsGetAnimationsEnabled",
|
[Func="Document::IsWebAnimationsGetAnimationsEnabled",
|
||||||
HeaderFile="nsTransitionManager.h"]
|
HeaderFile="nsTransitionManager.h",
|
||||||
|
Exposed=Window]
|
||||||
interface CSSTransition : Animation {
|
interface CSSTransition : Animation {
|
||||||
[Constant] readonly attribute DOMString transitionProperty;
|
[Constant] readonly attribute DOMString transitionProperty;
|
||||||
};
|
};
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
* W3C liability, trademark and document use rules apply.
|
* W3C liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Pref="canvas.capturestream.enabled"]
|
[Pref="canvas.capturestream.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface CanvasCaptureMediaStream : MediaStream {
|
interface CanvasCaptureMediaStream : MediaStream {
|
||||||
readonly attribute HTMLCanvasElement canvas;
|
readonly attribute HTMLCanvasElement canvas;
|
||||||
void requestFrame();
|
void requestFrame();
|
||||||
|
|
|
@ -34,6 +34,7 @@ typedef (HTMLOrSVGImageElement or
|
||||||
HTMLVideoElement or
|
HTMLVideoElement or
|
||||||
ImageBitmap) CanvasImageSource;
|
ImageBitmap) CanvasImageSource;
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface CanvasRenderingContext2D {
|
interface CanvasRenderingContext2D {
|
||||||
|
|
||||||
// back-reference to the canvas. Might be null if we're not
|
// back-reference to the canvas. Might be null if we're not
|
||||||
|
@ -332,6 +333,7 @@ interface mixin CanvasHitRegions {
|
||||||
[Pref="canvas.hitregions.enabled"] void clearHitRegions();
|
[Pref="canvas.hitregions.enabled"] void clearHitRegions();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface CanvasGradient {
|
interface CanvasGradient {
|
||||||
// opaque object
|
// opaque object
|
||||||
[Throws]
|
[Throws]
|
||||||
|
@ -339,6 +341,7 @@ interface CanvasGradient {
|
||||||
void addColorStop(float offset, DOMString color);
|
void addColorStop(float offset, DOMString color);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface CanvasPattern {
|
interface CanvasPattern {
|
||||||
// opaque object
|
// opaque object
|
||||||
// [Throws, LenientFloat] - could not do this overload because of bug 1020975
|
// [Throws, LenientFloat] - could not do this overload because of bug 1020975
|
||||||
|
@ -348,6 +351,7 @@ interface CanvasPattern {
|
||||||
void setTransform(SVGMatrix matrix);
|
void setTransform(SVGMatrix matrix);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface TextMetrics {
|
interface TextMetrics {
|
||||||
|
|
||||||
// x-direction
|
// x-direction
|
||||||
|
@ -373,7 +377,8 @@ interface TextMetrics {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="canvas.path.enabled"]
|
[Pref="canvas.path.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface Path2D
|
interface Path2D
|
||||||
{
|
{
|
||||||
constructor();
|
constructor();
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* 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/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface CaretPosition {
|
interface CaretPosition {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -25,7 +25,8 @@ dictionary CaretStateChangedEventInit : EventInit {
|
||||||
DOMString selectedTextContent = "";
|
DOMString selectedTextContent = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
[ChromeOnly]
|
[ChromeOnly,
|
||||||
|
Exposed=Window]
|
||||||
interface CaretStateChangedEvent : Event {
|
interface CaretStateChangedEvent : Event {
|
||||||
constructor(DOMString type,
|
constructor(DOMString type,
|
||||||
optional CaretStateChangedEventInit eventInit = {});
|
optional CaretStateChangedEventInit eventInit = {});
|
||||||
|
|
|
@ -14,7 +14,8 @@ dictionary ChannelMergerOptions : AudioNodeOptions {
|
||||||
unsigned long numberOfInputs = 6;
|
unsigned long numberOfInputs = 6;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface ChannelMergerNode : AudioNode {
|
interface ChannelMergerNode : AudioNode {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor(BaseAudioContext context,
|
constructor(BaseAudioContext context,
|
||||||
|
|
|
@ -14,7 +14,8 @@ dictionary ChannelSplitterOptions : AudioNodeOptions {
|
||||||
unsigned long numberOfOutputs = 6;
|
unsigned long numberOfOutputs = 6;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="dom.webaudio.enabled"]
|
[Pref="dom.webaudio.enabled",
|
||||||
|
Exposed=Window]
|
||||||
interface ChannelSplitterNode : AudioNode {
|
interface ChannelSplitterNode : AudioNode {
|
||||||
[Throws]
|
[Throws]
|
||||||
constructor(BaseAudioContext context,
|
constructor(BaseAudioContext context,
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface CharacterData : Node {
|
interface CharacterData : Node {
|
||||||
[Pure, SetterThrows]
|
[Pure, SetterThrows]
|
||||||
attribute [TreatNullAs=EmptyString] DOMString data;
|
attribute [TreatNullAs=EmptyString] DOMString data;
|
||||||
|
|
|
@ -28,7 +28,8 @@ dictionary CheckerboardReport {
|
||||||
|
|
||||||
// The guard function only allows creation of this interface on the
|
// The guard function only allows creation of this interface on the
|
||||||
// about:checkerboard page, and only if it's in the parent process.
|
// about:checkerboard page, and only if it's in the parent process.
|
||||||
[Func="mozilla::dom::CheckerboardReportService::IsEnabled"]
|
[Func="mozilla::dom::CheckerboardReportService::IsEnabled",
|
||||||
|
Exposed=Window]
|
||||||
interface CheckerboardReportService {
|
interface CheckerboardReportService {
|
||||||
constructor();
|
constructor();
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,8 @@ interface nsISHistory;
|
||||||
* The ChildSHistory interface represents the child side of a browsing
|
* The ChildSHistory interface represents the child side of a browsing
|
||||||
* context's session history.
|
* context's session history.
|
||||||
*/
|
*/
|
||||||
[ChromeOnly]
|
[ChromeOnly,
|
||||||
|
Exposed=Window]
|
||||||
interface ChildSHistory {
|
interface ChildSHistory {
|
||||||
[Pure]
|
[Pure]
|
||||||
readonly attribute long count;
|
readonly attribute long count;
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[Func="IsChromeOrXBL"]
|
[Func="IsChromeOrXBL",
|
||||||
|
Exposed=Window]
|
||||||
interface ChromeNodeList : NodeList {
|
interface ChromeNodeList : NodeList {
|
||||||
constructor();
|
constructor();
|
||||||
|
|
||||||
|
|
|
@ -22,4 +22,4 @@ interface Clipboard : EventTarget {
|
||||||
Promise<void> write(DataTransfer data);
|
Promise<void> write(DataTransfer data);
|
||||||
[Throws, NeedsSubjectPrincipal]
|
[Throws, NeedsSubjectPrincipal]
|
||||||
Promise<void> writeText(DOMString data);
|
Promise<void> writeText(DOMString data);
|
||||||
};
|
};
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
* liability, trademark and document use rules apply.
|
* liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
[Exposed=Window]
|
||||||
interface ClipboardEvent : Event
|
interface ClipboardEvent : Event
|
||||||
{
|
{
|
||||||
[Throws]
|
[Throws]
|
||||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче