[Webkit-unassigned] [Bug 71788] <area>-tag within <map> can get focus when it is hidden

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 21 14:18:26 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=71788





--- Comment #14 from Andy Estes <aestes at apple.com>  2012-03-21 14:18:26 PST ---
(In reply to comment #13)
> (In reply to comment #11)
> > > Source/WebCore/html/HTMLAreaElement.cpp:205
> > > +    if (!(imageElem && imageElem->renderer()))
> > > +        return false;
> > 
> > As I said before, this check won't handle the case where the image has 'visibility:hidden' set, but that case is already handled by Node's implementation of isFocusable(). I think you can just change these two lines to:
> > 
> >     return image->isFocusable();
> 
> If I do "image->isFocusable()" the below test cases fails:-
> 
>   fast/events/imagemap-norender-crash.html = TEXT
>   fast/events/mouse-focus-imagemap.html = TEXT
>   fast/events/tab-imagemap.html = TEXT
> 
> The reason being, in "Node::supportsFocus()" the check for "hasRareData()" fails.
> 
> So i think we can check for the display/visibility case in "HTMLAreaElement::isFocusable()" as:-
> 
> bool HTMLAreaElement::isFocusable() const
> {
>     HTMLImageElement* image = imageElement();
>     if (!(image && image->renderer()) || image->renderer()->style()->visibility() != VISIBLE)
>         return false;
> 
>     return supportsFocus() && Element::tabIndex() >= 0;
> }
> 
> Please provide your feedback.

Looks good to 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