Closed Bug 974135 Opened 6 years ago Closed 6 years ago

Get rid of NS_IMETHOD in nsISVGChildFrame.h (and NS_IMETHODIMP in method-implementations)

Categories

(Core :: Layout, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla30

People

(Reporter: Six, Assigned: Six)

References

Details

Attachments

(1 file, 1 obsolete file)

Spin-off from bug 919806, comment 13

We should be able to remove all of the NS_IMETHOD in nsISVGChildFrame.h
For every NS_IMETHOD in nsISVGChildFrame.h, we should replace it with "virtual nsresult" and NS_IMETHOD_(foo) whith virtual foo.

And similar for any implementations of the methods that we change, except there it'll be NS_IMETHODIMP.

To start:
http://mxr.mozilla.org/mozilla-central/source/layout/svg/nsISVGChildFrame.h
Assignee: nobody → six.dsn
Version: unspecified → Trunk
Status: NEW → ASSIGNED
Attached patch remove_SVG_nsimethod.patch (obsolete) — Splinter Review
replaces all NS_IMETHOD from nsISVGChildFrame.h and child classes in layout/svg/
Attachment #8378460 - Flags: review?(dholbert)
Comment on attachment 8378460 [details] [diff] [review]
remove_SVG_nsimethod.patch

Looks good to me!  Could you give this a Try run? (probably just testing that it compiles successfully on Windows; that's really the only thing that could break, if this were missing a piece)

>+++ b/layout/svg/nsSVGImageFrame.cpp
[...]
>   // nsISVGChildFrame interface:
>-  NS_IMETHOD PaintSVG(nsRenderingContext *aContext, const nsIntRect *aDirtyRect,
>+  virtual nsresult PaintSVG(nsRenderingContext *aContext, const nsIntRect *aDirtyRect,
>                       nsIFrame* aTransformRoot) MOZ_OVERRIDE;
>-  NS_IMETHOD_(nsIFrame*) GetFrameForPoint(const nsPoint &aPoint);
>+  virtual nsIFrame* GetFrameForPoint(const nsPoint &aPoint);
>   virtual void ReflowSVG();

Observation: Looks like GetFrameForPoint and ReflowSVG here could both use a MOZ_OVERRIDE annotation.  Same goes for AttributeChanged, DestroyFrom, GetType, and GetFrameName.  [ah right, this is a .cpp file, so your MOZ_OVERRIDE script didn't hit this one]

I'll file a follow up fixing those.
Attachment #8378460 - Flags: review?(dholbert) → review+
replaces all NS_IMETHOD from nsISVGChildFrame.h and child classes in layout/svg/
fixes indentations
windows tpbl went fine : https://tbpl.mozilla.org/?tree=Try&rev=444017aa0b05
Attachment #8378460 - Attachment is obsolete: true
Attachment #8378601 - Flags: review?(dholbert)
Blocks: 974562
https://hg.mozilla.org/mozilla-central/rev/7e6f445ceecd
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in before you can comment on or make changes to this bug.