Bug 129689

Summary: Add a Document::updateStyleIfNeededForNode(Node&).
Product: WebKit Reporter: Andreas Kling <kling>
Component: Layout and RenderingAssignee: Andreas Kling <kling>
Status: RESOLVED FIXED    
Severity: Normal CC: kling
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch koivisto: review+

Description Andreas Kling 2014-03-04 11:29:16 PST
Add a Document::updateStyleIfNeededForNode(Node&) so we can avoid doing full style updates when we're only interested in a single node (whose style isn't dirty.)
Comment 1 Andreas Kling 2014-03-04 11:29:55 PST
Created attachment 225795 [details]
Patch
Comment 2 Antti Koivisto 2014-03-04 11:35:55 PST
Comment on attachment 225795 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=225795&action=review

> Source/WebCore/dom/Document.cpp:6055
> +static inline bool nodeOrItsAncestorNeedsStyleRecalc(const Node& node)
> +{
> +    if (node.document().hasPendingForcedStyleRecalc())
> +        return true;

Please pass in the Document, the caller knows (is!) it.

> Source/WebCore/dom/Document.cpp:6063
> +bool Document::updateStyleIfNeededForNode(const Node& node)

It would be better if this took Element. Generic Nodes don't have style.

However since some of the client code is Node-based perhaps it is better to refactor this separately.
Comment 3 Andreas Kling 2014-03-04 14:17:31 PST
Committed r165076: <http://trac.webkit.org/changeset/165076>