[Webkit-unassigned] [Bug 149056] [GTK] Spellchecker rejects word when adding a period or colon character if there is no trailing space before the next word

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 3 06:05:21 PST 2016


https://bugs.webkit.org/show_bug.cgi?id=149056

Michael Catanzaro <mcatanzaro at igalia.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #272752|review?                     |review-
              Flags|                            |

--- Comment #19 from Michael Catanzaro <mcatanzaro at igalia.com> ---
Comment on attachment 272752
  --> https://bugs.webkit.org/attachment.cgi?id=272752
Expand newAdjacentwords selection from its boundaries

View in context: https://bugs.webkit.org/attachment.cgi?id=272752&action=review

Looks like it breaks 26230 layout tests on mac-debug. You can dig around in the archive posted by the bot to see what's wrong:

ASSERTION FAILED: anchorType() == PositionIsOffsetInAnchor
/Volumes/Data/EWS/WebKit/Source/WebCore/dom/Position.h(109) : int WebCore::Position::offsetInContainerNode() const
1   0x10d21d160 WTFCrash
2   0x111c195dc WebCore::Position::offsetInContainerNode() const
3   0x1123cf745 WebCore::Editor::editorUIUpdateTimerFired()
4   0x1123ced9d WebCore::Editor::updateEditorUINowIfScheduled()
5   0x1123ce7cf WebCore::Editor::appliedEditing(WTF::PassRefPtr<WebCore::CompositeEditCommand>)
6   0x111ef9b48 WebCore::CompositeEditCommand::apply()
7   0x111ef9a11 WebCore::applyCommand(WTF::PassRefPtr<WebCore::CompositeEditCommand>)
8   0x1123cb922 WebCore::Editor::deleteSelectionWithSmartDelete(bool, WebCore::EditAction)
9   0x1123d0fe7 WebCore::Editor::performCutOrCopy(WebCore::Editor::EditorActionSpecifier)
10  0x1123d0991 WebCore::Editor::cut()
11  0x1123e45e1 WebCore::executeCut(WebCore::Frame&, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&)
12  0x1123e3947 WebCore::Editor::Command::execute(WTF::String const&, WebCore::Event*) const
13  0x11223be59 WebCore::Document::execCommand(WTF::String const&, bool, WTF::String const&)
14  0x112c60c43 WebCore::jsDocumentPrototypeFunctionExecCommand(JSC::ExecState*)
15  0x58b086001028
16  0x10ce5829b llint_entry
17  0x10ce5829b llint_entry
18  0x10ce517ae vmEntryToJavaScript
19  0x10cc724da JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
20  0x10cc0c1f1 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
21  0x10c52c9fe JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
22  0x10c52ca63 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&)
23  0x10c52cc5b JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&)
24  0x112bb78db WebCore::JSMainThreadExecState::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&)
25  0x112d6e81e WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*)
26  0x112455467 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul, WTF::CrashOnOverflow, 16ul>&)
27  0x112454c98 WebCore::EventTarget::fireEventListeners(WebCore::Event&)
28  0x11237ba60 WebCore::DOMWindow::dispatchEvent(WebCore::Event&, WebCore::EventTarget*)
29  0x1123834e2 WebCore::DOMWindow::dispatchLoadEvent()
30  0x112231a5d WebCore::Document::dispatchWindowLoadEvent()
31  0x11222de3e WebCore::Document::implicitClose()

Are you using a debug build? (You should be. ;)

> Source/WebCore/editing/Editor.cpp:3411
> +            int newAdjacentWordsLength = newAdjacentWords.end().offsetInContainerNode() - newAdjacentWords.start().offsetInContainerNode();

Nit: it's better to use auto in new code, so you don't have to look up the exact type, and in case the return type changes to something other than int in the future

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160303/6cf00c8e/attachment-0001.html>


More information about the webkit-unassigned mailing list