Debug check violated when clearing keyword in omnibox |
||
Issue descriptionVersion: 52.0.2719.0 (64-bit) (ToT) OS: Ubuntu 14.04 What steps will reproduce the problem? Enter "google.com|google.com" in the omnibox, where | is the cursor. Press space to enter keyword mode. Press backspace to leave keyword mode, and a debug check fails: #0 0x7f2b78e8c5de base::debug::StackTrace::StackTrace() #1 0x7f2b78eed43f logging::LogMessage::~LogMessage() #2 0x7f2b7c9bc7ad AutocompleteMatch::ValidateClassifications() #3 0x7f2b7c9bc276 AutocompleteMatch::Validate() #4 0x7f2b7c9c3c64 AutocompleteResult::Validate() #5 0x7f2b7c9b10ec AutocompleteController::UpdateResult() #6 0x7f2b7c9b09cb AutocompleteController::Start() #7 0x7f2b7ca059e3 OmniboxController::StartAutocomplete() #8 0x7f2b7ca09344 OmniboxEditModel::StartAutocomplete() #9 0x7f2b7c471592 OmniboxViewViews::UpdatePopup() #10 0x7f2b7c4713c5 OmniboxViewViews::SetWindowTextAndCaretPos() #11 0x7f2b7ca21ae0 OmniboxView::SetUserText() #12 0x7f2b7c47089a OmniboxViewViews::SetUserText() #13 0x7f2b7ca21a38 OmniboxView::SetUserText() #14 0x7f2b7ca0c515 OmniboxEditModel::ClearKeyword() #15 0x7f2b7c473834 OmniboxViewViews::HandleKeyEvent() #16 0x7f2b6e6b6108 views::Textfield::OnKeyPressed() #17 0x7f2b7c472ccc OmniboxViewViews::OnKeyPressed() #18 0x7f2b6e70afa1 views::View::OnKeyEvent() #19 0x7f2b6e3aada5 ui::EventHandler::OnEvent() #20 0x7f2b6e3a6320 ui::EventDispatcher::DispatchEvent() #21 0x7f2b6e3a5c0b ui::EventDispatcher::ProcessEvent() #22 0x7f2b6e3a59a2 ui::EventDispatcherDelegate::DispatchEventToTarget() #23 0x7f2b6e3a584f ui::EventDispatcherDelegate::DispatchEvent() #24 0x7f2b6e3aba41 ui::EventProcessor::OnEventFromSource() #25 0x7f2b6e3acbaf ui::EventSource::DeliverEventToProcessor() #26 0x7f2b6e3ac7c7 ui::EventSource::SendEventToProcessor() #27 0x7f2b6e72abfb views::Widget::OnKeyEvent() #28 0x7f2b6e77e02e views::DesktopNativeWidgetAura::OnKeyEvent() #29 0x7f2b6e3aada5 ui::EventHandler::OnEvent() #30 0x7f2b6e3a6320 ui::EventDispatcher::DispatchEvent() #31 0x7f2b6e3a5c0b ui::EventDispatcher::ProcessEvent() #32 0x7f2b6e3a59a2 ui::EventDispatcherDelegate::DispatchEventToTarget() #33 0x7f2b6e3a584f ui::EventDispatcherDelegate::DispatchEvent() #34 0x7f2b6e3aba41 ui::EventProcessor::OnEventFromSource() #35 0x7f2b6e3acbaf ui::EventSource::DeliverEventToProcessor() #36 0x7f2b6e3ac7c7 ui::EventSource::SendEventToProcessor() #37 0x7f2b6e2766ac aura::WindowTreeHost::DispatchKeyEventPostIME() #38 0x7f2b6e8e4edb ui::InputMethodBase::DispatchKeyEventPostIME() #39 0x7f2b6e8e0882 ui::InputMethodAuraLinux::ProcessKeyEventDone() #40 0x7f2b6e8e0170 ui::InputMethodAuraLinux::DispatchKeyEvent() #41 0x7f2b6e79ddc3 views::DesktopWindowTreeHostX11::DispatchKeyEvent() #42 0x7f2b6e79e106 views::DesktopWindowTreeHostX11::DispatchEvent() #43 0x7f2b792f798f ui::PlatformEventSource::DispatchEvent() #44 0x7f2b6e366df4 ui::X11EventSourceGlib::ProcessXEvent() #45 0x7f2b6e3544ba ui::X11EventSource::ExtractCookieDataDispatchEvent() #46 0x7f2b6e3543ca ui::X11EventSource::DispatchXEvents() #47 0x7f2b6e366fb5 ui::(anonymous namespace)::XSourceDispatch() #48 0x7f2b6a394ce5 g_main_context_dispatch #49 0x7f2b6a395048 <unknown> #50 0x7f2b6a3950ec g_main_context_iteration #51 0x7f2b78f1ceaf base::MessagePumpGlib::Run() #52 0x7f2b78f09e3f base::MessageLoop::RunHandler() #53 0x7f2b78fb1814 base::RunLoop::Run() #54 0x7f2b79b918cf ChromeBrowserMainParts::MainMessageLoopRun() #55 0x7f2b7257d889 content::BrowserMainLoop::RunMainMessageLoopParts() #56 0x7f2b725878b5 content::BrowserMainRunnerImpl::Run() #57 0x7f2b725775e6 content::BrowserMain() #58 0x7f2b74104fe6 content::RunNamedProcessTypeMain() #59 0x7f2b74106c59 content::ContentMainRunnerImpl::Run() #60 0x7f2b74104452 content::ContentMain() #61 0x7f2b79a88582 ChromeMain
,
Jul 6 2016
,
Jul 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1919906f73c5c4919651c0d87185e6fb927384ce commit 1919906f73c5c4919651c0d87185e6fb927384ce Author: pkasting <pkasting@chromium.org> Date: Tue Jul 26 19:59:03 2016 Switching out of keyword mode shouldn't count as a minimal change. Previously, if you used space to get into keyword mode and later backspace at the beginning of the keyword to get out of keyword mode, the backspace would trigger an autocompletion run with |minimal_changes| == true. This isn't really correct; switching out of keyword mode can affect the results and scoring significantly. In certain cases, the old route triggered a DCHECK, because the search provider didn't wipe the old keyword matches across |minimal_changes|, but the new input had no corresponding keyword input text. I looked briefly at leaving this as a "minimal change" and instead detecting and handling it inside the relevant provider(s), but decided that was error-prone and not really as semantically accurate. Plus the potential additional flicker here is fairly minor, as people don't usually exit keyword mode via backspace in this way. BUG= 607379 TEST=In a debug build, type "google.comgoogle.com" (no quotes) into the omnibox, place the cursor between the two "google.com"s, hit space, then hit backspace. Chrome should not DCHECK. Review-Url: https://codereview.chromium.org/2179063003 Cr-Commit-Position: refs/heads/master@{#407888} [modify] https://crrev.com/1919906f73c5c4919651c0d87185e6fb927384ce/components/omnibox/browser/autocomplete_controller.cc
,
Jul 26 2016
|
||
►
Sign in to add a comment |
||
Comment 1 by cbiesin...@chromium.org
, Jul 6 2016