blob: d4aa6e91e4a94f2b14c9d191e98919c8a535523a [file] [log] [blame]
<!doctype html>
<!--
This file is autogenerated with polymer/tool/create_message_details_page.dart
-->
<html>
<style>
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: url(https://themes.googleusercontent.com/static/fonts/montserrat/v4/zhcz-_WihjSQC0oHJ9TCYL3hpw3pgy2gAi-Ip7WPMi0.woff) format('woff');
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 700;
src: url(https://themes.googleusercontent.com/static/fonts/montserrat/v4/IQHow_FEYlDC4Gzy_m8fcnbFhgvWbfSbdVg11QabG8w.woff) format('woff');
}
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url(https://themes.googleusercontent.com/static/fonts/roboto/v10/Hgo13k-tfSpn0qi1SFdUfbO3LdcAZYWl9Si6vvxL-qU.woff) format('woff');
}
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url(https://themes.googleusercontent.com/static/fonts/roboto/v10/CrYjSnGjrRCn0pd9VQsnFOvvDin1pK8aKteLpeZ5c0A.woff) format('woff');
}
body {
width: 80vw;
margin: 20px;
font-family: Roboto, sans-serif;
background-color: #f0f0f0;
}
h2 {
font-family: Montserrat, sans-serif;
box-sizing: border-box;
color: rgb(72, 72, 72);
display: block;
font-style: normal;
font-variant: normal;
font-weight: normal;
}
div:target {
background-color: #fff;
border: 1px solid #888;
border-radius: 5px;
padding: 0px 10px 2px 10px;
box-shadow: 7px 7px 5px #888888;
margin-bottom: 15px;
}
h3 {
font-family: Montserrat, sans-serif;
box-sizing: border-box;
color: rgb(72, 72, 72);
display: block;
font-style: normal;
font-variant: normal;
font-weight: normal;
}
div:target > h3 {
font-weight: bold;
}
pre {
display: block;
padding: 9.5px;
margin: 0 0 10px;
color: #333;
word-break: break-all;
word-wrap: break-word;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 4px;
}
code {
font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
box-sizing: border-box;
padding: 0;
font-size: 90%;
color: #0084c5;
white-space: nowrap;
border-radius: 4px;
background-color: #f9f2f4;
}
pre code {
white-space: inherit;
color: inherit;
background-color: inherit;
}
a {
color: rgb(42, 100, 150);
}
h3 > a {
display: none;
font-size: 0.8em;
}
h3:hover > a {
display: inline;
}
</style>
<body>
<h2>Messages from package <code>code_transformers</code></h2>
<hr />
<div id="code_transformers_1"><h3>Absolute paths not allowed <a href="#code_transformers_1">#1</a></h3>
<p>The transformers processing your code were trying to resolve a URL and identify
a file that they correspond to. Currently only relative paths can be resolved.</p>
</div><hr />
<div id="code_transformers_2"><h3>Invalid URL to reach another package <a href="#code_transformers_2">#2</a></h3>
<p>To reach an asset that belongs to another package, use <code>package:</code> URLs in
Dart code, but in any other language (like HTML or CSS) use relative URLs that
first go all the way to the <code>packages/</code> directory.</p>
<p>The rules for correctly writing these imports are subtle and have a lot of
special cases. Please review
<a href="https://www.dartlang.org/polymer/app-directories.html">https://www.dartlang.org/polymer/app-directories.html</a> to learn
more.</p>
</div><hr />
<div id="code_transformers_3"><h3>Incomplete URL to asset in another package <a href="#code_transformers_3">#3</a></h3>
<p>URLs that refer to assets in other packages need to explicitly mention the
<code>packages/</code> directory. In the future this requirement might be removed, but for
now you must use a canonical URL form for it.</p>
<p>For example, if <code>packages/a/a.html</code> needs to import <code>packages/b/b.html</code>,
you might expect a.html to import <code>../b/b.html</code>. Instead, it must import
<code>../../packages/b/b.html</code>.</p>
<p>See <a href="http://dartbug.com/15797">issue 15797</a> and
<a href="https://www.dartlang.org/polymer/app-directories.html">https://www.dartlang.org/polymer/app-directories.html</a> to learn more.</p>
</div><hr /><h2>Messages from package <code>observe</code></h2>
<hr />
<div id="observe_1"><h3><code>@observable</code> not supported on libraries <a href="#observe_1">#1</a></h3>
<p>Only instance fields on <code>Observable</code> classes can be observable,
and you must explicitly annotate each observable field as <code>@observable</code>.</p>
<p>Support for using the <code>@observable</code> annotation in libraries, classes, and
elsewhere is deprecated.</p>
</div><hr />
<div id="observe_2"><h3><code>@observable</code> not supported on top-level fields <a href="#observe_2">#2</a></h3>
<p>Only instance fields on <code>Observable</code> classes can be observable,
and you must explicitly annotate each observable field as <code>@observable</code>.</p>
<p>Support for using the <code>@observable</code> annotation in libraries, classes, and
elsewhere is deprecated.</p>
</div><hr />
<div id="observe_3"><h3><code>@observable</code> not supported on classes <a href="#observe_3">#3</a></h3>
<p>Only instance fields on <code>Observable</code> classes can be observable,
and you must explicitly annotate each observable field as <code>@observable</code>.</p>
<p>Support for using the <code>@observable</code> annotation in libraries, classes, and
elsewhere is deprecated.</p>
</div><hr />
<div id="observe_4"><h3><code>@observable</code> not supported on static fields <a href="#observe_4">#4</a></h3>
<p>Only instance fields on <code>Observable</code> classes can be observable,
and you must explicitly annotate each observable field as <code>@observable</code>.</p>
<p>Support for using the <code>@observable</code> annotation in libraries, classes, and
elsewhere is deprecated.</p>
</div><hr />
<div id="observe_5"><h3><code>@observable</code> field not in an <code>Observable</code> class <a href="#observe_5">#5</a></h3>
<p>Only instance fields on <code>Observable</code> classes can be observable,
and you must explicitly annotate each observable field as <code>@observable</code>.</p>
<p>Support for using the <code>@observable</code> annotation in libraries, classes, and
elsewhere is deprecated.</p>
</div><hr /><h2>Messages from package <code>polymer</code></h2>
<hr />
<div id="polymer_1"><h3>Import not found <a href="#polymer_1">#1</a></h3>
<p>An HTML import seems to be broken. This could be because the file doesn't exist
or because the link URL is incorrect.</p>
</div><hr />
<div id="polymer_2"><h3>Duplicate definition <a href="#polymer_2">#2</a></h3>
<p>Custom element names are global and can only be defined once. Some common
reasons why you might get two definitions:</p><ul><li>Two different elements are declared with the same name.</li><li>
<p>A single HTML file defining an element, has been imported using two different
URLs.</p></li></ul>
</div><hr />
<div id="polymer_3"><h3>Missing import to polymer.html <a href="#polymer_3">#3</a></h3>
<p>Starting with polymer 0.11.0, each file that uses the definition
of polymer-element must import it either directly or transitively.</p>
</div><hr />
<div id="polymer_4"><h3>Invalid import inside &lt;polymer-element> <a href="#polymer_4">#4</a></h3>
<p>HTML imports are expected at the top of each document, outside of any
polymer-element definitions. The polymer build process combines all your HTML
files together so you can deploy a single HTML file with your application. This
build process ignores imports that appear to be in the wrong location.</p>
</div><hr />
<div id="polymer_5"><h3>Missing call to <code>initPolymer()</code> <a href="#polymer_5">#5</a></h3>
<p>Your application entry point didn't have any Dart script tags, so it's missing
some initialization needed for polymer.dart.</p>
</div><hr />
<div id="polymer_6"><h3>Script tags with experimental bootstrap <a href="#polymer_6">#6</a></h3>
<p>This experimental feature is no longer supported.</p>
</div><hr />
<div id="polymer_7"><h3>Multiple Dart script tags per document <a href="#polymer_7">#7</a></h3>
<p>Dartium currently allows only one script tag per document. Any
additional script tags might be ignored or result in an error. This will
likely change in the future, but for now, combine the script tags together into
a single Dart library.</p>
</div><hr />
<div id="polymer_8"><h3>Imports before script tags <a href="#polymer_8">#8</a></h3>
<p>It is good practice to put all your HTML imports at the beginning of the
document, above any Dart script tags. Today, the execution of Dart script tags
is not synchronous in Dartium, so the difference is not noticeable. However,
Dartium that will eventually change and make the timing of script tags execution
match how they are in JavaScript. At that point the order of your imports with
respect to script tags will be important. Following the practice of putting
imports first protects your app from a future breaking change in this respect.</p>
</div><hr />
<div id="polymer_9"><h3>Missing href on a <code>&lt;link&gt;</code> tag <a href="#polymer_9">#9</a></h3>
<p>All <code>&lt;link&gt;</code> tags should have a valid URL to a resource.</p>
</div><hr />
<div id="polymer_10"><h3><code>&lt;element&gt;</code> is deprecated <a href="#polymer_10">#10</a></h3>
<p>Long ago <code>&lt;polymer-element&gt;</code> used to be called <code>&lt;element&gt;</code>. You probably ran
into this error if you were migrating code that was written on a very early
version of polymer.</p>
</div><hr />
<div id="polymer_11"><h3>Definition of a custom element not found <a href="#polymer_11">#11</a></h3>
<p>The polymer build was not able to find the definition of a custom element. This
can happen if an element is defined with a <code>&lt;polymer-element&gt;</code> tag, but you are
missing an HTML import or the import link is incorrect.</p>
<p>This warning can also be a false alarm. For instance, when an element is defined
programatically using <code>document.registerElement</code>. In that case the polymer build
will not be able to see the definition and will produce this warning.</p>
</div><hr />
<div id="polymer_12"><h3>Empty script tag <a href="#polymer_12">#12</a></h3>
<p>Script tags should either have a <code>src</code> attribute or a non-empty body.</p>
</div><hr />
<div id="polymer_13"><h3>Expected Dart mime-type <a href="#polymer_13">#13</a></h3>
<p>You seem to have a <code>.dart</code> extension on a script tag, but the mime-type
doesn't match <code>application/dart</code>.</p>
</div><hr />
<div id="polymer_14"><h3>Expected Dart file extension <a href="#polymer_14">#14</a></h3>
<p>You are using the <code>application/dart</code> mime-type on a script tag, so
the URL to the script source URL should have a <code>.dart</code> extension.</p>
</div><hr />
<div id="polymer_15"><h3>Script with both src and inline text <a href="#polymer_15">#15</a></h3>
<p>You have a script tag that includes both a <code>src</code> attribute and inline script
text. You must choose one or the other.</p>
</div><hr />
<div id="polymer_16"><h3>Incorrect instantiation: missing base tag in instantiation <a href="#polymer_16">#16</a></h3>
<p>When you declare that a custom element extends from a base tag, for example:</p>
<pre><code>&lt;polymer-element name="my-example" extends="ul"&gt;
</code></pre>
<p>or:</p>
<pre><code>&lt;polymer-element name="my-example2" extends="ul"&gt;
&lt;polymer-element name="my-example" extends="my-example2"&gt;
</code></pre>
<p>You should instantiate <code>my-example</code> by using this syntax:</p>
<pre><code>&lt;ul is="my-example"&gt;
</code></pre>
<p>And not:</p>
<pre><code>&lt;my-example&gt;
</code></pre>
<p>Only elements that don't extend from existing HTML elements are created using
the latter form.</p>
<p>This is because browsers first create the base element, and then upgrade it to
have the extra functionality of your custom element. In the example above, using
<code>&lt;ul&gt;</code> tells the browser which base type it must create before
doing the upgrade.</p>
</div><hr />
<div id="polymer_17"><h3>Incorrect instantiation: extra <code>is</code> attribute or missing <code>extends</code> in declaration <a href="#polymer_17">#17</a></h3>
<p>Creating a custom element using the syntax:</p>
<pre><code>&lt;ul is="my-example"&gt;
</code></pre>
<p>means that the declaration of <code>my-example</code> extends transitively from <code>ul</code>. This
error message is shown if the definition of <code>my-example</code> doesn't declare this
extension. It might be that you no longer extend from the base element, in which
case the fix is to change the instantiation to:</p>
<pre><code>&lt;my-example&gt;
</code></pre>
<p>Another possibility is that the declaration needs to be fixed to include the
<code>extends</code> attribute, for example:</p>
<pre><code>&lt;polymer-element name="my-example" extends="ul"&gt;
</code></pre>
</div><hr />
<div id="polymer_18"><h3>Incorrect instantiation: base tag seems wrong <a href="#polymer_18">#18</a></h3>
<p>It seems you have a declaration like:</p>
<pre><code>&lt;polymer-element name="my-example" extends="div"&gt;
</code></pre>
<p>but an instantiation like:</p>
<pre><code>&lt;span is="my-example"&gt;
</code></pre>
<p>Both the declaration and the instantiation need to match on the base type. So
either the instantiation needs to be fixed to be more like:</p>
<pre><code>&lt;span is="my-example"&gt;
</code></pre>
<p>or the declaration should be fixed to be like:</p>
<pre><code>&lt;polymer-element name="my-example" extends="span"&gt;
</code></pre>
</div><hr />
<div id="polymer_19"><h3>No dashes allowed in custom attributes <a href="#polymer_19">#19</a></h3>
<p>Polymer used to recognize attributes with dashes like <code>my-name</code> and convert them
to match properties where dashes were removed, and words follow the camelCase
style (for example <code>myName</code>). This feature is no longer available. Now simply
use the same name as the property.</p>
<p>Because HTML attributes are case-insensitive, you can also write the name of
your property entirely in lowercase. Just be sure that your custom-elements
don't declare two properties with the same name but different capitalization.</p>
</div><hr />
<div id="polymer_20"><h3>Event handlers not supported here <a href="#polymer_20">#20</a></h3>
<p>Bindings of the form <code>{{ }}</code> are supported inside <code>&lt;template&gt;</code> nodes, even outside
of <code>&lt;polymer-element&gt;</code> declarations. However, those bindings only support binding
values into the content of a node or an attribute.</p>
<p>Inline event handlers of the form <code>on-click="{{method}}"</code> are a special feature
of polymer elements, so they are only supported inside <code>&lt;polymer-element&gt;</code>
definitions.</p>
</div><hr />
<div id="polymer_21"><h3>No expressions allowed in event handler bindings <a href="#polymer_21">#21</a></h3>
<p>Unlike data bindings, event handler bindings of the form <code>on-click="{{method}}"</code>
are not evaluated as expressions. They are meant to just contain a simple name
that resolves to a method in your polymer element's class definition.</p>
</div><hr />
<div id="polymer_22"><h3>Nested polymer element definitions not allowed <a href="#polymer_22">#22</a></h3>
<p>Because custom element names are global, there is no need to have a
<code>&lt;polymer-element&gt;</code> definition nested within a <code>&lt;polymer-element&gt;</code>. If you have
a definition inside another, move the second definition out.</p>
<p>You might see this error if you have an HTML import within a polymer element.
You should be able to move the import out of the element definition.</p>
</div><hr />
<div id="polymer_23"><h3>Polymer element definitions without a name <a href="#polymer_23">#23</a></h3>
<p>Polymer element definitions must have a name. You can include a name by using
the <code>name</code> attribute in <code>&lt;polymer-element&gt;</code> for example:</p>
<pre><code>&lt;polymer-element name="my-example"&gt;
</code></pre>
</div><hr />
<div id="polymer_24"><h3>Custom element name missing a dash <a href="#polymer_24">#24</a></h3>
<p>Custom element names must have a dash (<code>-</code>) and can't be any of the following
reserved names:</p><ul><li><code>annotation-xml</code></li><li><code>color-profile</code></li><li><code>font-face</code></li><li><code>font-face-src</code></li><li><code>font-face-uri</code></li><li><code>font-face-format</code></li><li><code>font-face-name</code></li><li><code>missing-glyph</code></li></ul>
</div><hr />
<div id="polymer_25"><h3>Error while inlining an import <a href="#polymer_25">#25</a></h3>
<p>An error occurred while inlining an import in the polymer build. This is often
the result of a broken HTML import.</p>
</div><hr />
<div id="polymer_26"><h3>Error while inlining a stylesheet <a href="#polymer_26">#26</a></h3>
<p>An error occurred while inlining a stylesheet in the polymer build. This is
often the result of a broken URL in a <code>&lt;link rel="stylesheet" href="..."&gt;</code>.</p>
</div><hr />
<div id="polymer_27"><h3>URL to a script file might be incorrect <a href="#polymer_27">#27</a></h3>
<p>An error occurred trying to read a script tag on a given URL. This is often the
result of a broken URL in a <code>&lt;script src="..."&gt;</code>.</p>
</div><hr />
<div id="polymer_28"><h3>Attribute missing "_" prefix <a href="#polymer_28">#28</a></h3>
<p>Not all browsers support bindings to certain attributes, especially URL
attributes. Some browsers might sanitize attributes and result in an
incorrect value. For this reason polymer provides a special set of attributes
that let you bypass any browser internal attribute validation. The name of the
attribute is the same as the original attribute, but with a leading underscore.
For example, instead of writing:</p>
<pre><code>&lt;img src="{{binding}}"&gt;
</code></pre>
<p>you can write:</p>
<pre><code>&lt;img _src="{{binding}}"&gt;
</code></pre>
<p>For more information, see <a href="http://goo.gl/5av8cU">http://goo.gl/5av8cU</a>.</p>
</div><hr />
<div id="polymer_29"><h3>Attribute with extra "_" prefix <a href="#polymer_29">#29</a></h3>
<p>A special attribute exists to support bindings on URL attributes. For example,
this correctly binds the <code>src</code> attribute in an image:</p>
<pre><code>&lt;img _src="{{binding}}"&gt;
</code></pre>
<p>However, this special <code>_src</code> attribute is only available for bindings. If you
just have a URL, use the normal <code>src</code> attribute instead.</p>
</div><hr />
<div id="polymer_30"><h3>Internal error: don't know how to include a URL <a href="#polymer_30">#30</a></h3>
<p>Sorry, you just ran into a bug in the polymer transformer code. Please file a
bug at <a href="http://dartbug.com/new">http://dartbug.com/new</a> including, if possible, some example code that
can help the team reproduce the issue.</p>
</div><hr />
<div id="polymer_31"><h3>Internal error: phases run out of order <a href="#polymer_31">#31</a></h3>
<p>Sorry, you just ran into a bug in the polymer transformer code. Please file a
bug at <a href="http://dartbug.com/new">http://dartbug.com/new</a> including, if possible, some example code that
can help the team reproduce the issue.</p>
</div><hr />
<div id="polymer_32"><h3><code>@CustomTag</code> used on a private class <a href="#polymer_32">#32</a></h3>
<p>The <code>@CustomTag</code> annotation is currently only supported on public classes. If
you need to register a custom element whose implementation is a private class
(that is, a class whose name starts with <code>_</code>), you can still do so by invoking
<code>Polymer.register</code> within a public method marked with <code>@initMethod</code>.</p>
</div><hr />
<div id="polymer_33"><h3><code>@initMethod</code> is on a private function <a href="#polymer_33">#33</a></h3>
<p>The <code>@initMethod</code> annotation is currently only supported on public top-level
functions.</p>
</div><hr />
<div id="polymer_34"><h3>Missing argument in annotation <a href="#polymer_34">#34</a></h3>
<p>The annotation expects one argument, but the argument was not provided.</p>
</div><hr />
<div id="polymer_35"><h3>Invalid argument in annotation <a href="#polymer_35">#35</a></h3>
<p>The polymer transformer was not able to extract a constant value for the
annotation argument. This can happen if your code is currently in a state that
can't be analyzed (for example, it has parse errors) or if the expression passed
as an argument is invalid (for example, it is not a compile-time constant).</p>
</div><hr />
<div id="polymer_36"><h3>No polymer initializers found <a href="#polymer_36">#36</a></h3>
<p>No polymer initializers were found. Make sure to either
annotate your polymer elements with @CustomTag or include a
top level method annotated with @initMethod that registers your
elements. Both annotations are defined in the polymer library (
package:polymer/polymer.dart).</p>
</div><hr />
<div id="polymer_37"><h3>Event bindings with @ are no longer supported <a href="#polymer_37">#37</a></h3>
<p>For a while there was an undocumented feature that allowed users to include
expressions in event bindings using the <code>@</code> prefix, for example:</p>
<pre><code>&lt;div on-click="{{@a.b.c}}"&gt;
</code></pre>
<p>This feature is no longer supported.</p>
</div><hr />
<div id="polymer_38"><h3>Private symbol in event handler <a href="#polymer_38">#38</a></h3>
<p>Currently private members can't be used in event handler bindings. So you can't
write:</p>
<pre><code>&lt;div on-click="{{_method}}"&gt;
</code></pre>
<p>This restriction might be removed in the future, but for now, you need to make
your event handlers public.</p>
</div><hr />
<div id="polymer_39"><h3>Private symbol in binding expression <a href="#polymer_39">#39</a></h3>
<p>Private members can't be used in binding expressions. For example, you can't
write:</p>
<pre><code>&lt;div&gt;{{a.b._c}}&lt;/div&gt;
</code></pre>
</div><hr />
<div id="polymer_40"><h3>A warning was found while parsing the HTML document <a href="#polymer_40">#40</a></h3>
<p>The polymer transformer uses a parser that implements the HTML5 spec
(<code>html</code>). This message reports a
warning that the parser detected.</p>
</div><hr />
<div id="polymer_41"><h3>Possible flash of unstyled content <a href="#polymer_41">#41</a></h3>
<p>Custom element found in document body without an "unresolved" attribute on it or
one of its parents. This means your app probably has a flash of unstyled content
before it finishes loading. See <a href="http://goo.gl/iN03Pj">http://goo.gl/iN03Pj</a> for more info.</p>
</div><hr />
<div id="polymer_42"><h3>A css file was inlined multiple times. <a href="#polymer_42">#42</a></h3>
<p>Css files are inlined by default, but if you import the same one in multiple
places you probably want to change this behavior to prevent duplicate code.</p>
<p>There are three typical options for dealing with this:</p><ol><li>
<p><strong>Recommended</strong>: Use the <code>core-style</code> element from the <code>core_elements</code>
package.</p>
<p>The easiest way to do this is change your <code>*.css</code> file into a <code>*.html</code> file,
and wrap the entire thing in a <code>core-style</code> with an id, something like the
following:</p>
<pre><code>&lt;core-style id="my-theme"&gt;
p {
color: red;
}
&lt;/core-style&gt;
</code></pre>
<p>Now, in the files where you were previously including the
<code>&lt;link rel="stylesheet"&gt;</code> tag, add an html import to the top of your
document pointing to the new html file. Once that is done, replace the
<code>&lt;link&gt;</code> tag with a <code>&lt;core-style&gt;</code> tag which has a <code>ref</code> attribute that is
the same as the <code>id</code> attribute on the <code>&lt;core-style&gt;</code> you created. So your
original html:</p>
<pre><code>&lt;polymer-element name="my-element"&gt;
&lt;template&gt;
&lt;link rel="stylesheet" href="my_theme.css"&gt;
&lt;/template&gt;
&lt;/polymer-element&gt;
</code></pre>
<p>Becomes:</p>
<pre><code>&lt;link rel="import" href="my_theme.html"&gt;
&lt;polymer-element name="my-element"&gt;
&lt;template&gt;
&lt;core-style ref="my-theme"&gt;&lt;/core-style&gt;
&lt;/template&gt;
&lt;/polymer-element&gt;
</code></pre></li><li>
<p>Opt out of the inlining for this file in your pubspec.yaml:</p>
<pre><code>transformers:
- polymer:
inline_stylesheets:
web/my_file.css: false
</code></pre>
<p><strong>Warning</strong>: <code>&lt;link rel="stylesheet"&gt;</code> tags are not natively supported in
shadow-dom. Polymer will do an xhr request for the stylesheet and inject an
inline style with its contents in each place this stylesheet occurs.</p></li><li>
<p>Opt into multiple inlining in your pubspec.yaml:</p>
<pre><code>transformers:
- polymer:
inline_stylesheets:
web/my_file.css: true
</code></pre>
<p><strong>Warning</strong>: You should only ever do this if your stylesheet is very small.
Even then stylesheets tend to grow quickly and almost never decrease in size
so this method is highly discouraged.</p></li></ol>
</div><hr />
<div id="polymer_43"><h3>"dart_support.js" injected automatically <a href="#polymer_43">#43</a></h3>
<p>The script <code>packages/web_components/dart_support.js</code> is still used, but you no
longer need to put it in your application's entrypoint.</p>
<p>In the past this file served two purposes:</p><ul><li>to make dart2js work well with the web_components polyfills, and</li><li>to support registering Dart APIs for JavaScript custom elements.</li></ul>
<p>Now, the code from <code>dart_support.js</code> is split in two halves. The half for
dart2js is now injected by the polymer transformers automatically during <code>pub
build</code>. The <code>web_components</code> package provides an HTML file containing the other
half. Developers of packages that wrap JavaScript custom elements (like
<code>core_elements</code> and <code>paper_elements</code>) will import that file directly, so
application developers don't have to worry about it anymore.</p>
</div><hr />
<div id="polymer_44"><h3>Dart script file included more than once. <a href="#polymer_44">#44</a></h3>
<p>Duplicate dart scripts often happen if you have multiple html imports that
include the same script. The simplest workaround for this is to move your dart
script to its own html file, and import that instead of the script (html imports
are automatically deduped).</p>
<p>For example:</p>
<pre><code>&lt;script type="application/dart" src="foo.dart"&gt;&lt;/script&gt;
</code></pre>
<p>Should turn into:</p>
<pre><code>&lt;link rel="import" href="foo.html"&gt;
</code></pre>
<p>And <code>foo.html</code> should look like:</p>
<pre><code>&lt;script type="application/dart" src="foo.dart"&gt;&lt;/script&gt;
</code></pre>
</div><hr />
<div id="polymer_45"><h3>"webcomponents.js" injected automatically <a href="#polymer_45">#45</a></h3>
<p>The script <code>packages/web_components/webcomponents.js</code> is still used, but you no
longer need to put it in your application's entrypoint.</p>
<p>The polyfills provided by this file are no longer required in chrome and will
automatically be added during <code>pub build</code> and <code>pub serve</code>.</p>
</div><hr />
<div id="polymer_46"><h3>"platform.js" renamed to "webcomponents.js". <a href="#polymer_46">#46</a></h3>
<p>The script <code>packages/web_components/platform.js</code> has been renamed to
<code>packages/web_components/webcomponents.js</code>. This is automatically fixed in
<code>pub serve</code> and <code>pub build</code> but we may remove this functionality in the next
breaking version of Polymer.</p>
<p>In addition, it is no longer required that you include this file directly, as
<code>pub build</code> and <code>pub serve</code> will inject it for you, and its not required when
running in dartium with a local server.</p>
</div><hr />
<div id="polymer_47"><h3>Missing Dart script tag in entry point. <a href="#polymer_47">#47</a></h3>
<p>All entry points should have a dart script file. This can sometimes happen if
you are using the default entry_points value in your polymer transformer
configuration but have files which are not entry points in your <code>web</code> or <code>test</code>
directory. Moving these files to your <code>lib</code> folder or specifying all your entry
points in your configuration will fix this.</p>
</div><hr />
<div id="polymer_48"><h3>polymer.dart not imported. <a href="#polymer_48">#48</a></h3>
<p>It is required that your application contains an import to
<code>package:polymer/polymer.dart</code>.</p>
</div><hr /><h2>Messages from package <code>web_components</code></h2>
<hr />
<div id="web_components_0"><h3>URL to a script file might be incorrect <a href="#web_components_0">#0</a></h3>
<p>An error occurred trying to read a script tag on a given URL. This is often the
result of a broken URL in a <code>&lt;script src="..."&gt;</code>.</p>
</div><hr />
<div id="web_components_1"><h3>Dart script file included more than once. <a href="#web_components_1">#1</a></h3>
<p>Duplicate dart scripts often happen if you have multiple html imports that
include the same script. The simplest workaround for this is to move your dart
script to its own html file, and import that instead of the script (html imports
are automatically deduped).</p>
<p>For example:</p>
<pre><code>&lt;script type="application/dart" src="foo.dart"&gt;&lt;/script&gt;
</code></pre>
<p>Should turn into:</p>
<pre><code>&lt;link rel="import" href="foo.html"&gt;
</code></pre>
<p>And <code>foo.html</code> should look like:</p>
<pre><code>&lt;script type="application/dart" src="foo.dart"&gt;&lt;/script&gt;
</code></pre>
</div><hr />
<div id="web_components_2"><h3>Each entry point html file should contain exactly one dart script tag. <a href="#web_components_2">#2</a></h3>
<p>Each entry point html file should contain exactly one dart script tag.</p>
</div><hr />
<div id="web_components_3"><h3>Internal error: don't know how to include a URL <a href="#web_components_3">#3</a></h3>
<p>Sorry, you just ran into a bug in the web_components transformer code. Please
file a bug at <a href="https://github.com/dart-lang/web-components/issues/new">https://github.com/dart-lang/web-components/issues/new</a>
including, if possible, some example code that can help the team reproduce the
issue.</p>
</div><hr />
<div id="web_components_4"><h3>Error while inlining an import <a href="#web_components_4">#4</a></h3>
<p>An error occurred while inlining an import in the web_components build. This is
often the result of a broken HTML import.</p>
<p>One possible cause is using an @HtmlImport containing a relative path from
within an inline script tag, see http://goo.gl/ZgrhaV. The workaround currently
is to use a <code>package:</code> url instead, move the code to a dart file, or simply
adding a real html import (since you are already in an html file).</p>
</div><hr /></body>
</html>