@override
(element)
| 293 | |
| 294 | /** @override */ |
| 295 | add(element) { |
| 296 | // Ensure the viewport is ready to accept the first element. |
| 297 | this.addCount_++; |
| 298 | if (this.addCount_ == 1) { |
| 299 | this.viewport_.ensureReadyForElements(); |
| 300 | } |
| 301 | |
| 302 | // First check if the resource is being reparented and if it requires |
| 303 | // reconstruction. Only already built elements are eligible. |
| 304 | let resource = Resource.forElementOptional(element); |
| 305 | if ( |
| 306 | resource && |
| 307 | resource.getState() != ResourceState_Enum.NOT_BUILT && |
| 308 | !element.reconstructWhenReparented() |
| 309 | ) { |
| 310 | resource.requestMeasure(); |
| 311 | dev().fine(TAG_, 'resource reused:', resource.debugid); |
| 312 | } else { |
| 313 | // Create and add a new resource. |
| 314 | resource = new Resource(++this.resourceIdCounter_, element, this); |
| 315 | dev().fine(TAG_, 'resource added:', resource.debugid); |
| 316 | } |
| 317 | this.resources_.push(resource); |
| 318 | this.remeasurePass_.schedule(1000); |
| 319 | } |
| 320 | |
| 321 | /** |
| 322 | * Limits the number of elements being build in pre-render phase to |
no test coverage detected