diff --git a/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
index 228b24da03121..5e5575782b7f9 100644
--- a/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
+++ b/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
@@ -2130,6 +2130,16 @@ void CanvasRenderingContext2D::webkitPutImageDataHD(ImageData* data, float dx, f
putImageData(data, ImageBuffer::BackingStoreCoordinateSystem, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight, ec);
}
+void CanvasRenderingContext2D::drawSystemFocusRing(Element* element)
+{
+ drawFocusIfNeededInternal(m_path, element);
+}
+
+void CanvasRenderingContext2D::drawSystemFocusRing(DOMPath* path, Element* element)
+{
+ drawFocusIfNeededInternal(path->path(), element);
+}
+
void CanvasRenderingContext2D::drawFocusIfNeeded(Element* element)
{
drawFocusIfNeededInternal(m_path, element);
@@ -2140,6 +2150,7 @@ void CanvasRenderingContext2D::drawFocusIfNeeded(DOMPath* path, Element* element
drawFocusIfNeededInternal(path->path(), element);
}
+
void CanvasRenderingContext2D::drawFocusIfNeededInternal(const Path& path, Element* element)
{
GraphicsContext* context = drawingContext();
diff --git a/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl b/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl
index 5fc6712ef85b7..c8040ed20ce1f 100644
--- a/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl
+++ b/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl
@@ -189,6 +189,9 @@ interface CanvasRenderingContext2D : CanvasRenderingContext {
void drawFocusIfNeeded(Element element);
void drawFocusIfNeeded(DOMPath path, Element element);
+ void drawSystemFocusRing(Element element);
+ void drawSystemFocusRing(DOMPath path, Element element);
+
readonly attribute float webkitBackingStorePixelRatio;
attribute boolean imageSmoothingEnabled;