Unwanted browser navigated to about:blank page after pressing 'Enter' on 'New folder'
Reported by
db...@etouch.net,
Dec 5 2017
|
|||
Issue descriptionChrome Version: 63.0.3239.82 Revision 976cf2caea3d6e5be26e7b417cdf75e42b92d546-refs/branch-heads/3239@{#637} OS: Mac(10.12.6, 10.13.2) What steps will reproduce the problem? (1) Launch chrome, open NTP. (2) Add folder into 'Other bookmarks', then click on it. (3) Bring focus on New folder and press Enter key, observe. Actual: Unwanted browser navigated to about:blank page. Expected: Browser should not navigate to about:blank page. This is a non-regression issue, seen from 'M45' Note: Issue is not seen on Windows and Linux OS.
,
Dec 7 2017
,
Dec 10 2017
Duplicated today with a fresh build. My debug build actually crashed and exited. I pasted the stack trace below.
I'm not great at using LLDB, but it looks like the error occurs in browser_navigator.cc:544 at DCHECK(!params->url.is_empty()). The url is in fact empty, but I'm not sure where that should be handled.
I've never worked on Chromium before, so I basically have no idea what I'm doing. But I'd be willing to look into it more.
* thread #1, name = 'CrBrowserMain', queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
* frame #0: 0x000000011951a024 libbase.dylib`base::debug::BreakDebugger() at debugger_posix.cc:269
frame #1: 0x00000001195b64c0 libbase.dylib`logging::LogMessage::~LogMessage(this=0x00007fff5fbfc3f8) at logging.cc:844
frame #2: 0x00000001195b2a35 libbase.dylib`logging::LogMessage::~LogMessage(this=0x00007fff5fbfc3f8) at logging.cc:575
frame #3: 0x0000000109aff256 libchrome_dll.dylib`Navigate(params=0x00007fff5fbfc7f8) at browser_navigator.cc:544
frame #4: 0x0000000109ad0167 libchrome_dll.dylib`Browser::OpenURLFromTab(this=0x0000000153240820, source=0x0000000000000000, params=0x00007fff5fbfcc18) at browser.cc:1466
frame #5: 0x0000000109ac9706 libchrome_dll.dylib`Browser::OpenURL(this=0x0000000153240820, params=0x00007fff5fbfcc18) at browser.cc:953
frame #6: 0x0000000109f6e58a libchrome_dll.dylib`::-[BookmarkBarController openURL:disposition:](self=0x00000001002f39e0, _cmd="openURL:disposition:", url=GURL @ 0x00007fff5fbfce38, disposition=CURRENT_TAB) at bookmark_bar_controller.mm:990
frame #7: 0x0000000109f6d33f libchrome_dll.dylib`::-[BookmarkBarController openBookmark:](self=0x00000001002f39e0, _cmd="openBookmark:", sender=0x00000001553e6f90) at bookmark_bar_controller.mm:770
frame #8: 0x0000000109f9280a libchrome_dll.dylib`::-[BookmarkBarFolderController handleInputText:](self=0x00000001583718c0, _cmd="handleInputText:", newText=") at bookmark_bar_folder_controller.mm:1722
frame #9: 0x0000000109f72e8d libchrome_dll.dylib`::-[BookmarkBarController isEventAnExitEvent:](self=0x00000001002f39e0, _cmd="isEventAnExitEvent:", event=0x0000000158527d70) at bookmark_bar_controller.mm:1504
frame #10: 0x0000000109f6e09a libchrome_dll.dylib`::__43-[BookmarkBarController watchForExitEvent:]_block_invoke(.block_descriptor=0x00000001584d8180, event=0x0000000158527d70) at bookmark_bar_controller.mm:898
frame #11: 0x00007fffae7987fa AppKit`_NSSendEventToObservers + 372
frame #12: 0x00007fffaed9123f AppKit`-[NSApplication(NSEvent) sendEvent:] + 55
frame #13: 0x0000000104301fb3 libchrome_dll.dylib`::__34-[BrowserCrApplication sendEvent:]_block_invoke(.block_descriptor=0x00007fff5fbfd6c8) at chrome_browser_application_mac.mm:267
frame #14: 0x00000001195ba50a libbase.dylib`base::mac::CallWithEHFrame(void () block_pointer) at call_with_eh_frame_asm.S:36
frame #15: 0x0000000104301d3f libchrome_dll.dylib`::-[BrowserCrApplication sendEvent:](self=0x000000010032de50, _cmd="sendEvent:", event=0x0000000158527d70) at chrome_browser_application_mac.mm:251
frame #16: 0x00007fffae60c427 AppKit`-[NSApplication run] + 1002
frame #17: 0x0000000119619b53 libbase.dylib`base::MessagePumpNSApplication::DoRun(this=0x000000010022c810, delegate=0x0000000100230550) at message_pump_mac.mm:806
frame #18: 0x00000001196169b4 libbase.dylib`base::MessagePumpCFRunLoopBase::Run(this=0x000000010022c810, delegate=0x0000000100230550) at message_pump_mac.mm:180
frame #19: 0x0000000119608bdf libbase.dylib`base::MessageLoop::Run(this=0x0000000100230550, application_tasks_allowed=true) at message_loop.cc:342
frame #20: 0x0000000119709e9d libbase.dylib`base::RunLoop::Run(this=0x00007fff5fbfe2c0) at run_loop.cc:130
frame #21: 0x00000001043102e8 libchrome_dll.dylib`ChromeBrowserMainParts::MainMessageLoopRun(this=0x00000001001132a0, result_code=0x000000010010f668) at chrome_browser_main.cc:1939
frame #22: 0x00000001201bc025 libcontent.dylib`content::BrowserMainLoop::RunMainMessageLoopParts(this=0x000000010010f650) at browser_main_loop.cc:1196
frame #23: 0x00000001201c6162 libcontent.dylib`content::BrowserMainRunnerImpl::Run(this=0x000000010010cbe0) at browser_main_runner.cc:140
frame #24: 0x00000001201ae242 libcontent.dylib`content::BrowserMain(parameters=0x00007fff5fbfed40) at browser_main.cc:46
frame #25: 0x0000000122dcec6b libcontent.dylib`content::RunNamedProcessTypeMain(process_type="", main_function_params=0x00007fff5fbfed40, delegate=0x00007fff5fbff7b8) at content_main_runner.cc:427
frame #26: 0x0000000122dd0573 libcontent.dylib`content::ContentMainRunnerImpl::Run(this=0x0000000100211850) at content_main_runner.cc:705
frame #27: 0x0000000122dc7275 libcontent.dylib`content::ContentServiceManagerMainDelegate::RunEmbedderProcess(this=0x00007fff5fbff6f8) at content_service_manager_main_delegate.cc:51
frame #28: 0x0000000119012ef8 libembedder.dylib`service_manager::Main(params=0x00007fff5fbff6e0) at main.cc:456
frame #29: 0x0000000122dce9c9 libcontent.dylib`content::ContentMain(params=0x00007fff5fbff788) at content_main.cc:19
frame #30: 0x000000010200669e libchrome_dll.dylib`::ChromeMain(argc=1, argv=0x00007fff5fbff938) at chrome_main.cc:127
frame #31: 0x0000000100000de6 Chromium`main(argc=1, argv=0x00007fff5fbff938) at chrome_exe_main_mac.cc:165
frame #32: 0x00007fffc62a6235 libdyld.dylib`start + 1
frame #33: 0x00007fffc62a6235 libdyld.dylib`start + 1
,
Dec 12 2017
It looks like the event handler handleInputText (bookmark_bar_folder_controller.mm:1702) doesn't check if the button is a folder or page before handling the 'NSEnterCharacter' keypress. Perhaps it should check if the sender is a folder and trigger the 'NSRightArrowFunctionKey' instead. Otherwise the next function down the stack openBookmark (bookmark_bar_controller.mm:759) should check if node->url().is_empty() before opening the bookmark.
,
Jan 23 2018
Hello everyone! May I work on this?
,
Jan 25 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9aa4d2ce7228d359cd02f91866c1364cbfb14823 commit 9aa4d2ce7228d359cd02f91866c1364cbfb14823 Author: sangwoo.ko <sangwoo108@gmail.com> Date: Thu Jan 25 18:48:54 2018 Open sub menu when the selected item is folder We mustn't open it as bookmark. Bug: 791962 Change-Id: I65b51e8af76c4b31f83991a4f7d3f3f8c37f1a9f Reviewed-on: https://chromium-review.googlesource.com/882902 Reviewed-by: Robert Sesek <rsesek@chromium.org> Commit-Queue: Robert Sesek <rsesek@chromium.org> Cr-Commit-Position: refs/heads/master@{#531962} [modify] https://crrev.com/9aa4d2ce7228d359cd02f91866c1364cbfb14823/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm [modify] https://crrev.com/9aa4d2ce7228d359cd02f91866c1364cbfb14823/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller_unittest.mm
,
Jan 25 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by msrchandra@chromium.org
, Dec 5 2017Status: Untriaged (was: Unconfirmed)