WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
119823
ASSERT(!renderer()->needsLayout()) when entering Chinese text via Google Chinese Pinyin IME
https://bugs.webkit.org/show_bug.cgi?id=119823
Summary
ASSERT(!renderer()->needsLayout()) when entering Chinese text via Google Chin...
Stephen
Reported
2013-08-14 16:05:00 PDT
I am using QtWebkit 5.1.0 on Windows 7. When I enter some Chinese text via Google Chinese Pinyin IME into the search box on Google homepage, every now and then, webkit crashes due to the following assert: bool Node::isFocusable() const { if (!inDocument() || !supportsFocus()) return false; // Elements in canvas fallback content are not rendered, but they are allowed to be // focusable as long as their canvas is displayed and visible. if (isElementNode() && toElement(this)->isInCanvasSubtree()) { const Element* e = toElement(this); while (e && !e->hasLocalName(canvasTag)) e = e->parentElement(); ASSERT(e); return e->renderer() && e->renderer()->style()->visibility() == VISIBLE; } if (renderer()) ------> ASSERT(!renderer()->needsLayout()); else // If the node is in a display:none tree it might say it needs style recalc but // the whole document is actually up to date. ASSERT(!document()->childNeedsStyleRecalc()); // FIXME: Even if we are not visible, we might have a child that is visible. // Hyatt wants to fix that some day with a "has visible content" flag or the like. if (!renderer() || renderer()->style()->visibility() != VISIBLE) return false; return true; } Here is entire stack: ntdll.dll!_ZwRaiseException@12() + 0x12 bytes ntdll.dll!_ZwRaiseException@12() + 0x12 bytes
> Qt5WebKitd.dll!WebCore::Node::isFocusable() Line 927 + 0x3c bytes C++
Qt5WebKitd.dll!WebCore::HTMLFormControlElement::isFocusable() Line 330 C++ Qt5WebKitd.dll!WebCore::HTMLInputElement::isTextFormControlFocusable() Line 398 C++ Qt5WebKitd.dll!WebCore::TextFieldInputType::isMouseFocusable() Line 79 C++ Qt5WebKitd.dll!WebCore::HTMLInputElement::isMouseFocusable() Line 393 C++ Qt5WebKitd.dll!WebCore::FrameSelection::setFocusedNodeIfNeeded() Line 1884 + 0x16 bytes C++ Qt5WebKitd.dll!WebCore::FrameSelection::setSelection(const WebCore::VisibleSelection & newSelection={...}, unsigned int options=0, WebCore::FrameSelection::CursorAlignOnScroll align=AlignCursorOnScrollIfNeeded, WebCore::TextGranularity granularity=CharacterGranularity) Line 298 C++ Qt5WebKitd.dll!WebCore::Editor::selectComposition() Line 1321 C++ Qt5WebKitd.dll!WebCore::Editor::setComposition(const WTF::String & text={...}, const WTF::Vector<WebCore::CompositionUnderline,0> & underlines={...}, unsigned int selectionStart=0, unsigned int selectionEnd=0) Line 1400 C++ Qt5WebKitd.dll!QWebPageAdapter::inputMethodEvent(QInputMethodEvent * ev=0x16dd2220) Line 710 + 0x2c bytes C++ Qt5WebKitWidgetsd.dll!QWebPage::event(QEvent * ev=0x16dd2220) Line 2543 C++ MyApp.exe!WebPage::event(QEvent * e=0x16dd2220) Line 1021 C++ Qt5WebKitWidgetsd.dll!QWebView::inputMethodEvent(QInputMethodEvent * e=0x16dd2220) Line 1031 C++ Qt5Widgetsd.dll!QWidget::event(QEvent * event=0x16dd2220) Line 7951 C++ Qt5WebKitWidgetsd.dll!QWebView::event(QEvent * e=0x16dd2220) Line 734 C++ Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0d5daa08, QEvent * e=0x16dd2220) Line 3455 + 0x11 bytes C++ Qt5Widgetsd.dll!QApplication::notify(QObject * receiver=0x0d5daa08, QEvent * e=0x16dd2220) Line 3420 + 0x10 bytes C++ Qt5Cored.dll!QCoreApplication::notifyInternal(QObject * receiver=0x0d5daa08, QEvent * event=0x16dd2220) Line 871 + 0x15 bytes C++ Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver=0x0d5daa08, QEvent * event=0x16dd2220) Line 232 + 0x39 bytes C++ qwindowsd.dll!QWindowsInputContext::composition(HWND__ * hwnd=0x00311056, long lParamIn=184) Line 443 + 0x13 bytes C++ qwindowsd.dll!QWindowsContext::windowsProc(HWND__ * hwnd=0x00311056, unsigned int message=271, QtWindows::WindowsEventType et=InputMethodCompositionEvent, unsigned int wParam=0, long lParam=184, long * result=0x0025d9a8) Line 736 + 0x14 bytes C++ qwindowsd.dll!qWindowsWndProc(HWND__ * hwnd=0x00311056, unsigned int message=271, unsigned int wParam=0, long lParam=184) Line 951 + 0x24 bytes C++ user32.dll!_InternalCallWinProc@20() + 0x23 bytes user32.dll!_UserCallWinProcCheckWow@32() + 0xb7 bytes user32.dll!_DispatchMessageWorker@8() + 0xed bytes user32.dll!_DispatchMessageW@4() + 0xf bytes Qt5Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 752 C++ qwindowsd.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 78 + 0xd bytes C++ Qt5Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 137 C++ Qt5Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 212 + 0x26 bytes C++ Qt5Cored.dll!QCoreApplication::exec() Line 1124 + 0x15 bytes C++ Qt5Guid.dll!QGuiApplication::exec() Line 1197 C++ Qt5Widgetsd.dll!QApplication::exec() Line 2690 C++
Attachments
Add attachment
proposed patch, testcase, etc.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug