Index: Source/core/html/canvas/CanvasRenderingContext2D.cpp |
diff --git a/Source/core/html/canvas/CanvasRenderingContext2D.cpp b/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
index 0b22f93adc73fab743aa087da06fd8563adc41de..92ba70ae1d59241bfd571ac55ae81c99854412a3 100644 |
--- a/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
+++ b/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
@@ -2342,7 +2342,10 @@ void CanvasRenderingContext2D::drawSystemFocusRing(Element* element) |
return; |
updateFocusRingAccessibility(m_path, element); |
- if (element->focused()) |
+ // Note: we need to check document->focusedElement() rather than just calling |
+ // element->focused(), because element->focused() isn't updated until after |
+ // focus events fire. |
+ if (element->document() && element->document()->focusedElement() == element) |
drawFocusRing(m_path); |
} |