polymer-paper-rails 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/components/core-animation/README.md +4 -0
- data/app/assets/components/core-animation/bower.json +8 -0
- data/app/assets/components/core-animation/core-animation-group.html +169 -0
- data/app/assets/components/core-animation/core-animation.html +524 -0
- data/app/assets/components/core-animation/demo.html +149 -0
- data/app/assets/components/core-animation/index.html +22 -0
- data/app/assets/components/core-animation/web-animations.html +10 -0
- data/app/assets/components/core-collapse/README.md +4 -0
- data/app/assets/components/core-collapse/bower.json +7 -0
- data/app/assets/components/core-collapse/core-collapse.css +16 -0
- data/app/assets/components/core-collapse/core-collapse.html +262 -0
- data/app/assets/components/core-collapse/demo.html +93 -0
- data/app/assets/components/core-collapse/index.html +22 -0
- data/app/assets/components/core-component-page/README.md +6 -0
- data/app/assets/components/core-component-page/bowager-logo.png +0 -0
- data/app/assets/components/core-component-page/bower.json +8 -0
- data/app/assets/components/core-component-page/core-component-page.html +37 -0
- data/app/assets/components/core-component-page/demo.html +23 -0
- data/app/assets/components/core-component-page/index.html +22 -0
- data/app/assets/components/core-drawer-panel/README.md +4 -0
- data/app/assets/components/core-drawer-panel/bower.json +8 -0
- data/app/assets/components/core-drawer-panel/core-drawer-panel.css +147 -0
- data/app/assets/components/core-drawer-panel/core-drawer-panel.html +339 -0
- data/app/assets/components/core-drawer-panel/demo.html +73 -0
- data/app/assets/components/core-drawer-panel/index.html +22 -0
- data/app/assets/components/core-drawer-panel/metadata.html +37 -0
- data/app/assets/components/core-elements/README.md +4 -0
- data/app/assets/components/core-elements/bower.json +29 -0
- data/app/assets/components/core-elements/demo.html +105 -0
- data/app/assets/components/core-elements/demos/core-toolbar.html +98 -0
- data/app/assets/components/core-elements/metadata.html +23 -0
- data/app/assets/components/core-elements/paper-elements.html +37 -0
- data/app/assets/components/core-field/README.md +4 -0
- data/app/assets/components/core-field/bower.json +7 -0
- data/app/assets/components/core-field/core-field.css +38 -0
- data/app/assets/components/core-field/core-field.html +35 -0
- data/app/assets/components/core-field/demo.html +67 -0
- data/app/assets/components/core-field/index.html +22 -0
- data/app/assets/components/core-field/metadata.html +26 -0
- data/app/assets/components/core-header-panel/README.md +4 -0
- data/app/assets/components/core-header-panel/bower.json +7 -0
- data/app/assets/components/core-header-panel/core-header-panel.css +75 -0
- data/app/assets/components/core-header-panel/core-header-panel.html +225 -0
- data/app/assets/components/core-header-panel/demo.html +100 -0
- data/app/assets/components/core-header-panel/index.html +23 -0
- data/app/assets/components/core-header-panel/metadata.html +37 -0
- data/app/assets/components/core-icon/README.md +4 -0
- data/app/assets/components/core-icon/bower.json +8 -0
- data/app/assets/components/{core/icon → core-icon}/core-icon.css +3 -12
- data/app/assets/components/core-icon/core-icon.html +189 -0
- data/app/assets/components/core-icon/demo.html +44 -0
- data/app/assets/components/core-icon/index.html +22 -0
- data/app/assets/components/core-icon/metadata.html +21 -0
- data/app/assets/components/core-icon-button/README.md +4 -0
- data/app/assets/components/core-icon-button/bower.json +7 -0
- data/app/assets/components/core-icon-button/core-icon-button.css +75 -0
- data/app/assets/components/core-icon-button/core-icon-button.html +81 -0
- data/app/assets/components/core-icon-button/demo.html +35 -0
- data/app/assets/components/core-icon-button/index.html +22 -0
- data/app/assets/components/core-icon-button/metadata.html +20 -0
- data/app/assets/components/core-icons/README.md +4 -0
- data/app/assets/components/core-icons/av-icons.html +46 -0
- data/app/assets/components/core-icons/bower.json +9 -0
- data/app/assets/components/core-icons/communication-icons.html +59 -0
- data/app/assets/components/core-icons/core-icons.html +278 -0
- data/app/assets/components/core-icons/demo.html +96 -0
- data/app/assets/components/core-icons/device-icons.html +59 -0
- data/app/assets/components/core-icons/editor-icons.html +67 -0
- data/app/assets/components/core-icons/hardware-icons.html +58 -0
- data/app/assets/components/core-icons/image-icons.html +146 -0
- data/app/assets/components/core-icons/index.html +22 -0
- data/app/assets/components/core-icons/maps-icons.html +69 -0
- data/app/assets/components/core-icons/notification-icons.html +50 -0
- data/app/assets/components/core-icons/png-icons.html +19 -0
- data/app/assets/components/core-icons/social-icons.html +52 -0
- data/app/assets/components/core-iconset/README.md +4 -0
- data/app/assets/components/core-iconset/bower.json +9 -0
- data/app/assets/components/{core/iconset/core-iconset.html.erb → core-iconset/core-iconset.html} +29 -24
- data/app/assets/components/core-iconset/demo.html +62 -0
- data/app/assets/components/core-iconset/index.html +22 -0
- data/app/assets/components/core-iconset/my-icons-big.png +0 -0
- data/app/assets/components/core-iconset/my-icons.png +0 -0
- data/app/assets/components/core-iconset-svg/README.md +4 -0
- data/app/assets/components/core-iconset-svg/bower.json +8 -0
- data/app/assets/components/core-iconset-svg/core-iconset-svg.html +168 -0
- data/app/assets/components/core-iconset-svg/demo.html +66 -0
- data/app/assets/components/core-iconset-svg/index.html +22 -0
- data/app/assets/components/core-iconset-svg/svg-sample-icons.html +68 -0
- data/app/assets/components/core-input/README.md +2 -0
- data/app/assets/components/core-input/bower.json +6 -0
- data/app/assets/components/core-input/core-input.css +45 -0
- data/app/assets/components/{core/input/core-input.html.erb → core-input/core-input.html} +164 -95
- data/app/assets/components/core-input/demo.html +142 -0
- data/app/assets/components/core-input/index.html +22 -0
- data/app/assets/components/core-input/metadata.html +20 -0
- data/app/assets/components/core-item/README.md +4 -0
- data/app/assets/components/core-item/bower.json +8 -0
- data/app/assets/components/core-item/core-item.css +44 -0
- data/app/assets/components/core-item/core-item.html +74 -0
- data/app/assets/components/core-item/demo.html +92 -0
- data/app/assets/components/core-item/index.html +22 -0
- data/app/assets/components/core-item/metadata.html +24 -0
- data/app/assets/components/core-media-query/README.md +4 -0
- data/app/assets/components/core-media-query/bower.json +7 -0
- data/app/assets/components/{core/media-query → core-media-query}/core-media-query.html +1 -0
- data/app/assets/components/core-media-query/demo.html +44 -0
- data/app/assets/components/core-media-query/index.html +22 -0
- data/app/assets/components/core-menu/README.md +4 -0
- data/app/assets/components/core-menu/bower.json +9 -0
- data/app/assets/components/{core/menu → core-menu}/core-menu.css +0 -0
- data/app/assets/components/{core/menu/core-menu.html.erb → core-menu/core-menu.html} +3 -3
- data/app/assets/components/{core/menu → core-menu}/core-submenu.css +0 -0
- data/app/assets/components/{core/menu/core-submenu.html.erb → core-menu/core-submenu.html} +10 -10
- data/app/assets/components/core-menu/demo.html +101 -0
- data/app/assets/components/core-menu/index.html +22 -0
- data/app/assets/components/core-menu/metadata.html +62 -0
- data/app/assets/components/core-meta/README.md +4 -0
- data/app/assets/components/core-meta/bower.json +7 -0
- data/app/assets/components/{core/meta → core-meta}/core-meta.html +24 -22
- data/app/assets/components/core-meta/demo.html +58 -0
- data/app/assets/components/core-meta/index.html +22 -0
- data/app/assets/components/core-overlay/README.md +4 -0
- data/app/assets/components/core-overlay/bower.json +8 -0
- data/app/assets/components/{core/overlay → core-overlay}/core-key-helper.html +2 -0
- data/app/assets/components/{core/overlay → core-overlay}/core-overlay-layer.html +112 -112
- data/app/assets/components/{core/overlay/core-overlay.html.erb → core-overlay/core-overlay.html} +77 -51
- data/app/assets/components/core-overlay/demo.html +155 -0
- data/app/assets/components/core-overlay/index.html +22 -0
- data/app/assets/components/core-popup-menu/README.md +6 -0
- data/app/assets/components/core-popup-menu/bower.json +13 -0
- data/app/assets/components/core-popup-menu/core-popup-menu.css +28 -0
- data/app/assets/components/core-popup-menu/core-popup-menu.html +198 -0
- data/app/assets/components/core-popup-menu/core-popup-overlay.html +111 -0
- data/app/assets/components/core-popup-menu/demo.html +542 -0
- data/app/assets/components/core-popup-menu/index.html +22 -0
- data/app/assets/components/core-popup-menu/metadata.html +62 -0
- data/app/assets/components/core-range/README.md +2 -0
- data/app/assets/components/core-range/bower.json +7 -0
- data/app/assets/components/{core/range → core-range}/core-range.html +17 -15
- data/app/assets/components/core-range/demo.html +64 -0
- data/app/assets/components/core-range/index.html +22 -0
- data/app/assets/components/core-scroll-header-panel/README.md +4 -0
- data/app/assets/components/core-scroll-header-panel/bower.json +11 -0
- data/app/assets/components/core-scroll-header-panel/core-scroll-header-panel.css +58 -0
- data/app/assets/components/core-scroll-header-panel/core-scroll-header-panel.html +313 -0
- data/app/assets/components/core-scroll-header-panel/demo.html +111 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo1.html +80 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo2.html +82 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo3.html +81 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo4.html +109 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo5.html +109 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo6.html +113 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo7.html +120 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo8.html +122 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo9.html +100 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg2.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg3.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg5.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg6.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg9.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/lorem-ipsum.html +42 -0
- data/app/assets/components/core-scroll-header-panel/index.html +22 -0
- data/app/assets/components/core-scroll-header-panel/metadata.html +41 -0
- data/app/assets/components/core-selection/README.md +4 -0
- data/app/assets/components/core-selection/bower.json +7 -0
- data/app/assets/components/{core/selection → core-selection}/core-selection.html +6 -5
- data/app/assets/components/core-selection/demo.html +59 -0
- data/app/assets/components/core-selection/index.html +22 -0
- data/app/assets/components/core-selector/README.md +4 -0
- data/app/assets/components/core-selector/bower.json +8 -0
- data/app/assets/components/{core/selector/core-selector.html.erb → core-selector/core-selector.html} +53 -16
- data/app/assets/components/core-selector/demo.html +106 -0
- data/app/assets/components/core-selector/index.html +22 -0
- data/app/assets/components/core-selector/metadata.html +20 -0
- data/app/assets/components/core-style/README.md +4 -0
- data/app/assets/components/core-style/bower.json +7 -0
- data/app/assets/components/{core/style → core-style}/core-style.html +387 -386
- data/app/assets/components/core-style/demo.html +58 -0
- data/app/assets/components/core-style/elements.html +55 -0
- data/app/assets/components/core-style/index.html +22 -0
- data/app/assets/components/core-style/my-theme.html +73 -0
- data/app/assets/components/core-toolbar/README.md +4 -0
- data/app/assets/components/core-toolbar/bower.json +7 -0
- data/app/assets/components/core-toolbar/core-toolbar.css +110 -0
- data/app/assets/components/core-toolbar/core-toolbar.html +74 -0
- data/app/assets/components/core-toolbar/demo.html +107 -0
- data/app/assets/components/core-toolbar/index.html +22 -0
- data/app/assets/components/core-toolbar/metadata.html +28 -0
- data/app/assets/components/core-transition/README.md +2 -0
- data/app/assets/components/core-transition/bower.json +8 -0
- data/app/assets/components/core-transition/core-transition-css.html +221 -0
- data/app/assets/components/{core/transition → core-transition}/core-transition-overlay.css +1 -1
- data/app/assets/components/core-transition/core-transition.html +140 -0
- data/app/assets/components/core-transition/demo.html +87 -0
- data/app/assets/components/core-transition/index.html +22 -0
- data/app/assets/components/font-roboto/roboto.html +9 -0
- data/app/assets/components/paper-button/README.md +4 -0
- data/app/assets/components/paper-button/bower.json +11 -0
- data/app/assets/components/paper-button/demo.html +99 -0
- data/app/assets/components/paper-button/demo2.html +136 -0
- data/app/assets/components/paper-button/index.html +22 -0
- data/app/assets/components/paper-button/metadata.html +17 -0
- data/app/assets/components/paper-button/paper-button.css +11 -1
- data/app/assets/components/paper-button/{paper-button.html.erb → paper-button.html} +9 -8
- data/app/assets/components/paper-checkbox/README.md +4 -0
- data/app/assets/components/paper-checkbox/bower.json +8 -0
- data/app/assets/components/paper-checkbox/demo.html +113 -0
- data/app/assets/components/paper-checkbox/index.html +22 -0
- data/app/assets/components/paper-checkbox/metadata.html +17 -0
- data/app/assets/components/paper-checkbox/paper-checkbox.css +49 -48
- data/app/assets/components/paper-checkbox/{paper-checkbox.html.erb → paper-checkbox.html} +110 -104
- data/app/assets/components/paper-dialog/README.md +4 -0
- data/app/assets/components/paper-dialog/bower.json +10 -0
- data/app/assets/components/paper-dialog/demo.html +85 -0
- data/app/assets/components/paper-dialog/index.html +22 -0
- data/app/assets/components/paper-dialog/{paper-dialog-transition.html.erb → paper-dialog-transition.html} +3 -3
- data/app/assets/components/paper-dialog/paper-dialog.css +52 -0
- data/app/assets/components/paper-dialog/{paper-dialog.html.erb → paper-dialog.html} +7 -7
- data/app/assets/components/paper-dropdown/README.md +9 -0
- data/app/assets/components/paper-dropdown/bower.json +12 -0
- data/app/assets/components/paper-dropdown/demo.html +345 -0
- data/app/assets/components/paper-dropdown/index.html +22 -0
- data/app/assets/components/paper-dropdown/paper-dropdown.css +48 -0
- data/app/assets/components/paper-dropdown/paper-dropdown.html +191 -0
- data/app/assets/components/paper-fab/README.md +4 -0
- data/app/assets/components/paper-fab/bower.json +8 -0
- data/app/assets/components/paper-fab/demo.html +72 -0
- data/app/assets/components/paper-fab/demo2.html +103 -0
- data/app/assets/components/paper-fab/index.html +22 -0
- data/app/assets/components/paper-fab/metadata.html +36 -0
- data/app/assets/components/paper-fab/paper-fab.css +11 -2
- data/app/assets/components/paper-fab/{paper-fab.html.erb → paper-fab.html} +3 -2
- data/app/assets/components/paper-focusable/README.md +4 -0
- data/app/assets/components/paper-focusable/bower.json +7 -0
- data/app/assets/components/paper-focusable/demo.html +155 -0
- data/app/assets/components/paper-focusable/paper-focusable.html +2 -0
- data/app/assets/components/paper-icon-button/README.md +4 -0
- data/app/assets/components/paper-icon-button/bower.json +9 -0
- data/app/assets/components/paper-icon-button/demo.html +102 -0
- data/app/assets/components/paper-icon-button/index.html +22 -0
- data/app/assets/components/paper-icon-button/metadata.html +21 -0
- data/app/assets/components/paper-icon-button/paper-icon-button.css +1 -1
- data/app/assets/components/paper-icon-button/{paper-icon-button.html.erb → paper-icon-button.html} +7 -7
- data/app/assets/components/paper-icon-button/pulse-ink.css +20 -0
- data/app/assets/components/paper-input/README.md +4 -0
- data/app/assets/components/paper-input/bower.json +11 -0
- data/app/assets/components/paper-input/demo.html +124 -0
- data/app/assets/components/paper-input/index.html +22 -0
- data/app/assets/components/paper-input/metadata.html +23 -0
- data/app/assets/components/paper-input/paper-input.css +152 -0
- data/app/assets/components/paper-input/paper-input.html +314 -0
- data/app/assets/components/paper-item/README.md +4 -0
- data/app/assets/components/paper-item/bower.json +9 -0
- data/app/assets/components/paper-item/demo.html +39 -0
- data/app/assets/components/paper-item/index.html +22 -0
- data/app/assets/components/paper-item/metadata.html +23 -0
- data/app/assets/components/paper-item/paper-item.css +15 -2
- data/app/assets/components/paper-item/{paper-item.html.erb → paper-item.html} +7 -6
- data/app/assets/components/paper-menu-button/README.md +4 -0
- data/app/assets/components/paper-menu-button/bower.json +16 -0
- data/app/assets/components/paper-menu-button/demo.html +95 -0
- data/app/assets/components/paper-menu-button/index.html +22 -0
- data/app/assets/components/paper-menu-button/metadata.html +21 -0
- data/app/assets/components/paper-menu-button/{paper-menu-button-transition.html.erb → paper-menu-button-transition.html} +31 -26
- data/app/assets/components/paper-menu-button/paper-menu-button.css +5 -9
- data/app/assets/components/paper-menu-button/{paper-menu-button.html.erb → paper-menu-button.html} +52 -20
- data/app/assets/components/paper-progress/README.md +4 -0
- data/app/assets/components/paper-progress/bower.json +8 -0
- data/app/assets/components/paper-progress/demo.html +107 -0
- data/app/assets/components/paper-progress/index.html +22 -0
- data/app/assets/components/paper-progress/metadata.html +17 -0
- data/app/assets/components/paper-progress/paper-progress.css +1 -1
- data/app/assets/components/paper-progress/{paper-progress.html.erb → paper-progress.html} +23 -23
- data/app/assets/components/paper-radio-button/README.md +4 -0
- data/app/assets/components/paper-radio-button/bower.json +7 -0
- data/app/assets/components/paper-radio-button/demo.html +75 -0
- data/app/assets/components/paper-radio-button/index.html +22 -0
- data/app/assets/components/paper-radio-button/metadata.html +17 -0
- data/app/assets/components/paper-radio-button/paper-radio-button.css +14 -8
- data/app/assets/components/paper-radio-button/{paper-radio-button.html.erb → paper-radio-button.html} +38 -29
- data/app/assets/components/paper-radio-group/README.md +4 -0
- data/app/assets/components/paper-radio-group/bower.json +9 -0
- data/app/assets/components/paper-radio-group/demo.html +82 -0
- data/app/assets/components/paper-radio-group/index.html +22 -0
- data/app/assets/components/paper-radio-group/metadata.html +22 -0
- data/app/assets/components/paper-radio-group/{paper-radio-group.html.erb → paper-radio-group.html} +16 -16
- data/app/assets/components/paper-ripple/README.md +4 -0
- data/app/assets/components/paper-ripple/bower.json +9 -0
- data/app/assets/components/paper-ripple/demo.html +418 -0
- data/app/assets/components/paper-ripple/index.html +22 -0
- data/app/assets/components/paper-ripple/metadata.html +20 -0
- data/app/assets/components/paper-ripple/paper-ripple.html +3 -2
- data/app/assets/components/paper-ripple/raw.html +799 -0
- data/app/assets/components/paper-shadow/README.md +4 -0
- data/app/assets/components/paper-shadow/bower.json +7 -0
- data/app/assets/components/paper-shadow/demo.html +252 -0
- data/app/assets/components/paper-shadow/index.html +22 -0
- data/app/assets/components/paper-shadow/metadata.html +17 -0
- data/app/assets/components/paper-shadow/paper-shadow.css +11 -1
- data/app/assets/components/paper-shadow/{paper-shadow.html.erb → paper-shadow.html} +11 -4
- data/app/assets/components/paper-slider/README.md +4 -0
- data/app/assets/components/paper-slider/bower.json +9 -0
- data/app/assets/components/paper-slider/demo.html +151 -0
- data/app/assets/components/paper-slider/index.html +22 -0
- data/app/assets/components/paper-slider/metadata.html +20 -0
- data/app/assets/components/paper-slider/paper-slider.css +58 -26
- data/app/assets/components/paper-slider/{paper-slider.html.erb → paper-slider.html} +72 -75
- data/app/assets/components/paper-tabs/README.md +4 -0
- data/app/assets/components/paper-tabs/bower.json +12 -0
- data/app/assets/components/paper-tabs/demo.html +166 -0
- data/app/assets/components/paper-tabs/index.html +22 -0
- data/app/assets/components/paper-tabs/metadata.html +58 -0
- data/app/assets/components/paper-tabs/{paper-tab.html.erb → paper-tab.html} +10 -10
- data/app/assets/components/paper-tabs/paper-tabs.css +1 -1
- data/app/assets/components/paper-tabs/{paper-tabs.html.erb → paper-tabs.html} +29 -25
- data/app/assets/components/paper-toast/README.md +4 -0
- data/app/assets/components/paper-toast/bower.json +10 -0
- data/app/assets/components/paper-toast/demo.html +67 -0
- data/app/assets/components/paper-toast/index.html +22 -0
- data/app/assets/components/paper-toast/metadata.html +20 -0
- data/app/assets/components/paper-toast/paper-toast.css +80 -0
- data/app/assets/components/paper-toast/{paper-toast.html.erb → paper-toast.html} +39 -39
- data/app/assets/components/paper-toggle-button/README.md +4 -0
- data/app/assets/components/paper-toggle-button/bower.json +8 -0
- data/app/assets/components/paper-toggle-button/demo.html +77 -0
- data/app/assets/components/paper-toggle-button/index.html +22 -0
- data/app/assets/components/paper-toggle-button/metadata.html +17 -0
- data/app/assets/components/paper-toggle-button/paper-toggle-button.css +1 -1
- data/app/assets/components/paper-toggle-button/{paper-toggle-button.html.erb → paper-toggle-button.html} +39 -20
- data/app/assets/components/platform/README.md +6 -0
- data/app/assets/components/platform/bower.json +16 -0
- data/app/assets/components/platform/build.log +35 -0
- data/app/assets/components/platform/platform.js +16 -0
- data/app/assets/components/platform/platform.js.map +1 -0
- data/app/assets/components/polymer/README.md +17 -0
- data/app/assets/components/polymer/bower.json +8 -0
- data/app/assets/components/polymer/build.log +35 -0
- data/app/assets/components/polymer/layout.html +286 -0
- data/app/assets/components/polymer/polymer.html +13 -0
- data/app/assets/components/polymer/polymer.js +14 -0
- data/app/assets/components/polymer/polymer.js.map +1 -0
- data/app/assets/components/sampler-scaffold/README.md +4 -0
- data/app/assets/components/sampler-scaffold/bower.json +12 -0
- data/app/assets/components/sampler-scaffold/demo.html +54 -0
- data/app/assets/components/sampler-scaffold/demos/checkbox.html +20 -0
- data/app/assets/components/sampler-scaffold/demos/color.html +20 -0
- data/app/assets/components/sampler-scaffold/demos/radio.html +20 -0
- data/app/assets/components/sampler-scaffold/demos/range.html +20 -0
- data/app/assets/components/sampler-scaffold/demos/string.html +20 -0
- data/app/assets/components/sampler-scaffold/index.html +22 -0
- data/app/assets/components/sampler-scaffold/sampler-scaffold.css +157 -0
- data/app/assets/components/sampler-scaffold/sampler-scaffold.html +224 -0
- data/app/assets/components/web-animations-js/COPYING +202 -0
- data/app/assets/components/web-animations-js/README.md +237 -0
- data/app/assets/components/web-animations-js/run-lint.sh +19 -0
- data/app/assets/components/web-animations-js/run-tests-android.sh +25 -0
- data/app/assets/components/web-animations-js/run-tests.sh +15 -0
- data/app/assets/components/web-animations-js/test/bootstrap.js +1266 -0
- data/app/assets/components/web-animations-js/test/img/error.png +0 -0
- data/app/assets/components/web-animations-js/test/img/success.png +0 -0
- data/app/assets/components/web-animations-js/test/img/unknown.png +0 -0
- data/app/assets/components/web-animations-js/test/perf/balls-add-compositing.html +147 -0
- data/app/assets/components/web-animations-js/test/perf/balls-replace-compositing.html +144 -0
- data/app/assets/components/web-animations-js/test/perf/perf.js +158 -0
- data/app/assets/components/web-animations-js/test/perf/updating-inline-style-during-animation.html +165 -0
- data/app/assets/components/web-animations-js/test/test-generator.html +240 -0
- data/app/assets/components/web-animations-js/test/test-results-post.html +3 -0
- data/app/assets/components/web-animations-js/test/test-runner.html +810 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-box-shadow-checks.js +42 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-box-shadow.html +40 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-calc-checks.js +41 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-calc.html +156 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-change-playback-rate-checks.js +23 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-circular-path-checks.js +65 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-circular-path.html +83 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-color-checks.js +101 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-color-names-checks.js +431 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-color-names.html +204 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-color.html +117 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-composite-transforms-checks.js +45 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-composite-transforms.html +97 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-compositor-checks.js +26 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-compositor.html +68 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-delay-checks.js +92 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-delay.html +39 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-element-animate-checks.js +8 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-element-animate.html +30 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-fill-values-checks.js +266 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-fill-values.html +114 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-font-weight-checks.js +26 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-font-weight.html +43 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-initial-checks.js +74 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-initial.html +242 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-checks.js +17 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-fallback-checks.js +17 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-fallback.html +78 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-methods-checks.js +17 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-methods.html +70 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style.html +69 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-integer-checks.js +38 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-integer.html +52 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iteration-start-checks.js +506 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iteration-start.html +160 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-alternate-checks.js +44 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-alternate-holes-checks.js +41 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-alternate-holes.html +48 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-alternate.html +50 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-basic-checks.js +162 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-basic.html +116 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-fill-checks.js +602 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-fill.html +167 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-keyframe-creation-checks.js +67 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-keyframe-creation.html +109 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-keyframe-easing-checks.js +65 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-keyframe-easing.html +64 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-length-units-checks.js +342 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-length-units.html +103 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-matrix-transforms-checks.js +56 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-matrix-transforms.html +90 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-motion-path-checks.js +110 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-motion-path.html +133 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-non-numeric-checks.js +26 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-non-numeric.html +42 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-parent-checks.js +38 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-parent.html +52 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-partial-keyframes-checks.js +27 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-partial-keyframes.html +43 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-path-checks.js +20 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-path.html +41 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-pause-checks.js +79 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-pause.html +82 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-perspective-checks.js +37 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-perspective-origin-checks.js +61 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-perspective-origin.html +94 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-perspective.html +79 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-playback-rate-checks.js +146 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-playback-rate.html +128 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-position-list-type-checks.js +73 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-rectangle-checks.js +23 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-rectangle.html +57 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-reparent-checks.js +95 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-reparent.html +60 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-seq-speed-checks.js +69 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-seq-speed.html +86 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-shorthand-checks.js +197 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-shorthand.html +115 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-start-time-checks.js +58 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-start-time-iterations-checks.js +92 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-start-time-iterations.html +107 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-start-time.html +90 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-anim-checks.js +23 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-anim.html +39 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-circle-checks.js +23 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-circle.html +38 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-color-checks.js +20 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-color.html +36 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-text-shadow-checks.js +20 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-text-shadow.html +37 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-timing-functions-checks.js +89 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-timing-functions.html +77 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-to-animation-checks.js +58 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-to-animation.html +83 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-3d-checks.js +134 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-3d.html +123 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-functions-checks.js +160 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-functions.html +158 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-origin-checks.js +37 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-origin.html +80 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-primitives-checks.js +292 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-primitives.html +97 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-units-checks.js +202 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-units.html +98 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-visibility-checks.js +54 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-visibility.html +80 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-wrapping-bug-checks.js +58 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-wrapping-bug.html +60 -0
- data/app/assets/components/web-animations-js/test/testcases/background.png +0 -0
- data/app/assets/components/web-animations-js/test/testcases/disabled-auto-test-change-playback-rate.html +65 -0
- data/app/assets/components/web-animations-js/test/testcases/disabled-auto-test-position-list-type.html +103 -0
- data/app/assets/components/web-animations-js/test/testcases/disabled-media.html +439 -0
- data/app/assets/components/web-animations-js/test/testcases/disabled-test-compositing-order.html +112 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-test-deprecation.html +85 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-test-from-css-value.html +219 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-test-paced-timing-function.html +83 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-test-totimelinetime.html +37 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-unit-test-position-type.html +256 -0
- data/app/assets/components/web-animations-js/test/testcases/manual-test-add-player-onend.html +57 -0
- data/app/assets/components/web-animations-js/test/testcases/manual-test-preset-timings.html +71 -0
- data/app/assets/components/web-animations-js/test/testcases/manual-test-step.html +88 -0
- data/app/assets/components/web-animations-js/test/testcases/small.mp4 +0 -0
- data/app/assets/components/web-animations-js/test/testcases/small.webm +0 -0
- data/app/assets/components/web-animations-js/test/testcases/test-bounds.html +69 -0
- data/app/assets/components/web-animations-js/test/testcases/test-document-timeline.html +53 -0
- data/app/assets/components/web-animations-js/test/testcases/test-dynamic-load.html +65 -0
- data/app/assets/components/web-animations-js/test/testcases/test-fill-auto.html +78 -0
- data/app/assets/components/web-animations-js/test/testcases/test-getcurrent.html +324 -0
- data/app/assets/components/web-animations-js/test/testcases/test-keyframe-animation-effect.html +248 -0
- data/app/assets/components/web-animations-js/test/testcases/test-keyframe-composite-operation.html +182 -0
- data/app/assets/components/web-animations-js/test/testcases/test-null-target.html +66 -0
- data/app/assets/components/web-animations-js/test/testcases/test-pause-for-testing.html +52 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player-addeventlistener.html +161 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player-cleanup.html +79 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player-finish-event.html +101 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player-sort.html +48 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player.html +786 -0
- data/app/assets/components/web-animations-js/test/testcases/test-pseudo-element-reference.html +38 -0
- data/app/assets/components/web-animations-js/test/testcases/test-repeated-pause.html +54 -0
- data/app/assets/components/web-animations-js/test/testcases/test-restart.html +115 -0
- data/app/assets/components/web-animations-js/test/testcases/test-reversed-player-active-phase.html +28 -0
- data/app/assets/components/web-animations-js/test/testcases/test-rotation-not-reversed.html +55 -0
- data/app/assets/components/web-animations-js/test/testcases/test-update-state.html +113 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-clone.html +80 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-delay.html +66 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-dom-operations.html +164 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-duration.html +66 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-get-siblings.html +112 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-modify-timing-params.html +105 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-null-effect.html +43 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-set-parent.html +111 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-testharness-failure.html +54 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-testharness.html +248 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-unpause.html +68 -0
- data/app/assets/components/web-animations-js/test/testcases.js +93 -0
- data/app/assets/components/web-animations-js/test/testharness_timing.css +75 -0
- data/app/assets/components/web-animations-js/test/update-testcases.py +63 -0
- data/app/assets/components/web-animations-js/tools/android/config.sh +8 -0
- data/app/assets/components/web-animations-js/tools/android/setup.sh +152 -0
- data/app/assets/components/web-animations-js/tools/android/stop.sh +20 -0
- data/app/assets/components/web-animations-js/tools/python/requirements.txt +12 -0
- data/app/assets/components/web-animations-js/tools/python/run-tests.py +813 -0
- data/app/assets/components/web-animations-js/tools/python/setup.sh +60 -0
- data/app/assets/components/web-animations-js/tutorial/basic-animations/basic-animation-exercise-1.html +62 -0
- data/app/assets/components/web-animations-js/tutorial/basic-animations/basic-animation.html +120 -0
- data/app/assets/components/web-animations-js/tutorial/iframe-contents.html +29 -0
- data/app/assets/components/web-animations-js/tutorial/jquery.js +9555 -0
- data/app/assets/components/web-animations-js/tutorial/page-load.js +114 -0
- data/app/assets/components/web-animations-js/tutorial/parallel/parallel-exercise-1.html +58 -0
- data/app/assets/components/web-animations-js/tutorial/parallel/parallel.html +101 -0
- data/app/assets/components/web-animations-js/tutorial/sample-tutorial.html +44 -0
- data/app/assets/components/web-animations-js/tutorial/try-it-yourself.js +216 -0
- data/app/assets/components/web-animations-js/tutorial/tutorial-style.css +344 -0
- data/app/assets/components/web-animations-js/tutorial/tutorial-testing.js +84 -0
- data/app/assets/components/{core/animation → web-animations-js}/web-animations.js +77 -214
- data/lib/polymer-paper-rails/version.rb +1 -1
- metadata +540 -61
- data/app/assets/components/core/animation/web-animations.html.erb +0 -1
- data/app/assets/components/core/icon/core-icon.html.erb +0 -126
- data/app/assets/components/core/input/core-input.css +0 -35
- data/app/assets/components/core/list/core-list.css +0 -20
- data/app/assets/components/core/list/core-list.html.erb +0 -403
- data/app/assets/components/core/transition/core-transition-css.html.erb +0 -76
- data/app/assets/components/core/transition/core-transition.html.erb +0 -44
- data/app/assets/components/paper-input/error-100.png +0 -0
- data/app/assets/components/paper-input/error-200.png +0 -0
- data/app/assets/components/paper-input/paper-input.html.erb +0 -398
- data/app/assets/components/paper-input/paper-input.scss +0 -203
- data/app/assets/components/paper-menu-button/paper-menu-button-overlay.html.erb +0 -86
@@ -0,0 +1,80 @@
|
|
1
|
+
<!--
|
2
|
+
Copyright 2012 Google Inc. All Rights Reserved.
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
-->
|
16
|
+
|
17
|
+
<!DOCTYPE html><meta charset="UTF-8">
|
18
|
+
<body>
|
19
|
+
<style>
|
20
|
+
body {
|
21
|
+
margin: 0px;
|
22
|
+
}
|
23
|
+
.test {
|
24
|
+
height: 50px;
|
25
|
+
background: lightsteelblue;
|
26
|
+
}
|
27
|
+
.red {
|
28
|
+
background: red;
|
29
|
+
}
|
30
|
+
.expectation {
|
31
|
+
position: relative;
|
32
|
+
background: red;
|
33
|
+
}
|
34
|
+
</style>
|
35
|
+
<script>
|
36
|
+
"use strict";
|
37
|
+
// Create the elements
|
38
|
+
var states = {'visible':1, 'hidden':1, 'collapse':1};
|
39
|
+
for (var start in states) {
|
40
|
+
for (var end in states) {
|
41
|
+
var frames = [start, end];
|
42
|
+
var testContainer = document.createElement('div');
|
43
|
+
testContainer.textContent = 'visibility: ' + JSON.stringify(frames);
|
44
|
+
document.body.appendChild(testContainer);
|
45
|
+
if (end == 'visible') {
|
46
|
+
var expectation = document.createElement('div');
|
47
|
+
expectation.classList.add('expectation');
|
48
|
+
testContainer.appendChild(expectation);
|
49
|
+
}
|
50
|
+
var testElement = document.createElement('div');
|
51
|
+
testElement.classList.add('test');
|
52
|
+
testElement.id = start + "_" + end
|
53
|
+
if (end == 'hidden' || end == 'collapse') {
|
54
|
+
testElement.classList.add('red');
|
55
|
+
}
|
56
|
+
testContainer.appendChild(testElement);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
</script>
|
61
|
+
<script src="../bootstrap.js"></script>
|
62
|
+
<script>
|
63
|
+
"use strict";
|
64
|
+
var timing = {duration: 0.5 * 1000, easing: 'steps(2, end)', fill: 'forwards'};
|
65
|
+
|
66
|
+
// Add the animations
|
67
|
+
var animations = [];
|
68
|
+
for (var start in states) {
|
69
|
+
for (var end in states) {
|
70
|
+
var effect = [{visibility: start}, {visibility: end}];
|
71
|
+
var testElement = document.getElementById(start + "_" + end);
|
72
|
+
animations.push(
|
73
|
+
new Animation(testElement, effect, timing));
|
74
|
+
}
|
75
|
+
}
|
76
|
+
</script>
|
77
|
+
<script>
|
78
|
+
"use strict";
|
79
|
+
animations.forEach(function(anim) { document.timeline.play(anim); });
|
80
|
+
</script>
|
@@ -0,0 +1,58 @@
|
|
1
|
+
timing_test(function() {
|
2
|
+
at(0 * 1000, function() {
|
3
|
+
assert_styles(
|
4
|
+
'.anim',
|
5
|
+
[{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
6
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
7
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
8
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'}]);
|
9
|
+
}, "Autogenerated");
|
10
|
+
at(0.1 * 1000, function() {
|
11
|
+
assert_styles(
|
12
|
+
'.anim',
|
13
|
+
[{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
14
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
15
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
16
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'}]);
|
17
|
+
}, "Autogenerated");
|
18
|
+
at(0.2 * 1000, function() {
|
19
|
+
assert_styles(
|
20
|
+
'.anim',
|
21
|
+
[{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
22
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
23
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
24
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'}]);
|
25
|
+
}, "Autogenerated");
|
26
|
+
at(0.30000000000000004 * 1000, function() {
|
27
|
+
assert_styles(
|
28
|
+
'.anim',
|
29
|
+
[{'transform':'matrix(1, 0, 0, 1, -666.6666870117188, 0)'},
|
30
|
+
{'transform':'matrix(1, 0, 0, 1, -533.3333129882813, 0)'},
|
31
|
+
{'transform':'matrix(1, 0, 0, 1, -533.3599853515625, 0)'},
|
32
|
+
{'transform':'matrix(1, 0, 0, 1, -533.3333129882813, 0)'}]);
|
33
|
+
}, "Autogenerated");
|
34
|
+
at(0.4 * 1000, function() {
|
35
|
+
assert_styles(
|
36
|
+
'.anim',
|
37
|
+
[{'transform':'matrix(1, 0, 0, 1, -400, 0)'},
|
38
|
+
{'transform':'matrix(1, 0, 0, 1, -266.6666564941406, 0)'},
|
39
|
+
{'transform':'matrix(1, 0, 0, 1, -266.6933288574219, 0)'},
|
40
|
+
{'transform':'matrix(1, 0, 0, 1, -266.6666564941406, 0)'}]);
|
41
|
+
}, "Autogenerated");
|
42
|
+
at(0.5 * 1000, function() {
|
43
|
+
assert_styles(
|
44
|
+
'.anim',
|
45
|
+
[{'transform':'matrix(1, 0, 0, 1, -133.3333282470703, 0)'},
|
46
|
+
{'transform':'matrix(1, 0, 0, 1, 0, 0)'},
|
47
|
+
{'transform':'matrix(1, 0, 0, 1, -0.02666666731238365, 0)'},
|
48
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'}]);
|
49
|
+
}, "Autogenerated");
|
50
|
+
at(0.6 * 1000, function() {
|
51
|
+
assert_styles(
|
52
|
+
'.anim',
|
53
|
+
[{'transform':'matrix(1, 0, 0, 1, 0, 0)'},
|
54
|
+
{'transform':'matrix(1, 0, 0, 1, 0, 0)'},
|
55
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'},
|
56
|
+
{'transform':'matrix(1, 0, 0, 1, -800, 0)'}]);
|
57
|
+
}, "Autogenerated");
|
58
|
+
}, "Autogenerated checks.");
|
@@ -0,0 +1,60 @@
|
|
1
|
+
<!--
|
2
|
+
Copyright 2012 Google Inc. All Rights Reserved.
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
-->
|
16
|
+
|
17
|
+
<!DOCTYPE html><meta charset="UTF-8">
|
18
|
+
<style>
|
19
|
+
.anim {
|
20
|
+
width: 800px;
|
21
|
+
height: 70px;
|
22
|
+
-webkit-transform: translate(-800px, 0px);
|
23
|
+
transform: translate(-800px, 0px);
|
24
|
+
background-color: lightsteelblue;
|
25
|
+
}
|
26
|
+
</style>
|
27
|
+
<div class="anim" id="overflow"></div>
|
28
|
+
<div class="anim" id="overflowControl"></div>
|
29
|
+
<div class="anim" id="underflow"></div>
|
30
|
+
<div class="anim" id="underflowControl"></div>
|
31
|
+
<script src="../bootstrap.js"></script>
|
32
|
+
<script>
|
33
|
+
"use strict";
|
34
|
+
|
35
|
+
var effect = [{transform: "translate(-800px,0px)"}, {transform: "translate(0px,0px)"}];
|
36
|
+
|
37
|
+
var group = new AnimationGroup();
|
38
|
+
document.timeline.play(new AnimationGroup([
|
39
|
+
new Animation(overflow,
|
40
|
+
effect,
|
41
|
+
{ duration: 0.3 * 1000, delay: 0.25 * 1000, fill: 'forwards' })]));
|
42
|
+
|
43
|
+
document.timeline.play(new AnimationGroup([
|
44
|
+
new Animation(overflowControl,
|
45
|
+
effect,
|
46
|
+
{ duration: 0.3 * 1000, delay: 0.2 * 1000, fill: 'forwards' })]));
|
47
|
+
|
48
|
+
document.timeline.play(new AnimationGroup([
|
49
|
+
new Animation(underflow,
|
50
|
+
effect,
|
51
|
+
{ duration: 0.3 * 1000, delay: 0.20001 * 1000, fill: 'none' })]));
|
52
|
+
|
53
|
+
document.timeline.play(new AnimationGroup([
|
54
|
+
new Animation(underflowControl,
|
55
|
+
effect,
|
56
|
+
{ duration: 0.3 * 1000, delay: 0.2 * 1000, fill: 'none' })]));
|
57
|
+
|
58
|
+
</script>
|
59
|
+
|
60
|
+
|
@@ -0,0 +1,65 @@
|
|
1
|
+
<!--
|
2
|
+
Copyright 2012 Google Inc. All Rights Reserved.
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
-->
|
16
|
+
|
17
|
+
|
18
|
+
<!--
|
19
|
+
This test is currently broken.
|
20
|
+
1) The test doesn't work without simulating all the frames
|
21
|
+
2) The test fails when you simulate on t=0 boundary because currentTime_ ends
|
22
|
+
up null
|
23
|
+
3) The test fails when you simulate on t=0 boundary because relativeTime
|
24
|
+
returns null when zeroTime is null
|
25
|
+
-->
|
26
|
+
|
27
|
+
|
28
|
+
<!DOCTYPE html><meta charset="UTF-8">
|
29
|
+
<style>
|
30
|
+
.anim {
|
31
|
+
left: 0px;
|
32
|
+
width: 100px;
|
33
|
+
height: 100px;
|
34
|
+
background-color: #FAA;
|
35
|
+
position: absolute;
|
36
|
+
}
|
37
|
+
|
38
|
+
#a {
|
39
|
+
top: 0px
|
40
|
+
}
|
41
|
+
</style>
|
42
|
+
|
43
|
+
<div id="a" class="anim a"></div>
|
44
|
+
|
45
|
+
|
46
|
+
<script src="../bootstrap.js"></script>
|
47
|
+
<script>
|
48
|
+
"use strict";
|
49
|
+
|
50
|
+
var a1 = new Animation(document.querySelector("#a"),
|
51
|
+
[{left: "0px"}, {left: "500px"}],
|
52
|
+
{duration: 10 * 1000, direction: 'alternating', iterations: Infinity});
|
53
|
+
var player1 = document.timeline.play(a1);
|
54
|
+
|
55
|
+
var a2 = new Animation(undefined,
|
56
|
+
function(timeFraction) {
|
57
|
+
var playbackRate = 0.01 + 10 * timeFraction;
|
58
|
+
player1.playbackRate = playbackRate
|
59
|
+
player2.playbackRate = playbackRate;
|
60
|
+
document.querySelector("#a").textContent = playbackRate;
|
61
|
+
},
|
62
|
+
a1.timing.clone());
|
63
|
+
var player2 = document.timeline.play(a2);
|
64
|
+
|
65
|
+
</script>
|
@@ -0,0 +1,103 @@
|
|
1
|
+
<!--
|
2
|
+
Copyright 2012 Google Inc. All Rights Reserved.
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
-->
|
16
|
+
|
17
|
+
<!DOCTYPE html><meta charset="UTF-8">
|
18
|
+
<style>
|
19
|
+
.anim {
|
20
|
+
width: 200px;
|
21
|
+
height: 200px;
|
22
|
+
display: inline-block;
|
23
|
+
border-style: solid;
|
24
|
+
font-weight: bold;
|
25
|
+
border-color: white;
|
26
|
+
color: white;
|
27
|
+
background-color: #888;
|
28
|
+
background-repeat: no-repeat;
|
29
|
+
}
|
30
|
+
</style>
|
31
|
+
|
32
|
+
All divs should end up with a green block in the top left corner.
|
33
|
+
<div id="container"></div>
|
34
|
+
|
35
|
+
<script src="../bootstrap.js"></script>
|
36
|
+
<script>
|
37
|
+
"use strict";
|
38
|
+
|
39
|
+
function generateGridLinesURI(size) {
|
40
|
+
var canvas = document.createElement('canvas');
|
41
|
+
canvas.width = size;
|
42
|
+
canvas.height = size;
|
43
|
+
var context = canvas.getContext('2d');
|
44
|
+
|
45
|
+
context.fillStyle = 'green';
|
46
|
+
context.fillRect(0.5, 0.5, size - 1, size - 1);
|
47
|
+
|
48
|
+
context.lineWidth = 2;
|
49
|
+
context.strokeStyle = 'black';
|
50
|
+
context.strokeRect(1, 1, size - 2, size - 2);
|
51
|
+
|
52
|
+
return canvas.toDataURL();
|
53
|
+
}
|
54
|
+
var backgroundImage = 'url(' + generateGridLinesURI(150) + ')';
|
55
|
+
|
56
|
+
var startPosition = '0% 0%';
|
57
|
+
var endPositions = [
|
58
|
+
'left',
|
59
|
+
'center',
|
60
|
+
'right',
|
61
|
+
'top',
|
62
|
+
'bottom',
|
63
|
+
'10px',
|
64
|
+
'20%',
|
65
|
+
'center left',
|
66
|
+
'center center',
|
67
|
+
'right bottom',
|
68
|
+
'right 25%',
|
69
|
+
'10px bottom',
|
70
|
+
'10px 40px',
|
71
|
+
'left bottom 10px',
|
72
|
+
'center top 20%',
|
73
|
+
'right top 10px',
|
74
|
+
'right bottom 80%',
|
75
|
+
'right 80% bottom',
|
76
|
+
'bottom left 10px',
|
77
|
+
'left 40px bottom 10px',
|
78
|
+
'left 20% top 20%',
|
79
|
+
'calc(25% - 5px)',
|
80
|
+
'calc(25% - 5px) 25%',
|
81
|
+
'top calc(25% - 5px) center',
|
82
|
+
'bottom left 10px',
|
83
|
+
'bottom calc(25% - 5px) right',
|
84
|
+
'left 10px bottom 10px',
|
85
|
+
'left 25% top 25%',
|
86
|
+
'left calc(25% - 5px) top 10px',
|
87
|
+
'top 10px right calc(25% - 5px)',
|
88
|
+
'bottom calc(25% - 5px) left 10px',
|
89
|
+
];
|
90
|
+
|
91
|
+
for (var i = 0; i < endPositions.length; i++) {
|
92
|
+
var endPosition = endPositions[i];
|
93
|
+
var pre = document.createElement('pre');
|
94
|
+
pre.style.backgroundImage = backgroundImage;
|
95
|
+
pre.className = 'anim';
|
96
|
+
pre.innerText = 'background-position:\nfrom: ' + startPosition + '\nto: ' + endPosition;
|
97
|
+
document.querySelector('#container').appendChild(pre);
|
98
|
+
document.timeline.play(new Animation(pre, new KeyframeEffect([
|
99
|
+
{ backgroundPosition: startPosition },
|
100
|
+
{ backgroundPosition: endPosition },
|
101
|
+
]), { duration:2, easing: 'ease-in'}));
|
102
|
+
}
|
103
|
+
</script>
|
@@ -0,0 +1,439 @@
|
|
1
|
+
<!--
|
2
|
+
Copyright 2013 Google Inc. All Rights Reserved.
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
-->
|
16
|
+
|
17
|
+
<!--
|
18
|
+
Requires the test harness to allow tests to be added after page load. See
|
19
|
+
https://github.com/web-animations/web-animations-js/issues/321
|
20
|
+
-->
|
21
|
+
|
22
|
+
<!DOCTYPE html><meta charset="UTF-8">
|
23
|
+
<style type="text/css">
|
24
|
+
video {
|
25
|
+
width: 100px;
|
26
|
+
}
|
27
|
+
</style>
|
28
|
+
|
29
|
+
<!--
|
30
|
+
Videos are taken from
|
31
|
+
http://techslides.com/sample-webm-ogg-and-mp4-video-files-for-html5
|
32
|
+
|
33
|
+
We serve them from a remote host to make sure they are served with a 206
|
34
|
+
response code, to work around Chrome bug
|
35
|
+
https://code.google.com/p/chromium/issues/detail?id=121765.
|
36
|
+
-->
|
37
|
+
<div id="videos">
|
38
|
+
<video preload="auto">
|
39
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
40
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
41
|
+
</video>
|
42
|
+
<video preload="auto">
|
43
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
44
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
45
|
+
</video>
|
46
|
+
<video preload="auto">
|
47
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
48
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
49
|
+
</video>
|
50
|
+
<video preload="auto">
|
51
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
52
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
53
|
+
</video>
|
54
|
+
<video preload="auto">
|
55
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
56
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
57
|
+
</video>
|
58
|
+
<video preload="auto">
|
59
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
60
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
61
|
+
</video>
|
62
|
+
<video preload="auto">
|
63
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
64
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
65
|
+
</video>
|
66
|
+
<video preload="auto">
|
67
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
68
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
69
|
+
</video>
|
70
|
+
<video preload="auto">
|
71
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
72
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
73
|
+
</video>
|
74
|
+
<video preload="auto">
|
75
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
76
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
77
|
+
</video>
|
78
|
+
<video preload="auto">
|
79
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
80
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
81
|
+
</video>
|
82
|
+
<video preload="auto">
|
83
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
84
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
85
|
+
</video>
|
86
|
+
<video preload="auto">
|
87
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
88
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
89
|
+
</video>
|
90
|
+
<video preload="auto">
|
91
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
92
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
93
|
+
</video>
|
94
|
+
<video preload="auto">
|
95
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
96
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
97
|
+
</video>
|
98
|
+
<video preload="auto">
|
99
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
100
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
101
|
+
</video>
|
102
|
+
<video preload="auto">
|
103
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
104
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
105
|
+
</video>
|
106
|
+
<video preload="auto">
|
107
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
108
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
109
|
+
</video>
|
110
|
+
<video preload="auto">
|
111
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
112
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
113
|
+
</video>
|
114
|
+
<video preload="auto">
|
115
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
116
|
+
<source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
117
|
+
</video>
|
118
|
+
</div>
|
119
|
+
|
120
|
+
<script src="../bootstrap.js" nochecks></script>
|
121
|
+
<script>
|
122
|
+
"use strict";
|
123
|
+
|
124
|
+
var dt = document.timeline;
|
125
|
+
|
126
|
+
// Most of these tests require the video to have loaded before they run.
|
127
|
+
// However, the test harness does not allow timing_test()s to be started after
|
128
|
+
// the page has finished loading. This means that we can't add the video
|
129
|
+
// dynamically then wait for it to load before testing.
|
130
|
+
//
|
131
|
+
// As a best-effort work-around, we include all videos in static HTML with
|
132
|
+
// preload="auto" to hint to the browser that they should be loaded
|
133
|
+
// immediately. However, this does not guarantee that they will be loaded when
|
134
|
+
// the page's load event fires, so the tests are flaky.
|
135
|
+
//
|
136
|
+
// TODO: Fix the test runner to allow the use of async_test() with
|
137
|
+
// timing_test(), which will allow the video elements to be created dynamically.
|
138
|
+
// See https://github.com/web-animations/web-animations-js/issues/321
|
139
|
+
var videos = document.getElementById("videos").getElementsByTagName('video');
|
140
|
+
// Cache this length, as videos is a live NodeList.
|
141
|
+
var numStaticVideos = videos.length;
|
142
|
+
var nextIndex = 0;
|
143
|
+
function getNextVideo() {
|
144
|
+
if (nextIndex >= numStaticVideos) {
|
145
|
+
throw new Error('No more videos!');
|
146
|
+
}
|
147
|
+
return videos[nextIndex++];
|
148
|
+
}
|
149
|
+
|
150
|
+
function createVideo() {
|
151
|
+
// Videos taken from
|
152
|
+
// http://techslides.com/sample-webm-ogg-and-mp4-video-files-for-html5
|
153
|
+
var video = document.createElement("video");
|
154
|
+
var webmSource = document.createElement("source");
|
155
|
+
webmSource.setAttribute("src", "small.webm");
|
156
|
+
webmSource.setAttribute("type", "video/webm");
|
157
|
+
video.appendChild(webmSource);
|
158
|
+
var mp4Source = document.createElement("source");
|
159
|
+
mp4Source.setAttribute("src", "small.mp4");
|
160
|
+
mp4Source.setAttribute("type", "video/mp4");
|
161
|
+
video.appendChild(mp4Source);
|
162
|
+
document.getElementById("videos").appendChild(video);
|
163
|
+
return video;
|
164
|
+
}
|
165
|
+
|
166
|
+
function testOnceVideosLoaded(callback, message) {
|
167
|
+
timing_test(function() {
|
168
|
+
at(0.0 * 1000, callback);
|
169
|
+
}, message);
|
170
|
+
}
|
171
|
+
|
172
|
+
function createTestMediaReference(mediaElement, timing, parent) {
|
173
|
+
return new MediaReference(mediaElement, timing, parent, 0.0);
|
174
|
+
}
|
175
|
+
|
176
|
+
var expectedVideoLength = 5.568;
|
177
|
+
|
178
|
+
|
179
|
+
// Test that MediaReference disables looping.
|
180
|
+
test(function() {
|
181
|
+
var video = getNextVideo();
|
182
|
+
video.loop = true;
|
183
|
+
createTestMediaReference(video);
|
184
|
+
assert_false(video.loop);
|
185
|
+
}, "MediaReference should disable looping");
|
186
|
+
|
187
|
+
// Test intrinsic iteration duration before media loads.
|
188
|
+
test(function() {
|
189
|
+
assert_equals(createTestMediaReference(createVideo()).duration,
|
190
|
+
Infinity);
|
191
|
+
}, "Intrinsic duration should be Infinity before media loads");
|
192
|
+
|
193
|
+
// Test intrinisc iteration duration.
|
194
|
+
testOnceVideosLoaded(function() {
|
195
|
+
assert_approx_equals(
|
196
|
+
createTestMediaReference(getNextVideo()).duration,
|
197
|
+
expectedVideoLength, 0.001);
|
198
|
+
}, "Intrinsic iteration duration should be media duration");
|
199
|
+
|
200
|
+
// Test that iteration duration can be overridden.
|
201
|
+
testOnceVideosLoaded(function() {
|
202
|
+
assert_equals(createTestMediaReference(getNextVideo(), 1.0).duration,
|
203
|
+
1.0);
|
204
|
+
}, "Iteration duration should be overridable");
|
205
|
+
|
206
|
+
// Test basic use.
|
207
|
+
timing_test(function() {
|
208
|
+
var video = getNextVideo();
|
209
|
+
at(0.0 * 1000, function() {
|
210
|
+
dt.play(createTestMediaReference(video));
|
211
|
+
assert_equals(video.playbackRate, 1.0);
|
212
|
+
assert_false(video.paused);
|
213
|
+
});
|
214
|
+
}, "Basic use");
|
215
|
+
|
216
|
+
// Test clipping where duration limits. Video should be frozen at end
|
217
|
+
// of duration.
|
218
|
+
timing_test(function() {
|
219
|
+
var video = getNextVideo();
|
220
|
+
at(0.0 * 1000, function() {
|
221
|
+
dt.play(createTestMediaReference(video, 3.0));
|
222
|
+
});
|
223
|
+
at(3.0 * 1000, function() {
|
224
|
+
assert_equals(video.currentTime, 3.0);
|
225
|
+
assert_true(video.paused);
|
226
|
+
});
|
227
|
+
at(4.0 * 1000, function() {
|
228
|
+
assert_equals(video.currentTime, 3.0);
|
229
|
+
assert_true(video.paused);
|
230
|
+
});
|
231
|
+
}, "Video should be frozen at duration");
|
232
|
+
|
233
|
+
// Test clipping where video length limits. Video should be frozen at end for
|
234
|
+
// remainder of duration.
|
235
|
+
timing_test(function() {
|
236
|
+
var video = getNextVideo();
|
237
|
+
at(0.0 * 1000, function() {
|
238
|
+
dt.play(createTestMediaReference(video, video.duration + 2));
|
239
|
+
});
|
240
|
+
// We can't use video.duration here because the video isn't yet loaded.
|
241
|
+
at(expectedVideoLength + 1, function() {
|
242
|
+
assert_equals(video.currentTime, video.duration);
|
243
|
+
assert_true(video.paused);
|
244
|
+
});
|
245
|
+
// We can't use video.duration here because the video isn't yet loaded.
|
246
|
+
at(expectedVideoLength + 2, function() {
|
247
|
+
assert_equals(video.currentTime, video.duration);
|
248
|
+
assert_true(video.paused);
|
249
|
+
});
|
250
|
+
}, "Video should be frozen at end");
|
251
|
+
|
252
|
+
// Test fill with duration limiting. Video should be frozen at end of
|
253
|
+
// duration.
|
254
|
+
timing_test(function() {
|
255
|
+
var video = getNextVideo();
|
256
|
+
at(0.0 * 1000, function() {
|
257
|
+
dt.play(createTestMediaReference(video, 1.0));
|
258
|
+
});
|
259
|
+
at(2.0 * 1000, function() {
|
260
|
+
assert_equals(video.currentTime, 1.0);
|
261
|
+
assert_equals(video.paused, true);
|
262
|
+
});
|
263
|
+
}, "Should freeze video at duration for fill");
|
264
|
+
|
265
|
+
// Test fill with video length limiting. Video should be at end.
|
266
|
+
timing_test(function() {
|
267
|
+
var video = getNextVideo();
|
268
|
+
at(0.0 * 1000, function() {
|
269
|
+
dt.play(createTestMediaReference(video), video.duration + 1.0);
|
270
|
+
});
|
271
|
+
// We can't use video.duration here because the video isn't yet loaded.
|
272
|
+
at(expectedVideoLength + 2, function() {
|
273
|
+
assert_equals(video.currentTime, video.duration);
|
274
|
+
});
|
275
|
+
}, "Should freeze video at end for fill");
|
276
|
+
|
277
|
+
// Test no fill. Video should be frozen at start.
|
278
|
+
timing_test(function() {
|
279
|
+
var video = getNextVideo();
|
280
|
+
at(0.0 * 1000, function() {
|
281
|
+
dt.play(createTestMediaReference(video, {fill: "none"}));
|
282
|
+
});
|
283
|
+
// We can't use video.duration here because the video isn't yet loaded.
|
284
|
+
at(expectedVideoLength + 1, function() {
|
285
|
+
assert_equals(video.currentTime, 0);
|
286
|
+
assert_equals(video.paused, true);
|
287
|
+
});
|
288
|
+
}, "Should freeze video at start for no fill");
|
289
|
+
|
290
|
+
// Test iterations.
|
291
|
+
timing_test(function() {
|
292
|
+
var video = getNextVideo();
|
293
|
+
at(0.0 * 1000, function() {
|
294
|
+
dt.play(createTestMediaReference(video,
|
295
|
+
{iterations: 2.0, duration: 1.0 * 1000}));
|
296
|
+
});
|
297
|
+
at(1.5 * 1000, function() {
|
298
|
+
assert_equals(video.currentTime, 0.5);
|
299
|
+
});
|
300
|
+
}, "Video should respect iterations");
|
301
|
+
|
302
|
+
// Test iterationStart.
|
303
|
+
timing_test(function() {
|
304
|
+
var video = getNextVideo();
|
305
|
+
at(0.0 * 1000, function() {
|
306
|
+
dt.play(createTestMediaReference(video,
|
307
|
+
{iterationStart: 0.5, duration: 2.0 * 1000}));
|
308
|
+
});
|
309
|
+
at(0.5 * 1000, function() {
|
310
|
+
assert_equals(video.currentTime, 1.5);
|
311
|
+
});
|
312
|
+
}, "Video should respect iterationStart");
|
313
|
+
|
314
|
+
// Test playback rate.
|
315
|
+
timing_test(function() {
|
316
|
+
var video = getNextVideo();
|
317
|
+
at(0.0 * 1000, function() {
|
318
|
+
dt.play(createTestMediaReference(video, {playbackRate: 2.0}));
|
319
|
+
});
|
320
|
+
at(1.0 * 1000, function() {
|
321
|
+
assert_equals(video.currentTime, 2.0);
|
322
|
+
assert_equals(video.playbackRate, 2.0);
|
323
|
+
});
|
324
|
+
}, "Video should respect playbackRate");
|
325
|
+
|
326
|
+
// Test heirachy of playback rates.
|
327
|
+
timing_test(function() {
|
328
|
+
var video = getNextVideo();
|
329
|
+
at(0.0 * 1000, function() {
|
330
|
+
dt.play(new AnimationGroup([createTestMediaReference(video, {playbackRate: 1.5})],
|
331
|
+
{playbackRate: 2.5}));
|
332
|
+
});
|
333
|
+
at(1.0 * 1000, function() {
|
334
|
+
assert_equals(video.currentTime, 3.75);
|
335
|
+
assert_equals(video.playbackRate, 3.75);
|
336
|
+
});
|
337
|
+
}, "Video should respect playbackRate heirachy");
|
338
|
+
|
339
|
+
// Test interaction with MediaElement.defaultPlaybackRate.
|
340
|
+
timing_test(function() {
|
341
|
+
var video = getNextVideo();
|
342
|
+
at(0.0 * 1000, function() {
|
343
|
+
video.defaultPlaybackRate = 2.5;
|
344
|
+
dt.play(createTestMediaReference(video, {playbackRate: 1.5}));
|
345
|
+
});
|
346
|
+
at(1.0 * 1000, function() {
|
347
|
+
assert_equals(video.currentTime, 3.75);
|
348
|
+
assert_equals(video.playbackRate, 3.75);
|
349
|
+
});
|
350
|
+
}, "Video should respect playbackRate after setting defaultPlaybackRate");
|
351
|
+
|
352
|
+
// Test reversing.
|
353
|
+
timing_test(function() {
|
354
|
+
var video = getNextVideo();
|
355
|
+
at(0.0 * 1000, function() {
|
356
|
+
dt.play(createTestMediaReference(video, {direction: "reverse"}));
|
357
|
+
});
|
358
|
+
at(1.0 * 1000, function() {
|
359
|
+
assert_approx_equals(video.currentTime, video.duration - 1.0, 0.0001);
|
360
|
+
assert_equals(video.playbackRate, -1.0);
|
361
|
+
});
|
362
|
+
}, "Video should respect reversing");
|
363
|
+
|
364
|
+
// Test negative playback rate.
|
365
|
+
timing_test(function() {
|
366
|
+
var video = getNextVideo();
|
367
|
+
at(0.0 * 1000, function() {
|
368
|
+
dt.play(createTestMediaReference(video, {playbackRate: -0.5}));
|
369
|
+
});
|
370
|
+
at(1.0 * 1000, function() {
|
371
|
+
assert_approx_equals(video.currentTime, video.duration - 0.5, 0.0001);
|
372
|
+
assert_equals(video.playbackRate, -0.5);
|
373
|
+
});
|
374
|
+
}, "Video should respect negative playbackRate");
|
375
|
+
|
376
|
+
// Test interaction of reversing and playback rate.
|
377
|
+
timing_test(function() {
|
378
|
+
var video = getNextVideo();
|
379
|
+
at(0.0 * 1000, function() {
|
380
|
+
dt.play(new AnimationGroup(
|
381
|
+
[createTestMediaReference(video, {playbackRate: -0.5})],
|
382
|
+
{playbackRate: 3.0, direction: "reverse"}));
|
383
|
+
});
|
384
|
+
at(1.0 * 1000, function() {
|
385
|
+
assert_equals(video.currentTime, 1.5);
|
386
|
+
assert_equals(video.playbackRate, 1.5);
|
387
|
+
});
|
388
|
+
}, "Video should respect reversing and playbackRate");
|
389
|
+
|
390
|
+
// Test zero duration.
|
391
|
+
timing_test(function() {
|
392
|
+
var video = getNextVideo();
|
393
|
+
at(0.0 * 1000, function() {
|
394
|
+
dt.play(createTestMediaReference(video, 0.0));
|
395
|
+
assert_equals(video.currentTime, 0.0);
|
396
|
+
});
|
397
|
+
at(1.0 * 1000, function() {
|
398
|
+
assert_equals(video.currentTime, 0.0);
|
399
|
+
});
|
400
|
+
}, "Video should start at time zero when duration is zero");
|
401
|
+
|
402
|
+
// Test zero intrinsic duration.
|
403
|
+
// TODO: Need to find a zero length video.
|
404
|
+
|
405
|
+
// Test that media elements are removed from their MediaController.
|
406
|
+
timing_test(function() {
|
407
|
+
var video = getNextVideo();
|
408
|
+
at(0.0 * 1000, function() {
|
409
|
+
video.controller = new MediaController();
|
410
|
+
dt.play(createTestMediaReference(video));
|
411
|
+
assert_equals(video.controller, null);
|
412
|
+
});
|
413
|
+
// Seeking the video will throw if the controller has not been detached.
|
414
|
+
at(1.0 * 1000, function() {
|
415
|
+
assert_equals(video.currentTime, 1.0);
|
416
|
+
});
|
417
|
+
}, "Video should be detached from controller when used in MediaReference");
|
418
|
+
|
419
|
+
// Test limited seek ranges.
|
420
|
+
// TODO: Need to find a video with limited seek ranges.
|
421
|
+
|
422
|
+
// Test that video is paused when its MediaReference is detached from its
|
423
|
+
// AnimationPlayer.
|
424
|
+
timing_test(function() {
|
425
|
+
var video = getNextVideo();
|
426
|
+
var player;
|
427
|
+
at(0.0 * 1000, function() {
|
428
|
+
player = dt.play(createTestMediaReference(video));
|
429
|
+
});
|
430
|
+
at(1.0 * 1000, function() {
|
431
|
+
assert_false(video.paused);
|
432
|
+
player.source = null;
|
433
|
+
});
|
434
|
+
at(2.0 * 1000, function() {
|
435
|
+
assert_true(video.paused);
|
436
|
+
});
|
437
|
+
}, "Video should be paused when MediaReference is detached from its AnimationPlayer");
|
438
|
+
|
439
|
+
</script>
|