Bug 128218 - [CSS Regions] Null dereference applying animation with CSS regions
Summary: [CSS Regions] Null dereference applying animation with CSS regions
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Radu Stavila
URL:
Keywords: AdobeTracked, InRadar
Depends on:
Blocks: 84900
  Show dependency treegraph
 
Reported: 2014-02-04 15:41 PST by Jon Honeycutt
Modified: 2014-02-06 06:37 PST (History)
15 users (show)

See Also:


Attachments
Repro case (296 bytes, text/html)
2014-02-04 15:41 PST, Jon Honeycutt
no flags Details
Patch (4.77 KB, patch)
2014-02-05 07:16 PST, Radu Stavila
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Honeycutt 2014-02-04 15:41:59 PST
Created attachment 223174 [details]
Repro case

Crash when opening the attached test case, which applies a CSS animation when using CSS regions.

<rdar://problem/15983499>
Comment 1 Radu Stavila 2014-02-05 07:16:02 PST
Created attachment 223230 [details]
Patch
Comment 2 Andrei Bucur 2014-02-05 08:37:29 PST
Comment on attachment 223230 [details]
Patch

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

> Source/WebCore/css/StyleResolver.cpp:3144
> +    if (!parentStyle)

Are we sure early returning is the right behavior here? What's the expected result in the case of regions? E.g. Maybe we don't properly zoom when we actually should do it. I see that the parent style is not used in the code below the checks so maybe we're supposed to actually zoom the thing. We should test and file a bug if zooming doesn't work correctly. Probably the same applies for the generic family change function.

> Source/WebCore/style/StyleResolveTree.cpp:455
> +        ASSERT((!child->renderer() || child->inNamedFlow()) || current.shadowRoot() || isInsertionPoint(current));

What certain situations are you talking about in the CL?
Comment 3 Radu Stavila 2014-02-05 08:45:18 PST
Comment on attachment 223230 [details]
Patch

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

>> Source/WebCore/css/StyleResolver.cpp:3144
>> +    if (!parentStyle)
> 
> Are we sure early returning is the right behavior here? What's the expected result in the case of regions? E.g. Maybe we don't properly zoom when we actually should do it. I see that the parent style is not used in the code below the checks so maybe we're supposed to actually zoom the thing. We should test and file a bug if zooming doesn't work correctly. Probably the same applies for the generic family change function.

Yes, I believe early returning is the right behaviour because it follows the same pattern as the checkForGenericFamilyChange method, which is called just before checkForZoomChange. But I agree that zooming with regions should be tested and a bug filed if some problems are discovered.

>> Source/WebCore/style/StyleResolveTree.cpp:455
>> +        ASSERT((!child->renderer() || child->inNamedFlow()) || current.shadowRoot() || isInsertionPoint(current));
> 
> What certain situations are you talking about in the CL?

The case described in the test-case, animations applied to a region containing an element and a child of that element being flowed into a different flow.
Comment 4 WebKit Commit Bot 2014-02-06 00:16:29 PST
Comment on attachment 223230 [details]
Patch

Rejecting attachment 223230 [details] from review queue.

simon.fraser@apple.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.
Comment 5 Andrei Bucur 2014-02-06 01:00:17 PST
(In reply to comment #4)
> (From update of attachment 223230 [details])
> Rejecting attachment 223230 [details] from review queue.
> 
> simon.fraser@apple.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.
> 
> - If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.
> 
> - If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.

I suppose the duplicate entry for abucur in contributors.json confused the commit bot. Reapplying Simon's r+.
Comment 6 WebKit Commit Bot 2014-02-06 01:09:12 PST
Comment on attachment 223230 [details]
Patch

Rejecting attachment 223230 [details] from review queue.

abucur@adobe.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.
Comment 7 WebKit Commit Bot 2014-02-06 02:09:56 PST
Comment on attachment 223230 [details]
Patch

Rejecting attachment 223230 [details] from review queue.

abucur@adobe.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.
Comment 8 WebKit Commit Bot 2014-02-06 06:37:10 PST
Comment on attachment 223230 [details]
Patch

Clearing flags on attachment: 223230

Committed r163531: <http://trac.webkit.org/changeset/163531>
Comment 9 WebKit Commit Bot 2014-02-06 06:37:13 PST
All reviewed patches have been landed.  Closing bug.