Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(300)

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLAreaElement.h

Issue 1912863002: Fix image map focus ring painting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2004, 2008, 2009, 2011 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2008, 2009, 2011 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 22 matching lines...) Expand all
33 class HTMLImageElement; 33 class HTMLImageElement;
34 class Path; 34 class Path;
35 35
36 class CORE_EXPORT HTMLAreaElement final : public HTMLAnchorElement { 36 class CORE_EXPORT HTMLAreaElement final : public HTMLAnchorElement {
37 DEFINE_WRAPPERTYPEINFO(); 37 DEFINE_WRAPPERTYPEINFO();
38 public: 38 public:
39 DECLARE_NODE_FACTORY(HTMLAreaElement); 39 DECLARE_NODE_FACTORY(HTMLAreaElement);
40 40
41 bool isDefault() const { return m_shape == Default; } 41 bool isDefault() const { return m_shape == Default; }
42 42
43 bool pointInArea(LayoutPoint, const LayoutSize& containerSize); 43 bool pointInArea(const LayoutPoint&);
44 44
45 LayoutRect computeRect(const LayoutObject*) const; 45 LayoutRect computeAbsoluteRect() const;
46 Path computePath(const LayoutObject*) const; 46 const Path& getPath() const;
47 47
48 // The parent map's image. 48 // The parent map's image.
49 HTMLImageElement* imageElement() const; 49 HTMLImageElement* imageElement() const;
50 50
51 private: 51 private:
52 explicit HTMLAreaElement(Document&); 52 explicit HTMLAreaElement(Document&);
53 ~HTMLAreaElement(); 53 ~HTMLAreaElement();
54 54
55 void parseAttribute(const QualifiedName&, const AtomicString&, const AtomicS tring&) override; 55 void parseAttribute(const QualifiedName&, const AtomicString&, const AtomicS tring&) override;
56 bool isKeyboardFocusable() const override; 56 bool isKeyboardFocusable() const override;
57 bool isMouseFocusable() const override; 57 bool isMouseFocusable() const override;
58 bool layoutObjectIsFocusable() const override; 58 bool layoutObjectIsFocusable() const override;
59 void updateFocusAppearance(SelectionBehaviorOnFocus) override; 59 void updateFocusAppearance(SelectionBehaviorOnFocus) override;
60 void setFocus(bool) override; 60 void setFocus(bool) override;
61 LayoutObject* imageElementLayoutObject() const;
61 62
62 enum Shape { Default, Poly, Rect, Circle }; 63 enum Shape { Default, Poly, Rect, Circle };
63 Path getRegion(const LayoutSize&) const; 64 void invalidateCachedPath();
64 void invalidateCachedRegion();
65 65
66 OwnPtr<Path> m_region; 66 mutable OwnPtr<Path> m_path;
67 Vector<double> m_coords; 67 Vector<double> m_coords;
68 LayoutSize m_lastSize;
69 Shape m_shape; 68 Shape m_shape;
70 }; 69 };
71 70
72 } // namespace blink 71 } // namespace blink
73 72
74 #endif // HTMLAreaElement_h 73 #endif // HTMLAreaElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698