Title: [123549] branches/chromium/1180/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp
- Revision
- 123549
- Author
- [email protected]
- Date
- 2012-07-24 16:38:30 -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
Reviewed by Hajime Morita.
No new tests. This code is used only in Chromium browser.
* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::TextFieldDecorationElement::hostInput):
Use shadowHost(), and allow to return 0.
(WebCore::TextFieldDecorationElement::defaultEventHandler):
Check 0.
[email protected]
BUG=crbug.com/136145
Review URL: https://chromiumcodereview.appspot.com/10809092
Modified Paths
Diff
Modified: branches/chromium/1180/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp (123548 => 123549)
--- branches/chromium/1180/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp 2012-07-24 23:34:46 UTC (rev 123548)
+++ branches/chromium/1180/Source/WebCore/html/shadow/TextFieldDecorationElement.cpp 2012-07-24 23:38:30 UTC (rev 123549)
@@ -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