Title: [123529] branches/chromium/1180/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp
Revision
123529
Author
[email protected]
Date
2012-07-24 14:37:27 -0700 (Tue, 24 Jul 2012)

Log Message

Merge 123187 - [Chromium] Fix an assertion failure in TextFieldDecorationElement::hostInput()
https://bugs.webkit.org/show_bug.cgi?id=91824
BUG=136145
Review URL: https://chromiumcodereview.appspot.com/10818041

Modified Paths

Diff

Modified: branches/chromium/1180/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp (123528 => 123529)


--- branches/chromium/1180/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp	2012-07-24 21:35:34 UTC (rev 123528)
+++ branches/chromium/1180/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp	2012-07-24 21:37:27 UTC (rev 123529)
@@ -116,9 +116,10 @@
 
 inline HTMLInputElement* TextFieldDecorationElement::hostInput()
 {
-    ASSERT(shadowAncestorNode());
-    ASSERT(shadowAncestorNode()->hasTagName(inputTag));
-    return static_cast<HTMLInputElement*>(shadowAncestorNode());
+    // TextFieldDecorationElement is created only by C++ code, and it is always
+    // in <input> shadow.
+    ASSERT(!shadowHost() || shadowHost()->hasTagName(inputTag));
+    return static_cast<HTMLInputElement*>(shadowHost());
 }
 
 bool TextFieldDecorationElement::isTextFieldDecoration() const
@@ -181,7 +182,7 @@
 void TextFieldDecorationElement::defaultEventHandler(Event* event)
 {
     RefPtr<HTMLInputElement> input(hostInput());
-    if (input->disabled() || input->readOnly() || !event->isMouseEvent()) {
+    if (!input || input->disabled() || input->readOnly() || !event->isMouseEvent()) {
         if (!event->defaultHandled())
             HTMLDivElement::defaultEventHandler(event);
         return;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to