cssanimation: Compute progress correctly
We were computing the wrong progress, in particular when the iteration count was non-integer. Test included.
This commit is contained in:
		| @ -83,6 +83,9 @@ testdata = \ | ||||
| 	animation-direction.css \ | ||||
| 	animation-direction.ref.ui \ | ||||
| 	animation-direction.ui \ | ||||
| 	animation-fill-mode-iteration-count.css \ | ||||
| 	animation-fill-mode-iteration-count.ref.ui \ | ||||
| 	animation-fill-mode-iteration-count.ui \ | ||||
| 	background-area.css \ | ||||
| 	background-area.ref.ui \ | ||||
| 	background-area.ui \ | ||||
|  | ||||
							
								
								
									
										83
									
								
								testsuite/reftests/animation-fill-mode-iteration-count.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								testsuite/reftests/animation-fill-mode-iteration-count.css
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | ||||
| @keyframes cssrocks { | ||||
|   from { background-color: yellow; } | ||||
|   to   { background-color: red; } | ||||
| } | ||||
|  | ||||
| box { | ||||
|   background-color: blue; | ||||
|   animation-fill-mode: both; | ||||
|   animation-duration: 100s; | ||||
|   padding: 1px; | ||||
|   background-clip: content-box; | ||||
|   animation-timing-function: linear; | ||||
| } | ||||
|  | ||||
| .after { | ||||
|   animation-name: cssrocks; | ||||
|   animation-delay: -10000s; | ||||
| } | ||||
|  | ||||
| .before { | ||||
|   animation-name: cssrocks; | ||||
|   animation-delay: 10000s; | ||||
| } | ||||
|  | ||||
| .normal { | ||||
|   animation-direction: normal; | ||||
| } | ||||
|  | ||||
| .reverse { | ||||
|   animation-direction: reverse; | ||||
| } | ||||
|  | ||||
| .alternate { | ||||
|   animation-direction: alternate; | ||||
| } | ||||
|  | ||||
| .alternate-reverse { | ||||
|   animation-direction: alternate-reverse; | ||||
| } | ||||
|  | ||||
| .x0 { | ||||
|   animation-iteration-count: 0; | ||||
| } | ||||
|  | ||||
| .x02 { | ||||
|   animation-iteration-count: 0.2; | ||||
| } | ||||
|  | ||||
| .x1 { | ||||
|   animation-iteration-count: 1; | ||||
| } | ||||
|  | ||||
| .x12 { | ||||
|   animation-iteration-count: 1.2; | ||||
| } | ||||
|  | ||||
| .x2 { | ||||
|   animation-iteration-count: 2; | ||||
| } | ||||
|  | ||||
| .x22 { | ||||
|   animation-iteration-count: 2.2; | ||||
| } | ||||
|  | ||||
| .yellow { | ||||
|   animation: none; | ||||
|   background-color: yellow; | ||||
| } | ||||
|  | ||||
| .red { | ||||
|   animation: none; | ||||
|   background-color: red; | ||||
| } | ||||
|  | ||||
| .darkorange { | ||||
|   animation: none; | ||||
|   background-color: rgb(255,51,0); | ||||
| } | ||||
|  | ||||
| .lightorange { | ||||
|   animation: none; | ||||
|   background-color: rgb(255,204,0); | ||||
| } | ||||
							
								
								
									
										1117
									
								
								testsuite/reftests/animation-fill-mode-iteration-count.ref.ui
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1117
									
								
								testsuite/reftests/animation-fill-mode-iteration-count.ref.ui
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1213
									
								
								testsuite/reftests/animation-fill-mode-iteration-count.ui
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1213
									
								
								testsuite/reftests/animation-fill-mode-iteration-count.ui
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user
	 Benjamin Otte
					Benjamin Otte