Created attachment 216409 [details] Testcase When an element's height is set in viewport units, percentages in a shape do not resolve. The shape resolves the percentages as if height were auto.
I believe this is actually caused by the same root cause as Bug 87846, and I'm working on a fix for that.
This isn't related to Bug 87846 at all, in fact shapes fail to work with viewport units in general, even specified on the shape itself. This is because the RenderView is not passed down into the code that computes the lengths. It is true that the fix for Bug 87846 will fix this, but depending on how long it takes to fix Bug 87846, I may fix this separately.
Viewport units are also not computed on shape-margin.
Created attachment 231028 [details] Patch
Comment on attachment 231028 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=231028&action=review r=me > Source/WebCore/css/BasicShapeFunctions.cpp:268 > +float floatValueForCenterCoordinate(const BasicShapeCenterCoordinate& center, float boxDimension, RenderView* view) Can you use a reference instead of a pointer? > Source/WebCore/css/BasicShapeFunctions.h:48 > +float floatValueForCenterCoordinate(const BasicShapeCenterCoordinate&, float, RenderView*); Ditto. > Source/WebCore/css/LengthFunctions.h:41 > +FloatSize floatSizeForLengthSize(const LengthSize&, const FloatSize&, RenderView* = 0); Hm, ok.
Comment on attachment 231028 [details] Patch Rejecting attachment 231028 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.appspot.com', '--bot-id=webkit-cq-03', 'build', '--no-clean', '--no-update', '--build-style=release', '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 500 characters of output: eBox.dia -c /Volumes/Data/EWS/WebKit/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/RenderDeprecatedFlexibleBox.o ** BUILD FAILED ** The following build commands failed: CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/RenderBlock.o rendering/RenderBlock.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (1 failure) Full output: http://webkit-queues.appspot.com/results/6359674257408000
Created attachment 231083 [details] Patch
Comment on attachment 231083 [details] Patch Clearing flags on attachment: 231083 Committed r168481: <http://trac.webkit.org/changeset/168481>
All reviewed patches have been landed. Closing bug.