Bug 111029

Summary: [css exclusions] Dynamically removing shape-inside should cause relayout of child blocks' inline content
Product: WebKit Reporter: Bear Travis <betravis>
Component: CSSAssignee: Bear Travis <betravis>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, eric, esprehn+autocc, ojan.autocc, WebkitBugTracker, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 108128, 110995    
Bug Blocks: 89256, 116236    
Attachments:
Description Flags
Testcase
none
Patch
none
Patch
none
Changing bool to enum
none
Updating to trunk
hyatt: review+, webkit.review.bot: commit-queue-
Updated Patch
none
Fixing MIME type none

Bear Travis
Reported 2013-02-27 18:42:13 PST
This is the second half of bug 108128, which covers the case of adding a shape-inside dynamically. Removing a shape-inside requires bug 110995 to land, because it will require keeping the ExclusionShapeInsideInfo around for one more layout after the shape inside style has been removed.
Attachments
Testcase (509 bytes, text/html)
2013-03-15 10:39 PDT, Bear Travis
no flags
Patch (21.09 KB, patch)
2013-03-22 17:04 PDT, Bear Travis
no flags
Patch (21.09 KB, patch)
2013-03-22 17:14 PDT, Bear Travis
no flags
Changing bool to enum (21.38 KB, patch)
2013-03-27 16:37 PDT, Bear Travis
no flags
Updating to trunk (21.44 KB, patch)
2013-03-29 11:06 PDT, Bear Travis
hyatt: review+
webkit.review.bot: commit-queue-
Updated Patch (20.72 KB, application/octet-stream)
2013-04-04 15:37 PDT, Bear Travis
no flags
Fixing MIME type (20.72 KB, patch)
2013-04-04 15:37 PDT, Bear Travis
no flags
Bear Travis
Comment 1 2013-03-15 10:39:10 PDT
Created attachment 193335 [details] Testcase Adding test case. Text lays out based on the old shape-inside even after it has been removed.
Bear Travis
Comment 2 2013-03-22 17:04:41 PDT
WebKit Review Bot
Comment 3 2013-03-22 17:08:23 PDT
Attachment 194659 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/fast/exclusions/shape-inside/shape-inside-dynamic-nested-expected.html', u'LayoutTests/fast/exclusions/shape-inside/shape-inside-dynamic-nested.html', u'Source/WebCore/ChangeLog', u'Source/WebCore/rendering/ExclusionShapeInsideInfo.h', u'Source/WebCore/rendering/LayoutState.cpp', u'Source/WebCore/rendering/RenderBlock.cpp', u'Source/WebCore/rendering/RenderBlock.h', u'Source/WebCore/rendering/RenderBlockLineLayout.cpp', u'Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp', u'Source/WebCore/rendering/RenderFlexibleBox.cpp', u'Source/WebCore/rendering/RenderGrid.cpp']" exit_code: 1 Source/WebCore/ChangeLog:17: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] Total errors found: 1 in 12 files If any of these errors are false positives, please file a bug against check-webkit-style.
Bear Travis
Comment 4 2013-03-22 17:14:00 PDT
Dave Hyatt
Comment 5 2013-03-27 13:31:12 PDT
Comment on attachment 194661 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=194661&action=review Patch looks fine. I'd just prefer enums instead of boolean arguments, since it makes the call sites clearer. > Source/WebCore/rendering/RenderBlock.cpp:1421 > + info = block->layoutExclusionShapeInsideInfo(true); Use an enum here. Nobody is going to know what "true" means. > Source/WebCore/rendering/RenderBlock.h:455 > + ExclusionShapeInsideInfo* exclusionShapeInsideInfo(bool includeRemoved = false) const enum. > Source/WebCore/rendering/RenderBlock.h:467 > + ExclusionShapeInsideInfo* layoutExclusionShapeInsideInfo(bool includeRemoved = false) const; enum. > Source/WebCore/rendering/RenderBlockLineLayout.cpp:80 > +ExclusionShapeInsideInfo* RenderBlock::layoutExclusionShapeInsideInfo(bool includeRemoved) const enum.
Bear Travis
Comment 6 2013-03-27 16:37:56 PDT
Created attachment 195432 [details] Changing bool to enum
Bear Travis
Comment 7 2013-03-29 11:06:44 PDT
Created attachment 195766 [details] Updating to trunk
Dave Hyatt
Comment 8 2013-04-01 11:58:06 PDT
Comment on attachment 195766 [details] Updating to trunk r=me
Bear Travis
Comment 9 2013-04-04 14:42:36 PDT
Comment on attachment 195766 [details] Updating to trunk Setting CQ.
WebKit Review Bot
Comment 10 2013-04-04 14:50:57 PDT
Comment on attachment 195766 [details] Updating to trunk Rejecting attachment 195766 [details] from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=webkit-commit-queue.appspot.com', '--bot-id=gce-cq-01', 'build', '--no-clean', '--no-update', '--build-style=release', '--port=chromium-xvfb']" exit_code: 2 cwd: /mnt/git/webkit-commit-queue Last 500 characters of output: onShapeInsideInfo.h:105: error: 'bool WebCore::ExclusionShapeInsideInfo::needsRemoval()' is protected ../../Source/WebCore/rendering/RenderBlock.cpp:1475: error: within this context ninja: build stopped: subcommand failed. Failed to run "['Tools/Scripts/build-webkit', '--release', '--chromium', '--update-chromium']" exit_code: 1 nShapeInsideInfo::needsRemoval()' is protected ../../Source/WebCore/rendering/RenderBlock.cpp:1475: error: within this context ninja: build stopped: subcommand failed. Full output: http://webkit-commit-queue.appspot.com/results/17473153
Bear Travis
Comment 11 2013-04-04 15:37:07 PDT
Created attachment 196542 [details] Updated Patch Previous patch no longer applied cleanly.
Bear Travis
Comment 12 2013-04-04 15:37:59 PDT
Created attachment 196543 [details] Fixing MIME type
WebKit Commit Bot
Comment 13 2013-04-05 10:28:50 PDT
Comment on attachment 196543 [details] Fixing MIME type Clearing flags on attachment: 196543 Committed r147758: <http://trac.webkit.org/changeset/147758>
WebKit Commit Bot
Comment 14 2013-04-05 10:28:53 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.