OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 child->animation()->resumeAnimations(); | 306 child->animation()->resumeAnimations(); |
307 } | 307 } |
308 | 308 |
309 void AnimationControllerPrivate::suspendAnimationsForDocument(Document* document
) | 309 void AnimationControllerPrivate::suspendAnimationsForDocument(Document* document
) |
310 { | 310 { |
311 setBeginAnimationUpdateTime(cBeginAnimationUpdateTimeNotSet); | 311 setBeginAnimationUpdateTime(cBeginAnimationUpdateTimeNotSet); |
312 | 312 |
313 RenderObjectAnimationMap::const_iterator animationsEnd = m_compositeAnimatio
ns.end(); | 313 RenderObjectAnimationMap::const_iterator animationsEnd = m_compositeAnimatio
ns.end(); |
314 for (RenderObjectAnimationMap::const_iterator it = m_compositeAnimations.beg
in(); it != animationsEnd; ++it) { | 314 for (RenderObjectAnimationMap::const_iterator it = m_compositeAnimations.beg
in(); it != animationsEnd; ++it) { |
315 RenderObject* renderer = it->key; | 315 RenderObject* renderer = it->key; |
316 if (renderer->document() == document) { | 316 if (&renderer->document() == document) { |
317 CompositeAnimation* compAnim = it->value.get(); | 317 CompositeAnimation* compAnim = it->value.get(); |
318 compAnim->suspendAnimations(); | 318 compAnim->suspendAnimations(); |
319 } | 319 } |
320 } | 320 } |
321 | 321 |
322 scheduleService(); | 322 scheduleService(); |
323 } | 323 } |
324 | 324 |
325 void AnimationControllerPrivate::resumeAnimationsForDocument(Document* document) | 325 void AnimationControllerPrivate::resumeAnimationsForDocument(Document* document) |
326 { | 326 { |
327 setBeginAnimationUpdateTime(cBeginAnimationUpdateTimeNotSet); | 327 setBeginAnimationUpdateTime(cBeginAnimationUpdateTimeNotSet); |
328 | 328 |
329 RenderObjectAnimationMap::const_iterator animationsEnd = m_compositeAnimatio
ns.end(); | 329 RenderObjectAnimationMap::const_iterator animationsEnd = m_compositeAnimatio
ns.end(); |
330 for (RenderObjectAnimationMap::const_iterator it = m_compositeAnimations.beg
in(); it != animationsEnd; ++it) { | 330 for (RenderObjectAnimationMap::const_iterator it = m_compositeAnimations.beg
in(); it != animationsEnd; ++it) { |
331 RenderObject* renderer = it->key; | 331 RenderObject* renderer = it->key; |
332 if (renderer->document() == document) { | 332 if (&renderer->document() == document) { |
333 CompositeAnimation* compAnim = it->value.get(); | 333 CompositeAnimation* compAnim = it->value.get(); |
334 compAnim->resumeAnimations(); | 334 compAnim->resumeAnimations(); |
335 } | 335 } |
336 } | 336 } |
337 | 337 |
338 scheduleService(); | 338 scheduleService(); |
339 } | 339 } |
340 | 340 |
341 void AnimationControllerPrivate::pauseAnimationsForTesting(double t) | 341 void AnimationControllerPrivate::pauseAnimationsForTesting(double t) |
342 { | 342 { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 } | 384 } |
385 | 385 |
386 unsigned AnimationControllerPrivate::numberOfActiveAnimations(Document* document
) const | 386 unsigned AnimationControllerPrivate::numberOfActiveAnimations(Document* document
) const |
387 { | 387 { |
388 unsigned count = 0; | 388 unsigned count = 0; |
389 | 389 |
390 RenderObjectAnimationMap::const_iterator animationsEnd = m_compositeAnimatio
ns.end(); | 390 RenderObjectAnimationMap::const_iterator animationsEnd = m_compositeAnimatio
ns.end(); |
391 for (RenderObjectAnimationMap::const_iterator it = m_compositeAnimations.beg
in(); it != animationsEnd; ++it) { | 391 for (RenderObjectAnimationMap::const_iterator it = m_compositeAnimations.beg
in(); it != animationsEnd; ++it) { |
392 RenderObject* renderer = it->key; | 392 RenderObject* renderer = it->key; |
393 CompositeAnimation* compAnim = it->value.get(); | 393 CompositeAnimation* compAnim = it->value.get(); |
394 if (renderer->document() == document) | 394 if (&renderer->document() == document) |
395 count += compAnim->numberOfActiveAnimations(); | 395 count += compAnim->numberOfActiveAnimations(); |
396 } | 396 } |
397 | 397 |
398 return count; | 398 return count; |
399 } | 399 } |
400 | 400 |
401 void AnimationControllerPrivate::addToAnimationsWaitingForStyle(AnimationBase* a
nimation) | 401 void AnimationControllerPrivate::addToAnimationsWaitingForStyle(AnimationBase* a
nimation) |
402 { | 402 { |
403 // Make sure this animation is not in the start time waiters | 403 // Make sure this animation is not in the start time waiters |
404 m_animationsWaitingForStartTimeResponse.remove(animation); | 404 m_animationsWaitingForStartTimeResponse.remove(animation); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 return; | 491 return; |
492 | 492 |
493 if (m_data->clear(renderer)) { | 493 if (m_data->clear(renderer)) { |
494 if (Node* node = renderer->node()) | 494 if (Node* node = renderer->node()) |
495 node->setNeedsStyleRecalc(LocalStyleChange, StyleChangeFromRenderer)
; | 495 node->setNeedsStyleRecalc(LocalStyleChange, StyleChangeFromRenderer)
; |
496 } | 496 } |
497 } | 497 } |
498 | 498 |
499 PassRefPtr<RenderStyle> AnimationController::updateAnimations(RenderObject* rend
erer, RenderStyle* newStyle) | 499 PassRefPtr<RenderStyle> AnimationController::updateAnimations(RenderObject* rend
erer, RenderStyle* newStyle) |
500 { | 500 { |
501 if (!renderer->document()) | |
502 return newStyle; | |
503 | |
504 RenderStyle* oldStyle = renderer->style(); | 501 RenderStyle* oldStyle = renderer->style(); |
505 | 502 |
506 if ((!oldStyle || (!oldStyle->animations() && !oldStyle->transitions())) &&
(!newStyle->animations() && !newStyle->transitions())) | 503 if ((!oldStyle || (!oldStyle->animations() && !oldStyle->transitions())) &&
(!newStyle->animations() && !newStyle->transitions())) |
507 return newStyle; | 504 return newStyle; |
508 | 505 |
509 // Don't run transitions when printing. | 506 // Don't run transitions when printing. |
510 if (renderer->view()->printing()) | 507 if (renderer->view()->printing()) |
511 return newStyle; | 508 return newStyle; |
512 | 509 |
513 // Fetch our current set of implicit animations from a hashtable. We then c
ompare them | 510 // Fetch our current set of implicit animations from a hashtable. We then c
ompare them |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 if (!m_beginAnimationUpdateCount) | 606 if (!m_beginAnimationUpdateCount) |
610 m_data->endAnimationUpdate(); | 607 m_data->endAnimationUpdate(); |
611 } | 608 } |
612 | 609 |
613 bool AnimationController::supportsAcceleratedAnimationOfProperty(CSSPropertyID p
roperty) | 610 bool AnimationController::supportsAcceleratedAnimationOfProperty(CSSPropertyID p
roperty) |
614 { | 611 { |
615 return CSSPropertyAnimation::animationOfPropertyIsAccelerated(property); | 612 return CSSPropertyAnimation::animationOfPropertyIsAccelerated(property); |
616 } | 613 } |
617 | 614 |
618 } // namespace WebCore | 615 } // namespace WebCore |
OLD | NEW |