RESOLVED FIXED 60249
Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
https://bugs.webkit.org/show_bug.cgi?id=60249
Summary Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
Luke Macpherson
Reported 2011-05-04 22:51:53 PDT
Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
Attachments
Patch (3.22 KB, patch)
2011-05-04 22:52 PDT, Luke Macpherson
no flags
Patch (3.32 KB, patch)
2011-05-05 18:25 PDT, Luke Macpherson
no flags
Patch (3.31 KB, patch)
2011-05-05 18:44 PDT, Luke Macpherson
no flags
Patch (3.32 KB, patch)
2011-05-05 20:36 PDT, Luke Macpherson
no flags
Patch (3.33 KB, patch)
2011-05-08 16:37 PDT, Luke Macpherson
no flags
Luke Macpherson
Comment 1 2011-05-04 22:52:53 PDT
Eric Seidel (no email)
Comment 2 2011-05-04 22:55:42 PDT
Comment on attachment 92375 [details] Patch I'm confused why we'd want this change. It seems render style is a dumb storage class and CSSStyleSelector shoudl be where all the mapping logic is.
Luke Macpherson
Comment 3 2011-05-04 23:42:04 PDT
(In reply to comment #2) > (From update of attachment 92375 [details]) > I'm confused why we'd want this change. It seems render style is a dumb storage class and CSSStyleSelector shoudl be where all the mapping logic is. See: http://www.w3.org/TR/css3-multicol/#break-before-break-after-break-inside It boils down to "always" is never a valid thing to set for this property. It is only in the enum because the enum is being shared with break-before and break-after. The reason I want to remove it from CSSStyleSelector is that I am trying to make that code as homogeneous as possible so that we can have as much code sharing as possible when the property handling is moved into CSSStyleApplyProperty.
Eric Seidel (no email)
Comment 4 2011-05-04 23:48:21 PDT
So can we ever be passed in the "always" value? For properties which have valid values, but they are invalid for specific elements we fix up the values in CSSStyleSelector::adjustRenderStyle. A good example is overflow "scroll" and "auto" in SVG content. Totally valid values (which might be set accidentally by CSS), but they don't have meanings in SVG so they get mapped to other values. Is that the case here?
Eric Seidel (no email)
Comment 5 2011-05-04 23:49:06 PDT
If it's never possible to intentionally pass in "always" here, then we should be ASSERTing. :) And certainly commenting to explain what we're doing (as I think I noted in the other bug). Thanks again for the cleanup work!
Luke Macpherson
Comment 6 2011-05-05 18:25:49 PDT
Luke Macpherson
Comment 7 2011-05-05 18:44:23 PDT
Luke Macpherson
Comment 8 2011-05-05 18:47:35 PDT
ASSERT and comment added.
Eric Seidel (no email)
Comment 9 2011-05-05 19:06:43 PDT
Comment on attachment 92527 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=92527&action=review > Source/WebCore/rendering/style/RenderStyle.h:1077 > + void setColumnBreakInside(EPageBreak p) { ASSERT(p == PBALWAYS || p == PBAVOID); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakInside, p); } I thought PBALWAS was not allowed?
Luke Macpherson
Comment 10 2011-05-05 20:16:42 PDT
(In reply to comment #9) > (From update of attachment 92527 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=92527&action=review > > > Source/WebCore/rendering/style/RenderStyle.h:1077 > > + void setColumnBreakInside(EPageBreak p) { ASSERT(p == PBALWAYS || p == PBAVOID); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakInside, p); } > > I thought PBALWAS was not allowed? Yeah, that's why I removed the r? until I had a chance to fix.
Luke Macpherson
Comment 11 2011-05-05 20:36:18 PDT
Luke Macpherson
Comment 12 2011-05-05 20:37:48 PDT
(In reply to comment #11) > Created an attachment (id=92534) [details] > Patch (In reply to comment #10) > (In reply to comment #9) > > (From update of attachment 92527 [details] [details]) > > View in context: https://bugs.webkit.org/attachment.cgi?id=92527&action=review > > > > > Source/WebCore/rendering/style/RenderStyle.h:1077 > > > + void setColumnBreakInside(EPageBreak p) { ASSERT(p == PBALWAYS || p == PBAVOID); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakInside, p); } > > > > I thought PBALWAS was not allowed? > > Yeah, that's why I removed the r? until I had a chance to fix. Fixed.
Eric Seidel (no email)
Comment 13 2011-05-05 22:24:07 PDT
Comment on attachment 92534 [details] Patch Thanks.
WebKit Commit Bot
Comment 14 2011-05-06 00:32:10 PDT
Comment on attachment 92534 [details] Patch Rejecting attachment 92534 [details] from commit-queue. Failed to run "['./Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=cr-jail-7', 'land-a..." exit_code: 2 Last 500 characters of output: umpRenderTree/gtk/LayoutTestControllerGtk.cpp M Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp M Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm M Tools/DumpRenderTree/LayoutTestController.cpp M Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp M Tools/DumpRenderTree/LayoutTestController.h M Tools/ChangeLog r85925 = be02bf169625268c108523a7e9db4f1a365608d6 (refs/remotes/trunk) First, rewinding head to replay your work on top of it... Fast-forwarded master to refs/remotes/trunk. Full output: http://queues.webkit.org/results/8571716
Luke Macpherson
Comment 15 2011-05-08 16:37:05 PDT
Luke Macpherson
Comment 16 2011-05-08 16:37:56 PDT
Fixed ChangeLog.
WebKit Commit Bot
Comment 17 2011-05-08 19:15:31 PDT
The commit-queue encountered the following flaky tests while processing attachment 92751 [details]: http/tests/xmlhttprequest/cross-origin-no-authorization.html bug 33357 (author: ap@webkit.org) The commit-queue is continuing to process your patch.
WebKit Commit Bot
Comment 18 2011-05-08 19:16:52 PDT
Comment on attachment 92751 [details] Patch Clearing flags on attachment: 92751 Committed r86040: <http://trac.webkit.org/changeset/86040>
WebKit Commit Bot
Comment 19 2011-05-08 19:16:57 PDT
All reviewed patches have been landed. Closing bug.
WebKit Review Bot
Comment 20 2011-05-08 22:47:26 PDT
http://trac.webkit.org/changeset/86040 might have broken GTK Linux 32-bit Debug The following tests are not passing: svg/W3C-SVG-1.1/animate-elem-82-t.svg
Note You need to log in before you can comment on or make changes to this bug.