[Webkit-unassigned] [Bug 103164] New: Removing unnecessary friend classes in RenderObject: LayoutRepainter, RenderSVGContainer
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Nov 23 18:35:51 PST 2012
https://bugs.webkit.org/show_bug.cgi?id=103164
Summary: Removing unnecessary friend classes in RenderObject:
LayoutRepainter, RenderSVGContainer
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: Normal
Priority: P3
Component: WebCore Misc.
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: savagobr at yahoo.com
As a continuation of bug #103159, there are two other classes that have unneeded friend access level to RenderObject.
RenderSVGContainer was the same case as RenderBox (an one liner patch, simply remove the friend keyword), but LayoutRepainter depended in a call to a protected virtual const function (outlineBoundsForRepaint()).
This patch makes the const function public.
I've looked also in the remaining classes that are friends of RenderObject, and have some comments with questions as follow below:
a) RenderBlock (inherits indirectly from RenderObject) & RenderObjectChildList: they are going to be tricky since depend on calls to some protected members marked as 'dangerous to use!' (i.e. setters for siblings and the parent of the RenderObject). I assume that the approach used for one will work for the other... question: should they remain friends or shall we provide access to the setters via a proxy/bridge class? The second approach would at least keep in a central place the access to the protected/private members of RenderObject. Suggestions?
b) RenderLayer whose access is due to an instance of RenderScrollbarPart, I feel this one will be easier to solve (since RenderScrollbarPart IIRC is a RenderBlock).
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list