static v8::Handle<v8::Value> areasAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) { INC_STATS("DOM.HTMLMapElement.areas._get"); HTMLMapElement* imp = V8HTMLMapElement::toNative(info.Holder()); if (!R_check(imp)) return v8::Handle<v8::Value>(v8::Undefined()); return toV8(imp->areas()); }
void RenderImage::paintFocusRings(PaintInfo& paintInfo, const RenderStyle* style) { // Don't draw focus rings if printing. if (document()->printing() || !document()->frame()->selection()->isFocusedAndActive()) return; if (paintInfo.context->paintingDisabled() && !paintInfo.context->updatingControlTints()) return; HTMLMapElement* mapElement = imageMap(); if (!mapElement) return; Document* document = mapElement->document(); if (!document) return; Node* focusedNode = document->focusedNode(); if (!focusedNode) return; RefPtr<HTMLCollection> areas = mapElement->areas(); unsigned numAreas = areas->length(); // FIXME: Clip the paths to the image bounding box. for (unsigned k = 0; k < numAreas; ++k) { HTMLAreaElement* areaElement = static_cast<HTMLAreaElement*>(areas->item(k)); if (focusedNode != areaElement) continue; Vector<Path> focusRingPaths; focusRingPaths.append(areaElement->getPath(this)); paintInfo.context->drawFocusRing(focusRingPaths, style->outlineWidth(), style->outlineOffset(), style->outlineColor()); break; } }
static v8::Handle<v8::Value> areasAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) { HTMLMapElement* imp = V8HTMLMapElement::toNative(info.Holder()); return toV8Fast(imp->areas(), info, imp); }