Bug 87080

Summary: Use the same animation begin time while updating compositing layers
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, enne, eric, jamesr, macpherson, menard, simon.fraser, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 84410    
Attachments:
Description Flags
Patch dino: review+

Simon Fraser (smfr)
Reported 2012-05-21 22:36:40 PDT
RenderLayerCompositor::updateCompositingLayers() ends up calling code that relies on the current state of animations, via calls to RenderLayer::currentTransform(). This is called while mapping layer bounds to absolute coordinates, for overlap testing. We should treat the entire compositing layer update as one animation batch (begin/end animation update). Without this, it's impossible to compare the results of coordinate mapping via two different code paths in ASSERTs. It seems reasonable to do anyway.
Attachments
Patch (9.48 KB, patch)
2012-05-22 13:49 PDT, Simon Fraser (smfr)
dino: review+
Simon Fraser (smfr)
Comment 1 2012-05-22 13:49:04 PDT
Dean Jackson
Comment 2 2012-05-22 13:59:24 PDT
Comment on attachment 143356 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=143356&action=review > Source/WebCore/ChangeLog:26 > + to cover over calls to recalcStyle which might need this (87159). over-calls? > Source/WebCore/css/CSSComputedStyleDeclaration.cpp:1325 > + AnimationUpdateBlock animationBlock(renderer->animation()); I like animationUpdateBlock as the var names through the patch, but not a big deal. > Source/WebCore/rendering/RenderLayerCompositor.cpp:354 > + Frame* frame = m_renderView->frameView()->frame(); > + AnimationUpdateBlock animationBlock(frame->animation()); One line? no need for frame elsewhere?
Simon Fraser (smfr)
Comment 3 2012-05-22 14:19:09 PDT
Note You need to log in before you can comment on or make changes to this bug.