IDL roll to multivm 1266
TBR=blois
Review URL: https://codereview.appspot.com/9889044
git-svn-id: http://dart.googlecode.com/svn/third_party/WebCore@23517 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/core/README b/core/README
index 3929bfb..8d6d9a3 100644
--- a/core/README
+++ b/core/README
@@ -6,4 +6,4 @@
The current version corresponds to:
URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1246
+Current revision: 1266
diff --git a/core/core.gyp/scripts/action_csspropertynames.py b/core/core.gyp/scripts/action_csspropertynames.py
deleted file mode 100644
index b95540d..0000000
--- a/core/core.gyp/scripts/action_csspropertynames.py
+++ /dev/null
@@ -1,174 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# action_csspropertynames.py is a harness script to connect actions sections of
-# gyp-based builds to makeprop.pl.
-#
-# usage: action_csspropertynames.py OUTPUTS -- [--defines ENABLE_FLAG1 ENABLE_FLAG2 ...] -- INPUTS
-#
-# Exactly two outputs must be specified: a path to each of CSSPropertyNames.cpp
-# and CSSPropertyNames.h.
-#
-# Multiple inputs may be specified. One input must have a basename of
-# makeprop.pl; this is taken as the path to makeprop.pl. All other inputs are
-# paths to .in files that are used as input to makeprop.pl; at least one,
-# CSSPropertyNames.in, is required.
-
-
-import os
-import posixpath
-import shlex
-import shutil
-import subprocess
-import sys
-
-
-def SplitArgsIntoSections(args):
- sections = []
- while len(args) > 0:
- if not '--' in args:
- # If there is no '--' left, everything remaining is an entire section.
- dashes = len(args)
- else:
- dashes = args.index('--')
-
- sections.append(args[:dashes])
-
- # Next time through the loop, look at everything after this '--'.
- if dashes + 1 == len(args):
- # If the '--' is at the end of the list, we won't come back through the
- # loop again. Add an empty section now corresponding to the nothingness
- # following the final '--'.
- args = []
- sections.append(args)
- else:
- args = args[dashes + 1:]
-
- return sections
-
-
-def SplitDefines(options):
- # The defines come in as one flat string. Split it up into distinct arguments.
- if '--defines' in options:
- definesIndex = options.index('--defines')
- if definesIndex + 1 < len(options):
- splitOptions = shlex.split(options[definesIndex + 1])
- if splitOptions:
- options[definesIndex + 1] = ' '.join(splitOptions)
-
-def main(args):
- outputs, options, inputs = SplitArgsIntoSections(args[1:])
-
- SplitDefines(options)
-
- # Make all output pathnames absolute so that they can be accessed after
- # changing directory.
- for index in xrange(0, len(outputs)):
- outputs[index] = os.path.abspath(outputs[index])
-
- outputDir = os.path.dirname(outputs[0])
-
- # Look at the inputs and figure out which one is makeprop.pl and which are
- # inputs to that script.
- makepropInput = None
- inFiles = []
- for input in inputs:
- # Make input pathnames absolute so they can be accessed after changing
- # directory. On Windows, convert \ to / for inputs to the perl script to
- # work around the intermix of activepython + cygwin perl.
- inputAbs = os.path.abspath(input)
- inputAbsPosix = inputAbs.replace(os.path.sep, posixpath.sep)
- inputBasename = os.path.basename(input)
- if inputBasename == 'makeprop.pl':
- assert makepropInput == None
- makepropInput = inputAbs
- elif inputBasename.endswith('.in'):
- inFiles.append(inputAbsPosix)
- else:
- assert False
-
- assert makepropInput != None
- assert len(inFiles) >= 1
-
- # Change to the output directory because makeprop.pl puts output in its
- # working directory.
- os.chdir(outputDir)
-
- # Merge all inFiles into a single file whose name will be the same as the
- # first listed inFile, but in the output directory.
- mergedPath = os.path.basename(inFiles[0])
- merged = open(mergedPath, 'wb') # 'wb' to get \n only on windows
-
- # Concatenate all the input files.
- for inFilePath in inFiles:
- inFile = open(inFilePath)
- shutil.copyfileobj(inFile, merged)
- inFile.close()
-
- merged.close()
-
- # scriptsPath is a Perl include directory, located relative to
- # makepropInput.
- scriptsPath = os.path.normpath(
- os.path.join(os.path.dirname(makepropInput), os.pardir, 'scripts'))
-
- # Build up the command.
- command = ['perl', '-I', scriptsPath, makepropInput]
- command.extend(options)
-
- # Do it. checkCall is new in 2.5, so simulate its behavior with call and
- # assert.
- returnCode = subprocess.call(command)
- assert returnCode == 0
-
- # Don't leave behind the merged file or the .gperf file created by
- # makeprop.
- (root, ext) = os.path.splitext(mergedPath)
- gperfPath = root + '.gperf'
- os.unlink(gperfPath)
- os.unlink(mergedPath)
-
- # Go through the outputs. Any output that belongs in a different directory
- # is moved. Do a copy and delete instead of rename for maximum portability.
- # Note that all paths used in this section are still absolute.
- for output in outputs:
- thisOutputDir = os.path.dirname(output)
- if thisOutputDir != outputDir:
- outputBasename = os.path.basename(output)
- src = os.path.join(outputDir, outputBasename)
- dst = os.path.join(thisOutputDir, outputBasename)
- shutil.copyfile(src, dst)
- os.unlink(src)
-
- return returnCode
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff --git a/core/core.gyp/scripts/action_cssvaluekeywords.py b/core/core.gyp/scripts/action_cssvaluekeywords.py
deleted file mode 100644
index 8232fb4..0000000
--- a/core/core.gyp/scripts/action_cssvaluekeywords.py
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# action_cssvaluekeywords.py is a harness script to connect actions sections of
-# gyp-based builds to makevalues.pl.
-#
-# usage: action_cssvaluekeywords.py OUTPUTS -- [--defines ENABLE_FLAG1 ENABLE_FLAG2 ...] -- INPUTS
-#
-# Exactly two outputs must be specified: a path to each of CSSValueKeywords.c
-# and CSSValueKeywords.h.
-#
-# Multiple inputs may be specified. One input must have a basename of
-# makevalues.pl; this is taken as the path to makevalues.pl. All other inputs
-# are paths to .in files that are used as input to makevalues.pl; at least
-# one, CSSValueKeywords.in, is required.
-
-
-import os
-import posixpath
-import shlex
-import shutil
-import subprocess
-import sys
-
-
-def SplitArgsIntoSections(args):
- sections = []
- while len(args) > 0:
- if not '--' in args:
- # If there is no '--' left, everything remaining is an entire section.
- dashes = len(args)
- else:
- dashes = args.index('--')
-
- sections.append(args[:dashes])
-
- # Next time through the loop, look at everything after this '--'.
- if dashes + 1 == len(args):
- # If the '--' is at the end of the list, we won't come back through the
- # loop again. Add an empty section now corresponding to the nothingness
- # following the final '--'.
- args = []
- sections.append(args)
- else:
- args = args[dashes + 1:]
-
- return sections
-
-
-def SplitDefines(options):
- # The defines come in as one flat string. Split it up into distinct arguments.
- if '--defines' in options:
- definesIndex = options.index('--defines')
- if definesIndex + 1 < len(options):
- splitOptions = shlex.split(options[definesIndex + 1])
- if splitOptions:
- options[definesIndex + 1] = ' '.join(splitOptions)
-
-def main(args):
- outputs, options, inputs = SplitArgsIntoSections(args[1:])
-
- SplitDefines(options)
-
- # Make all output pathnames absolute so that they can be accessed after
- # changing directory.
- for index in xrange(0, len(outputs)):
- outputs[index] = os.path.abspath(outputs[index])
-
- outputDir = os.path.dirname(outputs[0])
-
- # Look at the inputs and figure out which one is makevalues.pl and which are
- # inputs to that script.
- makevaluesInput = None
- inFiles = []
- for input in inputs:
- # Make input pathnames absolute so they can be accessed after changing
- # directory. On Windows, convert \ to / for inputs to the perl script to
- # work around the intermix of activepython + cygwin perl.
- inputAbs = os.path.abspath(input)
- inputAbsPosix = inputAbs.replace(os.path.sep, posixpath.sep)
- inputBasename = os.path.basename(input)
- if inputBasename == 'makevalues.pl':
- assert makevaluesInput == None
- makevaluesInput = inputAbs
- elif inputBasename.endswith('.in'):
- inFiles.append(inputAbsPosix)
- else:
- assert False
-
- assert makevaluesInput != None
- assert len(inFiles) >= 1
-
- # Change to the output directory because makevalues.pl puts output in its
- # working directory.
- os.chdir(outputDir)
-
- # Merge all inFiles into a single file whose name will be the same as the
- # first listed inFile, but in the output directory.
- mergedPath = os.path.basename(inFiles[0])
- merged = open(mergedPath, 'wb') # 'wb' to get \n only on windows
-
- # Concatenate all the input files.
- for inFilePath in inFiles:
- inFile = open(inFilePath)
- shutil.copyfileobj(inFile, merged)
- inFile.close()
-
- merged.close()
-
- # scriptsPath is a Perl include directory, located relative to
- # makevaluesInput.
- scriptsPath = os.path.normpath(
- os.path.join(os.path.dirname(makevaluesInput), os.pardir, 'scripts'))
-
- # Build up the command.
- command = ['perl', '-I', scriptsPath, makevaluesInput]
- command.extend(options)
-
- # Do it. checkCall is new in 2.5, so simulate its behavior with call and
- # assert.
- returnCode = subprocess.call(command)
- assert returnCode == 0
-
- # Don't leave behind the merged file or the .gperf file created by
- # makevalues.
- (root, ext) = os.path.splitext(mergedPath)
- gperfPath = root + '.gperf'
- os.unlink(gperfPath)
- os.unlink(mergedPath)
-
- # Go through the outputs. Any output that belongs in a different directory
- # is moved. Do a copy and delete instead of rename for maximum portability.
- # Note that all paths used in this section are still absolute.
- for output in outputs:
- thisOutputDir = os.path.dirname(output)
- if thisOutputDir != outputDir:
- outputBasename = os.path.basename(output)
- src = os.path.join(outputDir, outputBasename)
- dst = os.path.join(thisOutputDir, outputBasename)
- shutil.copyfile(src, dst)
- os.unlink(src)
-
- return returnCode
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff --git a/core/css/DOMWindowCSS.idl b/core/css/CSS.idl
similarity index 95%
rename from core/css/DOMWindowCSS.idl
rename to core/css/CSS.idl
index 742a152..4ba9ba7 100644
--- a/core/css/DOMWindowCSS.idl
+++ b/core/css/CSS.idl
@@ -28,11 +28,9 @@
*/
[
- InterfaceName=CSS,
- ImplementationLacksVTable
-] interface DOMWindowCSS {
-
+ NoInterfaceObject,
+ ImplementedAs=DOMWindowCSS
+] interface CSS {
boolean supports(DOMString property, DOMString value);
boolean supports(DOMString conditionText);
-
};
diff --git a/core/css/CSSFontFaceLoadEvent.idl b/core/css/CSSFontFaceLoadEvent.idl
index c4bd55e..d89e765 100644
--- a/core/css/CSSFontFaceLoadEvent.idl
+++ b/core/css/CSSFontFaceLoadEvent.idl
@@ -29,6 +29,7 @@
*/
[
+ NoInterfaceObject,
EnabledAtRuntime=fontLoadEvents,
ConstructorTemplate=Event
] interface CSSFontFaceLoadEvent : Event {
diff --git a/core/css/CSSPrimitiveValue.idl b/core/css/CSSPrimitiveValue.idl
index 8581cdb..ff49620 100644
--- a/core/css/CSSPrimitiveValue.idl
+++ b/core/css/CSSPrimitiveValue.idl
@@ -18,7 +18,6 @@
*/
[
- ImplementationLacksVTable
] interface CSSPrimitiveValue : CSSValue {
// UnitTypes
diff --git a/core/css/CSSRule.idl b/core/css/CSSRule.idl
index 593305c..983a464 100644
--- a/core/css/CSSRule.idl
+++ b/core/css/CSSRule.idl
@@ -22,8 +22,7 @@
[
CustomToV8,
- DependentLifetime,
- SkipVTableValidation
+ DependentLifetime
] interface CSSRule {
// RuleType
diff --git a/core/css/CSSRuleList.idl b/core/css/CSSRuleList.idl
index 0cbc656..e89a820 100644
--- a/core/css/CSSRuleList.idl
+++ b/core/css/CSSRuleList.idl
@@ -25,8 +25,7 @@
// Introduced in DOM Level 2:
[
- DependentLifetime,
- SkipVTableValidation
+ DependentLifetime
] interface CSSRuleList {
readonly attribute unsigned long length;
getter CSSRule item([Default=Undefined] optional unsigned long index);
diff --git a/core/css/CSSStyleDeclaration.idl b/core/css/CSSStyleDeclaration.idl
index be7b708..252ddcb 100644
--- a/core/css/CSSStyleDeclaration.idl
+++ b/core/css/CSSStyleDeclaration.idl
@@ -23,8 +23,7 @@
CustomNamedSetter,
CustomNamedGetter,
CustomEnumerateProperty,
- DependentLifetime,
- SkipVTableValidation
+ DependentLifetime
] interface CSSStyleDeclaration {
[TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException] attribute DOMString cssText;
@@ -39,9 +38,5 @@
readonly attribute unsigned long length;
getter DOMString item([Default=Undefined] optional unsigned long index);
readonly attribute CSSRule parentRule;
-
- // Extensions
- [TreatReturnedNullStringAs=Null] DOMString getPropertyShorthand([Default=Undefined] optional DOMString propertyName);
- boolean isPropertyImplicit([Default=Undefined] optional DOMString propertyName);
};
diff --git a/core/css/CSSStyleSheet.idl b/core/css/CSSStyleSheet.idl
index 7ab434f..62350f5 100644
--- a/core/css/CSSStyleSheet.idl
+++ b/core/css/CSSStyleSheet.idl
@@ -20,7 +20,7 @@
// Introduced in DOM Level 2:
[
- GenerateIsReachable=ImplOwnerNodeRoot
+ GenerateIsReachable=ownerNode
] interface CSSStyleSheet : StyleSheet {
readonly attribute CSSRule ownerRule;
readonly attribute CSSRuleList cssRules;
diff --git a/core/css/CSSSupportsRule.idl b/core/css/CSSSupportsRule.idl
index 13e0efd..b2aa0cc 100644
--- a/core/css/CSSSupportsRule.idl
+++ b/core/css/CSSSupportsRule.idl
@@ -26,7 +26,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface CSSSupportsRule : CSSRule {
+[
+ NoInterfaceObject
+] interface CSSSupportsRule : CSSRule {
readonly attribute CSSRuleList cssRules;
readonly attribute DOMString conditionText;
diff --git a/core/css/CSSValue.idl b/core/css/CSSValue.idl
index 5440b74..e8a4a13 100644
--- a/core/css/CSSValue.idl
+++ b/core/css/CSSValue.idl
@@ -21,8 +21,7 @@
[
CustomToV8,
- DependentLifetime,
- ImplementationLacksVTable
+ DependentLifetime
] interface CSSValue {
// UnitTypes
diff --git a/core/css/CSSValueList.idl b/core/css/CSSValueList.idl
index ca51d6c..7d0b63e 100644
--- a/core/css/CSSValueList.idl
+++ b/core/css/CSSValueList.idl
@@ -25,7 +25,6 @@
// Introduced in DOM Level 2:
[
- ImplementationLacksVTable
] interface CSSValueList : CSSValue {
readonly attribute unsigned long length;
getter CSSValue item([Default=Undefined] optional unsigned long index);
diff --git a/core/css/Counter.idl b/core/css/Counter.idl
index aff8b56..7006aa5 100644
--- a/core/css/Counter.idl
+++ b/core/css/Counter.idl
@@ -19,7 +19,6 @@
// Introduced in DOM Level 2:
[
- ImplementationLacksVTable
] interface Counter {
readonly attribute DOMString identifier;
readonly attribute DOMString listStyle;
diff --git a/core/css/FontLoader.idl b/core/css/FontLoader.idl
index ae6fbf1..7e7842a 100644
--- a/core/css/FontLoader.idl
+++ b/core/css/FontLoader.idl
@@ -29,10 +29,11 @@
*/
[
+ NoInterfaceObject,
EnabledAtRuntime=fontLoadEvents,
ActiveDOMObject,
EventTarget,
- GenerateIsReachable=ImplDocument,
+ GenerateIsReachable=document
] interface FontLoader {
attribute EventListener onloading;
diff --git a/core/css/MediaList.idl b/core/css/MediaList.idl
index 248a092..29cc41a 100644
--- a/core/css/MediaList.idl
+++ b/core/css/MediaList.idl
@@ -25,7 +25,6 @@
// Introduced in DOM Level 2:
[
- ImplementationLacksVTable
] interface MediaList {
[TreatNullAs=NullString, TreatReturnedNullStringAs=Null, SetterRaisesException] attribute DOMString mediaText;
diff --git a/core/css/MediaQueryList.idl b/core/css/MediaQueryList.idl
index 7fb2bca..7785d8d 100644
--- a/core/css/MediaQueryList.idl
+++ b/core/css/MediaQueryList.idl
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface MediaQueryList {
readonly attribute DOMString media;
readonly attribute boolean matches;
diff --git a/core/css/MediaQueryListListener.idl b/core/css/MediaQueryListListener.idl
index 91f97f1..d8ff09e 100644
--- a/core/css/MediaQueryListListener.idl
+++ b/core/css/MediaQueryListListener.idl
@@ -19,7 +19,7 @@
[
- CPPPureInterface,
+ CPPPureInterface
] interface MediaQueryListListener {
void queryChanged([Default=Undefined] optional MediaQueryList list);
};
diff --git a/core/css/RGBColor.idl b/core/css/RGBColor.idl
index 6afcfac..09fa76e 100644
--- a/core/css/RGBColor.idl
+++ b/core/css/RGBColor.idl
@@ -19,7 +19,6 @@
*/
[
- ImplementationLacksVTable
] interface RGBColor {
readonly attribute CSSPrimitiveValue red;
readonly attribute CSSPrimitiveValue green;
diff --git a/core/css/Rect.idl b/core/css/Rect.idl
index 5013285..3eac82f 100644
--- a/core/css/Rect.idl
+++ b/core/css/Rect.idl
@@ -18,7 +18,6 @@
*/
[
- ImplementationLacksVTable
] interface Rect {
readonly attribute CSSPrimitiveValue top;
readonly attribute CSSPrimitiveValue right;
diff --git a/core/css/StyleMedia.idl b/core/css/StyleMedia.idl
index cd87599..27424f3 100644
--- a/core/css/StyleMedia.idl
+++ b/core/css/StyleMedia.idl
@@ -24,7 +24,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface StyleMedia {
+[
+ NoInterfaceObject
+] interface StyleMedia {
readonly attribute DOMString type;
boolean matchMedium([Default=Undefined] optional DOMString mediaquery);
};
diff --git a/core/css/StyleSheet.idl b/core/css/StyleSheet.idl
index 842174a..2c179ac 100644
--- a/core/css/StyleSheet.idl
+++ b/core/css/StyleSheet.idl
@@ -21,7 +21,7 @@
// Introduced in DOM Level 2:
[
CustomToV8,
- GenerateIsReachable=ImplOwnerNodeRoot
+ GenerateIsReachable=ownerNode
] interface StyleSheet {
[TreatReturnedNullStringAs=Null] readonly attribute DOMString type;
attribute boolean disabled;
diff --git a/core/css/StyleSheetList.idl b/core/css/StyleSheetList.idl
index fce41cf..84224df 100644
--- a/core/css/StyleSheetList.idl
+++ b/core/css/StyleSheetList.idl
@@ -20,9 +20,8 @@
// Introduced in DOM Level 2:
[
- GenerateIsReachable=ImplDocument,
- CustomNamedGetter,
- ImplementationLacksVTable
+ GenerateIsReachable=document,
+ CustomNamedGetter
] interface StyleSheetList {
readonly attribute unsigned long length;
getter StyleSheet item([Default=Undefined] optional unsigned long index);
diff --git a/core/css/WebKitCSSFilterValue.idl b/core/css/WebKitCSSFilterValue.idl
index 2547661..4f5e23c 100644
--- a/core/css/WebKitCSSFilterValue.idl
+++ b/core/css/WebKitCSSFilterValue.idl
@@ -24,8 +24,7 @@
*/
[
- DoNotCheckConstants,
- ImplementationLacksVTable
+ DoNotCheckConstants
] interface WebKitCSSFilterValue : CSSValueList {
// OperationTypes
@@ -44,4 +43,5 @@
const unsigned short CSS_FILTER_CUSTOM = 12;
readonly attribute unsigned short operationType;
+ [ImplementedAs=item] getter CSSValue([Default=Undefined] optional unsigned long index);
};
diff --git a/core/css/WebKitCSSKeyframesRule.idl b/core/css/WebKitCSSKeyframesRule.idl
index 826413f..895d34e 100644
--- a/core/css/WebKitCSSKeyframesRule.idl
+++ b/core/css/WebKitCSSKeyframesRule.idl
@@ -33,6 +33,7 @@
[TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString name;
readonly attribute CSSRuleList cssRules;
+ [ImplementedAs=item] getter WebKitCSSKeyframeRule(unsigned long index);
void insertRule([Default=Undefined] optional DOMString rule);
void deleteRule([Default=Undefined] optional DOMString key);
WebKitCSSKeyframeRule findRule([Default=Undefined] optional DOMString key);
diff --git a/core/css/WebKitCSSMixFunctionValue.idl b/core/css/WebKitCSSMixFunctionValue.idl
index 1ce921e..c4a2abd 100644
--- a/core/css/WebKitCSSMixFunctionValue.idl
+++ b/core/css/WebKitCSSMixFunctionValue.idl
@@ -28,7 +28,6 @@
*/
[
- ImplementationLacksVTable
] interface WebKitCSSMixFunctionValue : CSSValueList {
};
diff --git a/core/css/WebKitCSSRegionRule.idl b/core/css/WebKitCSSRegionRule.idl
index 7549b75..2dfbf39 100644
--- a/core/css/WebKitCSSRegionRule.idl
+++ b/core/css/WebKitCSSRegionRule.idl
@@ -28,7 +28,7 @@
*/
[
- EnabledAtRuntime=cssRegions,
+ EnabledAtRuntime=cssRegions
] interface WebKitCSSRegionRule : CSSRule {
readonly attribute CSSRuleList cssRules;
};
diff --git a/core/css/WebKitCSSTransformValue.idl b/core/css/WebKitCSSTransformValue.idl
index ddbb799..97a5430 100644
--- a/core/css/WebKitCSSTransformValue.idl
+++ b/core/css/WebKitCSSTransformValue.idl
@@ -27,8 +27,7 @@
*/
[
- DoNotCheckConstants,
- ImplementationLacksVTable
+ DoNotCheckConstants
] interface WebKitCSSTransformValue : CSSValueList {
// OperationTypes
@@ -56,5 +55,6 @@
const unsigned short CSS_MATRIX3D = 21;
readonly attribute unsigned short operationType;
+ [ImplementedAs=item] getter CSSValue([Default=Undefined] optional unsigned long index);
};
diff --git a/core/css/WebKitCSSViewportRule.idl b/core/css/WebKitCSSViewportRule.idl
index a194922..f2cc09f 100644
--- a/core/css/WebKitCSSViewportRule.idl
+++ b/core/css/WebKitCSSViewportRule.idl
@@ -28,7 +28,7 @@
*/
[
- Conditional=CSS_DEVICE_ADAPTATION,
+ Conditional=CSS_DEVICE_ADAPTATION
] interface WebKitCSSViewportRule : CSSRule {
readonly attribute CSSStyleDeclaration style;
};
diff --git a/core/dom/CharacterData.idl b/core/dom/CharacterData.idl
index 4b45308..6491b8e 100644
--- a/core/dom/CharacterData.idl
+++ b/core/dom/CharacterData.idl
@@ -37,7 +37,9 @@
[IsIndex,Default=Undefined] optional unsigned long length,
[Default=Undefined] optional DOMString data);
- // DOM 4
+ // ChildNode interface API
+ readonly attribute Element previousElementSibling;
+ readonly attribute Element nextElementSibling;
[RaisesException] void remove();
};
diff --git a/core/dom/ClientRect.idl b/core/dom/ClientRect.idl
index 3dc5b03..2d96ed0 100644
--- a/core/dom/ClientRect.idl
+++ b/core/dom/ClientRect.idl
@@ -25,7 +25,6 @@
*/
[
- ImplementationLacksVTable
] interface ClientRect {
readonly attribute float top;
readonly attribute float right;
diff --git a/core/dom/ClientRectList.idl b/core/dom/ClientRectList.idl
index 8017c6b..2d35d67 100644
--- a/core/dom/ClientRectList.idl
+++ b/core/dom/ClientRectList.idl
@@ -25,7 +25,6 @@
*/
[
- ImplementationLacksVTable
] interface ClientRectList {
readonly attribute unsigned long length;
getter ClientRect item([IsIndex,Default=Undefined] optional unsigned long index);
diff --git a/core/dom/Clipboard.idl b/core/dom/Clipboard.idl
index da58a66..82453c7 100644
--- a/core/dom/Clipboard.idl
+++ b/core/dom/Clipboard.idl
@@ -27,7 +27,6 @@
*/
[
- SkipVTableValidation
] interface Clipboard {
[TreatReturnedNullStringAs=Undefined] attribute DOMString dropEffect;
[TreatReturnedNullStringAs=Undefined] attribute DOMString effectAllowed;
diff --git a/core/dom/Comment.idl b/core/dom/Comment.idl
index 5c07e2f..3a46dd7 100644
--- a/core/dom/Comment.idl
+++ b/core/dom/Comment.idl
@@ -17,6 +17,9 @@
* Boston, MA 02110-1301, USA.
*/
-interface Comment : CharacterData {
+[
+ Constructor([Default=NullString] optional DOMString data),
+ CallWith=ScriptExecutionContext
+] interface Comment : CharacterData {
};
diff --git a/core/dom/CustomElementConstructor.idl b/core/dom/CustomElementConstructor.idl
index 0460874..4b6d84f 100644
--- a/core/dom/CustomElementConstructor.idl
+++ b/core/dom/CustomElementConstructor.idl
@@ -23,8 +23,9 @@
*/
[
+ NoInterfaceObject,
EnabledAtRuntime=customDOMElements,
WrapAsFunction,
- CustomCall
+ CustomLegacyCall
] interface CustomElementConstructor {
};
diff --git a/core/dom/DOMCoreException.idl b/core/dom/DOMCoreException.idl
index 2b6f16e..3df6046 100644
--- a/core/dom/DOMCoreException.idl
+++ b/core/dom/DOMCoreException.idl
@@ -28,8 +28,7 @@
[
DoNotCheckConstants,
- InterfaceName=DOMException,
- ImplementationLacksVTable
+ InterfaceName=DOMException
] exception DOMCoreException {
readonly attribute unsigned short code;
diff --git a/core/dom/DOMError.idl b/core/dom/DOMError.idl
index 79a5881..5cded18 100644
--- a/core/dom/DOMError.idl
+++ b/core/dom/DOMError.idl
@@ -26,7 +26,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface DOMError {
readonly attribute DOMString name;
};
diff --git a/core/dom/DOMImplementation.idl b/core/dom/DOMImplementation.idl
index 960e2df..0040c11 100644
--- a/core/dom/DOMImplementation.idl
+++ b/core/dom/DOMImplementation.idl
@@ -19,8 +19,7 @@
*/
[
- GenerateIsReachable=ImplDocument,
- ImplementationLacksVTable
+ GenerateIsReachable=document
] interface DOMImplementation {
// DOM Level 1
@@ -39,8 +38,8 @@
// DOMImplementationCSS interface from DOM Level 2 CSS
- [RaisesException] CSSStyleSheet createCSSStyleSheet([Default=Undefined] optional DOMString title,
- [Default=Undefined] optional DOMString media);
+ CSSStyleSheet createCSSStyleSheet([Default=Undefined] optional DOMString title,
+ [Default=Undefined] optional DOMString media);
// HTMLDOMImplementation interface from DOM Level 2 HTML
diff --git a/core/dom/DOMNamedFlowCollection.idl b/core/dom/DOMNamedFlowCollection.idl
index 6225e98..90d2a44 100644
--- a/core/dom/DOMNamedFlowCollection.idl
+++ b/core/dom/DOMNamedFlowCollection.idl
@@ -28,9 +28,9 @@
*/
[
+ NoInterfaceObject,
EnabledAtRuntime=cssRegions,
- InterfaceName=WebKitNamedFlowCollection,
- ImplementationLacksVTable
+ InterfaceName=WebKitNamedFlowCollection
] interface DOMNamedFlowCollection {
readonly attribute unsigned long length;
getter NamedFlow item(unsigned long index);
diff --git a/core/dom/DOMStringList.idl b/core/dom/DOMStringList.idl
index 5109dc6..1c75bcb 100644
--- a/core/dom/DOMStringList.idl
+++ b/core/dom/DOMStringList.idl
@@ -24,7 +24,6 @@
*/
[
- ImplementationLacksVTable
] interface DOMStringList {
readonly attribute unsigned long length;
[TreatReturnedNullStringAs=Null] getter DOMString item([Default=Undefined] optional unsigned long index);
diff --git a/core/dom/DOMStringMap.idl b/core/dom/DOMStringMap.idl
index e200cc8..d3e48ab 100644
--- a/core/dom/DOMStringMap.idl
+++ b/core/dom/DOMStringMap.idl
@@ -24,12 +24,11 @@
*/
[
- GenerateIsReachable=ImplElementRoot,
- CustomNamedGetter,
+ GenerateIsReachable=element,
CustomDeleteProperty,
CustomEnumerateProperty,
- CustomNamedSetter,
- SkipVTableValidation
+ CustomNamedSetter
] interface DOMStringMap {
+ [ImplementedAs=item, OverrideBuiltins] getter DOMString (DOMString name);
};
diff --git a/core/dom/DataTransferItem.idl b/core/dom/DataTransferItem.idl
index 227e5a5..4ce2992 100644
--- a/core/dom/DataTransferItem.idl
+++ b/core/dom/DataTransferItem.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface DataTransferItem {
readonly attribute DOMString kind;
readonly attribute DOMString type;
diff --git a/core/dom/DataTransferItemList.idl b/core/dom/DataTransferItemList.idl
index 0217784..07e9e2a 100644
--- a/core/dom/DataTransferItemList.idl
+++ b/core/dom/DataTransferItemList.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface DataTransferItemList {
readonly attribute long length;
getter DataTransferItem item([Default=Undefined] optional unsigned long index);
diff --git a/core/dom/Document.idl b/core/dom/Document.idl
index 985097c..abee356 100644
--- a/core/dom/Document.idl
+++ b/core/dom/Document.idl
@@ -35,7 +35,6 @@
[RaisesException] ProcessingInstruction createProcessingInstruction([Default=Undefined] optional DOMString target,
[Default=Undefined] optional DOMString data);
[RaisesException] Attr createAttribute([Default=Undefined] optional DOMString name);
- [RaisesException] EntityReference createEntityReference([Default=Undefined] optional DOMString name);
[PerWorldBindings] NodeList getElementsByTagName([Default=Undefined] optional DOMString tagname);
// Introduced in DOM Level 2:
@@ -137,7 +136,7 @@
[PerWorldBindings] NodeList getElementsByName([Default=Undefined] optional DOMString elementName);
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] attribute Location location;
+ [Custom, Replaceable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] readonly attribute Location location;
// IE extensions
@@ -151,7 +150,7 @@
[Default=Undefined] optional long y);
// Mozilla extensions
- DOMSelection getSelection();
+ Selection getSelection();
[TreatReturnedNullStringAs=Null] readonly attribute DOMString characterSet;
// WebKit extensions
@@ -264,17 +263,17 @@
[NotEnumerable] attribute EventListener onwebkitpointerlockerror;
[NotEnumerable, EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute EventListener onsecuritypolicyviolation;
- [EnabledAtRuntime=touch, RaisesException] Touch createTouch([Default=Undefined] optional DOMWindow window,
- [Default=Undefined] optional EventTarget target,
- [Default=Undefined] optional long identifier,
- [Default=Undefined] optional long pageX,
- [Default=Undefined] optional long pageY,
- [Default=Undefined] optional long screenX,
- [Default=Undefined] optional long screenY,
- [Default=Undefined] optional long webkitRadiusX,
- [Default=Undefined] optional long webkitRadiusY,
- [Default=Undefined] optional float webkitRotationAngle,
- [Default=Undefined] optional float webkitForce);
+ [EnabledAtRuntime=touch] Touch createTouch([Default=Undefined] optional DOMWindow window,
+ [Default=Undefined] optional EventTarget target,
+ [Default=Undefined] optional long identifier,
+ [Default=Undefined] optional long pageX,
+ [Default=Undefined] optional long pageY,
+ [Default=Undefined] optional long screenX,
+ [Default=Undefined] optional long screenY,
+ [Default=Undefined] optional long webkitRadiusX,
+ [Default=Undefined] optional long webkitRadiusY,
+ [Default=Undefined] optional float webkitRotationAngle,
+ [Default=Undefined] optional float webkitForce);
[EnabledAtRuntime=touch, Custom, RaisesException] TouchList createTouchList();
[EnabledAtRuntime=customDOMElements, ImplementedAs=registerElement, CallWith=ScriptState, DeliverCustomElementCallbacks, RaisesException] CustomElementConstructor webkitRegister(DOMString name, optional Dictionary options);
@@ -287,7 +286,12 @@
readonly attribute boolean webkitHidden;
// Security Policy API: http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-interfaces
- [EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] readonly attribute DOMSecurityPolicy securityPolicy;
+ [EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] readonly attribute SecurityPolicy securityPolicy;
+ // ParentNode interface API
+ readonly attribute HTMLCollection children;
+ readonly attribute Element firstElementChild;
+ readonly attribute Element lastElementChild;
+ readonly attribute unsigned long childElementCount;
};
diff --git a/core/dom/DocumentFragment.idl b/core/dom/DocumentFragment.idl
index e8cd287..f02cf18 100644
--- a/core/dom/DocumentFragment.idl
+++ b/core/dom/DocumentFragment.idl
@@ -18,10 +18,17 @@
*/
[
- SkipVTableValidation
+ Constructor,
+ CallWith=ScriptExecutionContext
] interface DocumentFragment : Node {
// NodeSelector - Selector API
[RaisesException] Element querySelector(DOMString selectors);
[RaisesException] NodeList querySelectorAll(DOMString selectors);
+
+ // ParentNode interface API
+ readonly attribute HTMLCollection children;
+ readonly attribute Element firstElementChild;
+ readonly attribute Element lastElementChild;
+ readonly attribute unsigned long childElementCount;
};
diff --git a/core/dom/DocumentType.idl b/core/dom/DocumentType.idl
index 5cd61a9..352da12 100644
--- a/core/dom/DocumentType.idl
+++ b/core/dom/DocumentType.idl
@@ -31,7 +31,9 @@
[TreatReturnedNullStringAs=Null] readonly attribute DOMString systemId;
[TreatReturnedNullStringAs=Null] readonly attribute DOMString internalSubset;
- // DOM 4
+ // ChildNode interface API
+ readonly attribute Element previousElementSibling;
+ readonly attribute Element nextElementSibling;
[RaisesException] void remove();
};
diff --git a/core/dom/Element.idl b/core/dom/Element.idl
index 76136bc..831e32c 100644
--- a/core/dom/Element.idl
+++ b/core/dom/Element.idl
@@ -19,8 +19,7 @@
*/
[
- CustomToV8,
- SkipVTableValidation
+ CustomToV8
] interface Element : Node {
// DOM Level 1 Core
@@ -28,12 +27,12 @@
[TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMString tagName;
[TreatReturnedNullStringAs=Null] DOMString getAttribute([Default=Undefined] optional DOMString name);
- [RaisesException] void setAttribute([Default=Undefined] optional DOMString name,
+ [RaisesException] void setAttribute([Default=Undefined] optional DOMString name,
[Default=Undefined] optional DOMString value);
void removeAttribute([Default=Undefined] optional DOMString name);
Attr getAttributeNode([Default=Undefined] optional DOMString name);
- [RaisesException] Attr setAttributeNode([Default=Undefined] optional Attr newAttr);
- [RaisesException] Attr removeAttributeNode([Default=Undefined] optional Attr oldAttr);
+ [RaisesException] Attr setAttributeNode([Default=Undefined, StrictTypeChecking] optional Attr newAttr);
+ [RaisesException] Attr removeAttributeNode([Default=Undefined, StrictTypeChecking] optional Attr oldAttr);
[PerWorldBindings] NodeList getElementsByTagName([Default=Undefined] optional DOMString name);
// For ObjC this is defined on Node for legacy support.
@@ -53,7 +52,7 @@
[Default=Undefined] optional DOMString localName);
Attr getAttributeNodeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
[Default=Undefined] optional DOMString localName);
- [RaisesException] Attr setAttributeNodeNS([Default=Undefined] optional Attr newAttr);
+ [RaisesException] Attr setAttributeNodeNS([Default=Undefined, StrictTypeChecking] optional Attr newAttr);
boolean hasAttribute(DOMString name);
boolean hasAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
[Default=Undefined] optional DOMString localName);
@@ -101,11 +100,10 @@
// WebKit extension, pending specification.
[RaisesException] boolean webkitMatchesSelector([Default=Undefined] optional DOMString selectors);
- // ElementTraversal API
+ // ParentNode interface API
+ [PerWorldBindings] readonly attribute HTMLCollection children;
[PerWorldBindings] readonly attribute Element firstElementChild;
[PerWorldBindings] readonly attribute Element lastElementChild;
- [PerWorldBindings] readonly attribute Element previousElementSibling;
- [PerWorldBindings] readonly attribute Element nextElementSibling;
[PerWorldBindings] readonly attribute unsigned long childElementCount;
// ShadowAware API
@@ -114,7 +112,9 @@
[ImplementedAs=shadowRoot, PerWorldBindings] readonly attribute ShadowRoot webkitShadowRoot;
[ImplementedAs=insertionParentForBinding, PerWorldBindings] readonly attribute Node webkitInsertionParent;
- // DOM 4
+ // ChildNode interface API
+ [PerWorldBindings] readonly attribute Element previousElementSibling;
+ [PerWorldBindings] readonly attribute Element nextElementSibling;
[RaisesException] void remove();
// CSSOM View Module API
diff --git a/core/dom/Entity.idl b/core/dom/Entity.idl
index 7f5bf4b..12b9234 100644
--- a/core/dom/Entity.idl
+++ b/core/dom/Entity.idl
@@ -17,7 +17,6 @@
* Boston, MA 02110-1301, USA.
*/
[
- ImplementationLacksVTable
] interface Entity : Node {
[TreatReturnedNullStringAs=Null] readonly attribute DOMString publicId;
[TreatReturnedNullStringAs=Null] readonly attribute DOMString systemId;
diff --git a/core/dom/EntityReference.idl b/core/dom/EntityReference.idl
deleted file mode 100644
index 363554a..0000000
--- a/core/dom/EntityReference.idl
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-interface EntityReference : Node {
-};
-
diff --git a/core/dom/Event.idl b/core/dom/Event.idl
index 82b8e28..c38db7d 100644
--- a/core/dom/Event.idl
+++ b/core/dom/Event.idl
@@ -21,9 +21,8 @@
// Introduced in DOM Level 2:
[
CustomToV8,
- ConstructorTemplate=Event,
+ ConstructorTemplate=Event
- SkipVTableValidation
] interface Event {
// DOM PhaseType
@@ -73,6 +72,8 @@
attribute boolean returnValue;
attribute boolean cancelBubble;
+ [EnabledAtRuntime=experimentalShadowDOM] NodeList path();
+
[Custom] readonly attribute Clipboard clipboardData;
};
diff --git a/core/dom/EventException.idl b/core/dom/EventException.idl
index cde7100..7d05830 100644
--- a/core/dom/EventException.idl
+++ b/core/dom/EventException.idl
@@ -28,8 +28,7 @@
// Introduced in DOM Level 2:
[
- DoNotCheckConstants,
- ImplementationLacksVTable,
+ DoNotCheckConstants
] exception EventException {
readonly attribute unsigned short code;
diff --git a/core/dom/EventTarget.idl b/core/dom/EventTarget.idl
index 8647c27..32af401 100644
--- a/core/dom/EventTarget.idl
+++ b/core/dom/EventTarget.idl
@@ -19,6 +19,7 @@
*/
[
+ NoInterfaceObject,
CustomToV8,
DoNotGenerateWrap,
EventTarget
diff --git a/core/dom/MessageChannel.idl b/core/dom/MessageChannel.idl
index c81bd4c..07b1a10 100644
--- a/core/dom/MessageChannel.idl
+++ b/core/dom/MessageChannel.idl
@@ -27,8 +27,7 @@
[
Constructor,
CallWith=ScriptExecutionContext,
- CustomConstructor,
- ImplementationLacksVTable
+ CustomConstructor
] interface MessageChannel {
readonly attribute MessagePort port1;
diff --git a/core/dom/MessageEvent.idl b/core/dom/MessageEvent.idl
index 928f2d7..a279331 100644
--- a/core/dom/MessageEvent.idl
+++ b/core/dom/MessageEvent.idl
@@ -31,8 +31,8 @@
[InitializedByEventConstructor] readonly attribute DOMString origin;
[InitializedByEventConstructor] readonly attribute DOMString lastEventId;
[InitializedByEventConstructor] readonly attribute DOMWindow source;
- [InitializedByEventConstructor, CachedAttribute, CustomGetter] readonly attribute any data;
- [InitializedByEventConstructor, CustomGetter] readonly attribute Array ports;
+ [InitializedByEventConstructor, CustomGetter] readonly attribute any data;
+ [InitializedByEventConstructor] readonly attribute MessagePort[] ports;
[Custom] void initMessageEvent([Default=Undefined] optional DOMString typeArg,
[Default=Undefined] optional boolean canBubbleArg,
diff --git a/core/dom/MouseEvent.idl b/core/dom/MouseEvent.idl
index 888ac71..5465735 100644
--- a/core/dom/MouseEvent.idl
+++ b/core/dom/MouseEvent.idl
@@ -18,8 +18,7 @@
*/
[
- ConstructorTemplate=Event,
- SkipVTableValidation
+ ConstructorTemplate=Event
] interface MouseEvent : UIEvent {
[InitializedByEventConstructor] readonly attribute long screenX;
[InitializedByEventConstructor] readonly attribute long screenY;
diff --git a/core/dom/MutationObserver.idl b/core/dom/MutationObserver.idl
index 6df62b7..e87fa44 100644
--- a/core/dom/MutationObserver.idl
+++ b/core/dom/MutationObserver.idl
@@ -29,8 +29,7 @@
*/
[
- CustomConstructor(MutationCallback callback),
- ImplementationLacksVTable
+ CustomConstructor(MutationCallback callback)
] interface MutationObserver {
[RaisesException] void observe(Node target, Dictionary options);
sequence<MutationRecord> takeRecords();
diff --git a/core/dom/MutationRecord.idl b/core/dom/MutationRecord.idl
index 2002d1d..c3ef616 100644
--- a/core/dom/MutationRecord.idl
+++ b/core/dom/MutationRecord.idl
@@ -29,7 +29,6 @@
*/
[
- SkipVTableValidation
] interface MutationRecord {
readonly attribute DOMString type;
readonly attribute Node target;
diff --git a/core/dom/NamedFlow.idl b/core/dom/NamedFlow.idl
index b7e09e5..ae2cfeb 100644
--- a/core/dom/NamedFlow.idl
+++ b/core/dom/NamedFlow.idl
@@ -28,10 +28,11 @@
*/
[
+ NoInterfaceObject,
EnabledAtRuntime=cssRegions,
EventTarget,
InterfaceName=WebKitNamedFlow,
- GenerateIsReachable=ImplOwnerNodeRoot
+ GenerateIsReachable=ownerNode
] interface NamedFlow {
readonly attribute DOMString name;
readonly attribute boolean overset;
diff --git a/core/dom/NamedNodeMap.idl b/core/dom/NamedNodeMap.idl
index 17e7736..0613357 100644
--- a/core/dom/NamedNodeMap.idl
+++ b/core/dom/NamedNodeMap.idl
@@ -19,12 +19,10 @@
*/
[
- GenerateIsReachable=ImplElementRoot,
- CustomNamedGetter,
- ImplementationLacksVTable
+ GenerateIsReachable=element
] interface NamedNodeMap {
- Node getNamedItem([Default=Undefined] optional DOMString name);
+ getter Node getNamedItem([Default=Undefined] optional DOMString name);
[RaisesException] Node setNamedItem([Default=Undefined] optional Node node);
diff --git a/core/dom/Node.idl b/core/dom/Node.idl
index 28d760e..ba0eb17 100644
--- a/core/dom/Node.idl
+++ b/core/dom/Node.idl
@@ -29,7 +29,7 @@
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short CDATA_SECTION_NODE = 4;
- const unsigned short ENTITY_REFERENCE_NODE = 5;
+ const unsigned short ENTITY_REFERENCE_NODE = 5; // EntityReference nodes are impossible to create in WebKit.
const unsigned short ENTITY_NODE = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
const unsigned short COMMENT_NODE = 8;
diff --git a/core/dom/NodeFilter.idl b/core/dom/NodeFilter.idl
index b42757c..989099f 100644
--- a/core/dom/NodeFilter.idl
+++ b/core/dom/NodeFilter.idl
@@ -19,7 +19,6 @@
*/
[
- ImplementationLacksVTable
] interface NodeFilter {
// Constants returned by acceptNode
const short FILTER_ACCEPT = 1;
diff --git a/core/dom/NodeIterator.idl b/core/dom/NodeIterator.idl
index 3101322..b019d76 100644
--- a/core/dom/NodeIterator.idl
+++ b/core/dom/NodeIterator.idl
@@ -20,7 +20,7 @@
// Introduced in DOM Level 2:
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface NodeIterator {
readonly attribute Node root;
readonly attribute unsigned long whatToShow;
diff --git a/core/dom/NodeList.idl b/core/dom/NodeList.idl
index 02bf971..cc30450 100644
--- a/core/dom/NodeList.idl
+++ b/core/dom/NodeList.idl
@@ -20,12 +20,11 @@
[
CustomIsReachable,
- CustomNamedGetter,
- DependentLifetime,
- SkipVTableValidation
+ DependentLifetime
] interface NodeList {
getter Node item([IsIndex,Default=Undefined] optional unsigned long index);
+ [ImplementedAs=anonymousNamedGetter, OverrideBuiltins] getter (Node or unsigned long) (DOMString name);
readonly attribute unsigned long length;
diff --git a/core/dom/PopStateEvent.idl b/core/dom/PopStateEvent.idl
index c4153f6..709777f 100644
--- a/core/dom/PopStateEvent.idl
+++ b/core/dom/PopStateEvent.idl
@@ -27,5 +27,5 @@
[
ConstructorTemplate=Event
] interface PopStateEvent : Event {
- [InitializedByEventConstructor, CachedAttribute, CustomGetter] readonly attribute any state;
+ [InitializedByEventConstructor, CustomGetter] readonly attribute any state;
};
diff --git a/core/dom/ProcessingInstruction.idl b/core/dom/ProcessingInstruction.idl
index 03530e2..1767ee5 100644
--- a/core/dom/ProcessingInstruction.idl
+++ b/core/dom/ProcessingInstruction.idl
@@ -23,7 +23,7 @@
// DOM Level 1
[TreatReturnedNullStringAs=Null] readonly attribute DOMString target;
- [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException] attribute DOMString data;
+ [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString data;
// interface LinkStyle from DOM Level 2 Style Sheets
readonly attribute StyleSheet sheet;
diff --git a/core/dom/Range.idl b/core/dom/Range.idl
index 3504bad..f816069 100644
--- a/core/dom/Range.idl
+++ b/core/dom/Range.idl
@@ -20,7 +20,8 @@
// Introduced in DOM Level 2:
[
- ImplementationLacksVTable
+ Constructor,
+ CallWith=ScriptExecutionContext
] interface Range {
[GetterRaisesException] readonly attribute Node startContainer;
diff --git a/core/dom/SecurityPolicyViolationEvent.idl b/core/dom/SecurityPolicyViolationEvent.idl
index 590d8e6..b214e6f 100644
--- a/core/dom/SecurityPolicyViolationEvent.idl
+++ b/core/dom/SecurityPolicyViolationEvent.idl
@@ -23,7 +23,8 @@
*/
[
- ConstructorTemplate=Event,
+ NoInterfaceObject,
+ ConstructorTemplate=Event
] interface SecurityPolicyViolationEvent : Event {
[InitializedByEventConstructor] readonly attribute DOMString documentURI;
[InitializedByEventConstructor] readonly attribute DOMString referrer;
diff --git a/core/dom/Text.idl b/core/dom/Text.idl
index 68e1b8d..9ccd7e0 100644
--- a/core/dom/Text.idl
+++ b/core/dom/Text.idl
@@ -17,8 +17,9 @@
* Boston, MA 02110-1301, USA.
*/
[
- CustomToV8,
- SkipVTableValidation,
+ Constructor([Default=NullString] optional DOMString data),
+ CallWith=ScriptExecutionContext,
+ CustomToV8
] interface Text : CharacterData {
// DOM Level 1
@@ -27,7 +28,7 @@
// Introduced in DOM Level 3:
readonly attribute DOMString wholeText;
- [RaisesException] Text replaceWholeText([Default=Undefined] optional DOMString content);
+ Text replaceWholeText([Default=Undefined] optional DOMString content);
// ShadowAware API
[ImplementedAs=insertionParentForBinding, PerWorldBindings] readonly attribute Node webkitInsertionParent;
diff --git a/core/dom/Touch.idl b/core/dom/Touch.idl
index 4625083..2d89c3b 100644
--- a/core/dom/Touch.idl
+++ b/core/dom/Touch.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface Touch {
readonly attribute long clientX;
readonly attribute long clientY;
diff --git a/core/dom/TouchEvent.idl b/core/dom/TouchEvent.idl
index 236aff2..c0838a8 100644
--- a/core/dom/TouchEvent.idl
+++ b/core/dom/TouchEvent.idl
@@ -23,7 +23,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface TouchEvent : UIEvent {
+[
+ NoInterfaceObject
+] interface TouchEvent : UIEvent {
readonly attribute TouchList touches;
readonly attribute TouchList targetTouches;
readonly attribute TouchList changedTouches;
diff --git a/core/dom/TouchList.idl b/core/dom/TouchList.idl
index 0034249..19900ac 100644
--- a/core/dom/TouchList.idl
+++ b/core/dom/TouchList.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface TouchList {
readonly attribute unsigned long length;
diff --git a/core/dom/TreeWalker.idl b/core/dom/TreeWalker.idl
index 7a81fec..2188bef 100644
--- a/core/dom/TreeWalker.idl
+++ b/core/dom/TreeWalker.idl
@@ -20,7 +20,7 @@
// Introduced in DOM Level 2:
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface TreeWalker {
readonly attribute Node root;
readonly attribute unsigned long whatToShow;
diff --git a/core/dom/ShadowRoot.idl b/core/dom/shadow/ShadowRoot.idl
similarity index 95%
rename from core/dom/ShadowRoot.idl
rename to core/dom/shadow/ShadowRoot.idl
index 8d95548..39488df 100644
--- a/core/dom/ShadowRoot.idl
+++ b/core/dom/shadow/ShadowRoot.idl
@@ -24,7 +24,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface ShadowRoot : DocumentFragment {
+[
+ NoInterfaceObject
+] interface ShadowRoot : DocumentFragment {
readonly attribute Element activeElement;
attribute boolean applyAuthorStyles;
attribute boolean resetStyleInheritance;
@@ -32,7 +34,7 @@
[TreatNullAs=NullString, DeliverCustomElementCallbacks, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds, SetterRaisesException] attribute DOMString innerHTML;
[RaisesException] Node cloneNode([Default=Undefined] optional boolean deep);
- DOMSelection getSelection();
+ Selection getSelection();
Element getElementById([Default=Undefined] optional DOMString elementId);
NodeList getElementsByClassName([Default=Undefined] optional DOMString className);
NodeList getElementsByTagName([Default=Undefined] optional DOMString tagName);
diff --git a/core/fileapi/FileError.idl b/core/fileapi/FileError.idl
index 7116324..46c910f 100644
--- a/core/fileapi/FileError.idl
+++ b/core/fileapi/FileError.idl
@@ -29,7 +29,6 @@
*/
[
- ImplementationLacksVTable
] interface FileError {
// FIXME: Some of constant names are already defined in DOMException.h for Objective-C binding and we cannot have the same names here (they are translated into a enum in the same namespace).
const unsigned short NOT_FOUND_ERR = 1;
diff --git a/core/fileapi/FileException.idl b/core/fileapi/FileException.idl
index b6221df..c64d716 100644
--- a/core/fileapi/FileException.idl
+++ b/core/fileapi/FileException.idl
@@ -29,8 +29,8 @@
*/
[
- DoNotCheckConstants,
- ImplementationLacksVTable
+ NoInterfaceObject,
+ DoNotCheckConstants
] exception FileException {
readonly attribute unsigned short code;
diff --git a/core/fileapi/FileList.idl b/core/fileapi/FileList.idl
index 4ef8bf6..b0a09ef 100644
--- a/core/fileapi/FileList.idl
+++ b/core/fileapi/FileList.idl
@@ -24,7 +24,6 @@
*/
[
- ImplementationLacksVTable
] interface FileList {
readonly attribute unsigned long length;
getter File item(unsigned long index);
diff --git a/core/fileapi/FileReaderSync.idl b/core/fileapi/FileReaderSync.idl
index a36e4c3..1920a53 100644
--- a/core/fileapi/FileReaderSync.idl
+++ b/core/fileapi/FileReaderSync.idl
@@ -29,6 +29,7 @@
*/
[
+ NoInterfaceObject,
Constructor
] interface FileReaderSync {
[CallWith=ScriptExecutionContext, RaisesException] ArrayBuffer readAsArrayBuffer(Blob blob);
diff --git a/core/html/DOMSettableTokenList.idl b/core/html/DOMSettableTokenList.idl
index ab242f7..18142d0 100644
--- a/core/html/DOMSettableTokenList.idl
+++ b/core/html/DOMSettableTokenList.idl
@@ -22,9 +22,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[
- SkipVTableValidation
-] interface DOMSettableTokenList : DOMTokenList {
+interface DOMSettableTokenList : DOMTokenList {
+ [TreatReturnedNullStringAs=Null, ImplementedAs=item] getter DOMString(unsigned long index);
attribute DOMString value;
};
diff --git a/core/html/DOMTokenList.idl b/core/html/DOMTokenList.idl
index 64bc636..bfc142a 100644
--- a/core/html/DOMTokenList.idl
+++ b/core/html/DOMTokenList.idl
@@ -23,8 +23,7 @@
*/
[
- GenerateIsReachable=ImplElementRoot,
- SkipVTableValidation
+ GenerateIsReachable=element
] interface DOMTokenList {
readonly attribute unsigned long length;
[TreatReturnedNullStringAs=Null] getter DOMString item(unsigned long index);
diff --git a/core/html/DOMFormData.idl b/core/html/FormData.idl
similarity index 95%
rename from core/html/DOMFormData.idl
rename to core/html/FormData.idl
index 25d9ed1..3652d4e 100644
--- a/core/html/DOMFormData.idl
+++ b/core/html/FormData.idl
@@ -30,9 +30,8 @@
[
CustomConstructor(optional HTMLFormElement form),
- InterfaceName=FormData,
- ImplementationLacksVTable
-] interface DOMFormData {
+ ImplementedAs=DOMFormData
+] interface FormData {
// void append(DOMString name, DOMString value);
// void append(DOMString name, Blob value, optional DOMString filename);
[Custom] void append([Default=Undefined] optional DOMString name,
diff --git a/core/html/HTMLAllCollection.idl b/core/html/HTMLAllCollection.idl
index f421caf..e43def6 100644
--- a/core/html/HTMLAllCollection.idl
+++ b/core/html/HTMLAllCollection.idl
@@ -24,14 +24,14 @@
*/
[
- CustomNamedGetter,
- CustomCall,
+ CustomLegacyCall,
MasqueradesAsUndefined,
- GenerateIsReachable=ImplOwnerNodeRoot,
- DependentLifetime,
+ GenerateIsReachable=ownerNode,
+ DependentLifetime
] interface HTMLAllCollection {
readonly attribute unsigned long length;
[Custom] getter Node item([Default=Undefined] optional unsigned long index);
+ [ImplementedAs=anonymousNamedGetter] getter (NodeList or Node)(DOMString name);
[Custom] Node namedItem(DOMString name);
// FIXME: This should return an HTMLAllCollection.
NodeList tags(DOMString name);
diff --git a/core/html/HTMLAppletElement.idl b/core/html/HTMLAppletElement.idl
index e5f8707..b7ae3c2 100644
--- a/core/html/HTMLAppletElement.idl
+++ b/core/html/HTMLAppletElement.idl
@@ -23,7 +23,7 @@
CustomNamedSetter,
CustomIndexedGetter,
CustomIndexedSetter,
- CustomCall
+ CustomLegacyCall
] interface HTMLAppletElement : HTMLElement {
[Reflect] attribute DOMString align;
[Reflect] attribute DOMString alt;
diff --git a/core/html/HTMLAudioElement.idl b/core/html/HTMLAudioElement.idl
index 3be47e5..b4e9004 100644
--- a/core/html/HTMLAudioElement.idl
+++ b/core/html/HTMLAudioElement.idl
@@ -24,6 +24,7 @@
*/
[
+ EnabledAtRuntime=media,
NamedConstructor=Audio([Default=NullString] optional DOMString src)
] interface HTMLAudioElement : HTMLMediaElement {
};
diff --git a/core/html/HTMLCollection.idl b/core/html/HTMLCollection.idl
index ee1d158..4e32829 100644
--- a/core/html/HTMLCollection.idl
+++ b/core/html/HTMLCollection.idl
@@ -20,10 +20,8 @@
[
CustomToV8,
- GenerateIsReachable=ImplOwnerNodeRoot,
- DependentLifetime,
-
- SkipVTableValidation
+ GenerateIsReachable=ownerNode,
+ DependentLifetime
] interface HTMLCollection {
readonly attribute unsigned long length;
getter Node item([Default=Undefined] optional unsigned long index);
diff --git a/core/html/HTMLDataListElement.idl b/core/html/HTMLDataListElement.idl
index 13fdaa4..f87df9a 100644
--- a/core/html/HTMLDataListElement.idl
+++ b/core/html/HTMLDataListElement.idl
@@ -29,7 +29,7 @@
*/
[
- Conditional=DATALIST_ELEMENT,
+ EnabledAtRuntime=DataListElement
] interface HTMLDataListElement : HTMLElement {
readonly attribute HTMLCollection options;
};
diff --git a/core/html/HTMLDetailsElement.idl b/core/html/HTMLDetailsElement.idl
index 8909fc8..363785a 100644
--- a/core/html/HTMLDetailsElement.idl
+++ b/core/html/HTMLDetailsElement.idl
@@ -17,7 +17,9 @@
* Boston, MA 02110-1301, USA.
*/
-interface HTMLDetailsElement : HTMLElement {
+[
+ NoInterfaceObject
+] interface HTMLDetailsElement : HTMLElement {
[Reflect] attribute boolean open;
};
diff --git a/core/html/HTMLDialogElement.idl b/core/html/HTMLDialogElement.idl
index 874cbcf..3fddf94 100644
--- a/core/html/HTMLDialogElement.idl
+++ b/core/html/HTMLDialogElement.idl
@@ -24,7 +24,7 @@
*/
[
- SkipVTableValidation
+ EnabledPerContext=dialogElement
] interface HTMLDialogElement : HTMLElement {
[Reflect] attribute boolean open;
[RaisesException] void close();
diff --git a/core/html/HTMLDivElement.idl b/core/html/HTMLDivElement.idl
index dd17326..5793564 100644
--- a/core/html/HTMLDivElement.idl
+++ b/core/html/HTMLDivElement.idl
@@ -18,7 +18,6 @@
*/
[
- SkipVTableValidation
] interface HTMLDivElement : HTMLElement {
[Reflect] attribute DOMString align;
};
diff --git a/core/html/HTMLDocument.idl b/core/html/HTMLDocument.idl
index 91f2905..889f741 100644
--- a/core/html/HTMLDocument.idl
+++ b/core/html/HTMLDocument.idl
@@ -19,8 +19,7 @@
*/
[
- CustomToV8,
- SkipVTableValidation
+ CustomToV8
] interface HTMLDocument : Document {
[Custom] void open();
void close();
@@ -33,12 +32,9 @@
// Extensions
- [Replaceable] attribute HTMLAllCollection all;
+ [Replaceable] readonly attribute HTMLAllCollection all;
- void clear();
-
- void captureEvents();
- void releaseEvents();
+ [DeprecateAs=DocumentClear] void clear();
readonly attribute long width;
readonly attribute long height;
diff --git a/core/html/HTMLElement.idl b/core/html/HTMLElement.idl
index 78e4a5e..8bcdc4b 100644
--- a/core/html/HTMLElement.idl
+++ b/core/html/HTMLElement.idl
@@ -19,8 +19,7 @@
*/
[
- CustomToV8,
- SkipVTableValidation
+ CustomToV8
] interface HTMLElement : Element {
// iht.com relies on id returning the empty string when no id is present.
// Other browsers do this as well. So we don't convert null to JS null.
@@ -37,7 +36,7 @@
[Reflect] attribute DOMString accessKey;
// Extensions
- [TreatNullAs=NullString, DeliverCustomElementCallbacks, SetterRaisesException] attribute DOMString innerHTML;
+ [TreatNullAs=NullString, DeliverCustomElementCallbacks, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds, SetterRaisesException] attribute DOMString innerHTML;
[TreatNullAs=NullString, SetterRaisesException] attribute DOMString innerText;
[TreatNullAs=NullString, DeliverCustomElementCallbacks, SetterRaisesException] attribute DOMString outerHTML;
[TreatNullAs=NullString, SetterRaisesException] attribute DOMString outerText;
@@ -49,7 +48,7 @@
[RaisesException] void insertAdjacentText([Default=Undefined] optional DOMString where,
[Default=Undefined] optional DOMString text);
- readonly attribute HTMLCollection children;
+ [EnabledAtRuntime=imeAPI] InputMethodContext getInputContext();
[TreatNullAs=NullString, SetterRaisesException] attribute DOMString contentEditable;
readonly attribute boolean isContentEditable;
diff --git a/core/html/HTMLEmbedElement.idl b/core/html/HTMLEmbedElement.idl
index b702089..d479449 100644
--- a/core/html/HTMLEmbedElement.idl
+++ b/core/html/HTMLEmbedElement.idl
@@ -21,10 +21,9 @@
[
CustomNamedGetter,
CustomNamedSetter,
- CustomCall,
+ CustomLegacyCall,
CustomIndexedGetter,
- CustomIndexedSetter,
- SkipVTableValidation
+ CustomIndexedSetter
] interface HTMLEmbedElement : HTMLElement {
[Reflect] attribute DOMString align;
[Reflect] attribute DOMString height;
diff --git a/core/html/HTMLFormControlsCollection.idl b/core/html/HTMLFormControlsCollection.idl
index e590abf..a236e3f 100644
--- a/core/html/HTMLFormControlsCollection.idl
+++ b/core/html/HTMLFormControlsCollection.idl
@@ -19,9 +19,10 @@
*/
[
- CustomNamedGetter,
- GenerateIsReachable=ImplOwnerNodeRoot,
- DependentLifetime,
+ GenerateIsReachable=ownerNode,
+ DependentLifetime
] interface HTMLFormControlsCollection : HTMLCollection {
+ [ImplementedAs=item] getter Node([Default=Undefined] optional unsigned long index);
[Custom] Node namedItem([Default=Undefined] optional DOMString name);
+ [ImplementedAs=namedGetter] getter (RadioNodeList or Node)(DOMString name);
};
diff --git a/core/html/HTMLFormElement.idl b/core/html/HTMLFormElement.idl
index fdb1468..7ae2104 100644
--- a/core/html/HTMLFormElement.idl
+++ b/core/html/HTMLFormElement.idl
@@ -18,10 +18,7 @@
* Boston, MA 02110-1301, USA.
*/
-[
- CustomIndexedGetter,
- CustomNamedGetter
-] interface HTMLFormElement : HTMLElement {
+interface HTMLFormElement : HTMLElement {
[Reflect=accept_charset] attribute DOMString acceptCharset;
[Reflect, URL] attribute DOMString action;
[Reflect] attribute DOMString autocomplete;
@@ -34,6 +31,8 @@
readonly attribute HTMLCollection elements;
readonly attribute long length;
+ [ImplementedAs=item] getter Node(unsigned long index);
+ [ImplementedAs=anonymousNamedGetter, OverrideBuiltins] getter (NodeList or Node)(DOMString name);
[ImplementedAs=submitFromJavaScript] void submit();
void reset();
diff --git a/core/html/HTMLFrameSetElement.idl b/core/html/HTMLFrameSetElement.idl
index 348251c..a928298 100644
--- a/core/html/HTMLFrameSetElement.idl
+++ b/core/html/HTMLFrameSetElement.idl
@@ -18,9 +18,8 @@
* Boston, MA 02110-1301, USA.
*/
-[
- CustomNamedGetter
-] interface HTMLFrameSetElement : HTMLElement {
+interface HTMLFrameSetElement : HTMLElement {
+ [ImplementedAs=anonymousNamedGetter, OverrideBuiltins] getter DOMWindow (DOMString name);
[Reflect] attribute DOMString cols;
[Reflect] attribute DOMString rows;
diff --git a/core/html/HTMLImageElement.idl b/core/html/HTMLImageElement.idl
index 3287fd6..360b2b5 100644
--- a/core/html/HTMLImageElement.idl
+++ b/core/html/HTMLImageElement.idl
@@ -19,7 +19,6 @@
*/
[
- SkipVTableValidation
] interface HTMLImageElement : HTMLElement {
[Reflect] attribute DOMString name;
[Reflect] attribute DOMString align;
diff --git a/core/html/HTMLInputElement.idl b/core/html/HTMLInputElement.idl
index 2a4184c..00e4a1e 100644
--- a/core/html/HTMLInputElement.idl
+++ b/core/html/HTMLInputElement.idl
@@ -20,7 +20,6 @@
*/
[
- SkipVTableValidation
] interface HTMLInputElement : HTMLElement {
[Reflect] attribute DOMString accept;
[Reflect] attribute DOMString alt;
@@ -39,7 +38,7 @@
[Reflect] attribute DOMString formTarget;
attribute unsigned long height;
attribute boolean indeterminate;
- [Conditional=DATALIST_ELEMENT] readonly attribute HTMLElement list;
+ [EnabledAtRuntime=DataListElement] readonly attribute HTMLElement list;
[Reflect] attribute DOMString max;
[SetterRaisesException] attribute long maxLength;
[Reflect] attribute DOMString min;
@@ -72,9 +71,9 @@
readonly attribute NodeList labels;
void select();
- [Custom] attribute long selectionStart;
- [Custom] attribute long selectionEnd;
- [Custom] attribute DOMString selectionDirection;
+ [RaisesException, ImplementedAs=selectionStartForBinding] attribute long selectionStart;
+ [RaisesException, ImplementedAs=selectionEndForBinding] attribute long selectionEnd;
+ [RaisesException, ImplementedAs=selectionDirectionForBinding] attribute DOMString selectionDirection;
[RaisesException] void setRangeText(DOMString replacement);
[RaisesException] void setRangeText(DOMString replacement,
@@ -82,9 +81,10 @@
unsigned long end,
[Default=NullString] optional DOMString selectionMode);
- [Custom] void setSelectionRange([Default=Undefined] optional long start,
- [Default=Undefined] optional long end,
- optional DOMString direction);
+ [RaisesException, ImplementedAs=setSelectionRangeForBinding]
+ void setSelectionRange([Default=Undefined] optional long start,
+ [Default=Undefined] optional long end,
+ optional DOMString direction);
// Non-standard attributes
[Reflect] attribute DOMString align;
diff --git a/core/html/HTMLLinkElement.idl b/core/html/HTMLLinkElement.idl
index 35f1e31..e12ff3d 100644
--- a/core/html/HTMLLinkElement.idl
+++ b/core/html/HTMLLinkElement.idl
@@ -27,7 +27,7 @@
[Reflect] attribute DOMString media;
[Reflect] attribute DOMString rel;
[Reflect] attribute DOMString rev;
- [Custom] attribute DOMSettableTokenList sizes;
+ [CustomSetter] attribute DOMSettableTokenList sizes;
[Reflect] attribute DOMString target;
[Reflect] attribute DOMString type;
diff --git a/core/html/HTMLMediaElement.idl b/core/html/HTMLMediaElement.idl
index 0dbe3ed..214b391 100644
--- a/core/html/HTMLMediaElement.idl
+++ b/core/html/HTMLMediaElement.idl
@@ -20,10 +20,11 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
+ NoInterfaceObject,
ActiveDOMObject
] interface HTMLMediaElement : HTMLElement {
@@ -43,13 +44,7 @@
readonly attribute TimeRanges buffered;
void load();
-#if defined(ENABLE_ENCRYPTED_MEDIA) && ENABLE_ENCRYPTED_MEDIA
DOMString canPlayType([Default=Undefined] optional DOMString type, [Default=Undefined, TreatNullAs=NullString, TreatUndefinedAs=NullString] optional DOMString keySystem);
-#elif defined(ENABLE_ENCRYPTED_MEDIA_V2) && ENABLE_ENCRYPTED_MEDIA_V2
- DOMString canPlayType([Default=Undefined] optional DOMString type, [Default=Undefined, TreatNullAs=NullString, TreatUndefinedAs=NullString] optional DOMString keySystem);
-#else
-DOMString canPlayType([Default=Undefined] optional DOMString type);
-#endif
// ready state
const unsigned short HAVE_NOTHING = 0;
@@ -92,28 +87,22 @@
readonly attribute unsigned long webkitAudioDecodedByteCount;
readonly attribute unsigned long webkitVideoDecodedByteCount;
-#if defined(ENABLE_ENCRYPTED_MEDIA) && ENABLE_ENCRYPTED_MEDIA
+// FIXME: add DeprecateAs=PrefixedMediaGenerateKeyRequest when MediaKeys is ready.
+[EnabledAtRuntime=legacyEncryptedMedia, RaisesException] void webkitGenerateKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, optional Uint8Array initData);
+[EnabledAtRuntime=legacyEncryptedMedia, RaisesException] void webkitAddKey([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, Uint8Array key, optional Uint8Array initData, [Default=NullString] optional DOMString sessionId);
+[EnabledAtRuntime=legacyEncryptedMedia, RaisesException] void webkitCancelKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, [Default=NullString] optional DOMString sessionId);
+
+[EnabledAtRuntime=legacyEncryptedMedia] attribute EventListener onwebkitkeyadded;
+[EnabledAtRuntime=legacyEncryptedMedia] attribute EventListener onwebkitkeyerror;
+[EnabledAtRuntime=legacyEncryptedMedia] attribute EventListener onwebkitkeymessage;
+[EnabledAtRuntime=legacyEncryptedMedia] attribute EventListener onwebkitneedkey;
#if defined(ENABLE_ENCRYPTED_MEDIA_V2) && ENABLE_ENCRYPTED_MEDIA_V2
-[EnabledAtRuntime=encryptedMedia, RaisesException, DeprecateAs=PrefixedMediaGenerateKeyRequest] void webkitGenerateKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, optional Uint8Array initData);
-[EnabledAtRuntime=encryptedMedia, RaisesException, DeprecateAs=PrefixedMediaAddKey] void webkitAddKey([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, Uint8Array key, optional Uint8Array initData, [Default=NullString] optional DOMString sessionId);
-#else
-[EnabledAtRuntime=encryptedMedia, RaisesException] void webkitGenerateKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, optional Uint8Array initData);
-[EnabledAtRuntime=encryptedMedia, RaisesException] void webkitAddKey([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, Uint8Array key, optional Uint8Array initData, [Default=NullString] optional DOMString sessionId);
-#endif
-[EnabledAtRuntime=encryptedMedia, RaisesException] void webkitCancelKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, [Default=NullString] optional DOMString sessionId);
-
- [EnabledAtRuntime=encryptedMedia] attribute EventListener onwebkitkeyadded;
- [EnabledAtRuntime=encryptedMedia] attribute EventListener onwebkitkeyerror;
- [EnabledAtRuntime=encryptedMedia] attribute EventListener onwebkitkeymessage;
-#endif
- [Conditional=ENCRYPTED_MEDIA|ENCRYPTED_MEDIA_V2, EnabledAtRuntime=encryptedMedia] attribute EventListener onwebkitneedkey;
-#if defined(ENABLE_ENCRYPTED_MEDIA_V2) && ENABLE_ENCRYPTED_MEDIA_V2
- [EnabledAtRuntime=encryptedMedia] attribute MediaKeys mediaKeys;
+[EnabledAtRuntime=encryptedMedia] attribute MediaKeys mediaKeys;
#endif
-[EnabledAtRuntime=webkitVideoTrack, RaisesException] TextTrack addTextTrack(DOMString kind, optional DOMString label, optional DOMString language);
-[EnabledAtRuntime=webkitVideoTrack] readonly attribute TextTrackList textTracks;
+[EnabledAtRuntime=videoTrack, RaisesException] TextTrack addTextTrack(DOMString kind, optional DOMString label, optional DOMString language);
+[EnabledAtRuntime=videoTrack] readonly attribute TextTrackList textTracks;
[Reflect, TreatNullAs=NullString] attribute DOMString mediaGroup;
[CustomSetter] attribute MediaController controller;
diff --git a/core/html/HTMLObjectElement.idl b/core/html/HTMLObjectElement.idl
index 6082baa..a3847f3 100644
--- a/core/html/HTMLObjectElement.idl
+++ b/core/html/HTMLObjectElement.idl
@@ -23,7 +23,7 @@
CustomNamedSetter,
CustomIndexedGetter,
CustomIndexedSetter,
- CustomCall
+ CustomLegacyCall
] interface HTMLObjectElement : HTMLElement {
readonly attribute HTMLFormElement form;
[Reflect] attribute DOMString code;
diff --git a/core/html/HTMLOptionsCollection.idl b/core/html/HTMLOptionsCollection.idl
index f5ee73d..84ae0f4 100644
--- a/core/html/HTMLOptionsCollection.idl
+++ b/core/html/HTMLOptionsCollection.idl
@@ -20,13 +20,13 @@
[
CustomIndexedSetter,
- CustomNamedGetter,
- GenerateIsReachable=ImplOwnerNodeRoot,
- CustomIndexedGetter,
- DependentLifetime,
+ GenerateIsReachable=ownerNode,
+ DependentLifetime
] interface HTMLOptionsCollection : HTMLCollection {
attribute long selectedIndex;
[CustomSetter, SetterRaisesException] attribute unsigned long length;
+ [ImplementedAs=item] getter Node(unsigned long index);
+ [ImplementedAs=anonymousNamedGetter] getter (NodeList or Node)(DOMString name);
[Custom] Node namedItem([Default=Undefined] optional DOMString name);
diff --git a/core/html/HTMLSelectElement.idl b/core/html/HTMLSelectElement.idl
index 5fd7bb5..858402b 100644
--- a/core/html/HTMLSelectElement.idl
+++ b/core/html/HTMLSelectElement.idl
@@ -19,8 +19,7 @@
*/
[
- CustomIndexedSetter,
- SkipVTableValidation
+ CustomIndexedSetter
] interface HTMLSelectElement : HTMLElement {
[Reflect] attribute boolean autofocus;
[Reflect] attribute boolean disabled;
diff --git a/core/html/HTMLSourceElement.idl b/core/html/HTMLSourceElement.idl
index 67e69f7..763a084 100644
--- a/core/html/HTMLSourceElement.idl
+++ b/core/html/HTMLSourceElement.idl
@@ -23,7 +23,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface HTMLSourceElement : HTMLElement {
+[
+ NoInterfaceObject
+] interface HTMLSourceElement : HTMLElement {
[Reflect, URL] attribute DOMString src;
attribute DOMString type;
attribute DOMString media;
diff --git a/core/html/HTMLSpanElement.idl b/core/html/HTMLSpanElement.idl
index 49eb843..e4f5013 100644
--- a/core/html/HTMLSpanElement.idl
+++ b/core/html/HTMLSpanElement.idl
@@ -25,7 +25,6 @@
// http://www.whatwg.org/specs/web-apps/current-work/#htmlspanelement
[
- SkipVTableValidation
] interface HTMLSpanElement : HTMLElement {
};
diff --git a/core/html/HTMLTemplateElement.idl b/core/html/HTMLTemplateElement.idl
index 8e91f1c..46c6696 100644
--- a/core/html/HTMLTemplateElement.idl
+++ b/core/html/HTMLTemplateElement.idl
@@ -29,6 +29,6 @@
*/
interface HTMLTemplateElement : HTMLElement {
- [CacheAttributeForGC] readonly attribute DocumentFragment content;
+ [KeepAttributeAliveForGC] readonly attribute DocumentFragment content;
};
diff --git a/core/html/HTMLTrackElement.idl b/core/html/HTMLTrackElement.idl
index f0d21f6..d27ae46 100644
--- a/core/html/HTMLTrackElement.idl
+++ b/core/html/HTMLTrackElement.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=webkitVideoTrack
+ EnabledAtRuntime=videoTrack
] interface HTMLTrackElement : HTMLElement {
attribute DOMString kind;
[Reflect, URL] attribute DOMString src;
diff --git a/core/html/HTMLUnknownElement.idl b/core/html/HTMLUnknownElement.idl
index 7d7bbc3..0149113 100644
--- a/core/html/HTMLUnknownElement.idl
+++ b/core/html/HTMLUnknownElement.idl
@@ -27,7 +27,6 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- SkipVTableValidation
] interface HTMLUnknownElement : HTMLElement {
};
diff --git a/core/html/HTMLVideoElement.idl b/core/html/HTMLVideoElement.idl
index 5b0cf38..94a0c27 100644
--- a/core/html/HTMLVideoElement.idl
+++ b/core/html/HTMLVideoElement.idl
@@ -23,7 +23,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface HTMLVideoElement : HTMLMediaElement {
+[
+ NoInterfaceObject
+] interface HTMLVideoElement : HTMLMediaElement {
[Reflect] attribute unsigned long width;
[Reflect] attribute unsigned long height;
readonly attribute unsigned long videoWidth;
diff --git a/core/html/ImageData.idl b/core/html/ImageData.idl
index 180eb78..ca7d61c 100644
--- a/core/html/ImageData.idl
+++ b/core/html/ImageData.idl
@@ -27,8 +27,7 @@
*/
[
- CustomToV8,
- ImplementationLacksVTable
+ CustomToV8
] interface ImageData {
readonly attribute long width;
readonly attribute long height;
diff --git a/core/html/MediaController.idl b/core/html/MediaController.idl
index 675cc4d..cedb4c3 100644
--- a/core/html/MediaController.idl
+++ b/core/html/MediaController.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Constructor,
CallWith=ScriptExecutionContext,
EventTarget
diff --git a/core/html/MediaError.idl b/core/html/MediaError.idl
index cbc4eb2..0e12164 100644
--- a/core/html/MediaError.idl
+++ b/core/html/MediaError.idl
@@ -24,14 +24,12 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface MediaError {
const unsigned short MEDIA_ERR_ABORTED = 1;
const unsigned short MEDIA_ERR_NETWORK = 2;
const unsigned short MEDIA_ERR_DECODE = 3;
const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4;
-#if (defined(ENABLE_ENCRYPTED_MEDIA) && ENABLE_ENCRYPTED_MEDIA) || (defined(ENABLE_ENCRYPTED_MEDIA_V2) && ENABLE_ENCRYPTED_MEDIA_V2)
const unsigned short MEDIA_ERR_ENCRYPTED = 5;
-#endif
readonly attribute unsigned short code;
};
diff --git a/core/html/MediaKeyError.idl b/core/html/MediaKeyError.idl
index 597bfea..03188d0 100644
--- a/core/html/MediaKeyError.idl
+++ b/core/html/MediaKeyError.idl
@@ -24,9 +24,7 @@
*/
[
- Conditional=ENCRYPTED_MEDIA|ENCRYPTED_MEDIA_V2,
- EnabledAtRuntime=encryptedMedia,
- ImplementationLacksVTable
+ EnabledAtRuntime=encryptedMediaAnyVersion
] interface MediaKeyError {
const unsigned short MEDIA_KEYERR_UNKNOWN = 1;
const unsigned short MEDIA_KEYERR_CLIENT = 2;
@@ -35,5 +33,5 @@
const unsigned short MEDIA_KEYERR_HARDWARECHANGE = 5;
const unsigned short MEDIA_KEYERR_DOMAIN = 6;
readonly attribute unsigned short code;
- [Conditional=ENCRYPTED_MEDIA_V2] readonly attribute unsigned long systemCode;
+ [Conditional=ENCRYPTED_MEDIA_V2, EnabledAtRuntime=encryptedMedia] readonly attribute unsigned long systemCode;
};
diff --git a/core/html/MediaKeyEvent.idl b/core/html/MediaKeyEvent.idl
index 546a93b..8a5adc3 100644
--- a/core/html/MediaKeyEvent.idl
+++ b/core/html/MediaKeyEvent.idl
@@ -24,9 +24,8 @@
*/
[
- Conditional=ENCRYPTED_MEDIA,
- EnabledAtRuntime=encryptedMedia,
- ConstructorTemplate=Event
+ EnabledAtRuntime=legacyEncryptedMedia,
+ ConstructorTemplate=Event
] interface MediaKeyEvent : Event {
[InitializedByEventConstructor] readonly attribute DOMString keySystem;
[InitializedByEventConstructor] readonly attribute DOMString sessionId;
diff --git a/core/html/RadioNodeList.idl b/core/html/RadioNodeList.idl
index d3132f0..498c7a7 100644
--- a/core/html/RadioNodeList.idl
+++ b/core/html/RadioNodeList.idl
@@ -24,6 +24,8 @@
*/
[
+ NoInterfaceObject
] interface RadioNodeList : NodeList {
attribute DOMString value;
+ [ImplementedAs=item] getter Node([IsIndex,Default=Undefined] optional unsigned long index);
};
diff --git a/core/html/TextMetrics.idl b/core/html/TextMetrics.idl
index 7677784..5f217b8 100644
--- a/core/html/TextMetrics.idl
+++ b/core/html/TextMetrics.idl
@@ -23,7 +23,6 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- ImplementationLacksVTable,
] interface TextMetrics {
readonly attribute float width;
};
diff --git a/core/html/TimeRanges.idl b/core/html/TimeRanges.idl
index 3847b7a..eba7735 100644
--- a/core/html/TimeRanges.idl
+++ b/core/html/TimeRanges.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface TimeRanges {
readonly attribute unsigned long length;
[RaisesException] double start(unsigned long index);
diff --git a/core/html/DOMURL.idl b/core/html/URL.idl
similarity index 92%
rename from core/html/DOMURL.idl
rename to core/html/URL.idl
index c9fdd0a..96e7060 100644
--- a/core/html/DOMURL.idl
+++ b/core/html/URL.idl
@@ -26,10 +26,9 @@
[
Constructor,
- InterfaceName=URL,
- ImplementationLacksVTable
-] interface DOMURL {
- [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(MediaSource? source);
+ ImplementedAs=DOMURL
+] interface URL {
+ [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(WebKitMediaSource? source);
[CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(MediaStream? stream);
[CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(Blob? blob);
[CallWith=ScriptExecutionContext] static void revokeObjectURL(DOMString url);
diff --git a/core/html/ValidityState.idl b/core/html/ValidityState.idl
index 963c830..582baf9 100644
--- a/core/html/ValidityState.idl
+++ b/core/html/ValidityState.idl
@@ -21,7 +21,6 @@
*/
[
- ImplementationLacksVTable
] interface ValidityState {
readonly attribute boolean valueMissing;
readonly attribute boolean typeMismatch;
diff --git a/core/html/canvas/ArrayBuffer.idl b/core/html/canvas/ArrayBuffer.idl
index b56950f..5aa02b3 100644
--- a/core/html/canvas/ArrayBuffer.idl
+++ b/core/html/canvas/ArrayBuffer.idl
@@ -24,9 +24,7 @@
*/
[
- CustomConstructor(unsigned long length),
- ImplementationNamespace=WTF,
- ImplementationLacksVTable
+ CustomConstructor(unsigned long length)
] interface ArrayBuffer {
readonly attribute unsigned long byteLength;
ArrayBuffer slice(long begin, optional long end);
diff --git a/core/html/canvas/ArrayBufferView.idl b/core/html/canvas/ArrayBufferView.idl
index 1ed4f9f..9626c46 100644
--- a/core/html/canvas/ArrayBufferView.idl
+++ b/core/html/canvas/ArrayBufferView.idl
@@ -24,8 +24,7 @@
*/
[
- CustomToV8,
- ImplementationNamespace=WTF
+ CustomToV8
] interface ArrayBufferView {
readonly attribute ArrayBuffer buffer;
readonly attribute unsigned long byteOffset;
diff --git a/core/html/canvas/Canvas2DContextAttributes.idl b/core/html/canvas/Canvas2DContextAttributes.idl
index f266a57..d6178d4 100644
--- a/core/html/canvas/Canvas2DContextAttributes.idl
+++ b/core/html/canvas/Canvas2DContextAttributes.idl
@@ -24,6 +24,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[EnabledAtRuntime=experimentalCanvasFeatures] interface Canvas2DContextAttributes {
+[
+ NoInterfaceObject,
+ EnabledAtRuntime=experimentalCanvasFeatures
+] interface Canvas2DContextAttributes {
attribute boolean alpha;
};
diff --git a/core/html/canvas/CanvasGradient.idl b/core/html/canvas/CanvasGradient.idl
index 6ecd51b..0e07d5e 100644
--- a/core/html/canvas/CanvasGradient.idl
+++ b/core/html/canvas/CanvasGradient.idl
@@ -23,7 +23,6 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- ImplementationLacksVTable
] interface CanvasGradient {
[RaisesException] void addColorStop([Default=Undefined] optional float offset,
diff --git a/core/html/canvas/CanvasPattern.idl b/core/html/canvas/CanvasPattern.idl
index 4ded936..68003c7 100644
--- a/core/html/canvas/CanvasPattern.idl
+++ b/core/html/canvas/CanvasPattern.idl
@@ -23,7 +23,6 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- ImplementationLacksVTable
] interface CanvasPattern {
};
diff --git a/core/html/canvas/CanvasRenderingContext.idl b/core/html/canvas/CanvasRenderingContext.idl
index 819ae77..56363a2 100644
--- a/core/html/canvas/CanvasRenderingContext.idl
+++ b/core/html/canvas/CanvasRenderingContext.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
CustomToV8
] interface CanvasRenderingContext {
readonly attribute HTMLCanvasElement canvas;
diff --git a/core/html/canvas/CanvasRenderingContext2D.idl b/core/html/canvas/CanvasRenderingContext2D.idl
index 98df7fa..7e3d07f 100644
--- a/core/html/canvas/CanvasRenderingContext2D.idl
+++ b/core/html/canvas/CanvasRenderingContext2D.idl
@@ -30,37 +30,17 @@
void save();
void restore();
- void scale([Default=Undefined] optional float sx,
- [Default=Undefined] optional float sy);
- void rotate([Default=Undefined] optional float angle);
- void translate([Default=Undefined] optional float tx,
- [Default=Undefined] optional float ty);
- void transform([Default=Undefined] optional float m11,
- [Default=Undefined] optional float m12,
- [Default=Undefined] optional float m21,
- [Default=Undefined] optional float m22,
- [Default=Undefined] optional float dx,
- [Default=Undefined] optional float dy);
- void setTransform([Default=Undefined] optional float m11,
- [Default=Undefined] optional float m12,
- [Default=Undefined] optional float m21,
- [Default=Undefined] optional float m22,
- [Default=Undefined] optional float dx,
- [Default=Undefined] optional float dy);
+ void scale(float sx, float sy);
+ void rotate(float angle);
+ void translate(float tx, float ty);
+ void transform(float m11, float m12, float m21, float m22, float dx, float dy);
+ void setTransform(float m11, float m12, float m21, float m22, float dx, float dy);
attribute float globalAlpha;
[TreatNullAs=NullString] attribute DOMString globalCompositeOperation;
- [RaisesException] CanvasGradient createLinearGradient([Default=Undefined] optional float x0,
- [Default=Undefined] optional float y0,
- [Default=Undefined] optional float x1,
- [Default=Undefined] optional float y1);
- [RaisesException] CanvasGradient createRadialGradient([Default=Undefined] optional float x0,
- [Default=Undefined] optional float y0,
- [Default=Undefined] optional float r0,
- [Default=Undefined] optional float x1,
- [Default=Undefined] optional float y1,
- [Default=Undefined] optional float r1);
+ [RaisesException] CanvasGradient createLinearGradient(float x0, float y0, float x1, float y1);
+ [RaisesException] CanvasGradient createRadialGradient(float x0, float y0, float r0, float x1, float y1, float r1);
attribute float lineWidth;
[TreatNullAs=NullString] attribute DOMString lineCap;
@@ -80,76 +60,45 @@
// [Custom] attribute Array webkitLineDash;
// attribute float webkitLineDashOffset;
- void clearRect([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float width,
- [Default=Undefined] optional float height);
- void fillRect([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float width,
- [Default=Undefined] optional float height);
+ void clearRect(float x, float y, float width, float height);
+ void fillRect(float x, float y, float width, float height);
void beginPath();
- attribute DOMPath currentPath;
+ attribute Path currentPath;
// FIXME: These methods should be shared with CanvasRenderingContext2D in the CanvasPathMethods interface.
void closePath();
- void moveTo([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
- void lineTo([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
- void quadraticCurveTo([Default=Undefined] optional float cpx,
- [Default=Undefined] optional float cpy,
- [Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
- void bezierCurveTo([Default=Undefined] optional float cp1x,
- [Default=Undefined] optional float cp1y,
- [Default=Undefined] optional float cp2x,
- [Default=Undefined] optional float cp2y,
- [Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
- [RaisesException] void arcTo([Default=Undefined] optional float x1,
- [Default=Undefined] optional float y1,
- [Default=Undefined] optional float x2,
- [Default=Undefined] optional float y2,
- [Default=Undefined] optional float radius);
- void rect([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float width,
- [Default=Undefined] optional float height);
- [RaisesException] void arc([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float radius,
- [Default=Undefined] optional float startAngle,
- [Default=Undefined] optional float endAngle,
- [Default=Undefined] optional boolean anticlockwise);
+ void moveTo(float x, float y);
+ void lineTo(float x, float y);
+ void quadraticCurveTo(float cpx, float cpy, float x, float y);
+ void bezierCurveTo(float cp1x, float cp1y, float cp2x, float cp2y, float x, float y);
+ [RaisesException] void arcTo(float x1, float y1, float x2, float y2, float radius);
+ void rect(float x, float y, float width, float height);
+ [RaisesException] void arc(float x, float y, float radius, float startAngle, float endAngle, [Default=Undefined] optional boolean anticlockwise);
void fill(optional CanvasWindingRule winding);
void stroke();
void clip(optional CanvasWindingRule winding);
- boolean isPointInPath([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- optional CanvasWindingRule winding);
- boolean isPointInStroke([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
+ boolean isPointInPath(float x, float y, optional CanvasWindingRule winding);
+ boolean isPointInStroke(float x, float y);
// text
attribute DOMString font;
attribute DOMString textAlign;
attribute DOMString textBaseline;
- TextMetrics measureText([Default=Undefined] optional DOMString text);
+ TextMetrics measureText(DOMString text);
// other
- void setAlpha([Default=Undefined] optional float alpha);
- void setCompositeOperation([Default=Undefined] optional DOMString compositeOperation);
+ void setAlpha(float alpha);
+ void setCompositeOperation(DOMString compositeOperation);
- void setLineWidth([Default=Undefined] optional float width);
- void setLineCap([Default=Undefined] optional DOMString cap);
- void setLineJoin([Default=Undefined] optional DOMString join);
- void setMiterLimit([Default=Undefined] optional float limit);
+ void setLineWidth(float width);
+ void setLineCap(DOMString cap);
+ void setLineJoin(DOMString join);
+ void setMiterLimit(float limit);
void clearShadow();
@@ -166,11 +115,7 @@
void setFillColor(float r, float g, float b, float a);
void setFillColor(float c, float m, float y, float k, float a);
- void strokeRect([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float width,
- [Default=Undefined] optional float height,
- optional float lineWidth);
+ void strokeRect(float x, float y, float width, float height);
[RaisesException] void drawImage(HTMLImageElement? image, float x, float y);
[RaisesException] void drawImage(HTMLImageElement? image, float x, float y, float width, float height);
@@ -207,11 +152,9 @@
[Custom] attribute custom fillStyle;
// pixel manipulation
- [RaisesException] ImageData getImageData([Default=Undefined] optional float sx, [Default=Undefined] optional float sy,
- [Default=Undefined] optional float sw, [Default=Undefined] optional float sh);
+ [RaisesException] ImageData getImageData(float sx, float sy, float sw, float sh);
- [RaisesException] ImageData webkitGetImageDataHD([Default=Undefined] optional float sx, [Default=Undefined] optional float sy,
- [Default=Undefined] optional float sw, [Default=Undefined] optional float sh);
+ [RaisesException] ImageData webkitGetImageDataHD(float sx, float sy, float sw, float sh);
readonly attribute float webkitBackingStorePixelRatio;
diff --git a/core/html/canvas/EXTDrawBuffers.idl b/core/html/canvas/EXTDrawBuffers.idl
index f348e15..e48a70b 100644
--- a/core/html/canvas/EXTDrawBuffers.idl
+++ b/core/html/canvas/EXTDrawBuffers.idl
@@ -26,6 +26,7 @@
typedef unsigned long GLenum;
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface EXTDrawBuffers {
diff --git a/core/html/canvas/EXTTextureFilterAnisotropic.idl b/core/html/canvas/EXTTextureFilterAnisotropic.idl
index d454a9b..46bd9dd 100644
--- a/core/html/canvas/EXTTextureFilterAnisotropic.idl
+++ b/core/html/canvas/EXTTextureFilterAnisotropic.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface EXTTextureFilterAnisotropic {
diff --git a/core/html/canvas/Float32Array.idl b/core/html/canvas/Float32Array.idl
index 306b7e3..4b872c5 100644
--- a/core/html/canvas/Float32Array.idl
+++ b/core/html/canvas/Float32Array.idl
@@ -27,9 +27,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=float,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Float32Array : ArrayBufferView {
const unsigned long BYTES_PER_ELEMENT = 4;
diff --git a/core/html/canvas/Float64Array.idl b/core/html/canvas/Float64Array.idl
index 51870fa..5e67f41 100644
--- a/core/html/canvas/Float64Array.idl
+++ b/core/html/canvas/Float64Array.idl
@@ -27,9 +27,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=double,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Float64Array : ArrayBufferView {
const unsigned long BYTES_PER_ELEMENT = 8;
diff --git a/core/html/canvas/Int16Array.idl b/core/html/canvas/Int16Array.idl
index ffa5682..f7fa0cb 100644
--- a/core/html/canvas/Int16Array.idl
+++ b/core/html/canvas/Int16Array.idl
@@ -26,9 +26,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=short,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Int16Array : ArrayBufferView {
const unsigned long BYTES_PER_ELEMENT = 2;
diff --git a/core/html/canvas/Int32Array.idl b/core/html/canvas/Int32Array.idl
index c46242b..b0a42b2 100644
--- a/core/html/canvas/Int32Array.idl
+++ b/core/html/canvas/Int32Array.idl
@@ -27,9 +27,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=int,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Int32Array : ArrayBufferView {
const unsigned long BYTES_PER_ELEMENT = 4;
diff --git a/core/html/canvas/Int8Array.idl b/core/html/canvas/Int8Array.idl
index 5cb46ab..299db9b 100644
--- a/core/html/canvas/Int8Array.idl
+++ b/core/html/canvas/Int8Array.idl
@@ -27,9 +27,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=signed char,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Int8Array : ArrayBufferView {
const unsigned long BYTES_PER_ELEMENT = 1;
diff --git a/core/html/canvas/OESElementIndexUint.idl b/core/html/canvas/OESElementIndexUint.idl
index 6e76baa..0eb77f8 100644
--- a/core/html/canvas/OESElementIndexUint.idl
+++ b/core/html/canvas/OESElementIndexUint.idl
@@ -24,6 +24,7 @@
*/
[
- Conditional=WEBGL,
+ NoInterfaceObject,
+ Conditional=WEBGL
] interface OESElementIndexUint {
};
diff --git a/core/html/canvas/OESStandardDerivatives.idl b/core/html/canvas/OESStandardDerivatives.idl
index 6dbfd5d..6ac0e43 100644
--- a/core/html/canvas/OESStandardDerivatives.idl
+++ b/core/html/canvas/OESStandardDerivatives.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface OESStandardDerivatives {
diff --git a/core/html/canvas/OESTextureFloat.idl b/core/html/canvas/OESTextureFloat.idl
index e58a7a3..b926f73 100644
--- a/core/html/canvas/OESTextureFloat.idl
+++ b/core/html/canvas/OESTextureFloat.idl
@@ -24,6 +24,7 @@
*/
[
- Conditional=WEBGL,
+ NoInterfaceObject,
+ Conditional=WEBGL
] interface OESTextureFloat {
};
diff --git a/core/page/BarInfo.idl b/core/html/canvas/OESTextureFloatLinear.idl
similarity index 77%
copy from core/page/BarInfo.idl
copy to core/html/canvas/OESTextureFloatLinear.idl
index 41a6f5a..fc65a9f 100644
--- a/core/page/BarInfo.idl
+++ b/core/html/canvas/OESTextureFloatLinear.idl
@@ -1,18 +1,15 @@
/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
+ * documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -27,7 +24,7 @@
*/
[
-] interface BarInfo {
- readonly attribute boolean visible;
+ NoInterfaceObject,
+ Conditional=WEBGL
+] interface OESTextureFloatLinear {
};
-
diff --git a/core/html/canvas/OESTextureHalfFloat.idl b/core/html/canvas/OESTextureHalfFloat.idl
index d95898c..597ecf8 100644
--- a/core/html/canvas/OESTextureHalfFloat.idl
+++ b/core/html/canvas/OESTextureHalfFloat.idl
@@ -26,6 +26,7 @@
typedef unsigned long GLenum;
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface OESTextureHalfFloat {
diff --git a/core/page/BarInfo.idl b/core/html/canvas/OESTextureHalfFloatLinear.idl
similarity index 77%
copy from core/page/BarInfo.idl
copy to core/html/canvas/OESTextureHalfFloatLinear.idl
index 41a6f5a..44ee4b5 100644
--- a/core/page/BarInfo.idl
+++ b/core/html/canvas/OESTextureHalfFloatLinear.idl
@@ -1,18 +1,15 @@
/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
+ * documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -27,7 +24,7 @@
*/
[
-] interface BarInfo {
- readonly attribute boolean visible;
+ NoInterfaceObject,
+ Conditional=WEBGL
+] interface OESTextureHalfFloatLinear {
};
-
diff --git a/core/html/canvas/OESVertexArrayObject.idl b/core/html/canvas/OESVertexArrayObject.idl
index 5de854f..9fcf9ab 100644
--- a/core/html/canvas/OESVertexArrayObject.idl
+++ b/core/html/canvas/OESVertexArrayObject.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface OESVertexArrayObject {
diff --git a/core/html/canvas/DOMPath.idl b/core/html/canvas/Path.idl
similarity index 97%
rename from core/html/canvas/DOMPath.idl
rename to core/html/canvas/Path.idl
index 9a68c72..14ed146 100644
--- a/core/html/canvas/DOMPath.idl
+++ b/core/html/canvas/Path.idl
@@ -29,12 +29,12 @@
[
EnabledAtRuntime=canvasPath,
Constructor,
- Constructor(DOMPath path),
+ Constructor(Path path),
#if defined(ENABLE_SVG) && ENABLE_SVG
Constructor(DOMString text),
#endif
- InterfaceName=Path
-] interface DOMPath {
+ ImplementedAs=DOMPath
+] interface Path {
// FIXME: These methods should be shared with CanvasRenderingContext2D in the CanvasPathMethods interface.
void closePath();
diff --git a/core/html/canvas/Uint16Array.idl b/core/html/canvas/Uint16Array.idl
index 4268ef6..555fe86 100644
--- a/core/html/canvas/Uint16Array.idl
+++ b/core/html/canvas/Uint16Array.idl
@@ -27,9 +27,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=unsigned short,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Uint16Array : ArrayBufferView {
const unsigned long BYTES_PER_ELEMENT = 2;
diff --git a/core/html/canvas/Uint32Array.idl b/core/html/canvas/Uint32Array.idl
index 76936df..069a8d9 100644
--- a/core/html/canvas/Uint32Array.idl
+++ b/core/html/canvas/Uint32Array.idl
@@ -27,9 +27,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=unsigned int,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Uint32Array : ArrayBufferView {
const unsigned long BYTES_PER_ELEMENT = 4;
diff --git a/core/html/canvas/Uint8Array.idl b/core/html/canvas/Uint8Array.idl
index b6e3917..d2f80a3 100644
--- a/core/html/canvas/Uint8Array.idl
+++ b/core/html/canvas/Uint8Array.idl
@@ -27,9 +27,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=unsigned char,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Uint8Array : ArrayBufferView {
const unsigned long BYTES_PER_ELEMENT = 1;
diff --git a/core/html/canvas/Uint8ClampedArray.idl b/core/html/canvas/Uint8ClampedArray.idl
index cd15b26..2d9273e 100644
--- a/core/html/canvas/Uint8ClampedArray.idl
+++ b/core/html/canvas/Uint8ClampedArray.idl
@@ -27,9 +27,7 @@
[
ConstructorTemplate=TypedArray,
CustomToV8,
- DoNotCheckConstants,
- TypedArray=unsigned char,
- ImplementationNamespace=WTF
+ DoNotCheckConstants
] interface Uint8ClampedArray : Uint8Array {
const unsigned long BYTES_PER_ELEMENT = 1;
diff --git a/core/html/canvas/WebGLActiveInfo.idl b/core/html/canvas/WebGLActiveInfo.idl
index 32ff970..5baf934 100644
--- a/core/html/canvas/WebGLActiveInfo.idl
+++ b/core/html/canvas/WebGLActiveInfo.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=WEBGL,
- ImplementationLacksVTable
+ Conditional=WEBGL
] interface WebGLActiveInfo {
readonly attribute long size;
readonly attribute unsigned long type;
diff --git a/core/html/canvas/WebGLBuffer.idl b/core/html/canvas/WebGLBuffer.idl
index f43cd63..564c543 100644
--- a/core/html/canvas/WebGLBuffer.idl
+++ b/core/html/canvas/WebGLBuffer.idl
@@ -24,6 +24,6 @@
*/
[
- Conditional=WEBGL,
+ Conditional=WEBGL
] interface WebGLBuffer {
};
diff --git a/core/html/canvas/WebGLCompressedTextureATC.idl b/core/html/canvas/WebGLCompressedTextureATC.idl
index 10db90e..b94f2c5 100644
--- a/core/html/canvas/WebGLCompressedTextureATC.idl
+++ b/core/html/canvas/WebGLCompressedTextureATC.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface WebGLCompressedTextureATC {
diff --git a/core/html/canvas/WebGLCompressedTexturePVRTC.idl b/core/html/canvas/WebGLCompressedTexturePVRTC.idl
index 36e73dc..20e24a1 100644
--- a/core/html/canvas/WebGLCompressedTexturePVRTC.idl
+++ b/core/html/canvas/WebGLCompressedTexturePVRTC.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface WebGLCompressedTexturePVRTC {
diff --git a/core/html/canvas/WebGLCompressedTextureS3TC.idl b/core/html/canvas/WebGLCompressedTextureS3TC.idl
index 4e96637..d60f29f 100644
--- a/core/html/canvas/WebGLCompressedTextureS3TC.idl
+++ b/core/html/canvas/WebGLCompressedTextureS3TC.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface WebGLCompressedTextureS3TC {
diff --git a/core/html/canvas/WebGLContextAttributes.idl b/core/html/canvas/WebGLContextAttributes.idl
index df45175..c29355b 100644
--- a/core/html/canvas/WebGLContextAttributes.idl
+++ b/core/html/canvas/WebGLContextAttributes.idl
@@ -25,7 +25,8 @@
*/
[
- Conditional=WEBGL,
+ NoInterfaceObject,
+ Conditional=WEBGL
] interface WebGLContextAttributes {
attribute boolean alpha;
attribute boolean depth;
diff --git a/core/html/canvas/WebGLDebugRendererInfo.idl b/core/html/canvas/WebGLDebugRendererInfo.idl
index bd37ddb..8846e4e 100644
--- a/core/html/canvas/WebGLDebugRendererInfo.idl
+++ b/core/html/canvas/WebGLDebugRendererInfo.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface WebGLDebugRendererInfo {
diff --git a/core/html/canvas/WebGLDebugShaders.idl b/core/html/canvas/WebGLDebugShaders.idl
index 59e0cdd..b269ca2 100644
--- a/core/html/canvas/WebGLDebugShaders.idl
+++ b/core/html/canvas/WebGLDebugShaders.idl
@@ -24,7 +24,8 @@
*/
[
- Conditional=WEBGL,
+ NoInterfaceObject,
+ Conditional=WEBGL
] interface WebGLDebugShaders {
[StrictTypeChecking, TreatReturnedNullStringAs=Null, RaisesException] DOMString getTranslatedShaderSource(WebGLShader shader);
};
diff --git a/core/html/canvas/WebGLDepthTexture.idl b/core/html/canvas/WebGLDepthTexture.idl
index 84f3acd..9740cfe 100644
--- a/core/html/canvas/WebGLDepthTexture.idl
+++ b/core/html/canvas/WebGLDepthTexture.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL,
DoNotCheckConstants
] interface WebGLDepthTexture {
diff --git a/core/html/canvas/WebGLLoseContext.idl b/core/html/canvas/WebGLLoseContext.idl
index ee07a4f..310f84d 100644
--- a/core/html/canvas/WebGLLoseContext.idl
+++ b/core/html/canvas/WebGLLoseContext.idl
@@ -24,7 +24,8 @@
*/
[
- Conditional=WEBGL,
+ NoInterfaceObject,
+ Conditional=WEBGL
] interface WebGLLoseContext {
[StrictTypeChecking] void loseContext();
[StrictTypeChecking] void restoreContext();
diff --git a/core/html/canvas/WebGLShaderPrecisionFormat.idl b/core/html/canvas/WebGLShaderPrecisionFormat.idl
index b31a58d..1b34f65 100644
--- a/core/html/canvas/WebGLShaderPrecisionFormat.idl
+++ b/core/html/canvas/WebGLShaderPrecisionFormat.idl
@@ -25,8 +25,7 @@
*/
[
- Conditional=WEBGL,
- ImplementationLacksVTable
+ Conditional=WEBGL
] interface WebGLShaderPrecisionFormat {
readonly attribute long rangeMin;
readonly attribute long rangeMax;
diff --git a/core/html/canvas/WebGLVertexArrayObjectOES.idl b/core/html/canvas/WebGLVertexArrayObjectOES.idl
index 1e78ddd..ce9f18d 100644
--- a/core/html/canvas/WebGLVertexArrayObjectOES.idl
+++ b/core/html/canvas/WebGLVertexArrayObjectOES.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEBGL
] interface WebGLVertexArrayObjectOES {
};
diff --git a/modules/inputmethod/Composition.idl b/core/html/ime/Composition.idl
similarity index 97%
rename from modules/inputmethod/Composition.idl
rename to core/html/ime/Composition.idl
index 155d74b..43ead5c 100644
--- a/modules/inputmethod/Composition.idl
+++ b/core/html/ime/Composition.idl
@@ -30,7 +30,7 @@
// http://www.w3.org/TR/ime-api/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface Composition {
readonly attribute Node text;
readonly attribute Range caret;
diff --git a/modules/inputmethod/InputMethodContext.idl b/core/html/ime/InputMethodContext.idl
similarity index 98%
rename from modules/inputmethod/InputMethodContext.idl
rename to core/html/ime/InputMethodContext.idl
index 0a6a23a..b86a1cd 100644
--- a/modules/inputmethod/InputMethodContext.idl
+++ b/core/html/ime/InputMethodContext.idl
@@ -30,7 +30,6 @@
// http://www.w3.org/TR/ime-api/
[
- ImplementationLacksVTable
] interface InputMethodContext {
readonly attribute Composition composition;
attribute boolean enabled;
diff --git a/core/html/shadow/HTMLContentElement.idl b/core/html/shadow/HTMLContentElement.idl
index e5c20d8..77095c2 100644
--- a/core/html/shadow/HTMLContentElement.idl
+++ b/core/html/shadow/HTMLContentElement.idl
@@ -25,7 +25,6 @@
*/
[
- SkipVTableValidation
] interface HTMLContentElement : HTMLElement {
[Reflect] attribute DOMString select;
attribute boolean resetStyleInheritance;
diff --git a/core/html/track/TextTrack.idl b/core/html/track/TextTrack.idl
index a2ad6d1..00a44a8 100644
--- a/core/html/track/TextTrack.idl
+++ b/core/html/track/TextTrack.idl
@@ -20,13 +20,12 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- EnabledAtRuntime=webkitVideoTrack,
- EventTarget,
- SkipVTableValidation
+ EnabledAtRuntime=videoTrack,
+ EventTarget
] interface TextTrack {
readonly attribute DOMString kind;
readonly attribute DOMString label;
@@ -48,11 +47,11 @@
#endif
// EventTarget interface
- void addEventListener(DOMString type,
- EventListener listener,
+ void addEventListener(DOMString type,
+ EventListener listener,
optional boolean useCapture);
- void removeEventListener(DOMString type,
- EventListener listener,
+ void removeEventListener(DOMString type,
+ EventListener listener,
optional boolean useCapture);
[RaisesException] boolean dispatchEvent(Event evt);
};
diff --git a/core/html/track/TextTrackCue.idl b/core/html/track/TextTrackCue.idl
index ea2ca4c..88725a4 100644
--- a/core/html/track/TextTrackCue.idl
+++ b/core/html/track/TextTrackCue.idl
@@ -20,15 +20,14 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- EnabledAtRuntime=webkitVideoTrack,
+ EnabledAtRuntime=videoTrack,
Constructor(double startTime, double endTime, DOMString text),
CallWith=ScriptExecutionContext,
- EventTarget,
- ImplementationLacksVTable
+ EventTarget
] interface TextTrackCue {
readonly attribute TextTrack track;
@@ -51,11 +50,11 @@
attribute EventListener onexit;
// EventTarget interface
- void addEventListener(DOMString type,
- EventListener listener,
+ void addEventListener(DOMString type,
+ EventListener listener,
optional boolean useCapture);
- void removeEventListener(DOMString type,
- EventListener listener,
+ void removeEventListener(DOMString type,
+ EventListener listener,
optional boolean useCapture);
[RaisesException] boolean dispatchEvent(Event evt);
diff --git a/core/html/track/TextTrackCueList.idl b/core/html/track/TextTrackCueList.idl
index a77ede9..155d419 100644
--- a/core/html/track/TextTrackCueList.idl
+++ b/core/html/track/TextTrackCueList.idl
@@ -20,12 +20,11 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- EnabledAtRuntime=webkitVideoTrack,
- ImplementationLacksVTable
+ EnabledAtRuntime=videoTrack
] interface TextTrackCueList {
readonly attribute unsigned long length;
getter TextTrackCue item(unsigned long index);
diff --git a/core/html/track/TextTrackList.idl b/core/html/track/TextTrackList.idl
index 7fcbacd..905efc3 100644
--- a/core/html/track/TextTrackList.idl
+++ b/core/html/track/TextTrackList.idl
@@ -20,13 +20,13 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- EnabledAtRuntime=webkitVideoTrack,
+ EnabledAtRuntime=videoTrack,
EventTarget,
- GenerateIsReachable=ImplOwnerRoot
+ GenerateIsReachable=owner
] interface TextTrackList {
readonly attribute unsigned long length;
getter TextTrack item(unsigned long index);
diff --git a/core/html/track/TextTrackRegion.idl b/core/html/track/TextTrackRegion.idl
index 2e80ca3..236d903 100644
--- a/core/html/track/TextTrackRegion.idl
+++ b/core/html/track/TextTrackRegion.idl
@@ -20,12 +20,12 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
Conditional=WEBVTT_REGIONS,
- EnabledAtRuntime=webkitVideoTrack,
+ EnabledAtRuntime=videoTrack,
Constructor()
] interface TextTrackRegion {
readonly attribute TextTrack track;
diff --git a/core/html/track/TextTrackRegionList.idl b/core/html/track/TextTrackRegionList.idl
index c6274cb..ad5611f 100644
--- a/core/html/track/TextTrackRegionList.idl
+++ b/core/html/track/TextTrackRegionList.idl
@@ -20,13 +20,13 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
+ NoInterfaceObject,
Conditional=WEBVTT_REGIONS,
- EnabledAtRuntime=webkitVideoTrack,
- ImplementationLacksVTable
+ EnabledAtRuntime=videoTrack
] interface TextTrackRegionList {
readonly attribute unsigned long length;
getter TextTrackRegion item(unsigned long index);
diff --git a/core/html/track/TrackEvent.idl b/core/html/track/TrackEvent.idl
index 1ebb29a..0b1a0e9 100644
--- a/core/html/track/TrackEvent.idl
+++ b/core/html/track/TrackEvent.idl
@@ -20,11 +20,11 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- EnabledAtRuntime=webkitVideoTrack,
+ EnabledAtRuntime=videoTrack,
ConstructorTemplate=Event
] interface TrackEvent : Event {
[InitializedByEventConstructor, CustomGetter] readonly attribute object track;
diff --git a/core/inspector/InjectedScriptHost.idl b/core/inspector/InjectedScriptHost.idl
index b285d67..4d9f484 100644
--- a/core/inspector/InjectedScriptHost.idl
+++ b/core/inspector/InjectedScriptHost.idl
@@ -31,7 +31,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface InjectedScriptHost {
void clearConsoleMessages();
diff --git a/core/inspector/InspectorFrontendHost.idl b/core/inspector/InspectorFrontendHost.idl
index 2ebcf0a..d3ca499 100644
--- a/core/inspector/InspectorFrontendHost.idl
+++ b/core/inspector/InspectorFrontendHost.idl
@@ -31,7 +31,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface InspectorFrontendHost {
void closeWindow();
void bringToFront();
diff --git a/core/inspector/JavaScriptCallFrame.idl b/core/inspector/JavaScriptCallFrame.idl
index ebd87d4..86ae41d 100644
--- a/core/inspector/JavaScriptCallFrame.idl
+++ b/core/inspector/JavaScriptCallFrame.idl
@@ -24,8 +24,8 @@
*/
[
- DoNotCheckConstants,
- ImplementationLacksVTable
+ NoInterfaceObject,
+ DoNotCheckConstants
] interface JavaScriptCallFrame {
// Scope type
diff --git a/core/inspector/ScriptProfile.idl b/core/inspector/ScriptProfile.idl
deleted file mode 100644
index 8569aae..0000000
--- a/core/inspector/ScriptProfile.idl
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
-] interface ScriptProfile {
- readonly attribute DOMString title;
- readonly attribute unsigned long uid;
- readonly attribute ScriptProfileNode head;
- readonly attribute double idleTime;
-};
-
diff --git a/core/inspector/ScriptProfileNode.idl b/core/inspector/ScriptProfileNode.idl
deleted file mode 100644
index de7bc62..0000000
--- a/core/inspector/ScriptProfileNode.idl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
-] interface ScriptProfileNode {
- readonly attribute DOMString functionName;
- readonly attribute DOMString url;
- readonly attribute unsigned long lineNumber;
- readonly attribute double totalTime;
- readonly attribute double selfTime;
- readonly attribute unsigned long numberOfCalls;
- sequence<ScriptProfileNode> children();
- readonly attribute boolean visible;
- readonly attribute unsigned long callUID;
-};
-
diff --git a/core/loader/appcache/DOMApplicationCache.idl b/core/loader/appcache/DOMApplicationCache.idl
index ac54056..c58f5e3 100644
--- a/core/loader/appcache/DOMApplicationCache.idl
+++ b/core/loader/appcache/DOMApplicationCache.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
EventTarget,
DoNotCheckConstants
] interface DOMApplicationCache {
diff --git a/core/page/BarInfo.idl b/core/page/BarProp.idl
similarity index 98%
rename from core/page/BarInfo.idl
rename to core/page/BarProp.idl
index 41a6f5a..8f91d38 100644
--- a/core/page/BarInfo.idl
+++ b/core/page/BarProp.idl
@@ -26,8 +26,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[
-] interface BarInfo {
+interface BarProp {
readonly attribute boolean visible;
};
diff --git a/core/page/Console.idl b/core/page/Console.idl
index a826d59..e536e49 100644
--- a/core/page/Console.idl
+++ b/core/page/Console.idl
@@ -27,6 +27,7 @@
*/
[
+ NoInterfaceObject
] interface Console {
[CallWith=ScriptArguments|ScriptState] void debug();
@@ -37,17 +38,13 @@
[CallWith=ScriptArguments|ScriptState] void dir();
[CallWith=ScriptArguments|ScriptState] void dirxml();
[CallWith=ScriptArguments|ScriptState] void table();
- [Custom, CallWith=ScriptArguments|ScriptState] void trace();
- [Custom, CallWith=ScriptArguments|ScriptState, ImplementedAs=assertCondition] void assert(boolean condition);
+ [CallWith=ScriptArguments|ScriptState] void trace();
+ [CallWith=ScriptArguments|ScriptState, ImplementedAs=assertCondition] void assert([Default=Undefined] optional boolean condition);
[CallWith=ScriptArguments|ScriptState] void count();
[CallWith=ScriptArguments] void markTimeline();
- // As per spec: http://www.w3.org/TR/WebIDL/#idl-sequence
- // "Sequences must not be used as the type of an attribute, constant or exception field."
- // FIXME: this will lead to BUG console.profiles !== console.profiles as profile will always returns new array.
- readonly attribute ScriptProfile[] profiles;
- [Custom] void profile(DOMString title);
- [Custom] void profileEnd(DOMString title);
+ [CallWith=ScriptState] void profile([Default=NullString] optional DOMString title);
+ [CallWith=ScriptState] void profileEnd([Default=NullString] optional DOMString title);
void time([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString title);
[CallWith=ScriptState] void timeEnd([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString title);
diff --git a/core/page/Crypto.idl b/core/page/Crypto.idl
index 9e632ef..0cabce2 100644
--- a/core/page/Crypto.idl
+++ b/core/page/Crypto.idl
@@ -27,7 +27,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface Crypto {
[Custom, RaisesException] ArrayBufferView getRandomValues(ArrayBufferView array);
};
diff --git a/core/page/DOMPoint.idl b/core/page/DOMPoint.idl
index f131917..b5fb534 100644
--- a/core/page/DOMPoint.idl
+++ b/core/page/DOMPoint.idl
@@ -26,8 +26,7 @@
[
CustomConstructor,
CustomConstructor(float x, float y),
- InterfaceName=WebKitPoint,
- ImplementationLacksVTable
+ InterfaceName=WebKitPoint
] interface DOMPoint {
attribute float x;
attribute float y;
diff --git a/core/page/DOMWindow.idl b/core/page/DOMWindow.idl
index f68dd94..c256b05 100644
--- a/core/page/DOMWindow.idl
+++ b/core/page/DOMWindow.idl
@@ -30,25 +30,24 @@
CustomToV8,
CustomNamedGetter,
DoNotGenerateWrap,
- CustomIndexedGetter,
InterfaceName=Window
] interface DOMWindow {
// DOM Level 0
[Replaceable] readonly attribute Screen screen;
- [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute History history;
- [Replaceable] readonly attribute BarInfo locationbar;
- [Replaceable] readonly attribute BarInfo menubar;
- [Replaceable] readonly attribute BarInfo personalbar;
- [Replaceable] readonly attribute BarInfo scrollbars;
- [Replaceable] readonly attribute BarInfo statusbar;
- [Replaceable] readonly attribute BarInfo toolbar;
+ [Replaceable] readonly attribute History history;
+ [Replaceable] readonly attribute BarProp locationbar;
+ [Replaceable] readonly attribute BarProp menubar;
+ [Replaceable] readonly attribute BarProp personalbar;
+ [Replaceable] readonly attribute BarProp scrollbars;
+ [Replaceable] readonly attribute BarProp statusbar;
+ [Replaceable] readonly attribute BarProp toolbar;
[Replaceable, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds] readonly attribute Navigator navigator;
[Replaceable] readonly attribute Navigator clientInformation;
readonly attribute Crypto crypto;
- [DoNotCheckSecurity, CustomSetter, Unforgeable] attribute Location location;
+ [DoNotCheckSecurity, CustomSetter, Unforgeable, Replaceable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] readonly attribute Location location;
[MeasureAs=WindowEvent, NotEnumerable, Replaceable, CustomGetter, CustomSetter] readonly attribute Event event;
- DOMSelection getSelection();
+ Selection getSelection();
[CheckSecurityForNode] readonly attribute Element frameElement;
@@ -182,7 +181,7 @@
[RaisesException] DOMString atob([TreatNullAs=NullString,Default=Undefined] optional DOMString string);
[RaisesException] DOMString btoa([TreatNullAs=NullString,Default=Undefined] optional DOMString string);
- [Replaceable] attribute DOMWindowCSS CSS;
+ [Replaceable] readonly attribute CSS CSS;
// Events
attribute EventListener onabort;
@@ -283,471 +282,58 @@
optional boolean useCapture);
[RaisesException] boolean dispatchEvent(Event evt);
- [Custom] void captureEvents(/*in long eventFlags*/);
- [Custom] void releaseEvents(/*in long eventFlags*/);
-
- // Global constructors
- attribute StyleSheetConstructor StyleSheet;
- attribute CSSStyleSheetConstructor CSSStyleSheet;
-
- attribute CSSValueConstructor CSSValue;
- attribute CSSPrimitiveValueConstructor CSSPrimitiveValue;
- attribute CSSValueListConstructor CSSValueList;
- attribute WebKitCSSTransformValueConstructor WebKitCSSTransformValue;
-
- attribute WebKitCSSFilterRuleConstructor WebKitCSSFilterRule;
- attribute WebKitCSSMixFunctionValueConstructor WebKitCSSMixFunctionValue;
-
- attribute WebKitCSSFilterValueConstructor WebKitCSSFilterValue;
-
-#if defined(ENABLE_CSS_DEVICE_ADAPTATION) && ENABLE_CSS_DEVICE_ADAPTATION
- attribute WebKitCSSViewportRuleConstructor WebKitCSSViewportRule;
-#endif
-
- attribute CSSRuleConstructor CSSRule;
- attribute CSSCharsetRuleConstructor CSSCharsetRule;
- attribute CSSFontFaceRuleConstructor CSSFontFaceRule;
- attribute CSSHostRuleConstructor CSSHostRule;
- attribute CSSImportRuleConstructor CSSImportRule;
- attribute CSSMediaRuleConstructor CSSMediaRule;
- attribute CSSPageRuleConstructor CSSPageRule;
- attribute CSSStyleRuleConstructor CSSStyleRule;
-
- attribute CSSStyleDeclarationConstructor CSSStyleDeclaration;
- attribute MediaListConstructor MediaList;
- attribute CounterConstructor Counter;
- attribute CSSRuleListConstructor CSSRuleList;
- attribute RectConstructor Rect;
- attribute RGBColorConstructor RGBColor;
- attribute StyleSheetListConstructor StyleSheetList;
-
- // FIXME: Implement the commented-out global constructors for interfaces listed in DOM Level 3 Core specification.
- attribute DOMCoreExceptionConstructor DOMException;
- attribute DOMStringListConstructor DOMStringList;
-// attribute NameListConstructor NameList;
-// attribute DOMImplementationListConstructor DOMImplementationList;
-// attribute DOMImplementationSourceConstructor DOMImplementationSource;
- attribute DOMImplementationConstructor DOMImplementation;
- attribute DOMSettableTokenListConstructor DOMSettableTokenList;
- attribute DOMTokenListConstructor DOMTokenList;
- attribute DocumentFragmentConstructor DocumentFragment;
- attribute DocumentConstructor Document;
- attribute NodeConstructor Node;
- attribute NodeListConstructor NodeList;
- attribute NamedNodeMapConstructor NamedNodeMap;
- attribute CharacterDataConstructor CharacterData;
- attribute AttrConstructor Attr;
- attribute ElementConstructor Element;
- attribute TextConstructor Text;
- attribute CommentConstructor Comment;
-// attribute TypeInfoConstructor TypeInfo;
-// attribute UserDataHandlerConstructor UserDataHandler;
-// attribute DOMErrorConstructor DOMError;
-// attribute DOMErrorHandlerConstructor DOMErrorHandler
-// attribute DOMLocatorConstructor DOMLocator;
-// attribute DOMConfigurationConstructor DOMConfiguration;
- attribute CDATASectionConstructor CDATASection;
- attribute DocumentTypeConstructor DocumentType;
- attribute NotationConstructor Notation;
- attribute EntityConstructor Entity;
- attribute EntityReferenceConstructor EntityReference;
- [EnabledAtRuntime=canvasPath] attribute DOMPathConstructor Path;
- attribute ProcessingInstructionConstructor ProcessingInstruction;
- attribute ShadowRootConstructor WebKitShadowRoot;
- attribute HTMLContentElementConstructor HTMLContentElement;
- attribute HTMLShadowElementConstructor HTMLShadowElement;
-
- attribute DOMSelectionConstructor Selection;
- attribute DOMWindowConstructor Window;
-
- attribute HTMLDocumentConstructor HTMLDocument;
- attribute HTMLElementConstructor HTMLElement;
- attribute HTMLAnchorElementConstructor HTMLAnchorElement;
- attribute HTMLAppletElementConstructor HTMLAppletElement;
- attribute HTMLAreaElementConstructor HTMLAreaElement;
- attribute HTMLBRElementConstructor HTMLBRElement;
- attribute HTMLBaseElementConstructor HTMLBaseElement;
- attribute HTMLBodyElementConstructor HTMLBodyElement;
- attribute HTMLButtonElementConstructor HTMLButtonElement;
- attribute HTMLCanvasElementConstructor HTMLCanvasElement;
- attribute HTMLDListElementConstructor HTMLDListElement;
- [Conditional=DATALIST_ELEMENT] attribute HTMLDataListElementConstructor HTMLDataListElement;
- [EnabledPerContext=dialogElement] attribute HTMLDialogElementConstructor HTMLDialogElement;
- attribute HTMLDirectoryElementConstructor HTMLDirectoryElement;
- attribute HTMLDivElementConstructor HTMLDivElement;
- attribute HTMLEmbedElementConstructor HTMLEmbedElement;
- attribute HTMLFieldSetElementConstructor HTMLFieldSetElement;
- attribute HTMLFontElementConstructor HTMLFontElement;
- attribute HTMLFormElementConstructor HTMLFormElement;
- attribute HTMLFrameElementConstructor HTMLFrameElement;
- attribute HTMLFrameSetElementConstructor HTMLFrameSetElement;
- attribute HTMLHRElementConstructor HTMLHRElement;
- attribute HTMLHeadElementConstructor HTMLHeadElement;
- attribute HTMLHeadingElementConstructor HTMLHeadingElement;
- attribute HTMLHtmlElementConstructor HTMLHtmlElement;
- attribute HTMLIFrameElementConstructor HTMLIFrameElement;
- attribute HTMLImageElementConstructor HTMLImageElement;
- attribute HTMLInputElementConstructor HTMLInputElement;
- attribute HTMLKeygenElementConstructor HTMLKeygenElement;
- attribute HTMLLIElementConstructor HTMLLIElement;
- attribute HTMLLabelElementConstructor HTMLLabelElement;
- attribute HTMLLegendElementConstructor HTMLLegendElement;
- attribute HTMLLinkElementConstructor HTMLLinkElement;
- attribute HTMLMapElementConstructor HTMLMapElement;
- attribute HTMLMarqueeElementConstructor HTMLMarqueeElement;
- attribute HTMLMenuElementConstructor HTMLMenuElement;
- attribute HTMLMetaElementConstructor HTMLMetaElement;
- attribute HTMLMeterElementConstructor HTMLMeterElement;
- attribute HTMLModElementConstructor HTMLModElement;
- attribute HTMLOListElementConstructor HTMLOListElement;
- attribute HTMLObjectElementConstructor HTMLObjectElement;
- attribute HTMLOptGroupElementConstructor HTMLOptGroupElement;
- attribute HTMLOptionElementConstructor HTMLOptionElement;
- attribute HTMLOutputElementConstructor HTMLOutputElement;
- attribute HTMLParagraphElementConstructor HTMLParagraphElement;
- attribute HTMLParamElementConstructor HTMLParamElement;
- attribute HTMLPreElementConstructor HTMLPreElement;
- attribute HTMLProgressElementConstructor HTMLProgressElement;
- attribute HTMLQuoteElementConstructor HTMLQuoteElement;
- attribute HTMLScriptElementConstructor HTMLScriptElement;
- attribute HTMLSelectElementConstructor HTMLSelectElement;
- attribute HTMLSpanElementConstructor HTMLSpanElement;
- attribute HTMLStyleElementConstructor HTMLStyleElement;
- attribute HTMLTableCaptionElementConstructor HTMLTableCaptionElement;
- attribute HTMLTableCellElementConstructor HTMLTableCellElement;
- attribute HTMLTableColElementConstructor HTMLTableColElement;
- attribute HTMLTableElementConstructor HTMLTableElement;
- attribute HTMLTableRowElementConstructor HTMLTableRowElement;
- attribute HTMLTableSectionElementConstructor HTMLTableSectionElement;
- attribute HTMLTemplateElementConstructor HTMLTemplateElement;
- attribute HTMLTextAreaElementConstructor HTMLTextAreaElement;
- attribute HTMLTitleElementConstructor HTMLTitleElement;
- attribute HTMLUListElementConstructor HTMLUListElement;
-
- attribute HTMLCollectionConstructor HTMLCollection;
- attribute HTMLAllCollectionConstructor HTMLAllCollection;
- attribute HTMLFormControlsCollectionConstructor HTMLFormControlsCollection;
- attribute HTMLOptionsCollectionConstructor HTMLOptionsCollection;
- attribute HTMLUnknownElementConstructor HTMLUnknownElement;
-
+ // Additional constructors.
+ attribute TransitionEventConstructor WebKitTransitionEvent;
[CustomConstructor] attribute HTMLImageElementConstructorConstructor Image; // Usable with new operator
- attribute HTMLOptionElementConstructorConstructor Option; // Usable with new operator
+ // Mozilla has a separate XMLDocument object for XML documents.
+ // We just use Document for this.
+ attribute DocumentConstructor XMLDocument;
+ attribute URLConstructor webkitURL; // FIXME: deprecate this.
+ attribute MutationObserverConstructor WebKitMutationObserver; // FIXME: Add metrics to determine when we can remove this.
+ attribute IDBCursorConstructor webkitIDBCursor;
+ attribute IDBDatabaseConstructor webkitIDBDatabase;
+ attribute IDBFactoryConstructor webkitIDBFactory;
+ attribute IDBIndexConstructor webkitIDBIndex;
+ attribute IDBKeyRangeConstructor webkitIDBKeyRange;
+ attribute IDBObjectStoreConstructor webkitIDBObjectStore;
+ attribute IDBRequestConstructor webkitIDBRequest;
+ attribute IDBTransactionConstructor webkitIDBTransaction;
- [Conditional=ENCRYPTED_MEDIA, EnabledAtRuntime=encryptedMedia] attribute MediaKeyEventConstructor MediaKeyEvent;
- [Conditional=ENCRYPTED_MEDIA_V2, EnabledAtRuntime=encryptedMedia] attribute MediaKeysConstructor MediaKeys;
- [Conditional=ENCRYPTED_MEDIA_V2|ENCRYPTED_MEDIA, EnabledAtRuntime=encryptedMedia] attribute MediaKeyErrorConstructor MediaKeyError;
- [Conditional=ENCRYPTED_MEDIA_V2, EnabledAtRuntime=encryptedMedia] attribute MediaKeyMessageEventConstructor MediaKeyMessageEvent;
- [Conditional=ENCRYPTED_MEDIA_V2, EnabledAtRuntime=encryptedMedia] attribute MediaKeyNeededEventConstructor MediaKeyNeededEvent;
-
- [EnabledAtRuntime=webkitVideoTrack] attribute HTMLTrackElementConstructor HTMLTrackElement;
- [EnabledAtRuntime=webkitVideoTrack] attribute TextTrackConstructor TextTrack;
- [EnabledAtRuntime=webkitVideoTrack] attribute TextTrackCueConstructor TextTrackCue; // Usable with the new operator
- [EnabledAtRuntime=webkitVideoTrack] attribute TextTrackCueListConstructor TextTrackCueList;
- [EnabledAtRuntime=webkitVideoTrack] attribute TextTrackListConstructor TextTrackList;
- [Conditional=WEBVTT_REGIONS, EnabledAtRuntime=webkitVideoTrack] attribute TextTrackRegionConstructor TextTrackRegion; // Usable with the new operator
- [EnabledAtRuntime=webkitVideoTrack] attribute TrackEventConstructor TrackEvent;
-
- [EnabledAtRuntime=media] attribute HTMLAudioElementConstructorConstructor Audio; // Usable with the new operator
- [EnabledAtRuntime=media] attribute HTMLAudioElementConstructor HTMLAudioElement;
+ // Constructors enabled at runtime but whose interface does not have EnabledAtRuntime
+ // extended attribute.
+ // FIXME: Remove these.
[EnabledAtRuntime=media] attribute HTMLMediaElementConstructor HTMLMediaElement;
[EnabledAtRuntime=media] attribute HTMLVideoElementConstructor HTMLVideoElement;
[EnabledAtRuntime=media] attribute MediaErrorConstructor MediaError;
[EnabledAtRuntime=media] attribute TimeRangesConstructor TimeRanges;
[EnabledAtRuntime=media] attribute HTMLSourceElementConstructor HTMLSourceElement;
[EnabledAtRuntime=media] attribute MediaControllerConstructor MediaController;
-
- attribute CanvasPatternConstructor CanvasPattern;
- attribute CanvasGradientConstructor CanvasGradient;
- attribute CanvasRenderingContext2DConstructor CanvasRenderingContext2D;
-
- attribute ImageDataConstructor ImageData;
- attribute TextMetricsConstructor TextMetrics;
-
- [Conditional=WEBGL] attribute WebGLActiveInfoConstructor WebGLActiveInfo;
- [Conditional=WEBGL] attribute WebGLBufferConstructor WebGLBuffer;
- [Conditional=WEBGL] attribute WebGLFramebufferConstructor WebGLFramebuffer;
- [Conditional=WEBGL] attribute WebGLProgramConstructor WebGLProgram;
- [Conditional=WEBGL] attribute WebGLRenderbufferConstructor WebGLRenderbuffer;
- [Conditional=WEBGL] attribute WebGLRenderingContextConstructor WebGLRenderingContext;
- [Conditional=WEBGL] attribute WebGLShaderConstructor WebGLShader;
- [Conditional=WEBGL] attribute WebGLShaderPrecisionFormatConstructor WebGLShaderPrecisionFormat;
- [Conditional=WEBGL] attribute WebGLTextureConstructor WebGLTexture;
- [Conditional=WEBGL] attribute WebGLUniformLocationConstructor WebGLUniformLocation;
-
- attribute DOMStringMapConstructor DOMStringMap;
-
- attribute ArrayBufferConstructor ArrayBuffer; // Usable with new operator
- attribute ArrayBufferViewConstructor ArrayBufferView;
- attribute Int8ArrayConstructor Int8Array; // Usable with new operator
- attribute Uint8ArrayConstructor Uint8Array; // Usable with new operator
- attribute Uint8ClampedArrayConstructor Uint8ClampedArray; // Usable with new operator
- attribute Int16ArrayConstructor Int16Array; // Usable with new operator
- attribute Uint16ArrayConstructor Uint16Array; // Usable with new operator
- attribute Int32ArrayConstructor Int32Array; // Usable with new operator
- attribute Uint32ArrayConstructor Uint32Array; // Usable with new operator
- attribute Float32ArrayConstructor Float32Array; // Usable with new operator
- attribute Float64ArrayConstructor Float64Array; // Usable with new operator
- attribute DataViewConstructor DataView; // Usable with new operator
-
- // Event Constructors
- attribute EventConstructor Event;
- attribute BeforeLoadEventConstructor BeforeLoadEvent;
- attribute CompositionEventConstructor CompositionEvent;
- attribute CustomEventConstructor CustomEvent;
- attribute ErrorEventConstructor ErrorEvent;
- attribute FocusEventConstructor FocusEvent;
- attribute HashChangeEventConstructor HashChangeEvent;
- attribute KeyboardEventConstructor KeyboardEvent;
- attribute MessageEventConstructor MessageEvent;
- attribute MouseEventConstructor MouseEvent;
- attribute MutationEventConstructor MutationEvent;
- attribute OverflowEventConstructor OverflowEvent;
- attribute PopStateEventConstructor PopStateEvent;
- attribute PageTransitionEventConstructor PageTransitionEvent;
- attribute ProgressEventConstructor ProgressEvent;
- attribute TextEventConstructor TextEvent;
- attribute TransitionEventConstructor TransitionEvent;
- attribute UIEventConstructor UIEvent;
- attribute AnimationEventConstructor WebKitAnimationEvent;
- attribute TransitionEventConstructor WebKitTransitionEvent;
- attribute WheelEventConstructor WheelEvent;
- attribute XMLHttpRequestProgressEventConstructor XMLHttpRequestProgressEvent;
[EnabledAtRuntime=deviceMotion] attribute DeviceMotionEventConstructor DeviceMotionEvent;
- [EnabledAtRuntime=deviceOrientation] attribute DeviceOrientationEventConstructor DeviceOrientationEvent;
[EnabledAtRuntime=touch] attribute TouchConstructor Touch;
[EnabledAtRuntime=touch] attribute TouchEventConstructor TouchEvent;
[EnabledAtRuntime=touch] attribute TouchListConstructor TouchList;
- attribute StorageEventConstructor StorageEvent;
- [Conditional=INPUT_SPEECH] attribute SpeechInputEventConstructor SpeechInputEvent;
- [Conditional=WEBGL] attribute WebGLContextEventConstructor WebGLContextEvent;
- [EnabledAtRuntime=requestAutocomplete] attribute AutocompleteErrorEventConstructor AutocompleteErrorEvent;
+ [EnabledAtRuntime=webMIDI] attribute MIDIConnectionEventConstructor MIDIConnectionEvent;
+ [EnabledAtRuntime=webMIDI] attribute MIDIMessageEventConstructor MIDIMessageEvent;
+ [EnabledAtRuntime=mediaStream] attribute MediaStreamConstructor webkitMediaStream;
+ [Conditional=WEB_AUDIO, EnabledAtRuntime=WebAudio] attribute AudioContextConstructor webkitAudioContext;
+ [Conditional=WEB_AUDIO, EnabledAtRuntime=WebAudio] attribute OfflineAudioContextConstructor webkitOfflineAudioContext;
+ [EnabledAtRuntime=peerConnection] attribute RTCPeerConnectionConstructor webkitRTCPeerConnection;
[EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute SecurityPolicyViolationEventConstructor SecurityPolicyViolationEvent;
-
- attribute EventExceptionConstructor EventException;
-
- attribute WebKitCSSKeyframeRuleConstructor WebKitCSSKeyframeRule;
- attribute WebKitCSSKeyframesRuleConstructor WebKitCSSKeyframesRule;
- [EnabledAtRuntime=cssRegions] attribute WebKitCSSRegionRuleConstructor WebKitCSSRegionRule;
-
- attribute WebKitCSSMatrixConstructor WebKitCSSMatrix; // Usable with the new operator
-
- attribute DOMPointConstructor WebKitPoint; // Usable with new the operator
-
- attribute ClipboardConstructor Clipboard;
-
- attribute WorkerConstructor Worker; // Usable with the new operator
[EnabledAtRuntime] attribute SharedWorkerConstructor SharedWorker; // Usable with the new operator
+ [EnabledAtRuntime=scriptedSpeech] attribute SpeechGrammarConstructor webkitSpeechGrammar;
+ [EnabledAtRuntime=scriptedSpeech] attribute SpeechGrammarListConstructor webkitSpeechGrammarList;
+ [EnabledAtRuntime=scriptedSpeech] attribute SpeechRecognitionConstructor webkitSpeechRecognition;
+ [EnabledAtRuntime=scriptedSpeech] attribute SpeechRecognitionErrorConstructor webkitSpeechRecognitionError;
+ [EnabledAtRuntime=scriptedSpeech] attribute SpeechRecognitionEventConstructor webkitSpeechRecognitionEvent;
- attribute FileConstructor File;
- attribute FileListConstructor FileList;
- attribute BlobConstructor Blob;
-
- attribute NodeFilterConstructor NodeFilter;
- attribute RangeConstructor Range;
-
- attribute EventSourceConstructor EventSource; // Usable with new the operator
-
- // Mozilla has a separate XMLDocument object for XML documents.
- // We just use Document for this.
- attribute DocumentConstructor XMLDocument;
- attribute DOMParserConstructor DOMParser;
- attribute XMLSerializerConstructor XMLSerializer;
- attribute XMLHttpRequestConstructor XMLHttpRequest; // Usable with the new operator
- attribute XMLHttpRequestUploadConstructor XMLHttpRequestUpload;
- attribute XSLTProcessorConstructor XSLTProcessor; // Usable with the new operator
-
- attribute MessagePortConstructor MessagePort;
- attribute MessageChannelConstructor MessageChannel; // Usable with the new operator
-
- attribute DOMPluginConstructor Plugin;
- attribute DOMPluginArrayConstructor PluginArray;
-
- attribute DOMMimeTypeConstructor MimeType;
- attribute DOMMimeTypeArrayConstructor MimeTypeArray;
-
- attribute ClientRectConstructor ClientRect;
- attribute ClientRectListConstructor ClientRectList;
-
- attribute StorageConstructor Storage;
-
- attribute XPathEvaluatorConstructor XPathEvaluator;
- attribute XPathResultConstructor XPathResult;
- attribute XPathExceptionConstructor XPathException;
-
- [Conditional=SVG] attribute SVGZoomEventConstructor SVGZoomEvent;
-
-#if defined(ENABLE_SVG) && ENABLE_SVG
- // Expose all implemented SVG 1.1 interfaces, excluding the SVG MI interfaces:
- // SVGAnimatedPathData, SVGAnimatedPoints, SVGExternalResourcesRequired,
- // SVGFilterPrimitiveStandardAttributes, SVGFitToViewBox, SVGLangSpace, SVGLocatable
- // SVGTests, SVGTransformable, SVGURIReference, SVGZoomAndPan
- attribute SVGAElementConstructor SVGAElement;
- attribute SVGAngleConstructor SVGAngle;
- attribute SVGAnimatedAngleConstructor SVGAnimatedAngle;
- attribute SVGAnimatedBooleanConstructor SVGAnimatedBoolean;
- attribute SVGAnimatedEnumerationConstructor SVGAnimatedEnumeration;
- attribute SVGAnimatedIntegerConstructor SVGAnimatedInteger;
- attribute SVGAnimatedLengthConstructor SVGAnimatedLength;
- attribute SVGAnimatedLengthListConstructor SVGAnimatedLengthList;
- attribute SVGAnimatedNumberConstructor SVGAnimatedNumber;
- attribute SVGAnimatedNumberListConstructor SVGAnimatedNumberList;
- attribute SVGAnimatedPreserveAspectRatioConstructor SVGAnimatedPreserveAspectRatio;
- attribute SVGAnimatedRectConstructor SVGAnimatedRect;
- attribute SVGAnimatedStringConstructor SVGAnimatedString;
- attribute SVGAnimatedTransformListConstructor SVGAnimatedTransformList;
- attribute SVGCircleElementConstructor SVGCircleElement;
- attribute SVGClipPathElementConstructor SVGClipPathElement;
- attribute SVGColorConstructor SVGColor;
- attribute SVGCursorElementConstructor SVGCursorElement;
-// attribute SVGCSSRuleConstructor SVGCSSRule;
- attribute SVGDefsElementConstructor SVGDefsElement;
- attribute SVGDescElementConstructor SVGDescElement;
- attribute SVGDocumentConstructor SVGDocument;
- attribute SVGElementConstructor SVGElement;
- attribute SVGElementInstanceConstructor SVGElementInstance;
- attribute SVGElementInstanceListConstructor SVGElementInstanceList;
- attribute SVGEllipseElementConstructor SVGEllipseElement;
- attribute SVGForeignObjectElementConstructor SVGForeignObjectElement;
- attribute SVGExceptionConstructor SVGException;
- attribute SVGGElementConstructor SVGGElement;
- attribute SVGGradientElementConstructor SVGGradientElement;
- attribute SVGImageElementConstructor SVGImageElement;
- attribute SVGLengthConstructor SVGLength;
- attribute SVGLengthListConstructor SVGLengthList;
- attribute SVGLinearGradientElementConstructor SVGLinearGradientElement;
- attribute SVGLineElementConstructor SVGLineElement;
- attribute SVGMarkerElementConstructor SVGMarkerElement;
- attribute SVGMaskElementConstructor SVGMaskElement;
- attribute SVGMatrixConstructor SVGMatrix;
- attribute SVGMetadataElementConstructor SVGMetadataElement;
- attribute SVGNumberConstructor SVGNumber;
- attribute SVGNumberListConstructor SVGNumberList;
- attribute SVGPaintConstructor SVGPaint;
- attribute SVGPathElementConstructor SVGPathElement;
- attribute SVGPathSegConstructor SVGPathSeg;
- attribute SVGPathSegArcAbsConstructor SVGPathSegArcAbs;
- attribute SVGPathSegArcRelConstructor SVGPathSegArcRel;
- attribute SVGPathSegClosePathConstructor SVGPathSegClosePath;
- attribute SVGPathSegCurvetoCubicAbsConstructor SVGPathSegCurvetoCubicAbs;
- attribute SVGPathSegCurvetoCubicRelConstructor SVGPathSegCurvetoCubicRel;
- attribute SVGPathSegCurvetoCubicSmoothAbsConstructor SVGPathSegCurvetoCubicSmoothAbs;
- attribute SVGPathSegCurvetoCubicSmoothRelConstructor SVGPathSegCurvetoCubicSmoothRel;
- attribute SVGPathSegCurvetoQuadraticAbsConstructor SVGPathSegCurvetoQuadraticAbs;
- attribute SVGPathSegCurvetoQuadraticRelConstructor SVGPathSegCurvetoQuadraticRel;
- attribute SVGPathSegCurvetoQuadraticSmoothAbsConstructor SVGPathSegCurvetoQuadraticSmoothAbs;
- attribute SVGPathSegCurvetoQuadraticSmoothRelConstructor SVGPathSegCurvetoQuadraticSmoothRel;
- attribute SVGPathSegLinetoAbsConstructor SVGPathSegLinetoAbs;
- attribute SVGPathSegLinetoHorizontalAbsConstructor SVGPathSegLinetoHorizontalAbs;
- attribute SVGPathSegLinetoHorizontalRelConstructor SVGPathSegLinetoHorizontalRel;
- attribute SVGPathSegLinetoRelConstructor SVGPathSegLinetoRel;
- attribute SVGPathSegLinetoVerticalAbsConstructor SVGPathSegLinetoVerticalAbs;
- attribute SVGPathSegLinetoVerticalRelConstructor SVGPathSegLinetoVerticalRel;
- attribute SVGPathSegListConstructor SVGPathSegList;
- attribute SVGPathSegMovetoAbsConstructor SVGPathSegMovetoAbs;
- attribute SVGPathSegMovetoRelConstructor SVGPathSegMovetoRel;
- attribute SVGPatternElementConstructor SVGPatternElement;
- attribute SVGPointConstructor SVGPoint;
- attribute SVGPointListConstructor SVGPointList;
- attribute SVGPolygonElementConstructor SVGPolygonElement;
- attribute SVGPolylineElementConstructor SVGPolylineElement;
- attribute SVGPreserveAspectRatioConstructor SVGPreserveAspectRatio;
- attribute SVGRadialGradientElementConstructor SVGRadialGradientElement;
- attribute SVGRectConstructor SVGRect;
- attribute SVGRectElementConstructor SVGRectElement;
- attribute SVGRenderingIntentConstructor SVGRenderingIntent;
- attribute SVGScriptElementConstructor SVGScriptElement;
- attribute SVGStopElementConstructor SVGStopElement;
- attribute SVGStringListConstructor SVGStringList;
- attribute SVGStyleElementConstructor SVGStyleElement;
- attribute SVGSVGElementConstructor SVGSVGElement;
- attribute SVGSwitchElementConstructor SVGSwitchElement;
- attribute SVGSymbolElementConstructor SVGSymbolElement;
- attribute SVGTextContentElementConstructor SVGTextContentElement;
- attribute SVGTextElementConstructor SVGTextElement;
- attribute SVGTextPathElementConstructor SVGTextPathElement;
- attribute SVGTextPositioningElementConstructor SVGTextPositioningElement;
- attribute SVGTitleElementConstructor SVGTitleElement;
- attribute SVGTransformConstructor SVGTransform;
- attribute SVGTransformListConstructor SVGTransformList;
- attribute SVGTRefElementConstructor SVGTRefElement;
- attribute SVGTSpanElementConstructor SVGTSpanElement;
- attribute SVGUnitTypesConstructor SVGUnitTypes;
- attribute SVGUseElementConstructor SVGUseElement;
- attribute SVGViewElementConstructor SVGViewElement;
- attribute SVGViewSpecConstructor SVGViewSpec;
- attribute SVGZoomAndPanConstructor SVGZoomAndPan;
-
- attribute SVGAnimateColorElementConstructor SVGAnimateColorElement;
- attribute SVGAnimateElementConstructor SVGAnimateElement;
- attribute SVGAnimateMotionElementConstructor SVGAnimateMotionElement;
- attribute SVGAnimateTransformElementConstructor SVGAnimateTransformElement;
- attribute SVGMPathElementConstructor SVGMPathElement;
- attribute SVGSetElementConstructor SVGSetElement;
-
-#if defined(ENABLE_SVG_FONTS) && ENABLE_SVG_FONTS
- attribute SVGAltGlyphDefElementConstructor SVGAltGlyphDefElement;
- attribute SVGAltGlyphElementConstructor SVGAltGlyphElement;
- attribute SVGAltGlyphItemElementConstructor SVGAltGlyphItemElement;
-// attribute SVGDefinitionSrcElementConstructor SVGDefinitionSrcElement;
- attribute SVGFontElementConstructor SVGFontElement;
- attribute SVGFontFaceElementConstructor SVGFontFaceElement;
- attribute SVGFontFaceFormatElementConstructor SVGFontFaceFormatElement;
- attribute SVGFontFaceNameElementConstructor SVGFontFaceNameElement;
- attribute SVGFontFaceSrcElementConstructor SVGFontFaceSrcElement;
- attribute SVGFontFaceUriElementConstructor SVGFontFaceUriElement;
- attribute SVGGlyphElementConstructor SVGGlyphElement;
- attribute SVGGlyphRefElementConstructor SVGGlyphRefElement;
- attribute SVGHKernElementConstructor SVGHKernElement;
- attribute SVGMissingGlyphElementConstructor SVGMissingGlyphElement;
- attribute SVGVKernElementConstructor SVGVKernElement;
-#endif
-
- attribute SVGComponentTransferFunctionElementConstructor SVGComponentTransferFunctionElement;
- attribute SVGFEBlendElementConstructor SVGFEBlendElement;
- attribute SVGFEColorMatrixElementConstructor SVGFEColorMatrixElement;
- attribute SVGFEComponentTransferElementConstructor SVGFEComponentTransferElement;
- attribute SVGFECompositeElementConstructor SVGFECompositeElement;
- attribute SVGFEConvolveMatrixElementConstructor SVGFEConvolveMatrixElement;
- attribute SVGFEDiffuseLightingElementConstructor SVGFEDiffuseLightingElement;
- attribute SVGFEDisplacementMapElementConstructor SVGFEDisplacementMapElement;
- attribute SVGFEDistantLightElementConstructor SVGFEDistantLightElement;
- attribute SVGFEDropShadowElementConstructor SVGFEDropShadowElement;
- attribute SVGFEFloodElementConstructor SVGFEFloodElement;
- attribute SVGFEFuncAElementConstructor SVGFEFuncAElement;
- attribute SVGFEFuncBElementConstructor SVGFEFuncBElement;
- attribute SVGFEFuncGElementConstructor SVGFEFuncGElement;
- attribute SVGFEFuncRElementConstructor SVGFEFuncRElement;
- attribute SVGFEGaussianBlurElementConstructor SVGFEGaussianBlurElement;
- attribute SVGFEImageElementConstructor SVGFEImageElement;
- attribute SVGFEMergeElementConstructor SVGFEMergeElement;
- attribute SVGFEMergeNodeElementConstructor SVGFEMergeNodeElement;
- attribute SVGFEMorphologyElementConstructor SVGFEMorphologyElement;
- attribute SVGFEOffsetElementConstructor SVGFEOffsetElement;
- attribute SVGFEPointLightElementConstructor SVGFEPointLightElement;
- attribute SVGFESpecularLightingElementConstructor SVGFESpecularLightingElement;
- attribute SVGFESpotLightElementConstructor SVGFESpotLightElement;
- attribute SVGFETileElementConstructor SVGFETileElement;
- attribute SVGFETurbulenceElementConstructor SVGFETurbulenceElement;
- attribute SVGFilterElementConstructor SVGFilterElement;
-#endif
-
- attribute DOMFormDataConstructor FormData;
-
- attribute FileErrorConstructor FileError;
- attribute FileReaderConstructor FileReader;
-
- attribute DOMURLConstructor URL;
- attribute DOMURLConstructor webkitURL; // FIXME: deprecate this.
-
- attribute MutationObserverConstructor WebKitMutationObserver; // FIXME: Add metrics to determine when we can remove this.
- attribute MutationObserverConstructor MutationObserver;
- attribute MutationRecordConstructor MutationRecord;
-
- [EnabledAtRuntime=mediaSource] attribute MediaSourceConstructor WebKitMediaSource;
- [EnabledAtRuntime=mediaSource] attribute SourceBufferConstructor WebKitSourceBuffer;
- [EnabledAtRuntime=mediaSource] attribute SourceBufferListConstructor WebKitSourceBufferList;
+ // Constructors whose name does not match the interface name.
+ // FIXME: Remove these once [ImplementedAs] is used and once constructor names match interface names.
+ attribute ShadowRootConstructor WebKitShadowRoot;
+ [Conditional=WEB_AUDIO] attribute PannerNodeConstructor webkitAudioPannerNode;
// window.toString() requires special handling in V8
[DoNotCheckSignature, DoNotCheckSecurity, Custom, NotEnumerable] DOMString toString();
+
+ [ImplementedAs=anonymousIndexedGetter] getter DOMWindow(unsigned long index);
};
diff --git a/core/page/DOMWindowPagePopup.idl b/core/page/DOMWindowPagePopup.idl
index b942747..2ce0bec 100644
--- a/core/page/DOMWindowPagePopup.idl
+++ b/core/page/DOMWindowPagePopup.idl
@@ -29,7 +29,7 @@
*/
[
- Conditional=PAGE_POPUP,
+ EnabledAtRuntime=pagePopup
] partial interface DOMWindow {
[EnabledPerContext=pagePopup] readonly attribute PagePopupController pagePopupController;
};
diff --git a/core/page/History.idl b/core/page/History.idl
index 92d889a..40e6648 100644
--- a/core/page/History.idl
+++ b/core/page/History.idl
@@ -23,18 +23,13 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[
- CheckSecurity,
- CustomNamedSetter,
- CustomDeleteProperty,
- CustomEnumerateProperty,
-] interface History {
+interface History {
readonly attribute unsigned long length;
[CachedAttribute, Custom] readonly attribute SerializedScriptValue state;
- [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void back();
- [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void forward();
- [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void go([Default=Undefined] optional long distance);
+ [CallWith=ScriptExecutionContext] void back();
+ [CallWith=ScriptExecutionContext] void forward();
+ [CallWith=ScriptExecutionContext] void go([Default=Undefined] optional long distance);
[Custom, EnabledPerContext=pushState, RaisesException] void pushState(any data, DOMString title, optional DOMString url);
[Custom, EnabledPerContext=pushState, RaisesException] void replaceState(any data, DOMString title, optional DOMString url);
diff --git a/core/page/Location.idl b/core/page/Location.idl
index 9bcae96..96b211a 100644
--- a/core/page/Location.idl
+++ b/core/page/Location.idl
@@ -27,31 +27,28 @@
*/
[
- CheckSecurity,
- CustomNamedSetter,
- CustomDeleteProperty,
- CustomEnumerateProperty,
+ CheckSecurity
] interface Location {
- [DoNotCheckSecurityOnSetter, CustomSetter, Unforgeable] attribute DOMString href;
+ [SetterCallWith=ActiveWindow|FirstWindow, DoNotCheckSecurityOnSetter, Unforgeable] attribute DOMString href;
- [Custom, Unforgeable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void assign([Default=Undefined] optional DOMString url);
- [Custom, Unforgeable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void replace([Default=Undefined] optional DOMString url);
- [Custom, Unforgeable] void reload();
+ [CallWith=ActiveWindow|FirstWindow, DoNotCheckSecurity, Unforgeable, ReadOnly, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void assign([Default=Undefined] optional DOMString url);
+ [CallWith=ActiveWindow|FirstWindow, DoNotCheckSecurity, Unforgeable, ReadOnly, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void replace([Default=Undefined] optional DOMString url);
+ [CallWith=ActiveWindow, DoNotCheckSecurity, Unforgeable, ReadOnly] void reload();
// URI decomposition attributes
- [CustomSetter] attribute DOMString protocol;
- [CustomSetter] attribute DOMString host;
- [CustomSetter] attribute DOMString hostname;
- [CustomSetter] attribute DOMString port;
- [CustomSetter] attribute DOMString pathname;
- [CustomSetter] attribute DOMString search;
- [CustomSetter] attribute DOMString hash;
+ [SetterCallWith=ActiveWindow|FirstWindow, SetterRaisesException] attribute DOMString protocol;
+ [SetterCallWith=ActiveWindow|FirstWindow] attribute DOMString host;
+ [SetterCallWith=ActiveWindow|FirstWindow] attribute DOMString hostname;
+ [SetterCallWith=ActiveWindow|FirstWindow] attribute DOMString port;
+ [SetterCallWith=ActiveWindow|FirstWindow] attribute DOMString pathname;
+ [SetterCallWith=ActiveWindow|FirstWindow] attribute DOMString search;
+ [SetterCallWith=ActiveWindow|FirstWindow] attribute DOMString hash;
readonly attribute DOMString origin;
readonly attribute DOMStringList ancestorOrigins;
- [NotEnumerable, Custom, Unforgeable, ReadOnly, ImplementedAs=toStringFunction] DOMString toString();
+ [NotEnumerable, Unforgeable, ReadOnly, ImplementedAs=href] DOMString toString();
[NotEnumerable, Custom, Unforgeable, ReadOnly] any valueOf();
};
diff --git a/core/page/MemoryInfo.idl b/core/page/MemoryInfo.idl
index d3d331b..30ac718 100644
--- a/core/page/MemoryInfo.idl
+++ b/core/page/MemoryInfo.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface MemoryInfo {
readonly attribute unsigned long totalJSHeapSize;
diff --git a/core/page/Navigator.idl b/core/page/Navigator.idl
index cd723a1..0c3e09d 100644
--- a/core/page/Navigator.idl
+++ b/core/page/Navigator.idl
@@ -17,16 +17,15 @@
Boston, MA 02110-1301, USA.
*/
-[
-] interface Navigator {
+interface Navigator {
readonly attribute DOMString appCodeName;
readonly attribute DOMString appName;
readonly attribute DOMString appVersion;
readonly attribute DOMString language;
readonly attribute DOMString userAgent;
readonly attribute DOMString platform;
- readonly attribute DOMPluginArray plugins;
- readonly attribute DOMMimeTypeArray mimeTypes;
+ readonly attribute PluginArray plugins;
+ readonly attribute MimeTypeArray mimeTypes;
readonly attribute DOMString product;
readonly attribute DOMString productSub;
readonly attribute DOMString vendor;
diff --git a/core/page/PagePopupController.idl b/core/page/PagePopupController.idl
index eb67bc8..c7f545f 100644
--- a/core/page/PagePopupController.idl
+++ b/core/page/PagePopupController.idl
@@ -29,8 +29,8 @@
*/
[
- Conditional=PAGE_POPUP,
- ImplementationLacksVTable
+ NoInterfaceObject,
+ EnabledAtRuntime=pagePopup
] interface PagePopupController {
void setValueAndClosePopup(long numberValue, DOMString stringValue);
void setValue(DOMString value);
diff --git a/core/page/Performance.idl b/core/page/Performance.idl
index cb9d805..87a5b06 100644
--- a/core/page/Performance.idl
+++ b/core/page/Performance.idl
@@ -31,7 +31,7 @@
// See: http://dev.w3.org/2006/webapi/WebTiming/
[
- EventTarget,
+ EventTarget
] interface Performance {
readonly attribute PerformanceNavigation navigation;
readonly attribute PerformanceTiming timing;
diff --git a/core/page/PerformanceEntry.idl b/core/page/PerformanceEntry.idl
index 94638f8..6199cce 100644
--- a/core/page/PerformanceEntry.idl
+++ b/core/page/PerformanceEntry.idl
@@ -30,7 +30,7 @@
// See: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html
[
- CustomToV8,
+ CustomToV8
] interface PerformanceEntry {
readonly attribute DOMString name;
readonly attribute DOMString entryType;
diff --git a/core/page/PerformanceNavigation.idl b/core/page/PerformanceNavigation.idl
index c48ef41..cde7a72 100644
--- a/core/page/PerformanceNavigation.idl
+++ b/core/page/PerformanceNavigation.idl
@@ -29,8 +29,7 @@
*/
// See: http://www.w3.org/TR/navigation-timing/
-[
-] interface PerformanceNavigation {
+interface PerformanceNavigation {
const unsigned short TYPE_NAVIGATE = 0;
const unsigned short TYPE_RELOAD = 1;
const unsigned short TYPE_BACK_FORWARD = 2;
diff --git a/core/page/PerformanceTiming.idl b/core/page/PerformanceTiming.idl
index 874dead..160e5cc 100644
--- a/core/page/PerformanceTiming.idl
+++ b/core/page/PerformanceTiming.idl
@@ -29,8 +29,7 @@
*/
// See: http://dev.w3.org/2006/webapi/WebTiming/
-[
-] interface PerformanceTiming {
+interface PerformanceTiming {
readonly attribute unsigned long long navigationStart;
readonly attribute unsigned long long unloadEventStart;
readonly attribute unsigned long long unloadEventEnd;
diff --git a/core/page/Screen.idl b/core/page/Screen.idl
index 69f5dc1..e3df7b0 100644
--- a/core/page/Screen.idl
+++ b/core/page/Screen.idl
@@ -27,8 +27,7 @@
*/
-[
-] interface Screen {
+interface Screen {
readonly attribute unsigned long height;
readonly attribute unsigned long width;
readonly attribute unsigned long colorDepth;
diff --git a/core/page/DOMSecurityPolicy.idl b/core/page/SecurityPolicy.idl
similarity index 96%
rename from core/page/DOMSecurityPolicy.idl
rename to core/page/SecurityPolicy.idl
index a765698..f5651da 100644
--- a/core/page/DOMSecurityPolicy.idl
+++ b/core/page/SecurityPolicy.idl
@@ -23,8 +23,8 @@
*/
[
- InterfaceName=SecurityPolicy
-] interface DOMSecurityPolicy {
+ ImplementedAs=DOMSecurityPolicy
+] interface SecurityPolicy {
readonly attribute boolean allowsEval;
readonly attribute boolean allowsInlineScript;
readonly attribute boolean allowsInlineStyle;
diff --git a/core/page/DOMSelection.idl b/core/page/Selection.idl
similarity index 98%
rename from core/page/DOMSelection.idl
rename to core/page/Selection.idl
index f5a6828..1c93773 100644
--- a/core/page/DOMSelection.idl
+++ b/core/page/Selection.idl
@@ -30,8 +30,8 @@
// This is based off of Mozilla's Selection interface
// https://developer.mozilla.org/En/DOM/Selection
[
- InterfaceName=Selection
-] interface DOMSelection {
+ ImplementedAs=DOMSelection
+] interface Selection {
readonly attribute Node anchorNode;
readonly attribute long anchorOffset;
readonly attribute Node focusNode;
diff --git a/core/page/SpeechInputEvent.idl b/core/page/SpeechInputEvent.idl
index be82107..4fe740b 100644
--- a/core/page/SpeechInputEvent.idl
+++ b/core/page/SpeechInputEvent.idl
@@ -24,7 +24,7 @@
*/
[
- Conditional=INPUT_SPEECH,
+ Conditional=INPUT_SPEECH
] interface SpeechInputEvent : Event {
readonly attribute SpeechInputResultList results;
};
diff --git a/core/page/SpeechInputResult.idl b/core/page/SpeechInputResult.idl
index 2f09cb0..bc2d409 100644
--- a/core/page/SpeechInputResult.idl
+++ b/core/page/SpeechInputResult.idl
@@ -24,8 +24,8 @@
*/
[
- Conditional=INPUT_SPEECH,
- ImplementationLacksVTable
+ NoInterfaceObject,
+ Conditional=INPUT_SPEECH
] interface SpeechInputResult {
readonly attribute DOMString utterance;
readonly attribute float confidence;
diff --git a/core/page/SpeechInputResultList.idl b/core/page/SpeechInputResultList.idl
index 0e2bf56..0976ec3 100644
--- a/core/page/SpeechInputResultList.idl
+++ b/core/page/SpeechInputResultList.idl
@@ -24,8 +24,8 @@
*/
[
- Conditional=INPUT_SPEECH,
- ImplementationLacksVTable
+ NoInterfaceObject,
+ Conditional=INPUT_SPEECH
] interface SpeechInputResultList {
readonly attribute unsigned long length;
getter SpeechInputResult item([IsIndex] unsigned long index);
diff --git a/core/page/WorkerNavigator.idl b/core/page/WorkerNavigator.idl
index 353aadd..5304e83 100644
--- a/core/page/WorkerNavigator.idl
+++ b/core/page/WorkerNavigator.idl
@@ -27,6 +27,7 @@
*/
[
+ NoInterfaceObject
] interface WorkerNavigator {
readonly attribute DOMString appName;
readonly attribute DOMString appVersion;
diff --git a/core/plugins/DOMMimeType.idl b/core/plugins/MimeType.idl
similarity index 91%
rename from core/plugins/DOMMimeType.idl
rename to core/plugins/MimeType.idl
index 0e3bd43..7af6fc1 100644
--- a/core/plugins/DOMMimeType.idl
+++ b/core/plugins/MimeType.idl
@@ -19,11 +19,11 @@
*/
[
- InterfaceName=MimeType
-] interface DOMMimeType {
+ ImplementedAs=DOMMimeType
+] interface MimeType {
readonly attribute DOMString type;
readonly attribute DOMString suffixes;
readonly attribute DOMString description;
- readonly attribute DOMPlugin enabledPlugin;
+ readonly attribute Plugin enabledPlugin;
};
diff --git a/core/plugins/DOMMimeTypeArray.idl b/core/plugins/MimeTypeArray.idl
similarity index 81%
rename from core/plugins/DOMMimeTypeArray.idl
rename to core/plugins/MimeTypeArray.idl
index fd5fe9e..435e22f 100644
--- a/core/plugins/DOMMimeTypeArray.idl
+++ b/core/plugins/MimeTypeArray.idl
@@ -19,10 +19,10 @@
*/
[
- InterfaceName=MimeTypeArray
-] interface DOMMimeTypeArray {
+ ImplementedAs=DOMMimeTypeArray
+] interface MimeTypeArray {
readonly attribute unsigned long length;
- getter DOMMimeType item([Default=Undefined] optional unsigned long index);
- getter DOMMimeType namedItem([Default=Undefined] optional DOMString name);
+ getter MimeType item([Default=Undefined] optional unsigned long index);
+ getter MimeType namedItem([Default=Undefined] optional DOMString name);
};
diff --git a/core/plugins/DOMPlugin.idl b/core/plugins/Plugin.idl
similarity index 84%
rename from core/plugins/DOMPlugin.idl
rename to core/plugins/Plugin.idl
index 08e4a84..095dc49 100644
--- a/core/plugins/DOMPlugin.idl
+++ b/core/plugins/Plugin.idl
@@ -19,13 +19,13 @@
*/
[
- InterfaceName=Plugin
-] interface DOMPlugin {
+ ImplementedAs=DOMPlugin
+] interface Plugin {
readonly attribute DOMString name;
readonly attribute DOMString filename;
readonly attribute DOMString description;
readonly attribute unsigned long length;
- getter DOMMimeType item([Default=Undefined] optional unsigned long index);
- getter DOMMimeType namedItem([Default=Undefined] optional DOMString name);
+ getter MimeType item([Default=Undefined] optional unsigned long index);
+ getter MimeType namedItem([Default=Undefined] optional DOMString name);
};
diff --git a/core/plugins/DOMPluginArray.idl b/core/plugins/PluginArray.idl
similarity index 82%
rename from core/plugins/DOMPluginArray.idl
rename to core/plugins/PluginArray.idl
index 52430aa..04e18c4 100644
--- a/core/plugins/DOMPluginArray.idl
+++ b/core/plugins/PluginArray.idl
@@ -19,11 +19,11 @@
*/
[
- InterfaceName=PluginArray
-] interface DOMPluginArray {
+ ImplementedAs=DOMPluginArray
+] interface PluginArray {
readonly attribute unsigned long length;
- getter DOMPlugin item([Default=Undefined] optional unsigned long index);
- getter DOMPlugin namedItem([Default=Undefined] optional DOMString name);
+ getter Plugin item([Default=Undefined] optional unsigned long index);
+ getter Plugin namedItem([Default=Undefined] optional DOMString name);
void refresh([Default=Undefined] optional boolean reload);
};
diff --git a/core/scripts/in_file.py b/core/scripts/in_file.py
index fa71064..39a016b 100644
--- a/core/scripts/in_file.py
+++ b/core/scripts/in_file.py
@@ -44,7 +44,7 @@
# Bare arguments (no '=') are treated as names with value True.
# The first field will always be labeled 'name'.
#
-# InFile.load_from_path('file.in', {'arg': None, 'arg2': []})
+# InFile.load_from_files(['file.in'], {'arg': None, 'arg2': []})
#
# Parsing produces an array of dictionaries:
# [ { 'name' : 'name1', 'arg' :' value', arg2=['value2', 'value3'] }
@@ -53,16 +53,20 @@
return line.startswith("//") or line.startswith("#")
class InFile(object):
- def __init__(self, lines, defaults, default_parameters):
+ def __init__(self, lines, defaults, valid_values=None, default_parameters=None):
self.name_dictionaries = []
self.parameters = copy.deepcopy(default_parameters if default_parameters else {})
self._defaults = defaults
+ self._valid_values = copy.deepcopy(valid_values if valid_values else {})
self._parse(map(str.strip, lines))
@classmethod
- def load_from_path(self, path, defaults, default_parameters):
- with open(os.path.abspath(path)) as in_file:
- return InFile(in_file.readlines(), defaults, default_parameters)
+ def load_from_files(self, file_paths, defaults, valid_values, default_parameters):
+ lines = []
+ for path in file_paths:
+ with open(os.path.abspath(path)) as in_file:
+ lines += in_file.readlines()
+ return InFile(lines, defaults, valid_values, default_parameters)
def _is_sequence(self, arg):
return (not hasattr(arg, "strip")
@@ -107,6 +111,9 @@
arg_name, arg_value = arg_string, True
if arg_name not in self._defaults:
self._fatal("Unknown argument: '%s' in line:\n%s\nKnown arguments: %s" % (arg_name, line, self._defaults.keys()))
+ valid_values = self._valid_values.get(arg_name)
+ if valid_values and arg_value not in valid_values:
+ self._fatal("Unknown value: '%s' in line:\n%s\nKnown values: %s" % (arg_value, line, valid_values))
if self._is_sequence(args[arg_name]):
args[arg_name].append(arg_value)
else:
diff --git a/core/scripts/in_generator.py b/core/scripts/in_generator.py
index 47b85f5..6cffaa9 100644
--- a/core/scripts/in_generator.py
+++ b/core/scripts/in_generator.py
@@ -27,27 +27,46 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import os.path
+import shlex
import shutil
+import optparse
from in_file import InFile
+import template_expander
class Writer(object):
# Subclasses should override.
class_name = None
defaults = None
+ valid_values = None
default_parameters = None
- def __init__(self, in_file_path):
- self.in_file = InFile.load_from_path(in_file_path, self.defaults, self.default_parameters)
+ def __init__(self, in_files, enabled_conditions):
+ if isinstance(in_files, basestring):
+ in_files = [in_files]
+ self.in_file = InFile.load_from_files(in_files, self.defaults, self.valid_values, self.default_parameters)
+ self._enabled_conditions = enabled_conditions
# Subclasses should override.
def generate_header(self):
- raise NotImplementedError
+ return ''
+
+ # Subclasses should override.
+ def generate_interfaces_header(self):
+ return ''
+
+ # Subclasses should override.
+ def generate_headers_header(self):
+ return ''
# Subclasses should override.
def generate_implementation(self):
- raise NotImplementedError
+ return ''
+
+ # Subclasses should override.
+ def generate_idl(self):
+ return ''
def wrap_with_condition(self, string, condition):
if not condition:
@@ -69,33 +88,72 @@
with open(file_path, "w") as file_to_write:
file_to_write.write(contents)
- def write_header(self, output_dir):
- contents = self.generate_header()
+ def _write_file(self, output_dir, generator, file_name):
+ contents = generator()
+ if type(contents) is dict:
+ contents = template_expander.apply_template(file_name + ".tmpl", contents)
if not contents:
return
- path = os.path.join(output_dir, self.class_name + ".h")
+ path = os.path.join(output_dir, file_name)
self._forcibly_create_text_file_at_path_with_contents(path, contents)
+ def write_header(self, output_dir):
+ self._write_file(output_dir, self.generate_header, self.class_name + '.h')
+
+ def write_headers_header(self, output_dir):
+ self._write_file(output_dir, self.generate_headers_header, self.class_name + 'Headers.h')
+
+ def write_interfaces_header(self, output_dir):
+ self._write_file(output_dir, self.generate_interfaces_header, self.class_name + 'Interfaces.h')
+
def write_implmentation(self, output_dir):
- contents = self.generate_implementation()
- if not contents:
- return
- path = os.path.join(output_dir, self.class_name + ".cpp")
- self._forcibly_create_text_file_at_path_with_contents(path, contents)
+ self._write_file(output_dir, self.generate_implementation, self.class_name + '.cpp')
+
+ def write_idl(self, output_dir):
+ self._write_file(output_dir, self.generate_idl, self.class_name + '.idl')
class Maker(object):
def __init__(self, writer_class):
self._writer_class = writer_class
+ def _enabled_conditions_from_defines(self, defines_arg_string):
+ if not defines_arg_string:
+ return []
+
+ defines_strings = shlex.split(defines_arg_string)
+
+ # We only care about feature defines.
+ enable_prefix = 'ENABLE_'
+
+ enabled_conditions = []
+ for define_string in defines_strings:
+ split_define = define_string.split('=')
+ if split_define[1] != '1':
+ continue
+ define = split_define[0]
+ if not define.startswith(enable_prefix):
+ continue
+ enabled_conditions.append(define[len(enable_prefix):])
+ return enabled_conditions
+
def main(self, argv):
script_name = os.path.basename(argv[0])
args = argv[1:]
if len(args) < 1:
- print "USAGE: %i INPUT_FILE [OUTPUT_DIRECTORY]" % script_name
+ print "USAGE: %i INPUT_FILES" % script_name
exit(1)
- output_dir = args[1] if len(args) > 1 else os.getcwd()
- writer = self._writer_class(args[0])
- writer.write_header(output_dir)
- writer.write_implmentation(output_dir)
+ parser = optparse.OptionParser()
+ parser.add_option("--defines")
+ parser.add_option("--output_dir", default=os.getcwd())
+ (options, args) = parser.parse_args()
+
+ enabled_conditions = self._enabled_conditions_from_defines(options.defines)
+
+ writer = self._writer_class(args, enabled_conditions)
+ writer.write_header(options.output_dir)
+ writer.write_headers_header(options.output_dir)
+ writer.write_interfaces_header(options.output_dir)
+ writer.write_implmentation(options.output_dir)
+ writer.write_idl(options.output_dir)
diff --git a/core/scripts/make_css_property_names.py b/core/scripts/make_css_property_names.py
new file mode 100755
index 0000000..1c5756d
--- /dev/null
+++ b/core/scripts/make_css_property_names.py
@@ -0,0 +1,220 @@
+#!/usr/bin/env python
+
+import os.path
+import re
+import subprocess
+import sys
+
+from in_file import InFile
+import in_generator
+import license
+
+
+HEADER_TEMPLATE = """
+%(license)s
+
+#ifndef %(class_name)s_h
+#define %(class_name)s_h
+
+#include <string.h>
+#include "wtf/HashFunctions.h"
+#include "wtf/HashTraits.h"
+
+namespace WTF {
+class AtomicString;
+class String;
+}
+
+namespace WebCore {
+
+enum CSSPropertyID {
+ CSSPropertyInvalid = 0,
+ CSSPropertyVariable = 1,
+%(property_enums)s
+};
+
+const int firstCSSProperty = %(first_property_id)s;
+const int numCSSProperties = %(properties_count)s;
+const int lastCSSProperty = %(last_property_id)d;
+const size_t maxCSSPropertyNameLength = %(max_name_length)d;
+
+const char* getPropertyName(CSSPropertyID);
+const WTF::AtomicString& getPropertyNameAtomicString(CSSPropertyID);
+WTF::String getPropertyNameString(CSSPropertyID);
+WTF::String getJSPropertyName(CSSPropertyID);
+
+inline CSSPropertyID convertToCSSPropertyID(int value)
+{
+ ASSERT((value >= firstCSSProperty && value <= lastCSSProperty) || value == CSSPropertyInvalid);
+ return static_cast<CSSPropertyID>(value);
+}
+
+} // namespace WebCore
+
+namespace WTF {
+template<> struct DefaultHash<WebCore::CSSPropertyID> { typedef IntHash<unsigned> Hash; };
+template<> struct HashTraits<WebCore::CSSPropertyID> : GenericHashTraits<WebCore::CSSPropertyID> {
+ static const bool emptyValueIsZero = true;
+ static const bool needsDestruction = false;
+ static void constructDeletedValue(WebCore::CSSPropertyID& slot) { slot = static_cast<WebCore::CSSPropertyID>(WebCore::lastCSSProperty + 1); }
+ static bool isDeletedValue(WebCore::CSSPropertyID value) { return value == (WebCore::lastCSSProperty + 1); }
+};
+}
+
+#endif // %(class_name)s_h
+"""
+
+GPERF_TEMPLATE = """
+%%{
+%(license)s
+
+#include "config.h"
+#include "%(class_name)s.h"
+#include "core/platform/HashTools.h"
+#include <string.h>
+
+#include "wtf/ASCIICType.h"
+#include "wtf/text/AtomicString.h"
+#include "wtf/text/WTFString.h"
+
+namespace WebCore {
+const char* const propertyNameStrings[numCSSProperties] = {
+%(property_name_strings)s
+};
+
+%%}
+%%struct-type
+struct Property;
+%%omit-struct-type
+%%language=C++
+%%readonly-tables
+%%global-table
+%%compare-strncmp
+%%define class-name %(class_name)sHash
+%%define lookup-function-name findPropertyImpl
+%%define hash-function-name propery_hash_function
+%%define word-array-name property_wordlist
+%%enum
+%%%%
+%(property_to_enum_map)s
+%%%%
+const Property* findProperty(register const char* str, register unsigned int len)
+{
+ return %(class_name)sHash::findPropertyImpl(str, len);
+}
+
+const char* getPropertyName(CSSPropertyID id)
+{
+ if (id < firstCSSProperty)
+ return 0;
+ int index = id - firstCSSProperty;
+ if (index >= numCSSProperties)
+ return 0;
+ return propertyNameStrings[index];
+}
+
+const AtomicString& getPropertyNameAtomicString(CSSPropertyID id)
+{
+ if (id < firstCSSProperty)
+ return nullAtom;
+ int index = id - firstCSSProperty;
+ if (index >= numCSSProperties)
+ return nullAtom;
+
+ static AtomicString* propertyStrings = new AtomicString[numCSSProperties]; // Intentionally never destroyed.
+ AtomicString& propertyString = propertyStrings[index];
+ if (propertyString.isNull()) {
+ const char* propertyName = propertyNameStrings[index];
+ propertyString = AtomicString(propertyName, strlen(propertyName), AtomicString::ConstructFromLiteral);
+ }
+ return propertyString;
+}
+
+String getPropertyNameString(CSSPropertyID id)
+{
+ // We share the StringImpl with the AtomicStrings.
+ return getPropertyNameAtomicString(id).string();
+}
+
+String getJSPropertyName(CSSPropertyID id)
+{
+ char result[maxCSSPropertyNameLength + 1];
+ const char* cssPropertyName = getPropertyName(id);
+ const char* propertyNamePointer = cssPropertyName;
+ if (!propertyNamePointer)
+ return emptyString();
+
+ char* resultPointer = result;
+ while (char character = *propertyNamePointer++) {
+ if (character == '-') {
+ char nextCharacter = *propertyNamePointer++;
+ if (!nextCharacter)
+ break;
+ character = (propertyNamePointer - 2 != cssPropertyName) ? toASCIIUpper(nextCharacter) : nextCharacter;
+ }
+ *resultPointer++ = character;
+ }
+ *resultPointer = '\\0';
+ return String(result);
+}
+
+} // namespace WebCore
+"""
+
+
+class CSSPropertiesWriter(in_generator.Writer):
+ class_name = "CSSPropertyNames"
+ defaults = {
+ 'alias_for': None,
+ 'condition': None,
+ }
+
+ def __init__(self, file_paths, enabled_conditions):
+ in_generator.Writer.__init__(self, file_paths, enabled_conditions)
+
+ all_properties = self.in_file.name_dictionaries
+ self._aliases = filter(lambda property: property['alias_for'], all_properties)
+ for offset, property in enumerate(self._aliases):
+ # Aliases use the enum_name that they are an alias for.
+ property['enum_name'] = self._enum_name_from_property_name(property['alias_for'])
+ # Aliases do not get an enum_value.
+
+ self._properties = filter(lambda property: not property['alias_for'] and not property['condition'] or property['condition'] in self._enabled_conditions, all_properties)
+ self._first_property_id = 1001 # Historical, unclear why.
+ property_id = self._first_property_id
+ for offset, property in enumerate(self._properties):
+ property['enum_name'] = self._enum_name_from_property_name(property['name'])
+ property['enum_value'] = self._first_property_id + offset
+
+ def _enum_name_from_property_name(self, property_name):
+ return "CSSProperty" + re.sub(r'(^[^-])|-(.)', lambda match: (match.group(1) or match.group(2)).upper(), property_name)
+
+ def _enum_declaration(self, property):
+ return " %(enum_name)s = %(enum_value)s," % property
+
+ def generate_header(self):
+ return HEADER_TEMPLATE % {
+ 'license': license.license_for_generated_cpp(),
+ 'class_name': self.class_name,
+ 'property_enums': "\n".join(map(self._enum_declaration, self._properties)),
+ 'first_property_id': self._first_property_id,
+ 'properties_count': len(self._properties),
+ 'last_property_id': self._first_property_id + len(self._properties) - 1,
+ 'max_name_length': reduce(max, map(len, map(lambda property: property['name'], self._properties))),
+ }
+
+ def generate_implementation(self):
+ gperf_input = GPERF_TEMPLATE % {
+ 'license': license.license_for_generated_cpp(),
+ 'class_name': self.class_name,
+ 'property_name_strings': '\n'.join(map(lambda property: ' "%(name)s",' % property, self._properties)),
+ 'property_to_enum_map': '\n'.join(map(lambda property: '%(name)s, %(enum_name)s' % property, self._properties + self._aliases)),
+ }
+ # FIXME: If we could depend on Python 2.7, we would use subprocess.check_output
+ gperf_args = ['gperf', '--key-positions=*', '-D', '-n', '-s', '2']
+ gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+ return gperf.communicate(gperf_input)[0]
+
+
+if __name__ == "__main__":
+ in_generator.Maker(CSSPropertiesWriter).main(sys.argv)
diff --git a/core/scripts/make_css_value_keywords.py b/core/scripts/make_css_value_keywords.py
new file mode 100755
index 0000000..5cbd038
--- /dev/null
+++ b/core/scripts/make_css_value_keywords.py
@@ -0,0 +1,131 @@
+#!/usr/bin/env python
+
+import os.path
+import re
+import subprocess
+import sys
+
+from in_file import InFile
+import in_generator
+import license
+
+
+HEADER_TEMPLATE = """
+%(license)s
+
+#ifndef %(class_name)s_h
+#define %(class_name)s_h
+
+#include <string.h>
+
+namespace WebCore {
+
+enum CSSValueID {
+ CSSValueInvalid = 0,
+%(value_keyword_enums)s
+};
+
+const int numCSSValueKeywords = %(value_keywords_count)d;
+const size_t maxCSSValueKeywordLength = %(max_value_keyword_length)d;
+
+const char* getValueName(unsigned short id);
+
+} // namespace WebCore
+
+#endif // %(class_name)s_h
+"""
+
+GPERF_TEMPLATE = """
+%%{
+%(license)s
+
+#include "config.h"
+#include "%(class_name)s.h"
+#include "core/platform/HashTools.h"
+#include <string.h>
+
+namespace WebCore {
+const char* const valueList[] = {
+"",
+%(value_keyword_strings)s
+0
+};
+
+%%}
+%%struct-type
+struct Value;
+%%omit-struct-type
+%%language=C++
+%%readonly-tables
+%%compare-strncmp
+%%define class-name %(class_name)sHash
+%%define lookup-function-name findValueImpl
+%%define hash-function-name value_hash_function
+%%define word-array-name value_word_list
+%%enum
+%%%%
+%(value_keyword_to_enum_map)s
+%%%%
+const Value* findValue(register const char* str, register unsigned int len)
+{
+ return CSSValueKeywordsHash::findValueImpl(str, len);
+}
+
+const char* getValueName(unsigned short id)
+{
+ if (id >= numCSSValueKeywords || id <= 0)
+ return 0;
+ return valueList[id];
+}
+
+} // namespace WebCore
+"""
+
+
+class CSSValueKeywordsWriter(in_generator.Writer):
+ class_name = "CSSValueKeywords"
+ defaults = {
+ 'condition': None,
+ }
+
+ def __init__(self, file_paths, enabled_conditions):
+ in_generator.Writer.__init__(self, file_paths, enabled_conditions)
+
+ all_properties = self.in_file.name_dictionaries
+ self._value_keywords = filter(lambda property: not property['condition'] or property['condition'] in self._enabled_conditions, all_properties)
+ first_property_id = 1
+ for offset, property in enumerate(self._value_keywords):
+ property['name'] = property['name'].lower()
+ property['enum_name'] = self._enum_name_from_value_keyword(property['name'])
+ property['enum_value'] = first_property_id + offset
+
+ def _enum_name_from_value_keyword(self, value_keyword):
+ return "CSSValue" + "".join(w.capitalize() for w in value_keyword.split("-"))
+
+ def _enum_declaration(self, property):
+ return " %(enum_name)s = %(enum_value)s," % property
+
+ def generate_header(self):
+ return HEADER_TEMPLATE % {
+ 'license': license.license_for_generated_cpp(),
+ 'class_name': self.class_name,
+ 'value_keyword_enums': "\n".join(map(self._enum_declaration, self._value_keywords)),
+ 'value_keywords_count': len(self._value_keywords),
+ 'max_value_keyword_length': reduce(max, map(len, map(lambda property: property['name'], self._value_keywords))),
+ }
+
+ def generate_implementation(self):
+ gperf_input = GPERF_TEMPLATE % {
+ 'license': license.license_for_generated_cpp(),
+ 'class_name': self.class_name,
+ 'value_keyword_strings': '\n'.join(map(lambda property: ' "%(name)s",' % property, self._value_keywords)),
+ 'value_keyword_to_enum_map': '\n'.join(map(lambda property: '%(name)s, %(enum_name)s' % property, self._value_keywords)),
+ }
+ # FIXME: If we could depend on Python 2.7, we would use subprocess.check_output
+ gperf_args = ['gperf', '--key-positions=*', '-D', '-n', '-s', '2']
+ gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+ return gperf.communicate(gperf_input)[0]
+
+
+if __name__ == "__main__":
+ in_generator.Maker(CSSValueKeywordsWriter).main(sys.argv)
diff --git a/core/scripts/make_dom_exceptions.py b/core/scripts/make_dom_exceptions.py
new file mode 100755
index 0000000..e945262
--- /dev/null
+++ b/core/scripts/make_dom_exceptions.py
@@ -0,0 +1,161 @@
+#!/usr/bin/env python
+# Copyright (C) 2013 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import os.path
+import sys
+import shutil
+
+from in_file import InFile
+import name_macros
+import license
+
+
+HEADER_TEMPLATE = """%(license)s
+
+#ifndef %(class_name)s_h
+#define %(class_name)s_h
+
+namespace WebCore {
+
+typedef int ExceptionCode;
+
+enum ExceptionType {
+%(exception_types)s
+};
+
+struct ExceptionCodeDescription {
+ explicit ExceptionCodeDescription(ExceptionCode);
+
+ // |typeName| has spaces and is suitable for use in exception
+ // description strings; maximum length is 10 characters.
+ const char* typeName;
+
+ // |name| is the exception name, also intended for use in exception
+ // description strings; 0 if name not known; maximum length is 27
+ // characters.
+ const char* name;
+
+ // |description| is the exception description, intended for use in
+ // exception strings. It is a more readable explanation of error.
+ const char* description;
+
+ // |code| is the numeric value of the exception within a particular type.
+ int code;
+
+ ExceptionType type;
+};
+
+} // namespace WebCore
+
+#endif // %(class_name)s_h
+"""
+
+
+IMPLEMENTATION_TEMPLATE = """%(license)s
+
+#include "config.h"
+#include "%(class_name)s.h"
+
+#include "ExceptionCode.h"
+
+%(includes)s
+
+#include "modules/indexeddb/IDBDatabaseException.h"
+
+namespace WebCore {
+
+ExceptionCodeDescription::ExceptionCodeDescription(ExceptionCode ec)
+{
+ ASSERT(ec);
+
+%(description_initalizations)s
+
+ // FIXME: This special case for IDB is undesirable. It is the first usage
+ // of "new style" DOMExceptions where there is no IDL type, but there are
+ // API-specific exception names and/or messages. Consider refactoring back
+ // into the code generator when a common pattern emerges.
+ if (IDBDatabaseException::initializeDescription(ec, this))
+ return;
+
+ if (DOMCoreException::initializeDescription(ec, this))
+ return;
+
+ ASSERT_NOT_REACHED();
+}
+
+} // namespace WebCore
+"""
+
+
+class ExceptionCodeDescriptionWriter(name_macros.Writer):
+ defaults = {
+ 'interfaceName': None,
+ 'conditional': None,
+ }
+ default_parameters = {
+ 'namespace': '',
+ }
+
+ def _exceptions(self):
+ return self.in_file.name_dictionaries
+
+ def _exception_type(self, exception):
+ name = os.path.basename(exception['name'])
+ return self.wrap_with_condition(' ' + name + 'Type,', exception['conditional'])
+
+ def generate_header(self):
+ return HEADER_TEMPLATE % {
+ 'license': license.license_for_generated_cpp(),
+ 'class_name': self.class_name,
+ 'exception_types': '\n'.join(map(self._exception_type, self._exceptions())),
+ }
+
+ def _include(self, exception):
+ include = '#include "' + exception['name'] + '.h"'
+ return self.wrap_with_condition(include, exception['conditional'])
+
+ def _description_initalization(self, exception):
+ name = os.path.basename(exception['name'])
+ if name == 'DOMCoreException':
+ return '' # DOMCoreException needs to be last because it's a catch-all.
+ description_initalization = """ if (%(name)s::initializeDescription(ec, this))
+ return;""" % {'name': name}
+ return self.wrap_with_condition(description_initalization, exception['conditional'])
+
+ def generate_implementation(self):
+ return IMPLEMENTATION_TEMPLATE % {
+ 'license': license.license_for_generated_cpp(),
+ 'class_name': self.class_name,
+ 'includes': '\n'.join(map(self._include, self._exceptions())),
+ 'description_initalizations': '\n'.join(map(self._description_initalization, self._exceptions())),
+ }
+
+
+if __name__ == "__main__":
+ name_macros.Maker(ExceptionCodeDescriptionWriter).main(sys.argv)
diff --git a/core/scripts/make_event_factory.py b/core/scripts/make_event_factory.py
index c5a5f0b..5a6653c 100644
--- a/core/scripts/make_event_factory.py
+++ b/core/scripts/make_event_factory.py
@@ -32,20 +32,20 @@
import shutil
from in_file import InFile
-import in_generator
+import name_macros
import license
IMPLEMENTATION_TEMPLATE = """%(license)s
#include "config.h"
-#include "%(namespace)sFactory.h"
+#include "%(class_name)sFactory.h"
-#include "%(namespace)sHeaders.h"
+#include "%(class_name)sHeaders.h"
#include "RuntimeEnabledFeatures.h"
namespace WebCore {
-PassRefPtr<%(namespace)s> %(namespace)sFactory::create(const String& type)
+PassRefPtr<%(class_name)s> %(class_name)sFactory::create(const String& type)
{
%(factory_implementation)s
return 0;
@@ -55,7 +55,7 @@
"""
-class EventFactoryWriter(in_generator.Writer):
+class EventFactoryWriter(name_macros.Writer):
defaults = {
'interfaceName' : None,
'conditional' : None,
@@ -64,10 +64,6 @@
default_parameters = {
'namespace': '',
}
- class_name = 'EventFactory'
-
- def _namespace(self):
- return self.in_file.parameters['namespace']
def _events(self):
return self.in_file.name_dictionaries
@@ -86,16 +82,13 @@
}
return self.wrap_with_condition(implementation, event['conditional'])
- def generate_header(self):
- pass
-
def generate_implementation(self):
return IMPLEMENTATION_TEMPLATE % {
- 'namespace': self._namespace().strip('"'),
+ 'class_name': self.class_name,
'license': license.license_for_generated_cpp(),
'factory_implementation': "\n".join(map(self._factory_implementation, self._events())),
}
if __name__ == "__main__":
- in_generator.Maker(EventFactoryWriter).main(sys.argv)
+ name_macros.Maker(EventFactoryWriter).main(sys.argv)
diff --git a/core/scripts/make_internal_runtime_flags.py b/core/scripts/make_internal_runtime_flags.py
new file mode 100755
index 0000000..dc33323
--- /dev/null
+++ b/core/scripts/make_internal_runtime_flags.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+# Copyright (C) 2013 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import os.path
+import sys
+
+import in_generator
+import make_runtime_features
+
+
+# We want exactly the same parsing as RuntimeFeatureWriter
+# but generate different files.
+class InternalRuntimeFlagsWriter(make_runtime_features.RuntimeFeatureWriter):
+ class_name = "InternalRuntimeFlags"
+
+ def generate_idl(self):
+ return {
+ 'features': self._features,
+ }
+
+ def generate_header(self):
+ return {
+ 'features': self._features,
+ 'feature_sets': self._feature_sets(),
+ }
+
+ def generate_implementation(self):
+ return None
+
+
+if __name__ == "__main__":
+ in_generator.Maker(InternalRuntimeFlagsWriter).main(sys.argv)
diff --git a/core/scripts/make_runtime_features.py b/core/scripts/make_runtime_features.py
index 13e1f9b..d0f9b96 100755
--- a/core/scripts/make_runtime_features.py
+++ b/core/scripts/make_runtime_features.py
@@ -32,56 +32,27 @@
from in_file import InFile
import in_generator
-import license
-HEADER_TEMPLATE = """%(license)s
-#ifndef %(class_name)s_h
-#define %(class_name)s_h
-
-namespace WebCore {
-
-// A class that stores static enablers for all experimental features.
-
-class %(class_name)s {
-public:
-%(method_declarations)s
-private:
- %(class_name)s() { }
-
-%(storage_declarations)s
-};
-
-} // namespace WebCore
-
-#endif // %(class_name)s_h
-"""
-
-IMPLEMENTATION_TEMPLATE = """%(license)s
-#include "config.h"
-#include "%(class_name)s.h"
-
-namespace WebCore {
-
-%(storage_definitions)s
-
-} // namespace WebCore
-"""
-
class RuntimeFeatureWriter(in_generator.Writer):
- class_name = "RuntimeEnabledFeatures"
+ class_name = 'RuntimeEnabledFeatures'
+
+ # FIXME: valid_values and defaults should probably roll into one object.
+ valid_values = {
+ 'status': ['stable', 'experimental', 'test'],
+ }
defaults = {
'condition' : None,
'depends_on' : [],
- 'default': 'false',
'custom': False,
+ 'status': None,
}
- def __init__(self, in_file_path):
- super(RuntimeFeatureWriter, self).__init__(in_file_path)
- self._all_features = self.in_file.name_dictionaries
+ def __init__(self, in_file_path, enabled_conditions):
+ super(RuntimeFeatureWriter, self).__init__(in_file_path, enabled_conditions)
+ self._features = self.in_file.name_dictionaries
# Make sure the resulting dictionaries have all the keys we expect.
- for feature in self._all_features:
+ for feature in self._features:
feature['first_lowered_name'] = self._lower_first(feature['name'])
# Most features just check their isFooEnabled bool
# but some depend on more than one bool.
@@ -89,49 +60,30 @@
for dependant_name in feature['depends_on']:
enabled_condition += " && is%sEnabled" % dependant_name
feature['enabled_condition'] = enabled_condition
- self._non_custom_features = filter(lambda feature: not feature['custom'], self._all_features)
+ self._non_custom_features = filter(lambda feature: not feature['custom'], self._features)
def _lower_first(self, string):
lowered = string[0].lower() + string[1:]
lowered = lowered.replace("cSS", "css")
lowered = lowered.replace("iME", "ime")
+ lowered = lowered.replace("hTML", "html")
return lowered
- def _method_declaration(self, feature):
- if feature['custom']:
- return " static bool %(first_lowered_name)sEnabled();\n" % feature
- unconditional = """ static void set%(name)sEnabled(bool isEnabled) { is%(name)sEnabled = isEnabled; }
- static bool %(first_lowered_name)sEnabled() { return %(enabled_condition)s; }
-"""
- conditional = "#if ENABLE(%(condition)s)\n" + unconditional + """#else
- static void set%(name)sEnabled(bool) { }
- static bool %(first_lowered_name)sEnabled() { return false; }
-#endif
-"""
- template = conditional if feature['condition'] else unconditional
- return template % feature
-
- def _storage_declarations(self, feature):
- declaration = " static bool is%(name)sEnabled;" % feature
- return self.wrap_with_condition(declaration, feature['condition'])
+ def _feature_sets(self):
+ # Another way to think of the status levels is as "sets of features"
+ # which is how we're referring to them in this generator.
+ return self.valid_values['status']
def generate_header(self):
- return HEADER_TEMPLATE % {
- 'class_name' : self.class_name,
- 'license' : license.license_for_generated_cpp(),
- 'method_declarations' : "\n".join(map(self._method_declaration, self._all_features)),
- 'storage_declarations' : "\n".join(map(self._storage_declarations, self._non_custom_features)),
+ return {
+ 'features': self._features,
+ 'feature_sets': self._feature_sets(),
}
- def _storage_definition(self, feature):
- definition = "bool RuntimeEnabledFeatures::is%(name)sEnabled = %(default)s;" % feature
- return self.wrap_with_condition(definition, feature['condition'])
-
def generate_implementation(self):
- return IMPLEMENTATION_TEMPLATE % {
- 'class_name' : self.class_name,
- 'license' : license.license_for_generated_cpp(),
- 'storage_definitions' : "\n".join(map(self._storage_definition, self._non_custom_features)),
+ return {
+ 'features': self._features,
+ 'feature_sets': self._feature_sets(),
}
diff --git a/core/scripts/make_style_builder.py b/core/scripts/make_style_builder.py
new file mode 100755
index 0000000..88c358f
--- /dev/null
+++ b/core/scripts/make_style_builder.py
@@ -0,0 +1,97 @@
+#!/usr/bin/env python
+# Copyright (C) 2013 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import re
+import sys
+
+import in_generator
+
+
+class StyleBuilderWriter(in_generator.Writer):
+ class_name = 'StyleBuilder'
+
+ valid_values = {
+ 'apply_type': ['default', 'length'],
+ 'use_none': [True, False],
+ 'use_intrinsic': [True, False],
+ 'use_auto': [True, False],
+ }
+ defaults = {
+ 'condition': None,
+ 'apply_type': 'default',
+ 'name_for_methods': None,
+# These depend on property name by default
+ 'type_name': None,
+ 'getter': None,
+ 'setter': None,
+ 'initial': None,
+# For the length apply type
+ 'use_none': False,
+ 'use_intrinsic': False,
+ 'use_auto': False,
+ }
+
+ def __init__(self, in_files, enabled_conditions):
+ super(StyleBuilderWriter, self).__init__(in_files, enabled_conditions)
+ self._properties = self.in_file.name_dictionaries
+
+ def set_if_none(property, key, value):
+ if property[key] is None:
+ property[key] = value
+
+ for property in self._properties:
+ cc = self._camelcase_property_name(property["name"])
+ property["property_id"] = "CSSProperty" + cc
+ cc = property["name_for_methods"] or cc.replace("Webkit", "")
+ set_if_none(property, "type_name", "E" + cc)
+ set_if_none(property, "getter", self._lower_first(cc))
+ set_if_none(property, "setter", "set" + cc)
+ set_if_none(property, "initial", "initial" + cc)
+
+# FIXME: some of these might be better in a utils file
+ @staticmethod
+ def _camelcase_property_name(property_name):
+ return re.sub(r'(^[^-])|-(.)', lambda match: (match.group(1) or match.group(2)).upper(), property_name)
+
+ @staticmethod
+ def _lower_first(s):
+ return s[0].lower() + s[1:]
+
+ @staticmethod
+ def _upper_first(s):
+ return s[0].upper() + s[1:]
+
+ def generate_implementation(self):
+ return {
+ "properties": self._properties,
+ }
+
+
+if __name__ == "__main__":
+ in_generator.Maker(StyleBuilderWriter).main(sys.argv)
diff --git a/core/scripts/name_macros.py b/core/scripts/name_macros.py
new file mode 100644
index 0000000..d7928c3
--- /dev/null
+++ b/core/scripts/name_macros.py
@@ -0,0 +1,159 @@
+# Copyright (C) 2013 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import os.path
+import re
+
+import in_generator
+from in_generator import Maker
+import license
+
+
+HEADER_TEMPLATE = """%(license)s
+
+#ifndef %(class_name)sHeaders_h
+#define %(class_name)sHeaders_h
+
+%(includes)s
+
+#endif // %(class_name)sHeaders_h
+"""
+
+
+INTERFACES_HEADER_TEMPLATE = """%(license)s
+
+#ifndef %(class_name)sInterfaces_h
+#define %(class_name)sInterfaces_h
+
+%(declare_conditional_macros)s
+
+#define %(macro_style_name)s_INTERFACES_FOR_EACH(macro) \\
+ \\
+%(unconditional_macros)s
+ \\
+%(conditional_macros)s
+
+#endif // %(class_name)sInterfaces_h
+"""
+
+
+def _to_macro_style(name):
+ s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
+ return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).upper()
+
+
+def _name_for_entry(entry):
+ if entry['interfaceName']:
+ return entry['interfaceName']
+ return os.path.basename(entry['name'])
+
+class Writer(in_generator.Writer):
+ def __init__(self, in_file_path, enabled_conditions):
+ super(Writer, self).__init__(in_file_path, enabled_conditions)
+ self.class_name = self.in_file.parameters['namespace'].strip('"')
+ self._entries_by_conditional = {}
+ self._unconditional_entries = []
+ self._sort_entries_by_conditional()
+
+ def _sort_entries_by_conditional(self):
+ unconditional_names = set()
+ for entry in self.in_file.name_dictionaries:
+ conditional = entry['conditional']
+ if not conditional:
+ name = _name_for_entry(entry)
+ if name in unconditional_names:
+ continue
+ unconditional_names.add(name)
+ self._unconditional_entries.append(entry)
+ continue
+ for entry in self.in_file.name_dictionaries:
+ name = _name_for_entry(entry)
+ if name in unconditional_names:
+ continue
+ conditional = entry['conditional']
+ if not conditional in self._entries_by_conditional:
+ self._entries_by_conditional[conditional] = []
+ self._entries_by_conditional[conditional].append(entry)
+
+ def _headers_header_include(self, entry):
+ path = entry['name']
+ name = _name_for_entry(entry)
+ if entry['interfaceName']:
+ path = entry['interfaceName'] # FIXME: This seems wrong
+ include = '#include "%(path)s.h"\n#include "V8%(name)s.h"' % {
+ 'path': path,
+ 'name': name,
+ }
+ return self.wrap_with_condition(include, entry['conditional'])
+
+ def generate_headers_header(self):
+ return HEADER_TEMPLATE % {
+ 'license': license.license_for_generated_cpp(),
+ 'class_name': self.class_name,
+ 'includes': '\n'.join(map(self._headers_header_include, self.in_file.name_dictionaries)),
+ }
+
+ def _declare_one_conditional_macro(self, conditional, entries):
+ macro_name = '%(macro_style_name)s_INTERFACES_FOR_EACH_%(conditional)s' % {
+ 'macro_style_name': _to_macro_style(self.class_name),
+ 'conditional': conditional,
+ }
+ return self.wrap_with_condition("""#define %(macro_name)s(macro) \\
+%(declarations)s
+
+#else
+#define %(macro_name)s(macro)""" % {
+ 'macro_name': macro_name,
+ 'declarations': '\n'.join(sorted(set([
+ ' macro(%(name)s) \\' % {'name': _name_for_entry(entry)}
+ for entry in entries]))),
+ }, conditional)
+
+ def _declare_conditional_macros(self):
+ return '\n'.join([
+ self._declare_one_conditional_macro(conditional, entries)
+ for conditional, entries in self._entries_by_conditional.items()])
+
+ def _unconditional_macro(self, entry):
+ return ' macro(%(name)s) \\' % {'name': _name_for_entry(entry)}
+
+ def _conditional_macros(self, conditional):
+ return ' %(macro_style_name)s_INTERFACES_FOR_EACH_%(conditional)s(macro) \\' % {
+ 'macro_style_name': _to_macro_style(self.class_name),
+ 'conditional': conditional,
+ }
+
+ def generate_interfaces_header(self):
+ return INTERFACES_HEADER_TEMPLATE % {
+ 'license': license.license_for_generated_cpp(),
+ 'class_name': self.class_name,
+ 'macro_style_name': _to_macro_style(self.class_name),
+ 'declare_conditional_macros': self._declare_conditional_macros(),
+ 'unconditional_macros': '\n'.join(sorted(set(map(self._unconditional_macro, self._unconditional_entries)))),
+ 'conditional_macros': '\n'.join(map(self._conditional_macros, self._entries_by_conditional.keys())),
+ }
diff --git a/core/scripts/template_expander.py b/core/scripts/template_expander.py
new file mode 100644
index 0000000..60a272c
--- /dev/null
+++ b/core/scripts/template_expander.py
@@ -0,0 +1,43 @@
+# Copyright (C) 2013 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import os
+import sys
+
+_current_dir = os.path.dirname(os.path.realpath(__file__))
+# jinja2 is in chromium's third_party directory
+sys.path.append(os.path.join(_current_dir, *([os.pardir] * 4)))
+import jinja2
+
+
+def apply_template(path_to_template, params):
+ dirname, basename = os.path.split(path_to_template)
+ path_to_templates = os.path.join(_current_dir, "templates")
+ jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader([dirname, path_to_templates]))
+ template = jinja_env.get_template(basename)
+ return template.render(params)
diff --git a/core/scripts/templates/InternalRuntimeFlags.idl.tmpl b/core/scripts/templates/InternalRuntimeFlags.idl.tmpl
new file mode 100644
index 0000000..c73ce7a
--- /dev/null
+++ b/core/scripts/templates/InternalRuntimeFlags.idl.tmpl
@@ -0,0 +1,15 @@
+{% from "macros.tmpl" import license -%}
+{{ license() }}
+
+[
+] interface InternalRuntimeFlags {
+{%- for feature in features if not feature.custom %}
+{#-
+ Currently assuming that runtime flags cannot be changed after startup
+ it's possible that some can be and should be conditionally readonly.
+#}
+ {% if feature.condition -%} [Conditional={{feature.condition}}] {% endif -%}
+ readonly attribute boolean {{feature.first_lowered_name}}Enabled;
+{%- endfor %}
+};
+
diff --git a/core/storage/Storage.idl b/core/storage/Storage.idl
index ce94506..d84944d 100644
--- a/core/storage/Storage.idl
+++ b/core/storage/Storage.idl
@@ -24,13 +24,13 @@
*/
[
- CustomNamedGetter,
CustomDeleteProperty,
CustomEnumerateProperty,
- CustomIndexedGetter,
CustomIndexedSetter,
- CustomNamedSetter,
+ CustomNamedSetter
] interface Storage {
+ [RaisesException, ImplementedAs=anonymousIndexedGetter] getter DOMString(unsigned long index);
+ [RaisesException, ImplementedAs=anonymousNamedGetter] getter DOMString(DOMString name);
[NotEnumerable, GetterRaisesException] readonly attribute unsigned long length;
[NotEnumerable, TreatReturnedNullStringAs=Null, RaisesException] DOMString key(unsigned long index);
[NotEnumerable, TreatReturnedNullStringAs=Null, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] DOMString getItem(DOMString key);
diff --git a/core/svg/ElementTimeControl.idl b/core/svg/ElementTimeControl.idl
index 5307596..cad80aa 100644
--- a/core/svg/ElementTimeControl.idl
+++ b/core/svg/ElementTimeControl.idl
@@ -25,7 +25,7 @@
*/
[
- Conditional=SVG,
+ Conditional=SVG
] interface ElementTimeControl {
void beginElement();
diff --git a/core/svg/SVGAltGlyphElement.idl b/core/svg/SVGAltGlyphElement.idl
index 2e1f4c5..8d8b1f4 100644
--- a/core/svg/SVGAltGlyphElement.idl
+++ b/core/svg/SVGAltGlyphElement.idl
@@ -24,7 +24,7 @@
*/
[
- Conditional=SVG&SVG_FONTS,
+ Conditional=SVG&SVG_FONTS
] interface SVGAltGlyphElement : SVGTextPositioningElement, SVGURIReference {
[SetterRaisesException] attribute DOMString glyphRef;
[SetterRaisesException] attribute DOMString format;
diff --git a/core/svg/SVGAnimatedAngle.idl b/core/svg/SVGAnimatedAngle.idl
index 40dac7f..3e96104 100644
--- a/core/svg/SVGAnimatedAngle.idl
+++ b/core/svg/SVGAnimatedAngle.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedAngle {
readonly attribute SVGAngle baseVal;
readonly attribute SVGAngle animVal;
diff --git a/core/svg/SVGAnimatedBoolean.idl b/core/svg/SVGAnimatedBoolean.idl
index c00f475..7ad6bb1 100644
--- a/core/svg/SVGAnimatedBoolean.idl
+++ b/core/svg/SVGAnimatedBoolean.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedBoolean {
[StrictTypeChecking, SetterRaisesException] attribute boolean baseVal;
readonly attribute boolean animVal;
diff --git a/core/svg/SVGAnimatedEnumeration.idl b/core/svg/SVGAnimatedEnumeration.idl
index 21f85ba..de96682 100644
--- a/core/svg/SVGAnimatedEnumeration.idl
+++ b/core/svg/SVGAnimatedEnumeration.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedEnumeration {
[StrictTypeChecking, SetterRaisesException] attribute unsigned short baseVal;
readonly attribute unsigned short animVal;
diff --git a/core/svg/SVGAnimatedInteger.idl b/core/svg/SVGAnimatedInteger.idl
index d827c4e..5d6b15e 100644
--- a/core/svg/SVGAnimatedInteger.idl
+++ b/core/svg/SVGAnimatedInteger.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedInteger {
[StrictTypeChecking, SetterRaisesException] attribute long baseVal;
readonly attribute long animVal;
diff --git a/core/svg/SVGAnimatedLength.idl b/core/svg/SVGAnimatedLength.idl
index 7abba37..241aaad 100644
--- a/core/svg/SVGAnimatedLength.idl
+++ b/core/svg/SVGAnimatedLength.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedLength {
readonly attribute SVGLength baseVal;
readonly attribute SVGLength animVal;
diff --git a/core/svg/SVGAnimatedLengthList.idl b/core/svg/SVGAnimatedLengthList.idl
index cfb3c91..934748a 100644
--- a/core/svg/SVGAnimatedLengthList.idl
+++ b/core/svg/SVGAnimatedLengthList.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedLengthList {
readonly attribute SVGLengthList baseVal;
readonly attribute SVGLengthList animVal;
diff --git a/core/svg/SVGAnimatedNumber.idl b/core/svg/SVGAnimatedNumber.idl
index 4c5e1f9..2fa7eba 100644
--- a/core/svg/SVGAnimatedNumber.idl
+++ b/core/svg/SVGAnimatedNumber.idl
@@ -25,8 +25,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedNumber {
[StrictTypeChecking, SetterRaisesException] attribute float baseVal;
readonly attribute float animVal;
diff --git a/core/svg/SVGAnimatedNumberList.idl b/core/svg/SVGAnimatedNumberList.idl
index f7cbfb7..b912780 100644
--- a/core/svg/SVGAnimatedNumberList.idl
+++ b/core/svg/SVGAnimatedNumberList.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedNumberList {
readonly attribute SVGNumberList baseVal;
readonly attribute SVGNumberList animVal;
diff --git a/core/svg/SVGAnimatedPreserveAspectRatio.idl b/core/svg/SVGAnimatedPreserveAspectRatio.idl
index f6b89dd..a84c02d 100644
--- a/core/svg/SVGAnimatedPreserveAspectRatio.idl
+++ b/core/svg/SVGAnimatedPreserveAspectRatio.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedPreserveAspectRatio {
readonly attribute SVGPreserveAspectRatio baseVal;
readonly attribute SVGPreserveAspectRatio animVal;
diff --git a/core/svg/SVGAnimatedRect.idl b/core/svg/SVGAnimatedRect.idl
index 6be752e..99e9a62 100644
--- a/core/svg/SVGAnimatedRect.idl
+++ b/core/svg/SVGAnimatedRect.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedRect {
readonly attribute SVGRect baseVal;
readonly attribute SVGRect animVal;
diff --git a/core/svg/SVGAnimatedString.idl b/core/svg/SVGAnimatedString.idl
index 62a8dbe..a331bea 100644
--- a/core/svg/SVGAnimatedString.idl
+++ b/core/svg/SVGAnimatedString.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedString {
[SetterRaisesException] attribute DOMString baseVal;
readonly attribute DOMString animVal;
diff --git a/core/svg/SVGAnimatedTransformList.idl b/core/svg/SVGAnimatedTransformList.idl
index 0f2f46f..4ce7240 100644
--- a/core/svg/SVGAnimatedTransformList.idl
+++ b/core/svg/SVGAnimatedTransformList.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGAnimatedTransformList {
readonly attribute SVGTransformList baseVal;
readonly attribute SVGTransformList animVal;
diff --git a/core/svg/SVGAnimationElement.idl b/core/svg/SVGAnimationElement.idl
index 2f0b912..0507764 100644
--- a/core/svg/SVGAnimationElement.idl
+++ b/core/svg/SVGAnimationElement.idl
@@ -24,7 +24,8 @@
*/
[
- Conditional=SVG,
+ NoInterfaceObject,
+ Conditional=SVG
] interface SVGAnimationElement : SVGElement,
SVGTests,
SVGExternalResourcesRequired,
@@ -33,6 +34,6 @@
float getStartTime();
float getCurrentTime();
- [RaisesException] float getSimpleDuration();
+ float getSimpleDuration();
};
diff --git a/core/svg/SVGColor.idl b/core/svg/SVGColor.idl
index 31dcd4b..21c669e 100644
--- a/core/svg/SVGColor.idl
+++ b/core/svg/SVGColor.idl
@@ -20,8 +20,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGColor : CSSValue {
const unsigned short SVG_COLORTYPE_UNKNOWN = 0;
const unsigned short SVG_COLORTYPE_RGBCOLOR = 1;
diff --git a/core/svg/SVGElement.idl b/core/svg/SVGElement.idl
index 73d0077..96a82e0 100644
--- a/core/svg/SVGElement.idl
+++ b/core/svg/SVGElement.idl
@@ -25,7 +25,7 @@
CustomToV8
] interface SVGElement : Element {
[Reflect] attribute DOMString id;
- [TreatNullAs=NullString, SetterRaisesException] attribute DOMString xmlbase;
+ [TreatNullAs=NullString] attribute DOMString xmlbase;
readonly attribute SVGSVGElement ownerSVGElement;
readonly attribute SVGElement viewportElement;
};
diff --git a/core/svg/SVGException.idl b/core/svg/SVGException.idl
index d9872df..ef26a64 100644
--- a/core/svg/SVGException.idl
+++ b/core/svg/SVGException.idl
@@ -20,8 +20,7 @@
[
Conditional=SVG,
- DoNotCheckConstants,
- ImplementationLacksVTable
+ DoNotCheckConstants
] exception SVGException {
readonly attribute unsigned short code;
diff --git a/core/svg/SVGExternalResourcesRequired.idl b/core/svg/SVGExternalResourcesRequired.idl
index 854b268..d7b4d27 100644
--- a/core/svg/SVGExternalResourcesRequired.idl
+++ b/core/svg/SVGExternalResourcesRequired.idl
@@ -27,7 +27,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
+ DoNotGenerateToV8
] interface SVGExternalResourcesRequired {
readonly attribute SVGAnimatedBoolean externalResourcesRequired;
};
diff --git a/core/svg/SVGFilterPrimitiveStandardAttributes.idl b/core/svg/SVGFilterPrimitiveStandardAttributes.idl
index 3bfa06a..3bc71e4 100644
--- a/core/svg/SVGFilterPrimitiveStandardAttributes.idl
+++ b/core/svg/SVGFilterPrimitiveStandardAttributes.idl
@@ -25,7 +25,7 @@
*/
[
- Conditional=SVG,
+ Conditional=SVG
] interface SVGFilterPrimitiveStandardAttributes {
readonly attribute SVGAnimatedLength x;
readonly attribute SVGAnimatedLength y;
diff --git a/core/svg/SVGFitToViewBox.idl b/core/svg/SVGFitToViewBox.idl
index ccd61c5..625a9d4 100644
--- a/core/svg/SVGFitToViewBox.idl
+++ b/core/svg/SVGFitToViewBox.idl
@@ -27,7 +27,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
+ DoNotGenerateToV8
] interface SVGFitToViewBox {
readonly attribute SVGAnimatedRect viewBox;
readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
diff --git a/core/svg/SVGLangSpace.idl b/core/svg/SVGLangSpace.idl
index c5152cc..1b59627 100644
--- a/core/svg/SVGLangSpace.idl
+++ b/core/svg/SVGLangSpace.idl
@@ -27,7 +27,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
+ DoNotGenerateToV8
] interface SVGLangSpace {
attribute DOMString xmllang;
attribute DOMString xmlspace;
diff --git a/core/svg/SVGLocatable.idl b/core/svg/SVGLocatable.idl
index 7a71bd5..1e8f3fe 100644
--- a/core/svg/SVGLocatable.idl
+++ b/core/svg/SVGLocatable.idl
@@ -27,7 +27,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
+ DoNotGenerateToV8
] interface SVGLocatable {
readonly attribute SVGElement nearestViewportElement;
readonly attribute SVGElement farthestViewportElement;
diff --git a/core/svg/SVGPaint.idl b/core/svg/SVGPaint.idl
index 8680088..b1cd658 100644
--- a/core/svg/SVGPaint.idl
+++ b/core/svg/SVGPaint.idl
@@ -24,8 +24,7 @@
*/
[
- Conditional=SVG,
- ImplementationLacksVTable
+ Conditional=SVG
] interface SVGPaint : SVGColor {
const unsigned short SVG_PAINTTYPE_UNKNOWN = 0;
const unsigned short SVG_PAINTTYPE_RGBCOLOR = 1;
diff --git a/core/svg/SVGPathSeg.idl b/core/svg/SVGPathSeg.idl
index cda62ad..a0691bb 100644
--- a/core/svg/SVGPathSeg.idl
+++ b/core/svg/SVGPathSeg.idl
@@ -26,9 +26,8 @@
[
Conditional=SVG,
- CustomToV8,
+ CustomToV8
- ImplementationLacksVTable
] interface SVGPathSeg {
// Path Segment Types
const unsigned short PATHSEG_UNKNOWN = 0;
diff --git a/core/svg/SVGRenderingIntent.idl b/core/svg/SVGRenderingIntent.idl
index 9383422..832dd48 100644
--- a/core/svg/SVGRenderingIntent.idl
+++ b/core/svg/SVGRenderingIntent.idl
@@ -25,8 +25,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
- ImplementationLacksVTable
+ DoNotGenerateToV8
] interface SVGRenderingIntent {
// Rendering Intent Types
const unsigned short RENDERING_INTENT_UNKNOWN = 0;
diff --git a/core/svg/SVGStyleElement.idl b/core/svg/SVGStyleElement.idl
index 6005b2e..858c2c4 100644
--- a/core/svg/SVGStyleElement.idl
+++ b/core/svg/SVGStyleElement.idl
@@ -26,11 +26,10 @@
[
Conditional=SVG
-] interface SVGStyleElement : SVGElement,
- SVGLangSpace {
- attribute boolean disabled;
- [SetterRaisesException] attribute DOMString type;
- [SetterRaisesException] attribute DOMString media;
- [SetterRaisesException] attribute DOMString title;
+] interface SVGStyleElement : SVGElement, SVGLangSpace {
+ attribute boolean disabled;
+ attribute DOMString type;
+ attribute DOMString media;
+ attribute DOMString title;
};
diff --git a/core/svg/SVGStyledElement.idl b/core/svg/SVGStyledElement.idl
index 44e61c8..f7f9490 100644
--- a/core/svg/SVGStyledElement.idl
+++ b/core/svg/SVGStyledElement.idl
@@ -26,6 +26,7 @@
*/
[
+ NoInterfaceObject,
Conditional=SVG
] interface SVGStyledElement : SVGElement {
readonly attribute SVGAnimatedString className;
diff --git a/core/svg/SVGTests.idl b/core/svg/SVGTests.idl
index 3941d6a..3081a64 100644
--- a/core/svg/SVGTests.idl
+++ b/core/svg/SVGTests.idl
@@ -27,7 +27,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
+ DoNotGenerateToV8
] interface SVGTests {
readonly attribute SVGStringList requiredFeatures;
readonly attribute SVGStringList requiredExtensions;
diff --git a/core/svg/SVGTransformable.idl b/core/svg/SVGTransformable.idl
index e4ab3ce..828fea8 100644
--- a/core/svg/SVGTransformable.idl
+++ b/core/svg/SVGTransformable.idl
@@ -25,7 +25,7 @@
*/
[
- Conditional=SVG,
+ Conditional=SVG
] interface SVGTransformable : SVGLocatable {
readonly attribute SVGAnimatedTransformList transform;
diff --git a/core/svg/SVGURIReference.idl b/core/svg/SVGURIReference.idl
index 7ed40e8..a3f1b55 100644
--- a/core/svg/SVGURIReference.idl
+++ b/core/svg/SVGURIReference.idl
@@ -27,7 +27,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
+ DoNotGenerateToV8
] interface SVGURIReference {
readonly attribute SVGAnimatedString href;
};
diff --git a/core/svg/SVGUnitTypes.idl b/core/svg/SVGUnitTypes.idl
index b872b3e..b0021d3 100644
--- a/core/svg/SVGUnitTypes.idl
+++ b/core/svg/SVGUnitTypes.idl
@@ -25,8 +25,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
- ImplementationLacksVTable
+ DoNotGenerateToV8
] interface SVGUnitTypes {
// Unit Types
const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0;
diff --git a/core/svg/SVGZoomAndPan.idl b/core/svg/SVGZoomAndPan.idl
index 738a916..728f40a 100644
--- a/core/svg/SVGZoomAndPan.idl
+++ b/core/svg/SVGZoomAndPan.idl
@@ -27,8 +27,7 @@
[
Conditional=SVG,
- DoNotGenerateToV8,
- ImplementationLacksVTable
+ DoNotGenerateToV8
] interface SVGZoomAndPan {
const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0;
const unsigned short SVG_ZOOMANDPAN_DISABLE = 1;
diff --git a/core/testing/InternalSettings.idl b/core/testing/InternalSettings.idl
index 30c0d91..ed5ad0e 100644
--- a/core/testing/InternalSettings.idl
+++ b/core/testing/InternalSettings.idl
@@ -39,7 +39,6 @@
[RaisesException] void setTextAutosizingEnabled(boolean enabled);
[RaisesException] void setTextAutosizingWindowSizeOverride(long width, long height);
[RaisesException] void setTextAutosizingFontScaleFactor(float fontScaleFactor);
- [RaisesException] void setResolutionOverride(long dotsPerCSSInchHorizontally, long dotsPerCSSInchVertically);
[RaisesException] void setMediaTypeOverride(DOMString mediaTypeOverride);
[RaisesException] void setEditingBehavior(DOMString behavior);
@@ -60,6 +59,7 @@
void setCSSExclusionsEnabled(boolean enabled);
void setDialogElementEnabled(boolean enabled);
void setExperimentalShadowDOMEnabled(boolean enabled);
+ void setExperimentalWebSocketEnabled(boolean enabled);
void setLangAttributeAwareFormControlUIEnabled(boolean enabled);
void setLazyLayoutEnabled(boolean enabled);
void setStyleScopedEnabled(boolean enabled);
diff --git a/core/testing/Internals.idl b/core/testing/Internals.idl
index 3be4238..23557da 100644
--- a/core/testing/Internals.idl
+++ b/core/testing/Internals.idl
@@ -38,7 +38,6 @@
[RaisesException] CSSStyleDeclaration computedStyleIncludingVisitedInfo(Node node);
[RaisesException] ShadowRoot ensureShadowRoot(Element host);
- [RaisesException] ShadowRoot createShadowRoot(Element host);
[RaisesException] ShadowRoot shadowRoot(Element host);
[RaisesException] ShadowRoot youngestShadowRoot(Element host);
[RaisesException] ShadowRoot oldestShadowRoot(Element host);
@@ -61,16 +60,11 @@
[RaisesException] boolean hasSelectorForAttributeInShadow(Element host, DOMString attributeName);
[RaisesException] boolean hasSelectorForPseudoClassInShadow(Element host, DOMString pseudoClass);
- // CSS Animation testing.
+ // CSS Animation and Transition testing.
unsigned long numberOfActiveAnimations();
[RaisesException] void suspendAnimations(Document document);
[RaisesException] void resumeAnimations(Document document);
- [RaisesException] boolean pauseAnimationAtTimeOnElement(DOMString animationName, double pauseTime, Element element);
- [RaisesException] boolean pauseAnimationAtTimeOnPseudoElement(DOMString animationName, double pauseTime, Element element, DOMString pseudoId);
-
- // CSS Transition testing.
- [RaisesException] boolean pauseTransitionAtTimeOnElement(DOMString propertyName, double pauseTime, Element element);
- [RaisesException] boolean pauseTransitionAtTimeOnPseudoElement(DOMString property, double pauseTime, Element element, DOMString pseudoId);
+ [RaisesException] void pauseAnimations(double pauseTime);
[RaisesException] Node nextSiblingByWalker(Node node);
[RaisesException] Node firstChildByWalker(Node node);
@@ -87,9 +81,7 @@
[RaisesException] DOMString[] formControlStateOfPreviousHistoryItem();
[RaisesException] void setFormControlStateOfPreviousHistoryItem(sequence<DOMString> values);
[RaisesException] void setEnableMockPagePopup(boolean enabled);
-#if defined(ENABLE_PAGE_POPUP) && ENABLE_PAGE_POPUP
readonly attribute PagePopupController pagePopupController;
-#endif
[RaisesException] ClientRect absoluteCaretBounds();
@@ -154,7 +146,6 @@
[RaisesException] boolean hasSpellingMarker(Document document, long from, long length);
[RaisesException] boolean hasGrammarMarker(Document document, long from, long length);
- [RaisesException] boolean hasAutocorrectedMarker(Document document, long from, long length);
[RaisesException] void setContinuousSpellCheckingEnabled(boolean enabled);
[RaisesException] boolean isOverwriteModeEnabled(Document document);
@@ -165,6 +156,7 @@
[RaisesException] boolean isPageBoxVisible(Document document, long pageNumber);
readonly attribute InternalSettings settings;
+ readonly attribute InternalRuntimeFlags runtimeFlags;
readonly attribute unsigned long workerThreadCount;
// Flags for layerTreeAsText.
@@ -210,6 +202,7 @@
[RaisesException] DOMString pageProperty(DOMString propertyName, long pageNumber);
[RaisesException] DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft);
+ [RaisesException] void setDeviceScaleFactor(float scaleFactor);
[RaisesException] void setPageScaleFactor(float scaleFactor, long x, long y);
[RaisesException] void setIsCursorVisible(Document document, boolean isVisible);
@@ -246,7 +239,7 @@
[Conditional=ENCRYPTED_MEDIA_V2] void initializeMockCDM();
- [Conditional=SPEECH_SYNTHESIS] void enableMockSpeechSynthesizer();
+ void enableMockSpeechSynthesizer();
[RaisesException] DOMString getImageSourceURL(Element element);
diff --git a/core/testing/MallocStatistics.idl b/core/testing/MallocStatistics.idl
index bf78b4c..dd3459b 100644
--- a/core/testing/MallocStatistics.idl
+++ b/core/testing/MallocStatistics.idl
@@ -24,7 +24,6 @@
*/
[
- ImplementationLacksVTable
] interface MallocStatistics {
readonly attribute unsigned long reservedVMBytes;
readonly attribute unsigned long committedVMBytes;
diff --git a/core/testing/TypeConversions.idl b/core/testing/TypeConversions.idl
index e96c215..b3996ab 100644
--- a/core/testing/TypeConversions.idl
+++ b/core/testing/TypeConversions.idl
@@ -24,7 +24,6 @@
*/
[
- ImplementationLacksVTable
] interface TypeConversions {
attribute long testLong;
[EnforceRange] attribute long testEnforceRangeLong;
diff --git a/core/workers/AbstractWorker.idl b/core/workers/AbstractWorker.idl
index cd06688..4a0da0d 100644
--- a/core/workers/AbstractWorker.idl
+++ b/core/workers/AbstractWorker.idl
@@ -30,6 +30,7 @@
*/
[
+ NoInterfaceObject,
ActiveDOMObject,
EventTarget
] interface AbstractWorker {
diff --git a/core/workers/DedicatedWorkerContext.idl b/core/workers/DedicatedWorkerContext.idl
index d204859..3f4f45c 100644
--- a/core/workers/DedicatedWorkerContext.idl
+++ b/core/workers/DedicatedWorkerContext.idl
@@ -28,7 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface DedicatedWorkerContext : WorkerContext {
+[
+ NoInterfaceObject
+] interface DedicatedWorkerContext : WorkerContext {
[Custom, RaisesException] void postMessage(any message, optional Array messagePorts);
attribute EventListener onmessage;
};
diff --git a/core/workers/SharedWorker.idl b/core/workers/SharedWorker.idl
index c69690f..d6cae73 100644
--- a/core/workers/SharedWorker.idl
+++ b/core/workers/SharedWorker.idl
@@ -30,6 +30,7 @@
*/
[
+ NoInterfaceObject,
Constructor(DOMString scriptURL, [Default=NullString] optional DOMString name),
CallWith=ScriptExecutionContext,
RaisesException
diff --git a/core/workers/SharedWorkerContext.idl b/core/workers/SharedWorkerContext.idl
index 4f0d991..52fc0a2 100644
--- a/core/workers/SharedWorkerContext.idl
+++ b/core/workers/SharedWorkerContext.idl
@@ -28,7 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface SharedWorkerContext : WorkerContext {
+[
+ NoInterfaceObject
+] interface SharedWorkerContext : WorkerContext {
readonly attribute DOMString name;
attribute EventListener onconnect;
};
diff --git a/core/workers/WorkerContext.idl b/core/workers/WorkerContext.idl
index ef788ac..188b285 100644
--- a/core/workers/WorkerContext.idl
+++ b/core/workers/WorkerContext.idl
@@ -25,6 +25,7 @@
*/
[
+ NoInterfaceObject,
EventTarget,
CustomToV8,
DoNotGenerateWrap
@@ -68,8 +69,8 @@
attribute FileReaderConstructor FileReader;
attribute FileReaderSyncConstructor FileReaderSync;
- attribute DOMURLConstructor URL;
- attribute DOMURLConstructor webkitURL; // FIXME: deprecate this.
+ attribute URLConstructor URL;
+ attribute URLConstructor webkitURL; // FIXME: deprecate this.
attribute ArrayBufferConstructor ArrayBuffer; // Usable with new operator
attribute Int8ArrayConstructor Int8Array; // Usable with new operator
diff --git a/core/workers/WorkerLocation.idl b/core/workers/WorkerLocation.idl
index ac581e3..eac41a3 100644
--- a/core/workers/WorkerLocation.idl
+++ b/core/workers/WorkerLocation.idl
@@ -27,7 +27,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface WorkerLocation {
readonly attribute DOMString href;
readonly attribute DOMString protocol;
diff --git a/core/xml/DOMParser.idl b/core/xml/DOMParser.idl
index c602a59..ca9ee11 100644
--- a/core/xml/DOMParser.idl
+++ b/core/xml/DOMParser.idl
@@ -18,8 +18,7 @@
*/
[
- Constructor,
- ImplementationLacksVTable
+ Constructor
] interface DOMParser {
Document parseFromString([Default=Undefined] optional DOMString str,
[Default=Undefined] optional DOMString contentType);
diff --git a/core/xml/XMLSerializer.idl b/core/xml/XMLSerializer.idl
index 5e174e1..88a9171 100644
--- a/core/xml/XMLSerializer.idl
+++ b/core/xml/XMLSerializer.idl
@@ -19,8 +19,7 @@
*/
[
- Constructor,
- ImplementationLacksVTable
+ Constructor
] interface XMLSerializer {
[RaisesException] DOMString serializeToString([Default=Undefined] optional Node node);
};
diff --git a/core/xml/XPathEvaluator.idl b/core/xml/XPathEvaluator.idl
index 457663f..59b45fc 100644
--- a/core/xml/XPathEvaluator.idl
+++ b/core/xml/XPathEvaluator.idl
@@ -18,8 +18,7 @@
*/
[
- Constructor,
- ImplementationLacksVTable
+ Constructor
] interface XPathEvaluator {
[RaisesException] XPathExpression createExpression([Default=Undefined] optional DOMString expression,
[Default=Undefined] optional XPathNSResolver resolver);
diff --git a/core/xml/XPathException.idl b/core/xml/XPathException.idl
index 6e63839..2f4ef9f 100644
--- a/core/xml/XPathException.idl
+++ b/core/xml/XPathException.idl
@@ -27,8 +27,7 @@
*/
[
- DoNotCheckConstants,
- ImplementationLacksVTable
+ DoNotCheckConstants
] exception XPathException {
readonly attribute unsigned short code;
diff --git a/core/xml/XPathExpression.idl b/core/xml/XPathExpression.idl
index 0ba88c5..3a3b1b2 100644
--- a/core/xml/XPathExpression.idl
+++ b/core/xml/XPathExpression.idl
@@ -18,7 +18,7 @@
* Boston, MA 02110-1301, USA.
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface XPathExpression {
[RaisesException] XPathResult evaluate([Default=Undefined] optional Node contextNode,
[Default=Undefined] optional unsigned short type,
diff --git a/core/xml/XPathNSResolver.idl b/core/xml/XPathNSResolver.idl
index f746891..3210792 100644
--- a/core/xml/XPathNSResolver.idl
+++ b/core/xml/XPathNSResolver.idl
@@ -19,8 +19,7 @@
*/
[
-
- SkipVTableValidation
+ NoInterfaceObject
] interface XPathNSResolver {
[TreatReturnedNullStringAs=Null] DOMString lookupNamespaceURI([Default=Undefined] optional DOMString prefix);
};
diff --git a/core/xml/XPathResult.idl b/core/xml/XPathResult.idl
index 0e21736..99f62af 100644
--- a/core/xml/XPathResult.idl
+++ b/core/xml/XPathResult.idl
@@ -18,7 +18,6 @@
*/
[
- ImplementationLacksVTable
] interface XPathResult {
const unsigned short ANY_TYPE = 0;
const unsigned short NUMBER_TYPE = 1;
diff --git a/core/xml/XSLTProcessor.idl b/core/xml/XSLTProcessor.idl
index 3dc316d..5cef21e 100644
--- a/core/xml/XSLTProcessor.idl
+++ b/core/xml/XSLTProcessor.idl
@@ -32,9 +32,9 @@
[
Constructor,
- ImplementationLacksVTable
+ MeasureAs=XSLTProcessor
] interface XSLTProcessor {
-
+
void importStylesheet([Default=Undefined] optional Node stylesheet);
DocumentFragment transformToFragment([Default=Undefined] optional Node source, [Default=Undefined] optional Document docVal);
Document transformToDocument([Default=Undefined] optional Node source);
diff --git a/modules/README b/modules/README
index 3929bfb..8d6d9a3 100644
--- a/modules/README
+++ b/modules/README
@@ -6,4 +6,4 @@
The current version corresponds to:
URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1246
+Current revision: 1266
diff --git a/modules/battery/BatteryManager.idl b/modules/battery/BatteryManager.idl
index b8d2b99..c6fb69e 100644
--- a/modules/battery/BatteryManager.idl
+++ b/modules/battery/BatteryManager.idl
@@ -19,6 +19,7 @@
// http://dev.w3.org/2009/dap/system-info/battery-status.html
[
+ NoInterfaceObject,
Conditional=BATTERY_STATUS,
ActiveDOMObject,
EventTarget
diff --git a/modules/battery/NavigatorBattery.idl b/modules/battery/NavigatorBattery.idl
index 7c02503..d58c82a 100644
--- a/modules/battery/NavigatorBattery.idl
+++ b/modules/battery/NavigatorBattery.idl
@@ -18,7 +18,7 @@
*/
[
- Conditional=BATTERY_STATUS,
+ Conditional=BATTERY_STATUS
] partial interface Navigator {
readonly attribute BatteryManager webkitBattery;
};
diff --git a/modules/device_orientation/DeviceAcceleration.idl b/modules/device_orientation/DeviceAcceleration.idl
index ad74f17..c4ff4a6 100644
--- a/modules/device_orientation/DeviceAcceleration.idl
+++ b/modules/device_orientation/DeviceAcceleration.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface DeviceAcceleration {
readonly attribute double? x;
readonly attribute double? y;
diff --git a/modules/device_orientation/DeviceMotionEvent.idl b/modules/device_orientation/DeviceMotionEvent.idl
index 3e6a6ca..8d8cc79 100644
--- a/modules/device_orientation/DeviceMotionEvent.idl
+++ b/modules/device_orientation/DeviceMotionEvent.idl
@@ -23,7 +23,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface DeviceMotionEvent : Event {
+[
+ NoInterfaceObject
+] interface DeviceMotionEvent : Event {
readonly attribute DeviceAcceleration acceleration;
readonly attribute DeviceAcceleration accelerationIncludingGravity;
readonly attribute DeviceRotationRate rotationRate;
diff --git a/modules/device_orientation/DeviceRotationRate.idl b/modules/device_orientation/DeviceRotationRate.idl
index d599c97..2d7600a 100644
--- a/modules/device_orientation/DeviceRotationRate.idl
+++ b/modules/device_orientation/DeviceRotationRate.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface DeviceRotationRate {
readonly attribute double? alpha;
readonly attribute double? beta;
diff --git a/modules/encryptedmedia/MediaKeySession.idl b/modules/encryptedmedia/MediaKeySession.idl
index ba4d1cb..57b809e 100644
--- a/modules/encryptedmedia/MediaKeySession.idl
+++ b/modules/encryptedmedia/MediaKeySession.idl
@@ -26,7 +26,7 @@
[
Conditional=ENCRYPTED_MEDIA_V2,
EnabledAtRuntime=encryptedMedia,
- EventTarget,
+ EventTarget
] interface MediaKeySession {
// error state
readonly attribute MediaKeyError error;
diff --git a/modules/filesystem/DOMFileSystem.idl b/modules/filesystem/DOMFileSystem.idl
index e6ab12f..6e8ab7f 100644
--- a/modules/filesystem/DOMFileSystem.idl
+++ b/modules/filesystem/DOMFileSystem.idl
@@ -30,6 +30,7 @@
*/
[
+ NoInterfaceObject,
ActiveDOMObject
] interface DOMFileSystem {
readonly attribute DOMString name;
diff --git a/modules/filesystem/DOMFileSystemSync.idl b/modules/filesystem/DOMFileSystemSync.idl
index 6583484..5e67ada 100644
--- a/modules/filesystem/DOMFileSystemSync.idl
+++ b/modules/filesystem/DOMFileSystemSync.idl
@@ -28,7 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface DOMFileSystemSync {
+[
+ NoInterfaceObject
+] interface DOMFileSystemSync {
readonly attribute DOMString name;
readonly attribute DirectoryEntrySync root;
};
diff --git a/modules/filesystem/DirectoryEntry.idl b/modules/filesystem/DirectoryEntry.idl
index f77a4e9..3e51b11 100644
--- a/modules/filesystem/DirectoryEntry.idl
+++ b/modules/filesystem/DirectoryEntry.idl
@@ -28,7 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface DirectoryEntry : Entry {
+[
+ NoInterfaceObject
+] interface DirectoryEntry : Entry {
DirectoryReader createReader();
void getFile([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString path, optional Dictionary options, optional EntryCallback successCallback, optional ErrorCallback errorCallback);
void getDirectory([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString path, optional Dictionary options, optional EntryCallback successCallback, optional ErrorCallback errorCallback);
diff --git a/modules/filesystem/DirectoryEntrySync.idl b/modules/filesystem/DirectoryEntrySync.idl
index 2301dfc..b1c93b9 100644
--- a/modules/filesystem/DirectoryEntrySync.idl
+++ b/modules/filesystem/DirectoryEntrySync.idl
@@ -28,8 +28,10 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface DirectoryEntrySync : EntrySync {
- [RaisesException] DirectoryReaderSync createReader();
+[
+ NoInterfaceObject
+] interface DirectoryEntrySync : EntrySync {
+ DirectoryReaderSync createReader();
[RaisesException] FileEntrySync getFile([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString path, Dictionary flags);
[RaisesException] DirectoryEntrySync getDirectory([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString path, Dictionary flags);
[RaisesException] void removeRecursively();
diff --git a/modules/filesystem/DirectoryReader.idl b/modules/filesystem/DirectoryReader.idl
index b93aa62..7660917 100644
--- a/modules/filesystem/DirectoryReader.idl
+++ b/modules/filesystem/DirectoryReader.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface DirectoryReader {
void readEntries(EntriesCallback successCallback, optional ErrorCallback errorCallback);
};
diff --git a/modules/filesystem/DirectoryReaderSync.idl b/modules/filesystem/DirectoryReaderSync.idl
index bc2a9bd..9821f43 100644
--- a/modules/filesystem/DirectoryReaderSync.idl
+++ b/modules/filesystem/DirectoryReaderSync.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface DirectoryReaderSync {
[RaisesException] EntryArraySync readEntries();
};
diff --git a/modules/filesystem/Entry.idl b/modules/filesystem/Entry.idl
index ba90dfe..198d3e6 100644
--- a/modules/filesystem/Entry.idl
+++ b/modules/filesystem/Entry.idl
@@ -29,6 +29,7 @@
*/
[
+ NoInterfaceObject,
CustomToV8
] interface Entry {
readonly attribute boolean isFile;
diff --git a/modules/filesystem/EntryArray.idl b/modules/filesystem/EntryArray.idl
index 6d75100..2e637f4 100644
--- a/modules/filesystem/EntryArray.idl
+++ b/modules/filesystem/EntryArray.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface EntryArray {
readonly attribute unsigned long length;
getter Entry item([IsIndex] unsigned long index);
diff --git a/modules/filesystem/EntryArraySync.idl b/modules/filesystem/EntryArraySync.idl
index 52651e4..e456446 100644
--- a/modules/filesystem/EntryArraySync.idl
+++ b/modules/filesystem/EntryArraySync.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface EntryArraySync {
readonly attribute unsigned long length;
getter EntrySync item([IsIndex] unsigned long index);
diff --git a/modules/filesystem/EntrySync.idl b/modules/filesystem/EntrySync.idl
index 08021da..c71f2c7 100644
--- a/modules/filesystem/EntrySync.idl
+++ b/modules/filesystem/EntrySync.idl
@@ -29,6 +29,7 @@
*/
[
+ NoInterfaceObject,
CustomToV8
] interface EntrySync {
readonly attribute boolean isFile;
diff --git a/modules/filesystem/FileEntry.idl b/modules/filesystem/FileEntry.idl
index 63bff0a..818b759 100644
--- a/modules/filesystem/FileEntry.idl
+++ b/modules/filesystem/FileEntry.idl
@@ -28,7 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface FileEntry : Entry {
+[
+ NoInterfaceObject
+] interface FileEntry : Entry {
void createWriter(FileWriterCallback successCallback, optional ErrorCallback errorCallback);
void file(FileCallback successCallback, optional ErrorCallback errorCallback);
};
diff --git a/modules/filesystem/FileEntrySync.idl b/modules/filesystem/FileEntrySync.idl
index 67869b2..52b3e2a 100644
--- a/modules/filesystem/FileEntrySync.idl
+++ b/modules/filesystem/FileEntrySync.idl
@@ -28,7 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface FileEntrySync : EntrySync {
+[
+ NoInterfaceObject
+] interface FileEntrySync : EntrySync {
[RaisesException] File file();
[RaisesException] FileWriterSync createWriter();
};
diff --git a/modules/filesystem/FileWriter.idl b/modules/filesystem/FileWriter.idl
index 843bc2e..6624843 100644
--- a/modules/filesystem/FileWriter.idl
+++ b/modules/filesystem/FileWriter.idl
@@ -30,6 +30,7 @@
*/
[
+ NoInterfaceObject,
ActiveDOMObject,
CallWith=ScriptExecutionContext,
EventTarget
diff --git a/modules/filesystem/FileWriterSync.idl b/modules/filesystem/FileWriterSync.idl
index 8266850..9b746bd 100644
--- a/modules/filesystem/FileWriterSync.idl
+++ b/modules/filesystem/FileWriterSync.idl
@@ -28,7 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface FileWriterSync {
+[
+ NoInterfaceObject
+] interface FileWriterSync {
// synchronous write/modify methods
[RaisesException] void write(Blob data);
[RaisesException] void seek(long long position);
diff --git a/modules/filesystem/Metadata.idl b/modules/filesystem/Metadata.idl
index 6816231..ee77c0c 100644
--- a/modules/filesystem/Metadata.idl
+++ b/modules/filesystem/Metadata.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface Metadata {
readonly attribute Date modificationTime;
readonly attribute unsigned long long size;
diff --git a/modules/gamepad/Gamepad.idl b/modules/gamepad/Gamepad.idl
index 33f5616..b263929 100644
--- a/modules/gamepad/Gamepad.idl
+++ b/modules/gamepad/Gamepad.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface Gamepad {
readonly attribute DOMString id;
readonly attribute unsigned long index;
diff --git a/modules/gamepad/GamepadList.idl b/modules/gamepad/GamepadList.idl
index 0277a61..396c013 100644
--- a/modules/gamepad/GamepadList.idl
+++ b/modules/gamepad/GamepadList.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface GamepadList {
readonly attribute unsigned long length;
getter Gamepad item([Default=Undefined] optional unsigned long index);
diff --git a/modules/gamepad/NavigatorGamepad.idl b/modules/gamepad/NavigatorGamepad.idl
index eea135f..5136454 100644
--- a/modules/gamepad/NavigatorGamepad.idl
+++ b/modules/gamepad/NavigatorGamepad.idl
@@ -18,6 +18,6 @@
*/
partial interface Navigator {
- [EnabledAtRuntime] GamepadList webkitGetGamepads();
+ [EnabledAtRuntime=gamepad] GamepadList webkitGetGamepads();
};
diff --git a/modules/geolocation/Coordinates.idl b/modules/geolocation/Coordinates.idl
index 38b58e4..b5a07d7 100644
--- a/modules/geolocation/Coordinates.idl
+++ b/modules/geolocation/Coordinates.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface Coordinates {
readonly attribute double latitude;
readonly attribute double longitude;
diff --git a/modules/geolocation/Geolocation.idl b/modules/geolocation/Geolocation.idl
index c0f7130..03f478a 100644
--- a/modules/geolocation/Geolocation.idl
+++ b/modules/geolocation/Geolocation.idl
@@ -25,6 +25,7 @@
// http://www.w3.org/TR/geolocation-API/#geolocation_interface
[
+ NoInterfaceObject
] interface Geolocation {
[Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void getCurrentPosition(PositionCallback successCallback,
optional PositionErrorCallback errorCallback,
diff --git a/modules/geolocation/Geoposition.idl b/modules/geolocation/Geoposition.idl
index d2d317d..34ef94e 100644
--- a/modules/geolocation/Geoposition.idl
+++ b/modules/geolocation/Geoposition.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface Geoposition {
readonly attribute Coordinates coords;
readonly attribute DOMTimeStamp timestamp;
diff --git a/modules/geolocation/PositionError.idl b/modules/geolocation/PositionError.idl
index 2f0b98a..56b4d41 100644
--- a/modules/geolocation/PositionError.idl
+++ b/modules/geolocation/PositionError.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface PositionError {
readonly attribute unsigned short code;
readonly attribute DOMString message;
diff --git a/modules/indexeddb/DOMWindowIndexedDatabase.idl b/modules/indexeddb/DOMWindowIndexedDatabase.idl
index 18c3724..bb9982c 100644
--- a/modules/indexeddb/DOMWindowIndexedDatabase.idl
+++ b/modules/indexeddb/DOMWindowIndexedDatabase.idl
@@ -27,26 +27,5 @@
partial interface DOMWindow {
[ImplementedAs=indexedDB,MeasureAs=PrefixedIndexedDB] readonly attribute IDBFactory webkitIndexedDB;
- attribute IDBCursorConstructor webkitIDBCursor;
- attribute IDBDatabaseConstructor webkitIDBDatabase;
- attribute IDBFactoryConstructor webkitIDBFactory;
- attribute IDBIndexConstructor webkitIDBIndex;
- attribute IDBKeyRangeConstructor webkitIDBKeyRange;
- attribute IDBObjectStoreConstructor webkitIDBObjectStore;
- attribute IDBRequestConstructor webkitIDBRequest;
- attribute IDBTransactionConstructor webkitIDBTransaction;
-
[MeasureAs=UnprefixedIndexedDB] readonly attribute IDBFactory indexedDB;
-
- attribute IDBCursorConstructor IDBCursor;
- attribute IDBCursorWithValueConstructor IDBCursorWithValue;
- attribute IDBDatabaseConstructor IDBDatabase;
- attribute IDBFactoryConstructor IDBFactory;
- attribute IDBIndexConstructor IDBIndex;
- attribute IDBKeyRangeConstructor IDBKeyRange;
- attribute IDBObjectStoreConstructor IDBObjectStore;
- attribute IDBOpenDBRequestConstructor IDBOpenDBRequest;
- attribute IDBRequestConstructor IDBRequest;
- attribute IDBTransactionConstructor IDBTransaction;
- attribute IDBVersionChangeEventConstructor IDBVersionChangeEvent;
};
diff --git a/modules/indexeddb/IDBAny.idl b/modules/indexeddb/IDBAny.idl
index 485e3db..36f262a 100644
--- a/modules/indexeddb/IDBAny.idl
+++ b/modules/indexeddb/IDBAny.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
CustomToV8,
DoNotGenerateWrap
] interface IDBAny {
diff --git a/modules/indexeddb/IDBFactory.idl b/modules/indexeddb/IDBFactory.idl
index 052c191..dc69602 100644
--- a/modules/indexeddb/IDBFactory.idl
+++ b/modules/indexeddb/IDBFactory.idl
@@ -24,7 +24,6 @@
*/
[
- ImplementationLacksVTable
] interface IDBFactory {
[CallWith=ScriptExecutionContext, ImplementedAs=getDatabaseNames, RaisesException] IDBRequest webkitGetDatabaseNames();
diff --git a/modules/indexeddb/IDBIndex.idl b/modules/indexeddb/IDBIndex.idl
index 78ef8af..861c673 100644
--- a/modules/indexeddb/IDBIndex.idl
+++ b/modules/indexeddb/IDBIndex.idl
@@ -24,7 +24,6 @@
*/
[
- ImplementationLacksVTable
] interface IDBIndex {
readonly attribute DOMString name;
readonly attribute IDBObjectStore objectStore;
diff --git a/modules/indexeddb/IDBKeyRange.idl b/modules/indexeddb/IDBKeyRange.idl
index cc3900e..235e09e 100644
--- a/modules/indexeddb/IDBKeyRange.idl
+++ b/modules/indexeddb/IDBKeyRange.idl
@@ -24,7 +24,6 @@
*/
[
- ImplementationLacksVTable
] interface IDBKeyRange {
[ImplementedAs=lowerValue,CallWith=ScriptExecutionContext] readonly attribute any lower;
[ImplementedAs=upperValue,CallWith=ScriptExecutionContext] readonly attribute any upper;
diff --git a/modules/indexeddb/IDBObjectStore.idl b/modules/indexeddb/IDBObjectStore.idl
index 941bf99..d3e4616 100644
--- a/modules/indexeddb/IDBObjectStore.idl
+++ b/modules/indexeddb/IDBObjectStore.idl
@@ -24,7 +24,6 @@
*/
[
- ImplementationLacksVTable
] interface IDBObjectStore {
[TreatReturnedNullStringAs=Null] readonly attribute DOMString name;
[ImplementedAs=keyPathAny] readonly attribute IDBAny keyPath;
diff --git a/modules/webmidi/DOMWindowWebMIDI.idl b/modules/mediasource/DOMWindowMediaSource.idl
similarity index 83%
rename from modules/webmidi/DOMWindowWebMIDI.idl
rename to modules/mediasource/DOMWindowMediaSource.idl
index 1d07d1e..20a0215 100644
--- a/modules/webmidi/DOMWindowWebMIDI.idl
+++ b/modules/mediasource/DOMWindowMediaSource.idl
@@ -27,8 +27,8 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
partial interface DOMWindow {
- [EnabledAtRuntime=webMIDI] attribute MIDIConnectionEventConstructor MIDIConnectionEvent;
- [EnabledAtRuntime=webMIDI] attribute MIDIMessageEventConstructor MIDIMessageEvent;
-};
+ [EnabledAtRuntime=webKitMediaSource] attribute WebKitMediaSourceConstructor WebKitMediaSource;
+ [EnabledAtRuntime=webKitMediaSource] attribute WebKitSourceBufferConstructor WebKitSourceBuffer;
+ [EnabledAtRuntime=webKitMediaSource] attribute WebKitSourceBufferListConstructor WebKitSourceBufferList;
+};
\ No newline at end of file
diff --git a/modules/mediasource/MediaSource.idl b/modules/mediasource/WebKitMediaSource.idl
similarity index 86%
rename from modules/mediasource/MediaSource.idl
rename to modules/mediasource/WebKitMediaSource.idl
index 29c6f0d..573548b 100644
--- a/modules/mediasource/MediaSource.idl
+++ b/modules/mediasource/WebKitMediaSource.idl
@@ -29,22 +29,23 @@
*/
[
- EnabledAtRuntime=mediaSource,
+ NoInterfaceObject,
+ EnabledAtRuntime=webKitMediaSource,
ActiveDOMObject,
EventTarget,
Constructor,
CallWith=ScriptExecutionContext
-] interface MediaSource {
+] interface WebKitMediaSource {
// All the source buffers created by this object.
- readonly attribute SourceBufferList sourceBuffers;
+ readonly attribute WebKitSourceBufferList sourceBuffers;
// Subset of sourceBuffers that provide data for the selected/enabled tracks.
- readonly attribute SourceBufferList activeSourceBuffers;
+ readonly attribute WebKitSourceBufferList activeSourceBuffers;
[SetterRaisesException] attribute double duration;
- [RaisesException] SourceBuffer addSourceBuffer(DOMString type);
- [RaisesException] void removeSourceBuffer(SourceBuffer buffer);
+ [RaisesException] WebKitSourceBuffer addSourceBuffer(DOMString type);
+ [RaisesException] void removeSourceBuffer(WebKitSourceBuffer buffer);
readonly attribute DOMString readyState;
diff --git a/modules/mediasource/SourceBuffer.idl b/modules/mediasource/WebKitSourceBuffer.idl
similarity index 95%
rename from modules/mediasource/SourceBuffer.idl
rename to modules/mediasource/WebKitSourceBuffer.idl
index fc29be4..4995de8 100644
--- a/modules/mediasource/SourceBuffer.idl
+++ b/modules/mediasource/WebKitSourceBuffer.idl
@@ -29,8 +29,9 @@
*/
[
- EnabledAtRuntime=mediaSource
-] interface SourceBuffer {
+ NoInterfaceObject,
+ EnabledAtRuntime=webKitMediaSource
+] interface WebKitSourceBuffer {
// Returns the time ranges buffered.
[GetterRaisesException] readonly attribute TimeRanges buffered;
diff --git a/modules/mediasource/SourceBufferList.idl b/modules/mediasource/WebKitSourceBufferList.idl
similarity index 92%
rename from modules/mediasource/SourceBufferList.idl
rename to modules/mediasource/WebKitSourceBufferList.idl
index 443edb3..7cca041 100644
--- a/modules/mediasource/SourceBufferList.idl
+++ b/modules/mediasource/WebKitSourceBufferList.idl
@@ -29,12 +29,13 @@
*/
[
- EnabledAtRuntime=mediaSource,
+ NoInterfaceObject,
+ EnabledAtRuntime=webKitMediaSource,
EventTarget,
CallWith=ScriptExecutionContext
-] interface SourceBufferList {
+] interface WebKitSourceBufferList {
readonly attribute unsigned long length;
- getter SourceBuffer item(unsigned long index);
+ getter WebKitSourceBuffer item(unsigned long index);
// EventTarget interface
void addEventListener(DOMString type,
diff --git a/modules/mediastream/DOMWindowMediaStream.idl b/modules/mediastream/DOMWindowMediaStream.idl
deleted file mode 100644
index c9cffef..0000000
--- a/modules/mediastream/DOMWindowMediaStream.idl
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2012 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-partial interface DOMWindow {
- [EnabledAtRuntime=mediaStream] attribute MediaStreamConstructor webkitMediaStream;
- [EnabledAtRuntime=peerConnection] attribute RTCPeerConnectionConstructor webkitRTCPeerConnection;
- attribute RTCSessionDescriptionConstructor RTCSessionDescription;
- attribute RTCIceCandidateConstructor RTCIceCandidate;
- attribute MediaStreamEventConstructor MediaStreamEvent;
-};
-
diff --git a/modules/mediastream/MediaStream.idl b/modules/mediastream/MediaStream.idl
index 45c415d..dbb7392 100644
--- a/modules/mediastream/MediaStream.idl
+++ b/modules/mediastream/MediaStream.idl
@@ -23,11 +23,12 @@
*/
[
+ NoInterfaceObject,
EventTarget,
Constructor,
Constructor(MediaStream stream),
Constructor(MediaStreamTrack[] tracks),
- CallWith=ScriptExecutionContext,
+ CallWith=ScriptExecutionContext
] interface MediaStream {
// DEPRECATED
readonly attribute DOMString label;
diff --git a/modules/mediastream/MediaStreamTrack.idl b/modules/mediastream/MediaStreamTrack.idl
index b58a085..6710c70 100644
--- a/modules/mediastream/MediaStreamTrack.idl
+++ b/modules/mediastream/MediaStreamTrack.idl
@@ -23,6 +23,7 @@
*/
[
+ NoInterfaceObject,
EventTarget,
ActiveDOMObject
] interface MediaStreamTrack {
diff --git a/modules/mediastream/MediaStreamTrackEvent.idl b/modules/mediastream/MediaStreamTrackEvent.idl
index c7ad507..b3967d4 100644
--- a/modules/mediastream/MediaStreamTrackEvent.idl
+++ b/modules/mediastream/MediaStreamTrackEvent.idl
@@ -22,7 +22,9 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface MediaStreamTrackEvent : Event {
+[
+ NoInterfaceObject
+] interface MediaStreamTrackEvent : Event {
readonly attribute MediaStreamTrack track;
};
diff --git a/modules/mediastream/NavigatorUserMediaError.idl b/modules/mediastream/NavigatorUserMediaError.idl
index cdaa5c0..46d0e03 100644
--- a/modules/mediastream/NavigatorUserMediaError.idl
+++ b/modules/mediastream/NavigatorUserMediaError.idl
@@ -22,7 +22,9 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface NavigatorUserMediaError {
+[
+ NoInterfaceObject
+] interface NavigatorUserMediaError {
const unsigned short PERMISSION_DENIED = 1;
readonly attribute unsigned short code;
};
diff --git a/modules/mediastream/RTCDTMFSender.idl b/modules/mediastream/RTCDTMFSender.idl
index ad97c75..ff3b6da 100644
--- a/modules/mediastream/RTCDTMFSender.idl
+++ b/modules/mediastream/RTCDTMFSender.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
ActiveDOMObject,
EventTarget
] interface RTCDTMFSender {
diff --git a/modules/mediastream/RTCDTMFToneChangeEvent.idl b/modules/mediastream/RTCDTMFToneChangeEvent.idl
index ee1ae8a..de80edf 100644
--- a/modules/mediastream/RTCDTMFToneChangeEvent.idl
+++ b/modules/mediastream/RTCDTMFToneChangeEvent.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
ConstructorTemplate=Event
] interface RTCDTMFToneChangeEvent : Event {
[InitializedByEventConstructor] readonly attribute DOMString tone;
diff --git a/modules/mediastream/RTCDataChannel.idl b/modules/mediastream/RTCDataChannel.idl
index 4532213..b4263df 100644
--- a/modules/mediastream/RTCDataChannel.idl
+++ b/modules/mediastream/RTCDataChannel.idl
@@ -23,6 +23,7 @@
*/
[
+ NoInterfaceObject,
EventTarget
] interface RTCDataChannel {
readonly attribute DOMString label;
diff --git a/modules/mediastream/RTCDataChannelEvent.idl b/modules/mediastream/RTCDataChannelEvent.idl
index 2a820b8..98f40d6 100644
--- a/modules/mediastream/RTCDataChannelEvent.idl
+++ b/modules/mediastream/RTCDataChannelEvent.idl
@@ -22,6 +22,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface RTCDataChannelEvent : Event {
+[
+ NoInterfaceObject
+] interface RTCDataChannelEvent : Event {
readonly attribute RTCDataChannel channel;
};
diff --git a/modules/mediastream/RTCIceCandidateEvent.idl b/modules/mediastream/RTCIceCandidateEvent.idl
index 26b5a61..0cd3e43 100644
--- a/modules/mediastream/RTCIceCandidateEvent.idl
+++ b/modules/mediastream/RTCIceCandidateEvent.idl
@@ -22,7 +22,9 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface RTCIceCandidateEvent : Event {
+[
+ NoInterfaceObject
+] interface RTCIceCandidateEvent : Event {
readonly attribute RTCIceCandidate candidate;
};
diff --git a/modules/mediastream/RTCPeerConnection.idl b/modules/mediastream/RTCPeerConnection.idl
index ac044ab..04f2bcb 100644
--- a/modules/mediastream/RTCPeerConnection.idl
+++ b/modules/mediastream/RTCPeerConnection.idl
@@ -29,6 +29,7 @@
*/
[
+ NoInterfaceObject,
ActiveDOMObject,
Constructor(Dictionary rtcIceServers, optional Dictionary mediaConstraints),
RaisesException,
diff --git a/modules/mediastream/RTCStatsReport.idl b/modules/mediastream/RTCStatsReport.idl
index 00ae129..15c193b 100644
--- a/modules/mediastream/RTCStatsReport.idl
+++ b/modules/mediastream/RTCStatsReport.idl
@@ -23,7 +23,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface RTCStatsReport {
readonly attribute Date timestamp;
readonly attribute DOMString id;
diff --git a/modules/mediastream/RTCStatsResponse.idl b/modules/mediastream/RTCStatsResponse.idl
index 384bd6b..e278398 100644
--- a/modules/mediastream/RTCStatsResponse.idl
+++ b/modules/mediastream/RTCStatsResponse.idl
@@ -22,7 +22,9 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface RTCStatsResponse {
+[
+ NoInterfaceObject
+] interface RTCStatsResponse {
sequence<RTCStatsReport> result();
getter RTCStatsReport namedItem([Default=Undefined] optional DOMString name);
};
diff --git a/modules/notifications/DOMWindowNotifications.idl b/modules/notifications/DOMWindowNotifications.idl
index ca5e3b9..9fc7865 100644
--- a/modules/notifications/DOMWindowNotifications.idl
+++ b/modules/notifications/DOMWindowNotifications.idl
@@ -25,13 +25,10 @@
*/
[
- Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS,
+ Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS
] partial interface DOMWindow {
#if defined(ENABLE_LEGACY_NOTIFICATIONS) && ENABLE_LEGACY_NOTIFICATIONS
- [EnabledAtRuntime, MeasureAs=LegacyNotifications, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds] readonly attribute NotificationCenter webkitNotifications;
-#endif
-#if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
- attribute NotificationConstructor Notification;
+ [EnabledAtRuntime=notifications, MeasureAs=LegacyNotifications, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds] readonly attribute NotificationCenter webkitNotifications;
#endif
};
diff --git a/modules/notifications/NotificationCenter.idl b/modules/notifications/NotificationCenter.idl
index ceddbe3..9dbc0fe 100644
--- a/modules/notifications/NotificationCenter.idl
+++ b/modules/notifications/NotificationCenter.idl
@@ -30,8 +30,9 @@
*/
[
+ NoInterfaceObject,
Conditional=LEGACY_NOTIFICATIONS,
- ActiveDOMObject,
+ ActiveDOMObject
] interface NotificationCenter {
#if !defined(ENABLE_TEXT_NOTIFICATIONS_ONLY) || !ENABLE_TEXT_NOTIFICATIONS_ONLY
[EnabledPerContext=htmlNotifications, MeasureAs=LegacyHTMLNotifications, ActivityLog=Access, RaisesException] Notification createHTMLNotification(DOMString url);
diff --git a/modules/notifications/WorkerContextNotifications.idl b/modules/notifications/WorkerContextNotifications.idl
index 4e2aade..aae97b3 100644
--- a/modules/notifications/WorkerContextNotifications.idl
+++ b/modules/notifications/WorkerContextNotifications.idl
@@ -20,15 +20,15 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
[
- Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS,
+ Conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS
] partial interface WorkerContext {
#if defined(ENABLE_LEGACY_NOTIFICATIONS) && ENABLE_LEGACY_NOTIFICATIONS
- [EnabledAtRuntime] readonly attribute NotificationCenter webkitNotifications;
+ [EnabledAtRuntime=notifications] readonly attribute NotificationCenter webkitNotifications;
#endif
};
diff --git a/modules/quota/StorageInfo.idl b/modules/quota/StorageInfo.idl
index 7a0bbcc..87caad2 100644
--- a/modules/quota/StorageInfo.idl
+++ b/modules/quota/StorageInfo.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface StorageInfo {
const unsigned short TEMPORARY = 0;
const unsigned short PERSISTENT = 1;
diff --git a/modules/quota/StorageQuota.idl b/modules/quota/StorageQuota.idl
index 74ab50e..bc008dd 100644
--- a/modules/quota/StorageQuota.idl
+++ b/modules/quota/StorageQuota.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface StorageQuota {
[CallWith=ScriptExecutionContext] void queryUsageAndQuota(StorageUsageCallback usageCallback, optional StorageErrorCallback errorCallback);
[CallWith=ScriptExecutionContext] void requestQuota(unsigned long long newQuotaInBytes, optional StorageQuotaCallback quotaCallback, optional StorageErrorCallback errorCallback);
diff --git a/modules/speech/DOMWindowSpeech.idl b/modules/speech/DOMWindowSpeech.idl
deleted file mode 100644
index c4d7e64..0000000
--- a/modules/speech/DOMWindowSpeech.idl
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2012 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-partial interface DOMWindow {
- [EnabledAtRuntime=scriptedSpeech] attribute SpeechRecognitionConstructor webkitSpeechRecognition;
- [EnabledAtRuntime=scriptedSpeech] attribute SpeechRecognitionErrorConstructor webkitSpeechRecognitionError;
- [EnabledAtRuntime=scriptedSpeech] attribute SpeechRecognitionEventConstructor webkitSpeechRecognitionEvent;
- [EnabledAtRuntime=scriptedSpeech] attribute SpeechGrammarConstructor webkitSpeechGrammar;
- [EnabledAtRuntime=scriptedSpeech] attribute SpeechGrammarListConstructor webkitSpeechGrammarList;
-};
diff --git a/modules/speech/DOMWindowSpeechSynthesis.idl b/modules/speech/DOMWindowSpeechSynthesis.idl
index 5ce418e..7acb4bc 100644
--- a/modules/speech/DOMWindowSpeechSynthesis.idl
+++ b/modules/speech/DOMWindowSpeechSynthesis.idl
@@ -27,6 +27,4 @@
EnabledAtRuntime=speechSynthesis
] partial interface DOMWindow {
readonly attribute SpeechSynthesis speechSynthesis;
- attribute SpeechSynthesisEventConstructor SpeechSynthesisEvent;
- attribute SpeechSynthesisUtteranceConstructor SpeechSynthesisUtterance;
};
diff --git a/modules/speech/SpeechGrammar.idl b/modules/speech/SpeechGrammar.idl
index d273948..0116770 100644
--- a/modules/speech/SpeechGrammar.idl
+++ b/modules/speech/SpeechGrammar.idl
@@ -24,8 +24,8 @@
*/
[
- Constructor,
- ImplementationLacksVTable
+ NoInterfaceObject,
+ Constructor
] interface SpeechGrammar {
[URL,CallWith=ScriptExecutionContext] attribute DOMString src;
attribute float weight;
diff --git a/modules/speech/SpeechGrammarList.idl b/modules/speech/SpeechGrammarList.idl
index 2c6db68..83a06a3 100644
--- a/modules/speech/SpeechGrammarList.idl
+++ b/modules/speech/SpeechGrammarList.idl
@@ -24,8 +24,8 @@
*/
[
- Constructor,
- ImplementationLacksVTable
+ NoInterfaceObject,
+ Constructor
] interface SpeechGrammarList {
readonly attribute unsigned long length;
getter SpeechGrammar item([IsIndex] unsigned long index);
diff --git a/modules/speech/SpeechRecognition.idl b/modules/speech/SpeechRecognition.idl
index 9118634..bb4351d 100644
--- a/modules/speech/SpeechRecognition.idl
+++ b/modules/speech/SpeechRecognition.idl
@@ -24,10 +24,11 @@
*/
[
+ NoInterfaceObject,
ActiveDOMObject,
Constructor,
CallWith=ScriptExecutionContext,
- EventTarget,
+ EventTarget
] interface SpeechRecognition {
attribute SpeechGrammarList grammars;
attribute DOMString lang;
diff --git a/modules/speech/SpeechRecognitionAlternative.idl b/modules/speech/SpeechRecognitionAlternative.idl
index fb786dd..3e120ca 100644
--- a/modules/speech/SpeechRecognitionAlternative.idl
+++ b/modules/speech/SpeechRecognitionAlternative.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface SpeechRecognitionAlternative {
readonly attribute DOMString transcript;
readonly attribute float confidence;
diff --git a/modules/speech/SpeechRecognitionError.idl b/modules/speech/SpeechRecognitionError.idl
index d62ac18..59956d2 100644
--- a/modules/speech/SpeechRecognitionError.idl
+++ b/modules/speech/SpeechRecognitionError.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
ConstructorTemplate=Event
] interface SpeechRecognitionError : Event {
[InitializedByEventConstructor] readonly attribute DOMString error;
diff --git a/modules/speech/SpeechRecognitionEvent.idl b/modules/speech/SpeechRecognitionEvent.idl
index 8027f82..e4ca482 100644
--- a/modules/speech/SpeechRecognitionEvent.idl
+++ b/modules/speech/SpeechRecognitionEvent.idl
@@ -24,7 +24,8 @@
*/
[
- ConstructorTemplate=Event,
+ NoInterfaceObject,
+ ConstructorTemplate=Event
] interface SpeechRecognitionEvent : Event {
[InitializedByEventConstructor] readonly attribute unsigned long resultIndex;
[InitializedByEventConstructor] readonly attribute SpeechRecognitionResultList results;
diff --git a/modules/speech/SpeechRecognitionResult.idl b/modules/speech/SpeechRecognitionResult.idl
index 15a7f7d..45f6b51 100644
--- a/modules/speech/SpeechRecognitionResult.idl
+++ b/modules/speech/SpeechRecognitionResult.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface SpeechRecognitionResult {
readonly attribute unsigned long length;
getter SpeechRecognitionAlternative item([IsIndex] unsigned long index);
diff --git a/modules/speech/SpeechRecognitionResultList.idl b/modules/speech/SpeechRecognitionResultList.idl
index f2ccdeb..6194649 100644
--- a/modules/speech/SpeechRecognitionResultList.idl
+++ b/modules/speech/SpeechRecognitionResultList.idl
@@ -24,7 +24,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface SpeechRecognitionResultList {
readonly attribute unsigned long length;
getter SpeechRecognitionResult item([IsIndex] unsigned long index);
diff --git a/modules/speech/SpeechSynthesis.idl b/modules/speech/SpeechSynthesis.idl
index 6fb3fbc..4078c88 100644
--- a/modules/speech/SpeechSynthesis.idl
+++ b/modules/speech/SpeechSynthesis.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
EnabledAtRuntime=speechSynthesis
] interface SpeechSynthesis {
readonly attribute boolean pending;
diff --git a/modules/speech/SpeechSynthesisVoice.idl b/modules/speech/SpeechSynthesisVoice.idl
index 8886ac1..a377631 100644
--- a/modules/speech/SpeechSynthesisVoice.idl
+++ b/modules/speech/SpeechSynthesisVoice.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
EnabledAtRuntime=speechSynthesis
] interface SpeechSynthesisVoice {
readonly attribute DOMString voiceURI;
diff --git a/modules/vibration/NavigatorVibration.idl b/modules/vibration/NavigatorVibration.idl
index 09ef38e..ba3b258 100644
--- a/modules/vibration/NavigatorVibration.idl
+++ b/modules/vibration/NavigatorVibration.idl
@@ -18,7 +18,7 @@
*/
[
- Conditional=VIBRATION,
+ Conditional=VIBRATION
] partial interface Navigator {
[RaisesException] void vibrate(sequence<unsigned long> pattern);
[RaisesException] void vibrate(unsigned long time);
diff --git a/modules/webaudio/AudioBuffer.idl b/modules/webaudio/AudioBuffer.idl
index e208fc3..19f66a5 100644
--- a/modules/webaudio/AudioBuffer.idl
+++ b/modules/webaudio/AudioBuffer.idl
@@ -27,8 +27,7 @@
*/
[
- Conditional=WEB_AUDIO,
- ImplementationLacksVTable
+ Conditional=WEB_AUDIO
] interface AudioBuffer {
readonly attribute long length; // in sample-frames
readonly attribute float duration; // in seconds
diff --git a/modules/webaudio/AudioContext.idl b/modules/webaudio/AudioContext.idl
index 088f684..319a793 100644
--- a/modules/webaudio/AudioContext.idl
+++ b/modules/webaudio/AudioContext.idl
@@ -24,6 +24,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEB_AUDIO,
ActiveDOMObject,
CustomConstructor,
diff --git a/modules/webaudio/AudioDestinationNode.idl b/modules/webaudio/AudioDestinationNode.idl
index 3c63058..e85caef 100644
--- a/modules/webaudio/AudioDestinationNode.idl
+++ b/modules/webaudio/AudioDestinationNode.idl
@@ -23,8 +23,7 @@
*/
[
- Conditional=WEB_AUDIO,
- SkipVTableValidation
+ Conditional=WEB_AUDIO
] interface AudioDestinationNode : AudioNode {
readonly attribute unsigned long maxChannelCount;
};
diff --git a/modules/webaudio/AudioListener.idl b/modules/webaudio/AudioListener.idl
index c98b6d0..0011fe0 100644
--- a/modules/webaudio/AudioListener.idl
+++ b/modules/webaudio/AudioListener.idl
@@ -27,8 +27,7 @@
*/
[
- Conditional=WEB_AUDIO,
- ImplementationLacksVTable
+ Conditional=WEB_AUDIO
] interface AudioListener {
attribute float dopplerFactor; // same as OpenAL (default 1.0)
attribute float speedOfSound; // in meters / second (default 343.3)
diff --git a/modules/webaudio/AudioNode.idl b/modules/webaudio/AudioNode.idl
index a2448c0..7221319 100644
--- a/modules/webaudio/AudioNode.idl
+++ b/modules/webaudio/AudioNode.idl
@@ -24,7 +24,7 @@
[
Conditional=WEB_AUDIO
-] interface AudioNode {
+] interface AudioNode : EventTarget {
readonly attribute AudioContext context;
readonly attribute unsigned long numberOfInputs;
readonly attribute unsigned long numberOfOutputs;
@@ -40,4 +40,14 @@
[RaisesException] void connect(AudioParam? destination, [Default=Undefined] optional unsigned long output);
[RaisesException] void disconnect([Default=Undefined] optional unsigned long output);
+
+
+ // EventTarget interface
+ void addEventListener(DOMString type,
+ EventListener listener,
+ optional boolean useCapture);
+ void removeEventListener(DOMString type,
+ EventListener listener,
+ optional boolean useCapture);
+ [RaisesException] boolean dispatchEvent(Event event);
};
diff --git a/modules/webaudio/AudioSourceNode.idl b/modules/webaudio/AudioSourceNode.idl
index 1981c46..7a69b79 100644
--- a/modules/webaudio/AudioSourceNode.idl
+++ b/modules/webaudio/AudioSourceNode.idl
@@ -27,7 +27,7 @@
*/
[
- Conditional=WEB_AUDIO,
- ImplementationLacksVTable
+ NoInterfaceObject,
+ Conditional=WEB_AUDIO
] interface AudioSourceNode : AudioNode {
};
diff --git a/modules/webaudio/DOMWindowWebAudio.idl b/modules/webaudio/DOMWindowWebAudio.idl
deleted file mode 100644
index abdbaa2..0000000
--- a/modules/webaudio/DOMWindowWebAudio.idl
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
- Conditional=WEB_AUDIO,
-] partial interface DOMWindow {
- [EnabledAtRuntime=audioContext] attribute AudioContextConstructor webkitAudioContext;
- [EnabledAtRuntime=audioContext] attribute OfflineAudioContextConstructor webkitOfflineAudioContext;
- attribute PannerNodeConstructor webkitAudioPannerNode;
- attribute AudioProcessingEventConstructor AudioProcessingEvent;
- attribute OfflineAudioCompletionEventConstructor OfflineAudioCompletionEvent;
-};
-
diff --git a/modules/webaudio/OfflineAudioContext.idl b/modules/webaudio/OfflineAudioContext.idl
index d68c2ad..cbaa9ca 100644
--- a/modules/webaudio/OfflineAudioContext.idl
+++ b/modules/webaudio/OfflineAudioContext.idl
@@ -23,6 +23,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEB_AUDIO,
EventTarget,
Constructor(unsigned long numberOfChannels, unsigned long numberOfFrames, float sampleRate),
diff --git a/modules/webaudio/PannerNode.idl b/modules/webaudio/PannerNode.idl
index cb2691b..d20a2e6 100644
--- a/modules/webaudio/PannerNode.idl
+++ b/modules/webaudio/PannerNode.idl
@@ -23,6 +23,7 @@
*/
[
+ NoInterfaceObject,
Conditional=WEB_AUDIO
] interface PannerNode : AudioNode {
// Panning model
diff --git a/modules/webaudio/ScriptProcessorNode.idl b/modules/webaudio/ScriptProcessorNode.idl
index b0d6535..4d80d13 100644
--- a/modules/webaudio/ScriptProcessorNode.idl
+++ b/modules/webaudio/ScriptProcessorNode.idl
@@ -22,13 +22,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// For real-time audio stream synthesis/processing in JavaScript
+// For real-time audio stream synthesis/processing in JavaScript
[
- Conditional=WEB_AUDIO,
- EventTarget
+ Conditional=WEB_AUDIO
] interface ScriptProcessorNode : AudioNode {
// Rendering callback
attribute EventListener onaudioprocess;
-
+
readonly attribute long bufferSize;
};
diff --git a/modules/webaudio/WaveTable.idl b/modules/webaudio/WaveTable.idl
index d153b60..0174b5e 100644
--- a/modules/webaudio/WaveTable.idl
+++ b/modules/webaudio/WaveTable.idl
@@ -24,8 +24,7 @@
// WaveTable represents a periodic audio waveform given by its Fourier coefficients.
[
- Conditional=WEB_AUDIO,
- ImplementationLacksVTable
+ Conditional=WEB_AUDIO
] interface WaveTable {
};
diff --git a/modules/webdatabase/DOMWindowWebDatabase.idl b/modules/webdatabase/DOMWindowWebDatabase.idl
index 02c011c..0d525e8 100644
--- a/modules/webdatabase/DOMWindowWebDatabase.idl
+++ b/modules/webdatabase/DOMWindowWebDatabase.idl
@@ -26,6 +26,5 @@
partial interface DOMWindow {
[EnabledAtRuntime=database, MeasureAs=OpenWebDatabase, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Database openDatabase(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback creationCallback);
- attribute SQLExceptionConstructor SQLException;
};
diff --git a/modules/webdatabase/Database.idl b/modules/webdatabase/Database.idl
index 1b516c0..5dcd692 100644
--- a/modules/webdatabase/Database.idl
+++ b/modules/webdatabase/Database.idl
@@ -27,6 +27,7 @@
*/
[
+ NoInterfaceObject
] interface Database {
readonly attribute DOMString version;
void changeVersion(DOMString oldVersion, DOMString newVersion, optional SQLTransactionCallback callback, optional SQLTransactionErrorCallback errorCallback, optional VoidCallback successCallback);
diff --git a/modules/webdatabase/DatabaseSync.idl b/modules/webdatabase/DatabaseSync.idl
index 5581e48..eaaf30f 100644
--- a/modules/webdatabase/DatabaseSync.idl
+++ b/modules/webdatabase/DatabaseSync.idl
@@ -29,6 +29,7 @@
*/
[
+ NoInterfaceObject
] interface DatabaseSync {
readonly attribute DOMString version;
readonly attribute DOMString lastErrorMessage;
diff --git a/modules/webdatabase/SQLError.idl b/modules/webdatabase/SQLError.idl
index 875775a..daaed71 100644
--- a/modules/webdatabase/SQLError.idl
+++ b/modules/webdatabase/SQLError.idl
@@ -27,7 +27,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface SQLError {
readonly attribute unsigned long code;
readonly attribute DOMString message;
diff --git a/modules/webdatabase/SQLException.idl b/modules/webdatabase/SQLException.idl
index 3dc160a..a71ed0a 100644
--- a/modules/webdatabase/SQLException.idl
+++ b/modules/webdatabase/SQLException.idl
@@ -29,8 +29,7 @@
*/
[
- DoNotCheckConstants,
- ImplementationLacksVTable
+ DoNotCheckConstants
] exception SQLException {
readonly attribute unsigned long code;
readonly attribute DOMString message;
diff --git a/modules/webdatabase/SQLResultSet.idl b/modules/webdatabase/SQLResultSet.idl
index 18ea2af..d3ce314 100644
--- a/modules/webdatabase/SQLResultSet.idl
+++ b/modules/webdatabase/SQLResultSet.idl
@@ -27,7 +27,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface SQLResultSet {
readonly attribute SQLResultSetRowList rows;
diff --git a/modules/webdatabase/SQLResultSetRowList.idl b/modules/webdatabase/SQLResultSetRowList.idl
index 1891c92..05dd04b 100644
--- a/modules/webdatabase/SQLResultSetRowList.idl
+++ b/modules/webdatabase/SQLResultSetRowList.idl
@@ -27,7 +27,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface SQLResultSetRowList {
readonly attribute unsigned long length;
[Custom] any item(unsigned long index);
diff --git a/modules/webdatabase/SQLTransaction.idl b/modules/webdatabase/SQLTransaction.idl
index 472e1b9..d506b75 100644
--- a/modules/webdatabase/SQLTransaction.idl
+++ b/modules/webdatabase/SQLTransaction.idl
@@ -27,7 +27,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface SQLTransaction {
[Custom] void executeSql(DOMString sqlStatement,
ObjectArray arguments,
diff --git a/modules/webdatabase/SQLTransactionSync.idl b/modules/webdatabase/SQLTransactionSync.idl
index fd37398..732dba3 100644
--- a/modules/webdatabase/SQLTransactionSync.idl
+++ b/modules/webdatabase/SQLTransactionSync.idl
@@ -29,7 +29,7 @@
*/
[
- ImplementationLacksVTable
+ NoInterfaceObject
] interface SQLTransactionSync {
[Custom] SQLResultSet executeSql(DOMString sqlStatement, ObjectArray arguments);
};
diff --git a/modules/webmidi/MIDIConnectionEvent.idl b/modules/webmidi/MIDIConnectionEvent.idl
index 3946564..59481a3 100644
--- a/modules/webmidi/MIDIConnectionEvent.idl
+++ b/modules/webmidi/MIDIConnectionEvent.idl
@@ -29,6 +29,7 @@
*/
[
+ NoInterfaceObject,
ConstructorTemplate=Event
] interface MIDIConnectionEvent : Event {
[InitializedByEventConstructor] readonly attribute MIDIPort port;
diff --git a/modules/webmidi/MIDIInput.idl b/modules/webmidi/MIDIInput.idl
index f4cd4f2..8c0ae3c 100644
--- a/modules/webmidi/MIDIInput.idl
+++ b/modules/webmidi/MIDIInput.idl
@@ -29,6 +29,7 @@
*/
[
+ NoInterfaceObject,
ActiveDOMObject,
EventTarget
] interface MIDIInput : MIDIPort {
diff --git a/modules/webmidi/MIDIMessageEvent.idl b/modules/webmidi/MIDIMessageEvent.idl
index 9373011..5a9c05f 100644
--- a/modules/webmidi/MIDIMessageEvent.idl
+++ b/modules/webmidi/MIDIMessageEvent.idl
@@ -31,6 +31,7 @@
// FIXME: The spec doesn't provide details about constructor, yet.
// See also, https://github.com/WebAudio/web-midi-api/issues/1 .
[
+ NoInterfaceObject,
ConstructorTemplate=Event
] interface MIDIMessageEvent : Event {
[InitializedByEventConstructor] readonly attribute double receivedTime;
diff --git a/modules/inputmethod/Composition.idl b/modules/webmidi/MIDIOutput.idl
similarity index 88%
copy from modules/inputmethod/Composition.idl
copy to modules/webmidi/MIDIOutput.idl
index 155d74b..a07ec6f 100644
--- a/modules/inputmethod/Composition.idl
+++ b/modules/webmidi/MIDIOutput.idl
@@ -28,10 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// http://www.w3.org/TR/ime-api/
[
- ImplementationLacksVTable
-] interface Composition {
- readonly attribute Node text;
- readonly attribute Range caret;
+ NoInterfaceObject
+] interface MIDIOutput : MIDIPort {
+ void send(Uint8Array data, optional double timestamp);
+ void send(sequence<unsigned long> data, optional double timestamp);
};
diff --git a/modules/webmidi/MIDIPort.idl b/modules/webmidi/MIDIPort.idl
index 226387c..e7e2aa9 100644
--- a/modules/webmidi/MIDIPort.idl
+++ b/modules/webmidi/MIDIPort.idl
@@ -34,6 +34,7 @@
};
[
+ NoInterfaceObject,
ActiveDOMObject,
EventTarget
] interface MIDIPort {
diff --git a/modules/websockets/DOMWindowWebSocket.idl b/modules/websockets/DOMWindowWebSocket.idl
deleted file mode 100644
index c8d2d64..0000000
--- a/modules/websockets/DOMWindowWebSocket.idl
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-partial interface DOMWindow {
- attribute CloseEventConstructor CloseEvent;
- attribute WebSocketConstructor WebSocket; // Usable with the new operator
-};
-