[Webkit-unassigned] [Bug 34185] REGRESSION: Mask not invalidating
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Feb 10 16:19:05 PST 2010
https://bugs.webkit.org/show_bug.cgi?id=34185
Simon Fraser (smfr) <simon.fraser at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #48529|review? |review+
Flag| |
--- Comment #10 from Simon Fraser (smfr) <simon.fraser at apple.com> 2010-02-10 16:19:05 PST ---
(From update of attachment 48529)
> Index: WebCore/ChangeLog
> ===================================================================
> --- WebCore/ChangeLog (revision 54627)
> +++ WebCore/ChangeLog (working copy)
> @@ -1,3 +1,25 @@
> +2010-02-10 Beth Dakin <bdakin at apple.com>
> +
> + Reviewed by NOBODY (OOPS!).
> +
> + Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION:
> + Mask not updated according to transform
> +
> + SVGMaskElement is the only class that keeps a HashMap of canvas
> + resources rather than just a since pointer to a resource. This
mis-typing here: "since pointer".
> Index: WebCore/svg/SVGMaskElement.cpp
> ===================================================================
> --- WebCore/svg/SVGMaskElement.cpp (revision 54613)
> +++ WebCore/svg/SVGMaskElement.cpp (working copy)
> @@ -105,9 +105,6 @@ void SVGMaskElement::svgAttributeChanged
> {
> SVGStyledElement::svgAttributeChanged(attrName);
>
> - if (m_masker.isEmpty())
> - return;
I'm not sure why this early return can go away, and the changelog doesn't say?
> +void SVGMaskElement::invalidateCanvasResources()
> +{
> + if (m_masker.isEmpty())
> + return;
> +
> + for (HashMap<const RenderObject*, RefPtr<SVGResourceMasker> >::iterator it = m_masker.begin(); it != m_masker.end(); ++it)
> + it->second->invalidate();
Can that be a const_iterator? You may have to make a local variable to store
m_masker.end().
> Index: WebCore/svg/SVGStyledElement.h
> ===================================================================
> --- WebCore/svg/SVGStyledElement.h (revision 54613)
> +++ WebCore/svg/SVGStyledElement.h (working copy)
> @@ -62,6 +62,7 @@ namespace WebCore {
>
> void invalidateResourcesInAncestorChain() const;
> void invalidateResources();
> + virtual void invalidateCanvasResources();
It's unfortunate to propagate the 'canvas' syntax because that is easily
confused with HTML canvas. Perhaps add a comment here to explain how
invalidateResources() is different from invalidateCanvasResources().
r=me
--
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