Implement parallax effect extension #7794

Merged
merged 4 commits into from Mar 1, 2017

Conversation

Projects
None yet
3 participants
@cvializ
Collaborator

cvializ commented Feb 24, 2017

Closes #1443

@cvializ cvializ requested review from aghassemi and dvoytenko Feb 24, 2017

@aghassemi

This comment has been minimized.

Show comment
Hide comment
@aghassemi

aghassemi Feb 25, 2017

Member

@cvializ I will take a look at soon, meanwhile could you please experiment flag around the whole thing? (amp-fx-parallax as the experiment name)

Member

aghassemi commented Feb 25, 2017

@cvializ I will take a look at soon, meanwhile could you please experiment flag around the whole thing? (amp-fx-parallax as the experiment name)

@cvializ

This comment has been minimized.

Show comment
Hide comment
@cvializ

cvializ Feb 25, 2017

Collaborator

Thanks! For the experiment flag, is the guard at extensions/amp-fx-parallax/0.1/amp-fx-parallax.js#164 enough? It runs when the extension script is included.

Collaborator

cvializ commented Feb 25, 2017

Thanks! For the experiment flag, is the guard at extensions/amp-fx-parallax/0.1/amp-fx-parallax.js#164 enough? It runs when the extension script is included.

@aghassemi

This comment has been minimized.

Show comment
Hide comment
@aghassemi

aghassemi Feb 25, 2017

Member

@cvializ almost, needs an entry in experiments.js as well

Member

aghassemi commented Feb 25, 2017

@cvializ almost, needs an entry in experiments.js as well

@cvializ cvializ referenced this pull request Feb 27, 2017

Closed

Weekly Status 2017-02-27 #7813

@aghassemi

Some requests for structural changes. Will review the details of the implementation after the structure is changed.

