Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1055)

Unified Diff: sky/specs/apis.md

Issue 695423004: Specs: Drop the concept of late-bound elements. An element can never be upgraded. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/examples/home.sky ('k') | sky/specs/markup.md » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/specs/apis.md
diff --git a/sky/specs/apis.md b/sky/specs/apis.md
index 71d003ef04f057735e3b37b7517aa84becd9fea5..d2701756d78f1dfc618fd3e9f6cadfd0705d2106 100644
--- a/sky/specs/apis.md
+++ b/sky/specs/apis.md
@@ -142,18 +142,25 @@ module 'sky:core' {
Array<Element> findAll(ParentNode root); // O(N*F()) where N is the number of descendants
}
- // Built-in Elements
+
+ // BUILT-IN ELEMENTS
+
class ImportElement : Element {
constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "import"
+ constructor attribute Boolean shadow; // O(1) // false
}
class TemplateElement : Element {
constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "template"
+ constructor attribute Boolean shadow; // O(1) // false
+
readonly attribute DocumentFragment content; // O(1)
}
class ScriptElement : Element {
@@ -161,18 +168,25 @@ module 'sky:core' {
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "script"
+ constructor attribute Boolean shadow; // O(1) // false
}
class StyleElement : Element {
constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "style"
+ constructor attribute Boolean shadow; // O(1) // false
}
class ContentElement : Element {
constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "content"
+ constructor attribute Boolean shadow; // O(1) // false
+
Array<Node> getDistributedNodes(); // O(N) in distributed nodes
}
class ImgElement : Element {
@@ -180,33 +194,69 @@ module 'sky:core' {
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "img"
+ constructor attribute Boolean shadow; // O(1) // false
+ }
+ class DivElement : Element {
+ constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
+ constructor (ChildArguments... nodes); // shorthand
+ constructor (Dictionary attributes); // shorthand
+ constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "div"
+ constructor attribute Boolean shadow; // O(1) // false
+ }
+ class SpanElement : Element {
+ constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
+ constructor (ChildArguments... nodes); // shorthand
+ constructor (Dictionary attributes); // shorthand
+ constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "span"
+ constructor attribute Boolean shadow; // O(1) // false
}
class IframeElement : Element {
constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "iframe"
+ constructor attribute Boolean shadow; // O(1) // false
}
class TElement : Element {
constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "t"
+ constructor attribute Boolean shadow; // O(1) // false
}
class AElement : Element {
constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "a"
+ constructor attribute Boolean shadow; // O(1) // false
}
class TitleElement : Element {
constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
constructor (ChildArguments... nodes); // shorthand
constructor (Dictionary attributes); // shorthand
constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "title"
+ constructor attribute Boolean shadow; // O(1) // false
}
+ class ErrorElement : Element {
+ constructor (Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
+ constructor (ChildArguments... nodes); // shorthand
+ constructor (Dictionary attributes); // shorthand
+ constructor (); // shorthand
+ constructor attribute String tagName; // O(1) // "error"
+ constructor attribute Boolean shadow; // O(1) // false
+ }
+
+ // MODULES
dictionary ElementRegistration {
String tagName;
@@ -224,20 +274,13 @@ module 'sky:core' {
constructor attribute Boolean shadow;
}
- // MODULES
abstract class AbstractModule : EventTarget {
readonly attribute Document document; // O(1) // the Documentof the module or application
Promise<any> import(String url); // O(Yikes) // returns the module's exports
readonly attribute String url;
- // createElement() lets you create elements that will be upgraded later when you register the element
- Element createElement(String tagName, Dictionary attributes, ChildArguments... nodes); // O(M+N), M = number of attributes, N = number of nodes plus all their descendants
- Element createElement(String tagName, Dictionary attributes); // shorthand
- Element createElement(String tagName, ChildArguments... nodes); // shorthand
- Element createElement(String tagName); // shorthand
-
- ElementConstructor registerElement(ElementRegistration options); // O(N) in number of outstanding elements with that tag name to be upgraded
+ ElementConstructor registerElement(ElementRegistration options); // O(1)
// if you call registerElement() with an object that was created by
// registerElement(), it just returns the object after registering it,
// rather than creating a new constructor
« no previous file with comments | « sky/examples/home.sky ('k') | sky/specs/markup.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698