This is part of adding a new conformance rule to add additional type
safety. This will disallow using properties of unknown types or using
unknown properties.
The first parts will be fixing errors caused by the new rule. These
are backwards compatible, so can be applied before the rule is enabled.
Once all the errors and bugs are fixed, the rule will be enabled.
Change-Id: Ic37437a1ad2305bc50a814cdcc562e74703222ac
Also changes the jsdoc template for tutorials with children, to give
the tutorial content itself control over how the links to children are
formatted.
Also fixes annotations for the TextParser interface.
Change-Id: I99502f38bf711b74a596ad804d8abdddee5d6f4d
The new compiler complains about our abuse of the shakaDemo class.
For now, we work around it by suppressing the visibility error.
Long term, we should not try to create one class in many files,
but instead refactor into several classes that use each other's
public methods instead of shared private members.
Change-Id: I96fb53f6e7aab115ae94beb34b3c8d675601826e
We were not able to get our externs generated by the Closure compiler.
There were many issues with the Closure-generated externs, including
the order of the externs and the replacement of record types and enums
with their underlying types.
We made a few attempts to patch the compiler, but could not get our
patches accepted upstream.
This change introduces a new script to generate our externs from
scratch. It uses a JavaScript parser called 'esprima'.
Some interfaces need to be exported to the generated externs, but are
not actually attached to the namespace by the compiler. For this, we
introduce a new annotation. These are the currently-supported export
annotations:
- @export: truly exported (attached to namespace) by the compiler
- @expose: truly exposed (not renamed) by the compiler
- @exportDoc: considered part of the exports in the docs
- @exportInterface: considered part of the exports in generated externs
These annotations are now documented in docs/design/export.md
Change-Id: I33bf7384889c14c9edb0fa5f11caa7c4f4d79af6
This adds anchors to enum docs so that we can link directly to an enum
value. This will be useful for linking to error code docs from the
demo app.
Issue #553
Change-Id: I5d3a7bf11588d9ed4bfea2133edc52f99555d957
Now the generated documentation will include the values of enums, not
just the names. This also adds documentation for shaka.log.
Closes#337
Change-Id: Ie45a5f5df8d173e5a4ba08a1807d918c22d5497c
- Add prereqs section
- Add architecture diagrams
- Adjust doc margins
- Change some wording and fix typos
- Convert alert() to console.error() in basic usage tutorial
- Expand prose in debugging tutorial
- Add comments about asynchronous methods
- Expand description of Closure base
- Change some links to source rather than API docs
- Clarify some vague language
- Refactor some of the plugin text
Modified jsdoc to add a new 'linksource' tag to link directly to the
source code for an entity.
Change-Id: I6b879050fc59917ce98954a4fabd8afca60af456
- Update tutorial link in README
- Fix python version in README
- Move jsdoc conf to docs/ folder
- Add API docs main page
- Change style of inline code blocks
- Don't repeat tutorial title in jsdoc template
- (makes it easier to read tutorials on github as MD)
- Add tutorials for:
- Welcome to Shaka
- Basic Usage
- Debugging
- Configuration
- Networking and Buffering Configuration
- DRM Configuration
- License Server Authentication
- Plugins
- Tutorials still to come:
- License Headers and Track Restrictions
- Special Considerations for Live
- v2 Upgrade Guide
Change-Id: I16401c216cf4023d9097750ac7f6090c68bf3c9b
From now on, all record typedefs will be annotated with @property for
each field in the record. This results in better output from jsdoc.
Since the compiler doesn't care about @property, it's up to the linter
to enforce this documentation convention.
Change-Id: I821badf411175ea2a581f6321ca2911a9ef94547
* Move redesign docs to docs/design/
* Put all build output (including closure deps) in dist/
* Restore doc-building scripts
* Fix small doc error in MPD utils
Change-Id: I930f4f976370885b3c3c37c59f1ae7fcc5522413
This also cleans up compiler errors for:
- Things required but not used
- Things used but not required
- Write-only local variables
We are suppressing the 'unnecessaryCasts' error in specific places
where it is, in fact, necessary to convert between unrelated types
for polyfills and work-alikes.
Change-Id: I155c746116f95383ea0a9caf9239fadccd8601af
This allows the app to intercept media requests to modify its URLs.
The callback accepts the URL for the request and returns a modified
URL or null to use the original.
Closes#148
Change-Id: I08352754ace05f318706fd93910097c0fa7696f0
build.sh now accepts several arguments that will disable features
that will not be needed. The default is to include all features.
Part of #116.
--disable-offline
--disable-dash
--disable-http
Change-Id: Icdaf82b322debbdc1e898e93c539e35894678a8d
* Update compiler to v20150609.
* Since v20150315:
* Promise.prototype.catch externs now provided by compiler.
* Iterator externs now provided by compiler.
* Variadic function syntax has changed.
* Since v20150505:
* BufferSource extern now provided by compiler.
* Since v20150609:
* VideoPlaybackQuality extern now provided by compiler.
b/21559591
Change-Id: Ie7d030422e132879e28b1bdf538991a27ebc25df
Name all tutorials in one file.
Ensure that they are displayed in the same order as they are named
in the JSON file.
Change-Id: I013bcd987e564ea9f345dd80bd1497b55296713a
The AJAX mock calls onload() and onreadystatechange() in the wrong
order. This broke the tests when clock sync via onreadystatechange
was added.
Change-Id: I3f55698b6928d5434d1c3edf3bf7cd3b4bdb7eb3