[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