Skip to content

Commit

Permalink
BREAKING CHANGE(core/webidl): deprecate serializers
Browse files Browse the repository at this point in the history
  • Loading branch information
marcoscaceres committed Jun 27, 2017
1 parent d845633 commit c48dc09
Show file tree
Hide file tree
Showing 5 changed files with 3 additions and 71 deletions.
3 changes: 0 additions & 3 deletions js/core/templates/webidl-contiguous/serializer.html

This file was deleted.

2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -51,7 +51,7 @@
"text": "github:requirejs/text",
"uglify-es": "^3.0.20",
"url-search-params": "^0.9.0",
"webidl2": "^3.0.2"
"webidl2": "^4.0.0"
},
"scripts": {
"babel:build": "babel src -d js --source-maps",
Expand Down
34 changes: 2 additions & 32 deletions src/core/webidl.js
Expand Up @@ -28,7 +28,6 @@ var idlMaplikeTmpl = tmpls["maplike.html"];
var idlMethodTmpl = tmpls["method.html"];
var idlMultiLineCommentTmpl = tmpls["multiline-comment.html"];
var idlParamTmpl = tmpls["param.html"];
var idlSerializerTmpl = tmpls["serializer.html"];
var idlTypedefTmpl = tmpls["typedef.html"];
// TODO: make these linkable somehow.
// https://github.com/w3c/respec/issues/999
Expand Down Expand Up @@ -426,7 +425,6 @@ const idlKeywords = new Set([
"RegExp",
"required",
"sequence",
"serializer",
"setlike",
"setter",
"short",
Expand Down Expand Up @@ -457,7 +455,6 @@ const argumentNameKeyword = new Set([
"maplike",
"partial",
"required",
"serializer",
"setlike",
"setter",
"static",
Expand Down Expand Up @@ -646,7 +643,6 @@ function writeInterfaceDefinition(opt, callback) {
obj.members.forEach(function(it) {
if (
typeIsWhitespace(it.type) ||
it.type === "serializer" ||
it.type === "maplike" ||
it.type === "iterable"
) {
Expand All @@ -671,8 +667,6 @@ function writeInterfaceDefinition(opt, callback) {
return writeMethod(ch, maxMeth, indent + 1);
case "const":
return writeConst(ch, maxConst, indent + 1);
case "serializer":
return writeSerializer(ch, indent + 1);
case "maplike":
return writeMaplike(ch, indent + 1);
case "iterable":
Expand Down Expand Up @@ -749,7 +743,6 @@ function writeMethod(meth, max, indent) {
"setter",
"deleter",
"legacycaller",
"serializer",
"stringifier",
];
var special = "";
Expand Down Expand Up @@ -824,22 +817,6 @@ function writeMultiLineComment(comment, indent) {
});
}

function writeSerializer(serializer, indent) {
var values = "";
if (serializer.patternMap) {
values = "{" + serializer.names.join(", ") + "}";
} else if (serializer.patternList) {
values = "[" + serializer.patternList.join(", ") + "]";
} else if (serializer.name) {
values = serializer.name;
}
return idlSerializerTmpl({
obj: serializer,
indent: indent,
values: values,
});
}

function writeMaplike(maplike, indent) {
var qualifiers = "";
if (maplike.readonly) qualifiers += "readonly ";
Expand Down Expand Up @@ -947,8 +924,7 @@ function linkDefinitions(parse, definitionMap, parent, idlElem) {
defn.setter ||
defn.deleter ||
defn.legacycaller ||
defn.stringifier ||
defn.serializer
defn.stringifier
) {
name = "";
}
Expand Down Expand Up @@ -978,12 +954,6 @@ function linkDefinitions(parse, definitionMap, parent, idlElem) {
defn.idlId =
"idl-def-" + parent.toLowerCase() + "-" + name.toLowerCase();
break;
case "serializer":
name = "serializer";
defn.idlId =
"idl-def-" + parent.toLowerCase() + "-" + name.toLowerCase();
break;

case "implements":
case "ws":
case "ws-pea":
Expand Down Expand Up @@ -1170,7 +1140,7 @@ export function run(conf, doc, cb) {
$df.attr({ id: this.id });
$df
.find(
".idlAttribute,.idlCallback,.idlConst,.idlDictionary,.idlEnum,.idlException,.idlField,.idlInterface,.idlMember,.idlMethod,.idlSerializer,.idlMaplike,.idlIterable,.idlTypedef"
".idlAttribute,.idlCallback,.idlConst,.idlDictionary,.idlEnum,.idlException,.idlField,.idlInterface,.idlMember,.idlMethod,.idlMaplike,.idlIterable,.idlTypedef"
)
.each(function() {
var elem = $(this);
Expand Down
24 changes: 0 additions & 24 deletions tests/spec/core/webidl-spec.js
Expand Up @@ -378,30 +378,6 @@ describe("Core - WebIDL", function() {
done();
});

it("should handle serializer", function(done) {
var $target = $("#serializer-map", doc);
var text =
"interface SerializerMap {\n" +
" attribute DOMString foo;\n" +
" attribute DOMString bar;\n" +
" serializer = {foo, bar};\n" +
"};";
expect($target.text()).toEqual(text);
expect($target.find(".idlSerializer").length).toEqual(1);
var $serializer = $target.find(".idlSerializer").first();
expect($serializer.find(".idlSerializerValues").text()).toEqual(
"{foo, bar}"
);

// Links and IDs.
$serializer = $target.find(".idlSerializer:contains('serializer')");
expect($serializer.attr("id")).toEqual("idl-def-serializermap-serializer");
expect($serializer.children("a").attr("href")).toEqual(
"#dom-serializermap-serializer"
);
done();
});

it("should handle comments", function(done) {
var $target = $("#comments-basic", doc);
var // TODO: Handle comments when WebIDL2 does.
Expand Down
11 changes: 0 additions & 11 deletions tests/spec/core/webidl.html
Expand Up @@ -348,17 +348,6 @@ <h2>Operations</h2>
<dfn>ull</dfn> is a method. Its <dfn data-lt="ull!overload-1">overloaded form</dfn> returns a <code>SuperStar/</code>
</p>
</section>
<section>
<h2>Serializer</h2>
<pre id='serializer-map' class='idl'>
interface SerializerMap {
attribute DOMString foo;
attribute DOMString bar;
serializer = { foo, bar };
};
</pre>
<p id='serializer-map-doc'><dfn for="SerializerMap">serializer</dfn> serializes a SerializerMap.</p>
</section>
<section>
<h2>Comments</h2>
<pre id="comments-basic" class='idl'>
Expand Down

0 comments on commit c48dc09

Please sign in to comment.