Changeset 53857 in webkit
- Timestamp:
- Jan 26, 2010 10:06:41 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r53845 r53857 1 2010-01-26 Chris Fleizach <cfleizach@apple.com> 2 3 Reviewed by Darin Adler. 4 5 Add ability for image maps to be focused via tabbing 6 https://bugs.webkit.org/show_bug.cgi?id=17513 7 8 * fast/events/resources/tabindex-focus-blur-all.js: 9 (test): 10 (testProgrammaticFocus): 11 * fast/events/tab-imagemap-expected.txt: Added. 12 * fast/events/tab-imagemap.html: Added. 13 * fast/events/tabindex-focus-blur-all-expected.txt: 14 1 15 2010-01-26 Simon Hausmann <simon.hausmann@nokia.com> 2 16 -
trunk/LayoutTests/fast/events/resources/tabindex-focus-blur-all.js
r48257 r53857 12 12 13 13 var tagNamesAlwaysFocused = ["A", 14 "AREA", 14 15 "BUTTON", 15 16 "IFRAME", … … 20 21 21 22 var tagNamesTransferFocused = ["LABEL"]; // labels always transfer focus to the labeled element 23 24 var noDisplayTagNamesWithFocus = ["AREA"]; // AREA elements can get focus, but are not displayed. 22 25 23 26 function printToConsole(str) … … 50 53 homeBase[0].focus(); 51 54 52 var resultSummary = focusCount+" focus / "+blurCount+" blur events dispatched, and should be 3 29 / 329";55 var resultSummary = focusCount+" focus / "+blurCount+" blur events dispatched, and should be 337 / 337 "; 53 56 resultSummary += (focusCount==blurCount) ? "<span style='color:green'>PASSED</span><br>" : "<span style='color:red'>FAILED</span><br>"; 54 57 resultSummary += "Total of "+failedTestCount+" focus test(s) failed."; … … 103 106 else if (tagNamesAlwaysFocused.find(elem.tagName)) // special case form elements and other controls that are always focusable 104 107 elemThatShouldFocus = elem; 105 108 106 109 // Hidden elements should not be focusable. https://bugs.webkit.org/show_bug.cgi?id=27099 107 if (document.defaultView.getComputedStyle(elem).display == "none" )110 if (document.defaultView.getComputedStyle(elem).display == "none" && !noDisplayTagNamesWithFocus.find(elem.tagName)) 108 111 elemThatShouldFocus = null; 109 112 -
trunk/LayoutTests/fast/events/tabindex-focus-blur-all-expected.txt
r48257 r53857 1 3 29 focus / 329 blur events dispatched, and should be 329 / 329PASSED1 337 focus / 337 blur events dispatched, and should be 337 / 337 PASSED 2 2 Total of 0 focus test(s) failed. PASSED -
trunk/WebCore/ChangeLog
r53856 r53857 1 2010-01-26 Chris Fleizach <cfleizach@apple.com> 2 3 Reviewed by Darin Adler. 4 5 Add ability for image maps to be focused via tabbing 6 https://bugs.webkit.org/show_bug.cgi?id=17513 7 8 Test: fast/events/tab-imagemap.html 9 10 * accessibility/AXObjectCache.cpp: 11 (WebCore::AXObjectCache::focusedImageMapUIElement): 12 (WebCore::AXObjectCache::focusedUIElementForPage): 13 * accessibility/AXObjectCache.h: 14 * accessibility/AccessibilityImageMapLink.h: 15 (WebCore::AccessibilityImageMapLink::areaElement): 16 (WebCore::AccessibilityImageMapLink::mapElement): 17 (WebCore::AccessibilityImageMapLink::isImageMapLink): 18 * accessibility/AccessibilityObject.h: 19 (WebCore::AccessibilityObject::isImageMapLink): 20 * accessibility/AccessibilityRenderObject.cpp: 21 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): 22 * html/HTMLAreaElement.cpp: 23 (WebCore::HTMLAreaElement::getPath): 24 (WebCore::HTMLAreaElement::getRect): 25 (WebCore::HTMLAreaElement::imageElement): 26 (WebCore::HTMLAreaElement::isKeyboardFocusable): 27 (WebCore::HTMLAreaElement::isFocusable): 28 (WebCore::HTMLAreaElement::dispatchBlurEvent): 29 (WebCore::HTMLAreaElement::updateFocusAppearance): 30 (WebCore::HTMLAreaElement::supportsFocus): 31 * html/HTMLAreaElement.h: 32 * html/HTMLMapElement.cpp: 33 (WebCore::HTMLMapElement::imageElement): 34 * html/HTMLMapElement.h: 35 * platform/graphics/GraphicsContext.h: 36 * platform/graphics/cairo/GraphicsContextCairo.cpp: 37 (WebCore::GraphicsContext::drawFocusRing): 38 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 39 (WebCore::GraphicsContext::drawFocusRing): 40 * platform/graphics/mac/GraphicsContextMac.mm: 41 (WebCore::drawFocusRingToContext): 42 (WebCore::GraphicsContext::drawFocusRing): 43 * platform/graphics/qt/GraphicsContextQt.cpp: 44 (WebCore::GraphicsContext::drawFocusRing): 45 * platform/graphics/skia/GraphicsContextSkia.cpp: 46 (WebCore::GraphicsContext::drawFocusRing): 47 * platform/graphics/win/GraphicsContextCGWin.cpp: 48 (WebCore::GraphicsContext::drawFocusRing): 49 * platform/graphics/wince/GraphicsContextWince.cpp: 50 (WebCore::GraphicsContext::drawFocusRing): 51 * platform/graphics/wx/GraphicsContextWx.cpp: 52 (WebCore::GraphicsContext::drawFocusRing): 53 * rendering/RenderImage.cpp: 54 (WebCore::RenderImage::paint): 55 (WebCore::RenderImage::paintFocusRings): 56 (WebCore::RenderImage::imageMap): 57 * rendering/RenderImage.h: 58 * rendering/RenderReplaced.h: 59 1 60 2010-01-26 Pavel Feldman <pfeldman@chromium.org> 2 61 -
trunk/WebCore/accessibility/AXObjectCache.cpp
r53644 r53857 51 51 #include "FocusController.h" 52 52 #include "Frame.h" 53 #include "HTMLAreaElement.h" 54 #include "HTMLImageElement.h" 53 55 #include "HTMLNames.h" 54 56 #if ENABLE(VIDEO) … … 85 87 } 86 88 89 AccessibilityObject* AXObjectCache::focusedImageMapUIElement(HTMLAreaElement* areaElement) 90 { 91 // Find the corresponding accessibility object for the HTMLAreaElement. This should be 92 // in the list of children for its corresponding image. 93 if (!areaElement) 94 return 0; 95 96 HTMLImageElement* imageElement = areaElement->imageElement(); 97 if (!imageElement) 98 return 0; 99 100 AccessibilityObject* axRenderImage = areaElement->document()->axObjectCache()->getOrCreate(imageElement->renderer()); 101 if (!axRenderImage) 102 return 0; 103 104 AccessibilityObject::AccessibilityChildrenVector imageChildren = axRenderImage->children(); 105 unsigned count = imageChildren.size(); 106 for (unsigned k = 0; k < count; ++k) { 107 AccessibilityObject* child = imageChildren[k].get(); 108 if (!child->isImageMapLink()) 109 continue; 110 111 if (static_cast<AccessibilityImageMapLink*>(child)->areaElement() == areaElement) 112 return child; 113 } 114 115 return 0; 116 } 117 87 118 AccessibilityObject* AXObjectCache::focusedUIElementForPage(const Page* page) 88 119 { … … 93 124 focusedNode = focusedDocument; 94 125 126 if (focusedNode->hasTagName(areaTag)) 127 return focusedImageMapUIElement(static_cast<HTMLAreaElement*>(focusedNode)); 128 95 129 RenderObject* focusedNodeRenderer = focusedNode->renderer(); 96 130 if (!focusedNodeRenderer) -
trunk/WebCore/accessibility/AXObjectCache.h
r53644 r53857 43 43 namespace WebCore { 44 44 45 class HTMLAreaElement; 45 46 class Node; 46 47 class Page; … … 136 137 void notificationPostTimerFired(Timer<AXObjectCache>*); 137 138 139 static AccessibilityObject* focusedImageMapUIElement(HTMLAreaElement*); 140 138 141 AXID getAXID(AccessibilityObject*); 139 142 bool nodeIsAriaType(Node*, String role); -
trunk/WebCore/accessibility/AccessibilityImageMapLink.h
r51195 r53857 45 45 46 46 void setHTMLAreaElement(HTMLAreaElement* element) { m_areaElement = element; } 47 HTMLAreaElement* areaElement() const { return m_areaElement; } 48 47 49 void setHTMLMapElement(HTMLMapElement* element) { m_mapElement = element; } 50 HTMLMapElement* mapElement() const { return m_mapElement; } 51 48 52 void setParent(AccessibilityObject* parent) { m_parent = parent; } 49 53 … … 51 55 virtual bool accessibilityIsIgnored() const { return false; } 52 56 virtual bool isEnabled() const { return true; } 53 57 54 58 virtual AccessibilityObject* parentObject() const; 55 59 virtual Element* anchorElement() const; … … 71 75 HTMLMapElement* m_mapElement; 72 76 AccessibilityObject* m_parent; 77 78 virtual bool isImageMapLink() const { return true; } 73 79 }; 74 80 -
trunk/WebCore/accessibility/AccessibilityObject.h
r53512 r53857 286 286 virtual bool isGroup() const { return false; } 287 287 virtual bool isARIATreeGridRow() const { return false; } 288 virtual bool isImageMapLink() const { return false; } 288 289 virtual bool isMenuList() const { return false; } 289 290 virtual bool isMenuListPopup() const { return false; } -
trunk/WebCore/accessibility/AccessibilityRenderObject.cpp
r53573 r53857 2050 2050 { 2051 2051 // find an image that is using this map 2052 if (!m_renderer || !map) 2053 return 0; 2054 2055 String mapName = map->getName().string().lower(); 2056 RefPtr<HTMLCollection> coll = m_renderer->document()->images(); 2057 for (Node* curr = coll->firstItem(); curr; curr = coll->nextItem()) { 2058 RenderObject* obj = curr->renderer(); 2059 if (!obj || !curr->hasTagName(imgTag)) 2060 continue; 2061 2062 // The HTMLImageElement's useMap() value includes the '#' symbol at the beginning, 2063 // which has to be stripped off 2064 String useMapName = static_cast<HTMLImageElement*>(curr)->getAttribute(usemapAttr).string().substring(1).lower(); 2065 if (useMapName == mapName) 2066 return axObjectCache()->getOrCreate(obj); 2067 } 2068 2069 return 0; 2052 if (!map) 2053 return 0; 2054 2055 HTMLImageElement* imageElement = map->imageElement(); 2056 if (!imageElement) 2057 return 0; 2058 2059 return axObjectCache()->getOrCreate(imageElement->renderer()); 2070 2060 } 2071 2061 -
trunk/WebCore/html/HTMLAreaElement.cpp
r48106 r53857 23 23 #include "HTMLAreaElement.h" 24 24 25 #include "HTMLImageElement.h" 26 #include "HTMLMapElement.h" 25 27 #include "HTMLNames.h" 26 28 #include "HitTestResult.h" … … 83 85 } 84 86 85 IntRect HTMLAreaElement::getRect(RenderObject* obj) const 86 { 87 Path HTMLAreaElement::getPath(RenderObject* obj) const 88 { 89 if (!obj) 90 return Path(); 91 87 92 // FIXME: This doesn't work correctly with transforms. 88 93 FloatPoint absPos = obj->localToAbsolute(); 89 Path p = getRegion(m_lastSize); 94 95 // Default should default to the size of the containing object. 96 IntSize size = m_lastSize; 97 if (m_shape == Default) 98 size = obj->absoluteOutlineBounds().size(); 99 100 Path p = getRegion(size); 90 101 p.translate(absPos - FloatPoint()); 91 return enclosingIntRect(p.boundingRect()); 102 return p; 103 } 104 105 IntRect HTMLAreaElement::getRect(RenderObject* obj) const 106 { 107 return enclosingIntRect(getPath(obj).boundingRect()); 92 108 } 93 109 … … 162 178 setAttribute(nohrefAttr, noHref ? "" : 0); 163 179 } 164 180 181 HTMLImageElement* HTMLAreaElement::imageElement() const 182 { 183 Node* mapElement = parent(); 184 if (!mapElement->hasTagName(mapTag)) 185 return 0; 186 187 return static_cast<HTMLMapElement*>(mapElement)->imageElement(); 188 } 189 190 bool HTMLAreaElement::isKeyboardFocusable(KeyboardEvent*) const 191 { 192 return supportsFocus(); 193 } 194 195 bool HTMLAreaElement::isFocusable() const 196 { 197 return supportsFocus(); 198 } 199 200 void HTMLAreaElement::dispatchBlurEvent() 201 { 202 HTMLAnchorElement::dispatchBlurEvent(); 203 204 // On a blur, we might need to remove our focus rings by repainting. 205 updateFocusAppearance(false); 206 } 207 208 void HTMLAreaElement::updateFocusAppearance(bool restorePreviousSelection) 209 { 210 Node* parent = parentNode(); 211 if (!parent || !parent->hasTagName(mapTag)) 212 return; 213 214 HTMLImageElement* imageElement = static_cast<HTMLMapElement*>(parent)->imageElement(); 215 if (!imageElement) 216 return; 217 218 // This will handle scrolling to the image if necessary. 219 imageElement->updateFocusAppearance(restorePreviousSelection); 220 221 RenderObject* imageRenderer = imageElement->renderer(); 222 if (imageRenderer) 223 imageRenderer->setNeedsLayout(true); 224 } 225 165 226 bool HTMLAreaElement::supportsFocus() const 166 227 { 167 // Skip HTMLAnchorElements isLink() check. 168 return HTMLElement::supportsFocus(); 228 // If the AREA element was a link, it should support focus. 229 // The inherited method is not used because it assumes that a render object must exist 230 // for the element to support focus. AREA elements do not have render objects. 231 return isLink(); 169 232 } 170 233 -
trunk/WebCore/html/HTMLAreaElement.h
r48106 r53857 31 31 32 32 class HitTestResult; 33 class HTMLImageElement; 33 34 class Path; 34 35 … … 42 43 43 44 IntRect getRect(RenderObject*) const; 44 45 Path getPath(RenderObject*) const; 46 47 // Convenience method to get the parent map's image. 48 HTMLImageElement* imageElement() const; 49 45 50 KURL href() const; 46 51 … … 56 61 virtual bool supportsFocus() const; 57 62 virtual String target() const; 58 63 virtual bool isKeyboardFocusable(KeyboardEvent*) const; 64 virtual bool isFocusable() const; 65 virtual void updateFocusAppearance(bool /*restorePreviousSelection*/); 66 virtual void dispatchBlurEvent(); 67 59 68 enum Shape { Default, Poly, Rect, Circle, Unknown }; 60 69 Path getRegion(const IntSize&) const; -
trunk/WebCore/html/HTMLMapElement.cpp
r52312 r53857 26 26 #include "HTMLAreaElement.h" 27 27 #include "HTMLCollection.h" 28 #include "HTMLImageElement.h" 28 29 #include "HTMLNames.h" 29 30 #include "HitTestResult.h" 30 31 #include "IntSize.h" 31 32 #include "MappedAttribute.h" 33 #include "RenderObject.h" 32 34 33 35 using namespace std; … … 76 78 } 77 79 80 HTMLImageElement* HTMLMapElement::imageElement() const 81 { 82 RefPtr<HTMLCollection> coll = renderer()->document()->images(); 83 for (Node* curr = coll->firstItem(); curr; curr = coll->nextItem()) { 84 if (!curr->hasTagName(imgTag)) 85 continue; 86 87 // The HTMLImageElement's useMap() value includes the '#' symbol at the beginning, 88 // which has to be stripped off. 89 HTMLImageElement* imageElement = static_cast<HTMLImageElement*>(curr); 90 String useMapName = imageElement->getAttribute(usemapAttr).string().substring(1); 91 if (equalIgnoringCase(useMapName, m_name)) 92 return imageElement; 93 } 94 95 return 0; 96 } 97 78 98 void HTMLMapElement::parseMappedAttribute(MappedAttribute* attr) 79 99 { -
trunk/WebCore/html/HTMLMapElement.h
r39007 r53857 30 30 class IntSize; 31 31 class HitTestResult; 32 32 class HTMLImageElement; 33 33 34 class HTMLMapElement : public HTMLElement { 34 35 public: … … 45 46 46 47 bool mapMouseEvent(int x, int y, const IntSize&, HitTestResult&); 47 48 49 HTMLImageElement* imageElement() const; 48 50 PassRefPtr<HTMLCollection> areas(); 49 51 -
trunk/WebCore/platform/graphics/GraphicsContext.h
r53637 r53857 264 264 265 265 void drawFocusRing(const Vector<IntRect>&, int width, int offset, const Color&); 266 void drawFocusRing(const Vector<Path>&, int width, int offset, const Color&); 266 267 267 268 void setLineCap(LineCap); -
trunk/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
r52632 r53857 605 605 cairo_set_fill_rule(cr, clipRule == RULE_EVENODD ? CAIRO_FILL_RULE_EVEN_ODD : CAIRO_FILL_RULE_WINDING); 606 606 cairo_clip(cr); 607 } 608 609 void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int offset, const Color& color) 610 { 611 // FIXME: implement 607 612 } 608 613 -
trunk/WebCore/platform/graphics/haiku/GraphicsContextHaiku.cpp
r52632 r53857 205 205 } 206 206 207 void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int offset, const Color& color) 208 { 209 // FIXME: implement 210 } 211 207 212 void GraphicsContext::drawFocusRing(const Vector<IntRect>& rects, int /* width */, int /* offset */, const Color& color) 208 213 { -
trunk/WebCore/platform/graphics/mac/GraphicsContextMac.mm
r52632 r53857 44 44 // exceptions for those. 45 45 46 static void drawFocusRingToContext(CGContextRef context, RetainPtr<CGPathRef> focusRingPath, RetainPtr<CGColorRef> colorRef, int radius) 47 { 48 #ifdef BUILDING_ON_TIGER 49 CGContextBeginTransparencyLayer(context, 0); 50 #endif 51 CGContextBeginPath(context); 52 CGContextAddPath(context, focusRingPath.get()); 53 wkDrawFocusRing(context, colorRef.get(), radius); 54 #ifdef BUILDING_ON_TIGER 55 CGContextEndTransparencyLayer(context); 56 #endif 57 } 58 59 void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int offset, const Color& color) 60 { 61 if (paintingDisabled()) 62 return; 63 64 int radius = (width - 1) / 2; 65 offset += radius; 66 RetainPtr<CGColorRef> colorRef; 67 if (color.isValid()) 68 colorRef.adoptCF(createCGColor(color)); 69 70 RetainPtr<CGMutablePathRef> focusRingPath(AdoptCF, CGPathCreateMutable()); 71 unsigned pathCount = paths.size(); 72 for (unsigned i = 0; i < pathCount; i++) 73 CGPathAddPath(focusRingPath.get(), 0, paths[i].platformPath()); 74 75 drawFocusRingToContext(platformContext(), focusRingPath, colorRef, radius); 76 } 77 46 78 void GraphicsContext::drawFocusRing(const Vector<IntRect>& rects, int width, int offset, const Color& color) 47 79 { … … 60 92 CGPathAddRect(focusRingPath.get(), 0, CGRectInset(rects[i], -offset, -offset)); 61 93 62 CGContextRef context = platformContext(); 63 #ifdef BUILDING_ON_TIGER 64 CGContextBeginTransparencyLayer(context, NULL); 65 #endif 66 CGContextBeginPath(context); 67 CGContextAddPath(context, focusRingPath.get()); 68 wkDrawFocusRing(context, colorRef.get(), radius); 69 #ifdef BUILDING_ON_TIGER 70 CGContextEndTransparencyLayer(context); 71 #endif 94 drawFocusRingToContext(platformContext(), focusRingPath, colorRef, radius); 72 95 } 73 96 -
trunk/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
r53325 r53857 796 796 } 797 797 798 void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int offset, const Color& color) 799 { 800 // FIXME: implement 801 } 802 798 803 /** 799 804 * Focus ring handling is not handled here. Qt style in -
trunk/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
r53600 r53857 502 502 } 503 503 504 void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int offset, const Color& color) 505 { 506 // FIXME: implement 507 } 508 504 509 void GraphicsContext::drawFocusRing(const Vector<IntRect>& rects, int /* width */, int /* offset */, const Color& color) 505 510 { -
trunk/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp
r52632 r53857 125 125 } 126 126 127 void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int offset, const Color& color) 128 { 129 // FIXME: implement 130 } 131 127 132 void GraphicsContext::drawFocusRing(const Vector<IntRect>& rects, int width, int offset, const Color& color) 128 133 { -
trunk/WebCore/platform/graphics/wince/GraphicsContextWince.cpp
r52632 r53857 1001 1001 1002 1002 ExcludeClipRect(m_data->m_dc, trRect.x(), trRect.y(), trRect.right(), trRect.bottom()); 1003 } 1004 1005 void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int offset, const Color& color) 1006 { 1007 // FIXME: implement 1003 1008 } 1004 1009 -
trunk/WebCore/platform/graphics/wx/GraphicsContextWx.cpp
r52791 r53857 271 271 } 272 272 273 void GraphicsContext::drawFocusRing(const Vector<Path>& paths, int width, int offset, const Color& color) 274 { 275 // FIXME: implement 276 } 277 273 278 void GraphicsContext::drawFocusRing(const Vector<IntRect>& rects, int width, int offset, const Color& color) 274 279 { -
trunk/WebCore/rendering/RenderImage.cpp
r53146 r53857 27 27 #include "RenderImage.h" 28 28 29 #include "Frame.h" 29 30 #include "GraphicsContext.h" 31 #include "HTMLAreaElement.h" 32 #include "HTMLCollection.h" 30 33 #include "HTMLImageElement.h" 31 34 #include "HTMLInputElement.h" … … 34 37 #include "HitTestResult.h" 35 38 #include "Page.h" 39 #include "RenderTheme.h" 36 40 #include "RenderView.h" 41 #include "SelectionController.h" 37 42 #include <wtf/CurrentTime.h> 38 43 #include <wtf/UnusedParam.h> … … 426 431 } 427 432 433 void RenderImage::paint(PaintInfo& paintInfo, int tx, int ty) 434 { 435 RenderReplaced::paint(paintInfo, tx, ty); 436 437 if (paintInfo.phase == PaintPhaseOutline) 438 paintFocusRings(paintInfo, style()); 439 } 440 441 void RenderImage::paintFocusRings(PaintInfo& paintInfo, const RenderStyle* style) 442 { 443 // Don't draw focus rings if printing. 444 if (document()->printing() || !document()->frame()->selection()->isFocusedAndActive()) 445 return; 446 447 if (paintInfo.context->paintingDisabled() && !paintInfo.context->updatingControlTints()) 448 return; 449 450 HTMLMapElement* mapElement = imageMap(); 451 if (!mapElement) 452 return; 453 454 Document* document = mapElement->document(); 455 if (!document) 456 return; 457 458 Node* focusedNode = document->focusedNode(); 459 if (!focusedNode) 460 return; 461 462 RefPtr<HTMLCollection> areas = mapElement->areas(); 463 unsigned numAreas = areas->length(); 464 465 // FIXME: Clip the paths to the image bounding box. 466 for (unsigned k = 0; k < numAreas; ++k) { 467 HTMLAreaElement* areaElement = static_cast<HTMLAreaElement*>(areas->item(k)); 468 if (focusedNode != areaElement) 469 continue; 470 471 Vector<Path> focusRingPaths; 472 focusRingPaths.append(areaElement->getPath(this)); 473 paintInfo.context->drawFocusRing(focusRingPaths, style->outlineWidth(), style->outlineOffset(), style->outlineColor()); 474 break; 475 } 476 } 477 428 478 void RenderImage::paintIntoRect(GraphicsContext* context, const IntRect& rect) 429 479 { … … 446 496 } 447 497 448 HTMLMapElement* RenderImage::imageMap() 498 HTMLMapElement* RenderImage::imageMap() const 449 499 { 450 500 HTMLImageElement* i = node() && node()->hasTagName(imgTag) ? static_cast<HTMLImageElement*>(node()) : 0; -
trunk/WebCore/rendering/RenderImage.h
r53146 r53857 44 44 CachedImage* cachedImage() const { return m_cachedImage.get(); } 45 45 46 HTMLMapElement* imageMap() ;46 HTMLMapElement* imageMap() const; 47 47 48 48 void resetAnimation(); … … 59 59 60 60 virtual void paintIntoRect(GraphicsContext*, const IntRect&); 61 void paintFocusRings(PaintInfo&, const RenderStyle*); 62 virtual void paint(PaintInfo&, int tx, int ty); 61 63 62 64 bool isWidthSpecified() const; -
trunk/WebCore/rendering/RenderReplaced.h
r47440 r53857 47 47 virtual void intrinsicSizeChanged(); 48 48 49 virtual void paint(PaintInfo&, int tx, int ty); 49 50 bool shouldPaint(PaintInfo&, int& tx, int& ty); 50 51 void adjustOverflowForBoxShadowAndReflect(); … … 63 64 virtual int minimumReplacedHeight() const { return 0; } 64 65 65 virtual void paint(PaintInfo&, int tx, int ty);66 66 virtual void paintReplaced(PaintInfo&, int /*tx*/, int /*ty*/) { } 67 67
Note: See TracChangeset
for help on using the changeset viewer.