Tests the Timeline API instrumentation of style recalc events with invalidations.


Running: testLocalFrame
first recalc style invalidations[
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:17}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV id='testElementOne'"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:18}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV id='testElementTwo'"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
]

Running: multipleStyleRecalcs
first recalc style invalidations[
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:29}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV id='testElementOne'"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
]
second recalc style invalidations[
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:31}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV id='testElementOne'"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:32}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV id='testElementTwo'"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
]
third recalc style invalidations[
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:34}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV id='testElementOne'"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:35}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV id='testElementTwo'"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:36}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV id='testElementThree'"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
]

Running: testSubframe
first recalc style invalidations[
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:43}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "BODY"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
    {
        cause : {reason: Inline CSS style declaration was mutated, stackTrace: test://evaluations/0/timeline-style-recalc-with-invalidations.js:44}
        changedAttribute : undefined
        changedClass : undefined
        changedId : undefined
        changedPseudo : undefined
        extraData : ""
        nodeName : "DIV"
        selectorPart : undefined
        type : "StyleRecalcInvalidationTracking"
    }
]

