Loading layout/svg/base/src/nsISVGChildFrame.h +16 −3 Original line number Diff line number Diff line Loading @@ -58,9 +58,22 @@ public: NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISVGCHILDFRAME_IID) // XXX Ideally we don't want to pass the dirtyRect along but extract // it from nsIRenderingContext where needed (only in foreign objects) NS_IMETHOD Paint(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips)=0; NS_IMETHOD GetFrameForPoint(float x, float y, nsIFrame** hit)=0; // it from nsIRenderingContext where needed (only in foreign // objects) dirtyRectTwips is the unmodified region passed to the // outer svg frame's ::Paint NS_IMETHOD PaintSVG(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips)=0; // Check if this frame or children contain the given point, // specified in device pixels relative to the origin of the outer // svg frame (origin ill-defined in the case of borders - bug // 290770). Return value unspecified (usually NS_OK for hit, error // no hit, but not always [ex: nsSVGPathGeometryFrame.cpp]) and no // code trusts the return value - this should be fixed (bug 290765). // *hit set to topmost frame in the children (or 'this' if leaf // frame) which is accepting pointer events, null if no frame hit. // See bug 290852 for foreignObject complications. NS_IMETHOD GetFrameForPointSVG(float x, float y, nsIFrame** hit)=0; NS_IMETHOD_(already_AddRefed<nsISVGRendererRegion>) GetCoveredRegion()=0; NS_IMETHOD InitialUpdate()=0; NS_IMETHOD NotifyCanvasTMChanged()=0; Loading layout/svg/base/src/nsSVGCircleFrame.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ protected: NS_NewSVGCircleFrame(nsIPresShell* aPresShell, nsIContent* aContent, nsIFrame** aNewFrame); virtual ~nsSVGCircleFrame(); virtual nsresult Init(); NS_IMETHOD InitSVG(); public: /** Loading Loading @@ -119,9 +119,10 @@ nsSVGCircleFrame::~nsSVGCircleFrame() value->RemoveObserver(this); } nsresult nsSVGCircleFrame::Init() NS_IMETHODIMP nsSVGCircleFrame::InitSVG() { nsresult rv = nsSVGPathGeometryFrame::Init(); nsresult rv = nsSVGPathGeometryFrame::InitSVG(); if (NS_FAILED(rv)) return rv; Loading layout/svg/base/src/nsSVGClipPathFrame.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -148,10 +148,10 @@ nsSVGClipPathFrame::~nsSVGClipPathFrame() { } nsresult nsSVGClipPathFrame::Init() NS_IMETHODIMP nsSVGClipPathFrame::InitSVG() { nsresult rv = nsSVGDefsFrame::Init(); nsresult rv = nsSVGDefsFrame::InitSVG(); if (NS_FAILED(rv)) return rv; Loading Loading @@ -182,7 +182,7 @@ nsSVGClipPathFrame::ClipPaint(nsISVGRendererCanvas* canvas, nsISVGChildFrame* SVGFrame=nsnull; kid->QueryInterface(NS_GET_IID(nsISVGChildFrame),(void**)&SVGFrame); if (SVGFrame) { SVGFrame->Paint(canvas, dirty); SVGFrame->PaintSVG(canvas, dirty); } } Loading @@ -207,7 +207,7 @@ nsSVGClipPathFrame::ClipHitTest(nsISVGChildFrame* aParent, kid->QueryInterface(NS_GET_IID(nsISVGChildFrame),(void**)&SVGFrame); if (SVGFrame) { nsIFrame *temp = nsnull; nsresult rv = SVGFrame->GetFrameForPoint(aX, aY, &temp); nsresult rv = SVGFrame->GetFrameForPointSVG(aX, aY, &temp); if (NS_SUCCEEDED(rv) && temp) { *aHit = PR_TRUE; return NS_OK; Loading layout/svg/base/src/nsSVGClipPathFrame.h +1 −1 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ class nsSVGClipPathFrame : public nsSVGClipPathFrameBase NS_NewSVGClipPathFrame(nsIPresShell* aPresShell, nsIContent* aContent, nsIFrame** aNewFrame); virtual ~nsSVGClipPathFrame(); virtual nsresult Init(); NS_IMETHOD InitSVG(); public: NS_DECL_ISUPPORTS Loading layout/svg/base/src/nsSVGDefsFrame.cpp +5 −4 Original line number Diff line number Diff line Loading @@ -82,7 +82,8 @@ nsSVGDefsFrame::~nsSVGDefsFrame() value->RemoveObserver(this); } nsresult nsSVGDefsFrame::Init() NS_IMETHODIMP nsSVGDefsFrame::InitSVG() { nsCOMPtr<nsIDOMSVGTransformable> transformable = do_QueryInterface(mContent); if (!transformable) Loading Loading @@ -121,7 +122,7 @@ nsSVGDefsFrame::Init(nsPresContext* aPresContext, rv = nsSVGDefsFrameBase::Init(aPresContext, aContent, aParent, aContext, aPrevInFlow); Init(); InitSVG(); return rv; } Loading Loading @@ -237,7 +238,7 @@ nsSVGDefsFrame::DidModifySVGObservable (nsISVGValue* observable, // nsISVGChildFrame methods NS_IMETHODIMP nsSVGDefsFrame::Paint(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips) nsSVGDefsFrame::PaintSVG(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips) { // defs don't paint Loading @@ -245,7 +246,7 @@ nsSVGDefsFrame::Paint(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips } NS_IMETHODIMP nsSVGDefsFrame::GetFrameForPoint(float x, float y, nsIFrame** hit) nsSVGDefsFrame::GetFrameForPointSVG(float x, float y, nsIFrame** hit) { *hit = nsnull; Loading Loading
layout/svg/base/src/nsISVGChildFrame.h +16 −3 Original line number Diff line number Diff line Loading @@ -58,9 +58,22 @@ public: NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISVGCHILDFRAME_IID) // XXX Ideally we don't want to pass the dirtyRect along but extract // it from nsIRenderingContext where needed (only in foreign objects) NS_IMETHOD Paint(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips)=0; NS_IMETHOD GetFrameForPoint(float x, float y, nsIFrame** hit)=0; // it from nsIRenderingContext where needed (only in foreign // objects) dirtyRectTwips is the unmodified region passed to the // outer svg frame's ::Paint NS_IMETHOD PaintSVG(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips)=0; // Check if this frame or children contain the given point, // specified in device pixels relative to the origin of the outer // svg frame (origin ill-defined in the case of borders - bug // 290770). Return value unspecified (usually NS_OK for hit, error // no hit, but not always [ex: nsSVGPathGeometryFrame.cpp]) and no // code trusts the return value - this should be fixed (bug 290765). // *hit set to topmost frame in the children (or 'this' if leaf // frame) which is accepting pointer events, null if no frame hit. // See bug 290852 for foreignObject complications. NS_IMETHOD GetFrameForPointSVG(float x, float y, nsIFrame** hit)=0; NS_IMETHOD_(already_AddRefed<nsISVGRendererRegion>) GetCoveredRegion()=0; NS_IMETHOD InitialUpdate()=0; NS_IMETHOD NotifyCanvasTMChanged()=0; Loading
layout/svg/base/src/nsSVGCircleFrame.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ protected: NS_NewSVGCircleFrame(nsIPresShell* aPresShell, nsIContent* aContent, nsIFrame** aNewFrame); virtual ~nsSVGCircleFrame(); virtual nsresult Init(); NS_IMETHOD InitSVG(); public: /** Loading Loading @@ -119,9 +119,10 @@ nsSVGCircleFrame::~nsSVGCircleFrame() value->RemoveObserver(this); } nsresult nsSVGCircleFrame::Init() NS_IMETHODIMP nsSVGCircleFrame::InitSVG() { nsresult rv = nsSVGPathGeometryFrame::Init(); nsresult rv = nsSVGPathGeometryFrame::InitSVG(); if (NS_FAILED(rv)) return rv; Loading
layout/svg/base/src/nsSVGClipPathFrame.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -148,10 +148,10 @@ nsSVGClipPathFrame::~nsSVGClipPathFrame() { } nsresult nsSVGClipPathFrame::Init() NS_IMETHODIMP nsSVGClipPathFrame::InitSVG() { nsresult rv = nsSVGDefsFrame::Init(); nsresult rv = nsSVGDefsFrame::InitSVG(); if (NS_FAILED(rv)) return rv; Loading Loading @@ -182,7 +182,7 @@ nsSVGClipPathFrame::ClipPaint(nsISVGRendererCanvas* canvas, nsISVGChildFrame* SVGFrame=nsnull; kid->QueryInterface(NS_GET_IID(nsISVGChildFrame),(void**)&SVGFrame); if (SVGFrame) { SVGFrame->Paint(canvas, dirty); SVGFrame->PaintSVG(canvas, dirty); } } Loading @@ -207,7 +207,7 @@ nsSVGClipPathFrame::ClipHitTest(nsISVGChildFrame* aParent, kid->QueryInterface(NS_GET_IID(nsISVGChildFrame),(void**)&SVGFrame); if (SVGFrame) { nsIFrame *temp = nsnull; nsresult rv = SVGFrame->GetFrameForPoint(aX, aY, &temp); nsresult rv = SVGFrame->GetFrameForPointSVG(aX, aY, &temp); if (NS_SUCCEEDED(rv) && temp) { *aHit = PR_TRUE; return NS_OK; Loading
layout/svg/base/src/nsSVGClipPathFrame.h +1 −1 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ class nsSVGClipPathFrame : public nsSVGClipPathFrameBase NS_NewSVGClipPathFrame(nsIPresShell* aPresShell, nsIContent* aContent, nsIFrame** aNewFrame); virtual ~nsSVGClipPathFrame(); virtual nsresult Init(); NS_IMETHOD InitSVG(); public: NS_DECL_ISUPPORTS Loading
layout/svg/base/src/nsSVGDefsFrame.cpp +5 −4 Original line number Diff line number Diff line Loading @@ -82,7 +82,8 @@ nsSVGDefsFrame::~nsSVGDefsFrame() value->RemoveObserver(this); } nsresult nsSVGDefsFrame::Init() NS_IMETHODIMP nsSVGDefsFrame::InitSVG() { nsCOMPtr<nsIDOMSVGTransformable> transformable = do_QueryInterface(mContent); if (!transformable) Loading Loading @@ -121,7 +122,7 @@ nsSVGDefsFrame::Init(nsPresContext* aPresContext, rv = nsSVGDefsFrameBase::Init(aPresContext, aContent, aParent, aContext, aPrevInFlow); Init(); InitSVG(); return rv; } Loading Loading @@ -237,7 +238,7 @@ nsSVGDefsFrame::DidModifySVGObservable (nsISVGValue* observable, // nsISVGChildFrame methods NS_IMETHODIMP nsSVGDefsFrame::Paint(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips) nsSVGDefsFrame::PaintSVG(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips) { // defs don't paint Loading @@ -245,7 +246,7 @@ nsSVGDefsFrame::Paint(nsISVGRendererCanvas* canvas, const nsRect& dirtyRectTwips } NS_IMETHODIMP nsSVGDefsFrame::GetFrameForPoint(float x, float y, nsIFrame** hit) nsSVGDefsFrame::GetFrameForPointSVG(float x, float y, nsIFrame** hit) { *hit = nsnull; Loading