Index: Source/core/page/FocusController.cpp |
diff --git a/Source/core/page/FocusController.cpp b/Source/core/page/FocusController.cpp |
index 8c0002e58fee5754ad3ce1e2135aa09b61563354..c32f34c7db59a876abcd4763dd3473ef4042d1c1 100644 |
--- a/Source/core/page/FocusController.cpp |
+++ b/Source/core/page/FocusController.cpp |
@@ -144,7 +144,11 @@ static inline void dispatchEventsOnWindowAndFocusedNode(Document* document, bool |
if (!focused && document->focusedElement()) { |
RefPtr<Element> focusedElement(document->focusedElement()); |
- focusedElement->dispatchBlurEvent(0); |
+ if (focusedElement && focusedElement->isHTMLElement()) { |
+ toHTMLElement(focusedElement)->setFocus(false); |
tkent
2014/03/31 07:35:37
We don't need to check isHTMLElement, and don't ne
Habib Virji
2014/03/31 09:30:15
Done.
|
+ } |
+ if (focusedElement == document->focusedElement()) |
tkent
2014/03/31 07:35:37
We don't need to check it. setFocus(false) don't
Habib Virji
2014/03/31 09:30:15
Done.
|
+ focusedElement->dispatchBlurEvent(0); |
if (focusedElement == document->focusedElement()) { |
focusedElement->dispatchFocusOutEvent(EventTypeNames::focusout, 0); |
if (focusedElement == document->focusedElement()) |