It seems like ShapeInfo recalculates the the values necessary to determine the content-box, padding-box or border-box. Shapes maybe should use the functions contentBoxRect(), paddingBoxRect(), borderBoxRect() from RenderBox?
In looking at it, I don't think there's a reasonable way to do this, because those rects are in physical coordinates, and we not only need to adjust for writing mode, we need to adjust for writing direction to determine the offset to use. Strictly speaking, we could use just the size portion of those rects and then transpose as needed, but I think that would be more confusing than not. (For examples, take a look at how ShapeInfo::logicalTopOffset and ShapeInfo::logicalLeftOffset are computed.)