New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 660060 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 583347
Owner: ----
Closed: Nov 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

RenderViewImpl has multiple inheritance pathways to WebWidgetClient

Project Member Reported by wjmaclean@chromium.org, Oct 27 2016

Issue description

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

Cc: a...@chromium.org
This is known, and it has been the case for longer than I have been working on Chrome.

When RenderWidget and RenderView finally go their separate ways, fixing that situation will be a pleasant side benefit.
Mergedinto: 583347
Status: Duplicate (was: Untriaged)

Sign in to add a comment