Bug 136591

Summary: REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
Product: WebKit Reporter: David Kilzer (:ddkilzer) <ddkilzer>
Component: Layout and RenderingAssignee: David Kilzer (:ddkilzer) <ddkilzer>
Status: RESOLVED FIXED    
Severity: Normal CC: bjonesbe, commit-queue, darin, esprehn+autocc, glenn, hyatt, kondapallykalyan, simon.fraser, webkit-bug-importer, zoltan
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch v1 none

David Kilzer (:ddkilzer)
Reported 2014-09-05 16:44:35 PDT
In <http://trac.webkit.org/r169407>, the RenderView pointer argument was removed from RenderStyle::getRoundedBorderFor(), but the code in computeRoundedRectForBoxShape() was never updated to remove the pointers. Newer versions of clang now warn about taking the address of a reference value (and the fact that it will never be NULL): Source/WebCore/rendering/shapes/BoxShape.cpp:74:117: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion] RoundedRect::Radii radii = computeMarginBoxShapeRadii(style.getRoundedBorderFor(renderer.borderBoxRect(), &(renderer.view())).radii(), renderer); ~~~~~ ~^~~~~~~~~~~~~~~~ In file included from Source/WebCore/rendering/shapes/BoxShape.cpp:33: In file included from Source/WebCore/rendering/RenderBox.h:26: In file included from Source/WebCore/rendering/RenderBoxModelObject.h:28: In file included from Source/WebCore/rendering/RenderLayerModelObject.h:26: In file included from Source/WebCore/rendering/RenderElement.h:27: Source/WebCore/rendering/RenderObject.h:571:17: note: 'view' returns a reference RenderView& view() const { return *document().renderView(); }; ^ Source/WebCore/rendering/shapes/BoxShape.cpp:90:70: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion] return style.getRoundedBorderFor(renderer.borderBoxRect(), &(renderer.view())); ~~~~~ ~^~~~~~~~~~~~~~~~ In file included from Source/WebCore/rendering/shapes/BoxShape.cpp:33: In file included from Source/WebCore/rendering/RenderBox.h:26: In file included from Source/WebCore/rendering/RenderBoxModelObject.h:28: In file included from Source/WebCore/rendering/RenderLayerModelObject.h:26: In file included from Source/WebCore/rendering/RenderElement.h:27: Source/WebCore/rendering/RenderObject.h:571:17: note: 'view' returns a reference RenderView& view() const { return *document().renderView(); }; ^ Source/WebCore/rendering/shapes/BoxShape.cpp:94:66: error: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion] return style.getRoundedBorderFor(renderer.borderBoxRect(), &(renderer.view())); ~~~~~ ~^~~~~~~~~~~~~~~~ In file included from Source/WebCore/rendering/shapes/BoxShape.cpp:33: In file included from Source/WebCore/rendering/RenderBox.h:26: In file included from Source/WebCore/rendering/RenderBoxModelObject.h:28: In file included from Source/WebCore/rendering/RenderLayerModelObject.h:26: In file included from Source/WebCore/rendering/RenderElement.h:27: Source/WebCore/rendering/RenderObject.h:571:17: note: 'view' returns a reference RenderView& view() const { return *document().renderView(); }; ^ 3 errors generated.
Attachments
Patch v1 (2.80 KB, patch)
2014-09-05 16:56 PDT, David Kilzer (:ddkilzer)
no flags
David Kilzer (:ddkilzer)
Comment 1 2014-09-05 16:45:01 PDT
David Kilzer (:ddkilzer)
Comment 2 2014-09-05 16:56:47 PDT
Created attachment 237724 [details] Patch v1
WebKit Commit Bot
Comment 3 2014-09-05 19:24:27 PDT
Comment on attachment 237724 [details] Patch v1 Clearing flags on attachment: 237724 Committed r173348: <http://trac.webkit.org/changeset/173348>
WebKit Commit Bot
Comment 4 2014-09-05 19:24:31 PDT
All reviewed patches have been landed. Closing bug.
Darin Adler
Comment 5 2014-09-06 17:46:43 PDT
This just shows us how dangerous arguments of type bool are!
Note You need to log in before you can comment on or make changes to this bug.