@@ -0,0 +1,223 @@
+/**

This comment has been minimized.

@aghassemi

aghassemi Feb 27, 2017

Member

Let's add a article-parallax.amp.html to examples folder.
Maybe: https://gist.github.com/aghassemi/0fde9b1df0ad531dbdfc29588ca27c73 (paths need updating)

@aghassemi

aghassemi Feb 27, 2017

Member

Let's add a article-parallax.amp.html to examples folder.
Maybe: https://gist.github.com/aghassemi/0fde9b1df0ad531dbdfc29588ca27c73 (paths need updating)

This comment has been minimized.

@cvializ

cvializ Mar 1, 2017

Collaborator

Done.

@cvializ

cvializ Mar 1, 2017

Collaborator

Done.

+ return new ParallaxService(win);
+ }).start_();
+};
+

This comment has been minimized.

@aghassemi

aghassemi Feb 27, 2017

Member

move the experiment assert right before installing the service here.

@aghassemi

aghassemi Feb 27, 2017

Member

move the experiment assert right before installing the service here.

+ * Installs parallax handlers, tracks the previous scroll position and
+ * implements post-parallax-update scroll hooks.
+ */
+export class ParallaxService {

This comment has been minimized.

@aghassemi

aghassemi Feb 27, 2017

Member

let's move the service under service folder and make it an "ampdoc" level service rather than a window service. See video-manager.js and video-manager-impl for an example.

Note that moving this outside of the component does NOT mean the core AMP library (v0.js) grows in size because it would only get bounded into binaries that actually use it ( e.g. amp-fx-parallax/0.1/amp-fx-parallax.js)

@aghassemi

aghassemi Feb 27, 2017

Member

let's move the service under service folder and make it an "ampdoc" level service rather than a window service. See video-manager.js and video-manager-impl for an example.

Note that moving this outside of the component does NOT mean the core AMP library (v0.js) grows in size because it would only get bounded into binaries that actually use it ( e.g. amp-fx-parallax/0.1/amp-fx-parallax.js)

+ * Install handlers after the document has loaded.
+ */
+ start_() {
+ const win = this.win_;

This comment has been minimized.

@aghassemi

aghassemi Feb 27, 2017

Member

move to or call from the constructor. installing a service should be enough to get it going.

@aghassemi

aghassemi Feb 27, 2017

Member

move to or call from the constructor. installing a service should be enough to get it going.

+ * in the document.
+ * @param {!Window} global
+ */
+function installParallaxHandlers(global) {

This comment has been minimized.

@aghassemi

aghassemi Feb 27, 2017

Member

let's move this, parallaxMutate and transform to be private methods on ParallaxService class and make all other methods on ParallaxService also private.

@aghassemi

aghassemi Feb 27, 2017

Member

let's move this, parallaxMutate and transform to be private methods on ParallaxService class and make all other methods on ParallaxService also private.

@aghassemi

Awesome! Just a few nits and then we can merge.

examples/article-parallax.amp.html
+ <span>Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing<span>
+ </div>
+ </h1>
+ <amp-img height="50vh" layout="fixed-height" src="http://localhost:8000/examples/img/hero@1x.jpg"></amp-img>

This comment has been minimized.

@aghassemi

aghassemi Mar 1, 2017

Member

keep src relative

@aghassemi

aghassemi Mar 1, 2017

Member

keep src relative

examples/article-parallax.amp.html
+<noscript>
+ <style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style>
+</noscript>
+<script async custom-element="amp-fx-parallax" src="../../dist/v0/amp-fx-parallax-0.1.max.js"></script>

This comment has been minimized.

@aghassemi

aghassemi Mar 1, 2017

Member

update the paths to point to CDN (to test locally, hit article-parallax.amp.max.html (note .max.) and server will rewrite the paths to local files.

@aghassemi

aghassemi Mar 1, 2017

Member

update the paths to point to CDN (to test locally, hit article-parallax.amp.max.html (note .max.) and server will rewrite the paths to local files.

+import {ampdocServiceFor} from '../../../src/ampdoc';
+import {installParallaxForDoc} from '../../../src/service/parallax-impl';
+
+const ampdoc = ampdocServiceFor(AMP.win).getAmpDoc();

This comment has been minimized.

@aghassemi

aghassemi Mar 1, 2017

Member

wrap these in onDocumentReady

@aghassemi

aghassemi Mar 1, 2017

Member

wrap these in onDocumentReady

+
+The factor to use when scrolling. A value greater than 1 scrolls the element upward when the user scrolls down the page. A value less than 1 scrolls the element downward when the user scrolls downward. A value of 1 behaves normally. A value of 0 effectively makes the element scroll fixed with the page.
+
+## Styling

This comment has been minimized.

@aghassemi

aghassemi Mar 1, 2017

Member

I don't think we need a section regarding styling since it is a purely a behaviour attribute.

@aghassemi

aghassemi Mar 1, 2017

Member

I don't think we need a section regarding styling since it is a purely a behaviour attribute.

src/service/parallax-impl.js
+ * Get the previous scroll value.
+ * @return {number}
+ */
+ getPreviousScroll() {

This comment has been minimized.

@aghassemi

aghassemi Mar 1, 2017

Member

this and the following 5 methods can become private too

@aghassemi

aghassemi Mar 1, 2017

Member

this and the following 5 methods can become private too

@aghassemi

This comment has been minimized.

Show comment
Hide comment
@aghassemi

aghassemi Mar 1, 2017

Member

also add the component to the whitelist under dep-check-config under Rules for extensions. to fix the pre-check build error

Member

aghassemi commented Mar 1, 2017

also add the component to the whitelist under dep-check-config under Rules for extensions. to fix the pre-check build error

@aghassemi

This comment has been minimized.

Show comment
Hide comment
@aghassemi

aghassemi Mar 1, 2017

Member

@muxin Yuxi, let's wait for this for the Canary cut as well. Thanks!

Member

aghassemi commented Mar 1, 2017

@muxin Yuxi, let's wait for this for the Canary cut as well. Thanks!

@@ -157,6 +157,8 @@ exports.rules = [
'extensions/amp-youtube/0.1/amp-youtube.js->' +
'src/service/video-manager-impl.js',
'extensions/amp-a4a/0.1/amp-a4a.js->src/service/variable-source.js',
+ 'extensions/amp-fx-parallax/0.1/amp-fx-parallax.js->' +
+ 'src/service/parallax-impl.js',

This comment has been minimized.

@cvializ

cvializ Mar 1, 2017

Collaborator

Done.

@cvializ

cvializ Mar 1, 2017

Collaborator

Done.

@aghassemi aghassemi merged commit dda8347 into ampproject:master Mar 1, 2017

2 checks passed

cla/google All necessary CLAs are signed
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@cvializ cvializ deleted the cvializ:cv-parallax branch Mar 1, 2017

erwinmombay added a commit that referenced this pull request Mar 9, 2017

Nexxtv player extension (#7816)
* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* fixed linting issues (#7673)

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* fixed linting issues (#7673)

* nexxtv player review fixes (#7816)

* nexxtv player: updated validation rules (#7816)

* nexxtv player validator ordered alphabetical, changed spec_url

* fire amp-dom-update event on insert and replace (#7819)

* temp

* trigger `amp-dom-update` event on insert and replace

* switch -amp-form to i-amp-form

* Validator Rollup (#7844)

* Revision bump.

* Revision bump for amp-playbuzz changes in #7450

* Revision bump.

* Allow filtering by HtmlFormat (AMP, AMP4ADS) in the code generator.

* Revision bump.

* Revision bump due to Github pull.

* Code generation now driven by a variable LIGHT, which is broader than the previous GENERATE_DETAILED_ERRORS distinction. LIGHT implies filtered for specific format (AMP or AMP4ADS, and only amp.validator.validateSaxEvents, and no detailed errors.

* Generate ValidatorRules.directAttrLists and globalAttrs and ampLayoutAttrs, reducing overhead by indirection.

* Implement parallax effect extension (#7794)

* Do not set hidden attribute on hide/collapse (#7879)

* amp-bind: Support `Math` functions (#7797)

* initial commit for Math in amp-bind

* fix lint

* ali's comment

* avoid scope conflicts with built-in functions

* remove Math functions from documentation

* Measure 3P ad latency (#7902)

* Update spec URLs from github to ampproject. (#7901)

* Update github urls to ampproject urls

* test .out updated

* Too many slashes.

* Moved Developing.md and Design_Principles.md (#7908)

* Rename DEVELOPING.md to contributing/DEVELOPING.md

* Move files to new folder

* Renaming toggle to toggleVisibility because it was conflicting with sidebar and breaking it (#7855)

* disable scrollRestoration auto for embed case (#7899)

* Disable Fast Fetch for all ads when remote.html is used. (#7906)

* Fix DoubleClick Fast Fetch bugs around categoryExclusions and tagForChildDirectedTreatment (#7843)

* Fix incorrect parameter name for `tagForChildDirectedTreatment` in DoubleClick.

* Added unit test for tagForChildDirectedTreatment.

* Fixed the categoryExclusions bug in Fast Fetch DoubleClick.

* Removed parens in arrow functions to satisfy linter

* Adds two new experiment IDs (#7850)

* Adds two new experiment IDs to distinguish "any externally triggered" experiment from "any internally triggered".

Also updates tests to remove a number of assumptions that only a single eid will be populated.

* Use return val to detect "externally selected"; test updates.

* Updated network implementation guide. (#7862)

* Updated network impl guide.

* Changed 'validation' to 'verification'

* Cid timeout error should not be dev error (#7911)

* Fix amp-ad test (#7918)

* Update amp-install-serviceworker.md (#7932)

Fully escape javascript regex.

* Update amp-cache-modifications.md (#7933)

Add `data-no-service-worker-fallback-shell-url` as a URL to be rewritten as absolute.

* amp-fx-parallax Don't use global (#7942)

* Viewer integration: rewrite error message to indicate request name (#7923)

* rewrite error message

* update

* ticks

* Fix up links in DEVELOPING.md (#7944)

We moved DEVELOPING.md to the contributing folder but didn't update many of the relative links accordingly.

* Popin ad extension document updated. (#7674)

* Add popin ad extension.

* register popin.

* Add resizeable attribute.

* Remove resizable.

* Implemented the render-start and no-content APIs.

* Fixed lint.

* Remove quatation.

* Use tei@popin.cc

* Rebase old commit .

* Fixed document because tag was not closed.

* I replaced the removed double quotes.

* Add double quotes.

* Support for bind expressions in mustache templates (#7602)

* first pass at adding/removing subtrees

* tests passing

* Add ability to add and remove bindings in the subtree rooted at a specific node

* lint fixes

* merge conflict

* ci issues

* some cleanup

* pr comments

* pr comments, new method of removing bindings for node and its children

* fix some lint warnings

* test and lint fixes

* mutation observer

* update comments

* add observer

* naive implementation

* cleanup

* clean

* cleanup bind impl

* very simple example of bind in a template

* pr comments

* lint errors

* pr comments

* cleanup

* lint errors

* pr comments

* pr comments and lint warnings

* typo

* comments

* more lint warnings

* pr comment

* change README

* cleanup

* pr comments

* pr comments 2

* lint warnings

* don't use foreach on Nodelist

* casting

* more ci warnings

* even more ci warnings

* even more ci warnings

* even more ci issues

* even more ci comments

* even more ci issues

* pr comments

* more pr comments

* fix refactoring oversight

* pr comments

* pr comments

* merge

* pr comments

* ci issues

* pr comments

* assertElement

* pr comments

* typo

* updating sanitizer

* fixing up sanitizer test

* pr comments

* pr comments

* expanded on amp-mustache tests

* pr comments

* remove class from whitelist

* restore whole sandbox

* update mustache validator test and output

* pr comments

* nexxtv player gulp check-types fixes (#7816)

* nexxtv player fix error gulp presumbit with postmessage (#7816)

* added dependency check for nexxtv player (#7816)

* nexxtv player minor fix in validator (#7816)

* nexxtv player fixed validator (#7816)

* fixed validator (#7816)

@cvializ cvializ referenced this pull request Mar 9, 2017

Closed

Weekly Status 2017-03-06 #7995

+ const previousScrollTop = this.getPreviousScroll_();
+ const delta = previousScrollTop - newScrollTop;
+
+ elements.forEach(element => {

This comment has been minimized.

@jridgewell

jridgewell Mar 10, 2017

Member

This should be done in a for loop, since scroll performance is critical.

@jridgewell

jridgewell Mar 10, 2017

Member

This should be done in a for loop, since scroll performance is critical.

+ return;
+ }
+ element.update(delta);
+ this.setPreviousScroll_(newScrollTop);

This comment has been minimized.

@jridgewell

jridgewell Mar 10, 2017

Member

Why is this done in the loop?

@jridgewell

jridgewell Mar 10, 2017

Member

Why is this done in the loop?

+ * @return {string}
+ */
+ transform_(position) {
+ return `translate3d(0,${position.toFixed(2)}px,0)`;

This comment has been minimized.

@jridgewell

jridgewell Mar 10, 2017

Member

Nit: translateY

@jridgewell

jridgewell Mar 10, 2017

Member

Nit: translateY

+ this.parallaxMutate_.bind(this, parallaxElements, viewport);
+
+ viewport.onScroll(() => vsync.mutate(mutate));
+ mutate(); // initialize the elements with the current scroll position

This comment has been minimized.

@jridgewell

jridgewell Mar 10, 2017

Member

This should be inside a vsync mutate, too.

@jridgewell

jridgewell Mar 10, 2017

Member

This should be inside a vsync mutate, too.

+ this.element_ = element;
+
+ /** @private @const {!function(number):string} */
+ this.transform_ = transform;

This comment has been minimized.

@jridgewell

jridgewell Mar 10, 2017

Member

Why are we passing this in? Couldn't this just be on the ParallaxElement class?

@jridgewell

jridgewell Mar 10, 2017

Member

Why are we passing this in? Couldn't this just be on the ParallaxElement class?

+ const elementRect = viewport.getLayoutRect(this.element_);
+ elementRect.top -= viewportRect.top;
+ elementRect.bottom = elementRect.top + elementRect.height;
+ return this.isRectInView_(elementRect, viewportRect.height);

This comment has been minimized.

@jridgewell

jridgewell Mar 10, 2017

Member

We have a helper function that does exactly this.

@jridgewell

jridgewell Mar 10, 2017

Member

We have a helper function that does exactly this.

kmh287 added a commit to kmh287/amphtml that referenced this pull request Mar 13, 2017

kmh287 added a commit to kmh287/amphtml that referenced this pull request Mar 13, 2017

Nexxtv player extension (#7816)
* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* fixed linting issues (#7673)

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* fixed linting issues (#7673)

* nexxtv player review fixes (#7816)

* nexxtv player: updated validation rules (#7816)

* nexxtv player validator ordered alphabetical, changed spec_url

* fire amp-dom-update event on insert and replace (#7819)

* temp

* trigger `amp-dom-update` event on insert and replace

* switch -amp-form to i-amp-form

* Validator Rollup (#7844)

* Revision bump.

* Revision bump for amp-playbuzz changes in #7450

* Revision bump.

* Allow filtering by HtmlFormat (AMP, AMP4ADS) in the code generator.

* Revision bump.

* Revision bump due to Github pull.

* Code generation now driven by a variable LIGHT, which is broader than the previous GENERATE_DETAILED_ERRORS distinction. LIGHT implies filtered for specific format (AMP or AMP4ADS, and only amp.validator.validateSaxEvents, and no detailed errors.

* Generate ValidatorRules.directAttrLists and globalAttrs and ampLayoutAttrs, reducing overhead by indirection.

* Implement parallax effect extension (#7794)

* Do not set hidden attribute on hide/collapse (#7879)

* amp-bind: Support `Math` functions (#7797)

* initial commit for Math in amp-bind

* fix lint

* ali's comment

* avoid scope conflicts with built-in functions

* remove Math functions from documentation

* Measure 3P ad latency (#7902)

* Update spec URLs from github to ampproject. (#7901)

* Update github urls to ampproject urls

* test .out updated

* Too many slashes.

* Moved Developing.md and Design_Principles.md (#7908)

* Rename DEVELOPING.md to contributing/DEVELOPING.md

* Move files to new folder

* Renaming toggle to toggleVisibility because it was conflicting with sidebar and breaking it (#7855)

* disable scrollRestoration auto for embed case (#7899)

* Disable Fast Fetch for all ads when remote.html is used. (#7906)

* Fix DoubleClick Fast Fetch bugs around categoryExclusions and tagForChildDirectedTreatment (#7843)

* Fix incorrect parameter name for `tagForChildDirectedTreatment` in DoubleClick.

* Added unit test for tagForChildDirectedTreatment.

* Fixed the categoryExclusions bug in Fast Fetch DoubleClick.

* Removed parens in arrow functions to satisfy linter

* Adds two new experiment IDs (#7850)

* Adds two new experiment IDs to distinguish "any externally triggered" experiment from "any internally triggered".

Also updates tests to remove a number of assumptions that only a single eid will be populated.

* Use return val to detect "externally selected"; test updates.

* Updated network implementation guide. (#7862)

* Updated network impl guide.

* Changed 'validation' to 'verification'

* Cid timeout error should not be dev error (#7911)

* Fix amp-ad test (#7918)

* Update amp-install-serviceworker.md (#7932)

Fully escape javascript regex.

* Update amp-cache-modifications.md (#7933)

Add `data-no-service-worker-fallback-shell-url` as a URL to be rewritten as absolute.

* amp-fx-parallax Don't use global (#7942)

* Viewer integration: rewrite error message to indicate request name (#7923)

* rewrite error message

* update

* ticks

* Fix up links in DEVELOPING.md (#7944)

We moved DEVELOPING.md to the contributing folder but didn't update many of the relative links accordingly.

* Popin ad extension document updated. (#7674)

* Add popin ad extension.

* register popin.

* Add resizeable attribute.

* Remove resizable.

* Implemented the render-start and no-content APIs.

* Fixed lint.

* Remove quatation.

* Use tei@popin.cc

* Rebase old commit .

* Fixed document because tag was not closed.

* I replaced the removed double quotes.

* Add double quotes.

* Support for bind expressions in mustache templates (#7602)

* first pass at adding/removing subtrees

* tests passing

* Add ability to add and remove bindings in the subtree rooted at a specific node

* lint fixes

* merge conflict

* ci issues

* some cleanup

* pr comments

* pr comments, new method of removing bindings for node and its children

* fix some lint warnings

* test and lint fixes

* mutation observer

* update comments

* add observer

* naive implementation

* cleanup

* clean

* cleanup bind impl

* very simple example of bind in a template

* pr comments

* lint errors

* pr comments

* cleanup

* lint errors

* pr comments

* pr comments and lint warnings

* typo

* comments

* more lint warnings

* pr comment

* change README

* cleanup

* pr comments

* pr comments 2

* lint warnings

* don't use foreach on Nodelist

* casting

* more ci warnings

* even more ci warnings

* even more ci warnings

* even more ci issues

* even more ci comments

* even more ci issues

* pr comments

* more pr comments

* fix refactoring oversight

* pr comments

* pr comments

* merge

* pr comments

* ci issues

* pr comments

* assertElement

* pr comments

* typo

* updating sanitizer

* fixing up sanitizer test

* pr comments

* pr comments

* expanded on amp-mustache tests

* pr comments

* remove class from whitelist

* restore whole sandbox

* update mustache validator test and output

* pr comments

* nexxtv player gulp check-types fixes (#7816)

* nexxtv player fix error gulp presumbit with postmessage (#7816)

* added dependency check for nexxtv player (#7816)

* nexxtv player minor fix in validator (#7816)

* nexxtv player fixed validator (#7816)

* fixed validator (#7816)

mrjoro added a commit to mrjoro/amphtml that referenced this pull request Apr 28, 2017

mrjoro added a commit to mrjoro/amphtml that referenced this pull request Apr 28, 2017

Nexxtv player extension (#7816)
* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* fixed linting issues (#7673)

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* nexxtv player changed indents from 4 spaces to 2

* added unlayoutCallback for nexxtv player

* initial setup for extension nexxtv-player

* added nexxtv player logic

* nexxtv player bugfixes, cleanup, tests, docs

* added video interface, changed attribute start to seek-to

* reworked video interface for nexxtv-player

* added message handler for nexxtv player and tests

* nexxtv player minor fixes & cleanup

* fixed linting issues (#7673)

* nexxtv player review fixes (#7816)

* nexxtv player: updated validation rules (#7816)

* nexxtv player validator ordered alphabetical, changed spec_url

* fire amp-dom-update event on insert and replace (#7819)

* temp

* trigger `amp-dom-update` event on insert and replace

* switch -amp-form to i-amp-form

* Validator Rollup (#7844)

* Revision bump.

* Revision bump for amp-playbuzz changes in #7450

* Revision bump.

* Allow filtering by HtmlFormat (AMP, AMP4ADS) in the code generator.

* Revision bump.

* Revision bump due to Github pull.

* Code generation now driven by a variable LIGHT, which is broader than the previous GENERATE_DETAILED_ERRORS distinction. LIGHT implies filtered for specific format (AMP or AMP4ADS, and only amp.validator.validateSaxEvents, and no detailed errors.

* Generate ValidatorRules.directAttrLists and globalAttrs and ampLayoutAttrs, reducing overhead by indirection.

* Implement parallax effect extension (#7794)

* Do not set hidden attribute on hide/collapse (#7879)

* amp-bind: Support `Math` functions (#7797)

* initial commit for Math in amp-bind

* fix lint

* ali's comment

* avoid scope conflicts with built-in functions

* remove Math functions from documentation

* Measure 3P ad latency (#7902)

* Update spec URLs from github to ampproject. (#7901)

* Update github urls to ampproject urls

* test .out updated

* Too many slashes.

* Moved Developing.md and Design_Principles.md (#7908)

* Rename DEVELOPING.md to contributing/DEVELOPING.md

* Move files to new folder

* Renaming toggle to toggleVisibility because it was conflicting with sidebar and breaking it (#7855)

* disable scrollRestoration auto for embed case (#7899)

* Disable Fast Fetch for all ads when remote.html is used. (#7906)

* Fix DoubleClick Fast Fetch bugs around categoryExclusions and tagForChildDirectedTreatment (#7843)

* Fix incorrect parameter name for `tagForChildDirectedTreatment` in DoubleClick.

* Added unit test for tagForChildDirectedTreatment.

* Fixed the categoryExclusions bug in Fast Fetch DoubleClick.

* Removed parens in arrow functions to satisfy linter

* Adds two new experiment IDs (#7850)

* Adds two new experiment IDs to distinguish "any externally triggered" experiment from "any internally triggered".

Also updates tests to remove a number of assumptions that only a single eid will be populated.

* Use return val to detect "externally selected"; test updates.

* Updated network implementation guide. (#7862)

* Updated network impl guide.

* Changed 'validation' to 'verification'

* Cid timeout error should not be dev error (#7911)

* Fix amp-ad test (#7918)

* Update amp-install-serviceworker.md (#7932)

Fully escape javascript regex.

* Update amp-cache-modifications.md (#7933)

Add `data-no-service-worker-fallback-shell-url` as a URL to be rewritten as absolute.

* amp-fx-parallax Don't use global (#7942)

* Viewer integration: rewrite error message to indicate request name (#7923)

* rewrite error message

* update

* ticks

* Fix up links in DEVELOPING.md (#7944)

We moved DEVELOPING.md to the contributing folder but didn't update many of the relative links accordingly.

* Popin ad extension document updated. (#7674)

* Add popin ad extension.

* register popin.

* Add resizeable attribute.

* Remove resizable.

* Implemented the render-start and no-content APIs.

* Fixed lint.

* Remove quatation.

* Use tei@popin.cc

* Rebase old commit .

* Fixed document because tag was not closed.

* I replaced the removed double quotes.

* Add double quotes.

* Support for bind expressions in mustache templates (#7602)

* first pass at adding/removing subtrees

* tests passing

* Add ability to add and remove bindings in the subtree rooted at a specific node

* lint fixes

* merge conflict

* ci issues

* some cleanup

* pr comments

* pr comments, new method of removing bindings for node and its children

* fix some lint warnings

* test and lint fixes

* mutation observer

* update comments

* add observer

* naive implementation

* cleanup

* clean

* cleanup bind impl

* very simple example of bind in a template

* pr comments

* lint errors

* pr comments

* cleanup

* lint errors

* pr comments

* pr comments and lint warnings

* typo

* comments

* more lint warnings

* pr comment

* change README

* cleanup

* pr comments

* pr comments 2

* lint warnings

* don't use foreach on Nodelist

* casting

* more ci warnings

* even more ci warnings

* even more ci warnings

* even more ci issues

* even more ci comments

* even more ci issues

* pr comments

* more pr comments

* fix refactoring oversight

* pr comments

* pr comments

* merge

* pr comments

* ci issues

* pr comments

* assertElement

* pr comments

* typo

* updating sanitizer

* fixing up sanitizer test

* pr comments

* pr comments

* expanded on amp-mustache tests

* pr comments

* remove class from whitelist

* restore whole sandbox

* update mustache validator test and output

* pr comments

* nexxtv player gulp check-types fixes (#7816)

* nexxtv player fix error gulp presumbit with postmessage (#7816)

* added dependency check for nexxtv player (#7816)

* nexxtv player minor fix in validator (#7816)

* nexxtv player fixed validator (#7816)

* fixed validator (#7816)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment