Currently RenderViewImpl subclasses both RenderWidget and WebViewClient, but both these classes subclass WebWidgetClient.
I thought we disallowed such diamond-inheritance patterns?
I recently ran afoul of this when trying to remove RenderViewImpl::initializeLayerTreeView() after moving its code into RenderWidget::initializeLayerTreeView(). I expected subsequent calls to initializeLayerTreeView() on RenderViewImpl objects to invoke the code from RenderWidget, but was surprised to learn that the (empty) implementation in WebWidgetView/Client was being used instead.
Is this a problem? Or are we ok with this?
Comment 1 by kenrb@chromium.org
, Oct 27 2016