aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/webidls/BrowserElement.webidl2
-rw-r--r--components/script/dom/webidls/CanvasPattern.webidl2
-rw-r--r--components/script/dom/webidls/ErrorEvent.webidl2
-rw-r--r--components/script/dom/webidls/HTMLCollection.webidl2
-rw-r--r--components/script/dom/webidls/NamedNodeMap.webidl2
-rw-r--r--components/script/dom/webidls/ServoHTMLParser.webidl3
-rw-r--r--components/script/dom/webidls/TestBinding.webidl3
-rw-r--r--components/script/dom/webidls/TestBindingProxy.webidl3
-rw-r--r--components/script/dom/webidls/WebSocket.webidl2
-rw-r--r--python/tidy.py52
10 files changed, 72 insertions, 1 deletions
diff --git a/components/script/dom/webidls/BrowserElement.webidl b/components/script/dom/webidls/BrowserElement.webidl
index f36f3b8a408..27289b5a85d 100644
--- a/components/script/dom/webidls/BrowserElement.webidl
+++ b/components/script/dom/webidls/BrowserElement.webidl
@@ -4,6 +4,8 @@
* You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+// https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/browser
+
callback BrowserElementNextPaintEventCallback = void ();
//dictionary BrowserElementDownloadOptions {
diff --git a/components/script/dom/webidls/CanvasPattern.webidl b/components/script/dom/webidls/CanvasPattern.webidl
index 06a77d0a62d..889682e395c 100644
--- a/components/script/dom/webidls/CanvasPattern.webidl
+++ b/components/script/dom/webidls/CanvasPattern.webidl
@@ -3,6 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+// https://html.spec.whatwg.org/multipage/scripting.html#canvaspattern
+
interface CanvasPattern {
//void setTransform(SVGMatrix matrix);
};
diff --git a/components/script/dom/webidls/ErrorEvent.webidl b/components/script/dom/webidls/ErrorEvent.webidl
index 824cf5f1d18..670ef38685d 100644
--- a/components/script/dom/webidls/ErrorEvent.webidl
+++ b/components/script/dom/webidls/ErrorEvent.webidl
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+// https://html.spec.whatwg.org/multipage/webappapis.html#the-errorevent-interface
+
[Constructor(DOMString type, optional ErrorEventInit eventInitDict)/*, Exposed=(Window,Worker)*/]
interface ErrorEvent : Event {
readonly attribute DOMString message;
diff --git a/components/script/dom/webidls/HTMLCollection.webidl b/components/script/dom/webidls/HTMLCollection.webidl
index 26227c54c4a..693984bcbb8 100644
--- a/components/script/dom/webidls/HTMLCollection.webidl
+++ b/components/script/dom/webidls/HTMLCollection.webidl
@@ -3,6 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+// http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-75708506
+
interface HTMLCollection {
readonly attribute unsigned long length;
getter Element? item(unsigned long index);
diff --git a/components/script/dom/webidls/NamedNodeMap.webidl b/components/script/dom/webidls/NamedNodeMap.webidl
index 5b85e755804..8c21bacd1b7 100644
--- a/components/script/dom/webidls/NamedNodeMap.webidl
+++ b/components/script/dom/webidls/NamedNodeMap.webidl
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+// https://dom.spec.whatwg.org/#interface-namednodemap
+
interface NamedNodeMap {
readonly attribute unsigned long length;
getter Attr? item(unsigned long index);
diff --git a/components/script/dom/webidls/ServoHTMLParser.webidl b/components/script/dom/webidls/ServoHTMLParser.webidl
index 02ad2667a96..c90b28a1376 100644
--- a/components/script/dom/webidls/ServoHTMLParser.webidl
+++ b/components/script/dom/webidls/ServoHTMLParser.webidl
@@ -3,6 +3,9 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+// This interface is entirely internal to Servo, and should not be accessible to
+// web pages.
+
// FIXME: find a better way to hide this from content (#3688)
[NoInterfaceObject]
interface ServoHTMLParser {
diff --git a/components/script/dom/webidls/TestBinding.webidl b/components/script/dom/webidls/TestBinding.webidl
index 0ebf0a41126..379f3e1e51c 100644
--- a/components/script/dom/webidls/TestBinding.webidl
+++ b/components/script/dom/webidls/TestBinding.webidl
@@ -2,6 +2,9 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+// This interface is entirely internal to Servo, and should not be accessible to
+// web pages.
+
enum TestEnum { "", "foo", "bar" };
dictionary TestDictionary {
diff --git a/components/script/dom/webidls/TestBindingProxy.webidl b/components/script/dom/webidls/TestBindingProxy.webidl
index ed578f50f0d..4d01200f405 100644
--- a/components/script/dom/webidls/TestBindingProxy.webidl
+++ b/components/script/dom/webidls/TestBindingProxy.webidl
@@ -9,6 +9,9 @@
*
*/
+// This interface is entirely internal to Servo, and should not be accessible to
+// web pages.
+
interface TestBindingProxy : TestBinding {
getter DOMString getNamedItem(DOMString name);
diff --git a/components/script/dom/webidls/WebSocket.webidl b/components/script/dom/webidls/WebSocket.webidl
index 3fd2fcd403d..4233a0d50b9 100644
--- a/components/script/dom/webidls/WebSocket.webidl
+++ b/components/script/dom/webidls/WebSocket.webidl
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+// https://w3c.github.io/websockets/#the-websocket-interface
+
enum BinaryType { "blob", "arraybuffer" };
[Constructor(DOMString url)]
diff --git a/python/tidy.py b/python/tidy.py
index 6050efc456c..6c04cc8b51b 100644
--- a/python/tidy.py
+++ b/python/tidy.py
@@ -15,7 +15,7 @@ import sys
import toml
from licenseck import licenses
-filetypes_to_check = [".rs", ".rc", ".cpp", ".c", ".h", ".py", ".toml"]
+filetypes_to_check = [".rs", ".rc", ".cpp", ".c", ".h", ".py", ".toml", ".webidl"]
reftest_directories = ["tests/ref"]
reftest_filetype = ".list"
python_dependencies = [
@@ -153,6 +153,53 @@ def check_toml(contents):
yield (idx + 1, "found asterisk instead of minimum version number")
+def check_webidl_spec(contents):
+ # Sorted by this function (in pseudo-Rust). The idea is to group the same
+ # organization together.
+ # fn sort_standards(a: &Url, b: &Url) -> Ordering {
+ # let a_domain = a.domain().split(".");
+ # a_domain.pop();
+ # a_domain.reverse();
+ # let b_domain = b.domain().split(".");
+ # b_domain.pop();
+ # b_domain.reverse();
+ # for i in a_domain.into_iter().zip(b_domain.into_iter()) {
+ # match i.0.cmp(b.0) {
+ # Less => return Less,
+ # Greater => return Greater,
+ # _ => (),
+ # }
+ # }
+ # a_domain.path().cmp(b_domain.path())
+ # }
+ standards = [
+ "//w3c.github.io",
+ "//www.khronos.org/registry/webgl/specs",
+ "//developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/browser",
+ "//developer.mozilla.org/en-US/docs/Web/API",
+ "//dev.w3.org/2006/webapi",
+ "//dev.w3.org/csswg",
+ "//dev.w3.org/fxtf",
+ "//dvcs.w3.org/hg",
+ "//www.w3.org/TR",
+ "//dom.spec.whatwg.org",
+ "//domparsing.spec.whatwg.org",
+ "//encoding.spec.whatwg.org",
+ "//html.spec.whatwg.org",
+ "//url.spec.whatwg.org",
+ "//xhr.spec.whatwg.org",
+ "//www.whatwg.org/html",
+ "//www.whatwg.org/specs",
+ # Not a URL
+ "// This interface is entirely internal to Servo, and should not be" +
+ " accessible to\n// web pages."
+ ]
+ for i in standards:
+ if contents.find(i) != -1:
+ return True
+ return False
+
+
def collect_errors_for_files(files_to_check, checking_functions):
for file_name in files_to_check:
with open(file_name, "r") as fp:
@@ -160,6 +207,9 @@ def collect_errors_for_files(files_to_check, checking_functions):
if file_name.endswith(".toml"):
for error in check_toml(contents):
yield (file_name, error[0], error[1])
+ elif file_name.endswith(".webidl"):
+ if not check_webidl_spec(contents):
+ yield (file_name, 0, "No specification link found.")
else:
for check in checking_functions:
for error in check(contents):