New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 791962 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Unwanted browser navigated to about:blank page after pressing 'Enter' on 'New folder'

Reported by db...@etouch.net, Dec 5 2017

Issue description

Chrome 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.
 
Actual_Navigation.mov
2.8 MB Download
Labels: -M-64 M-65
Status: Untriaged (was: Unconfirmed)
Changing the status to Untriaged, so that the issue would get addressed.
Thank You.

Comment 2 by sdy@chromium.org, Dec 7 2017

Labels: -Pri-2 Hotlist-CocoaBrowser Hotlist-GoodFirstBug Hotlist-PlatformExcellence Pri-3
Status: Available (was: Untriaged)
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
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.
Hello everyone! May I work on this?
Project Member

Comment 6 by bugdroid1@chromium.org, 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

Comment 7 by rsesek@chromium.org, Jan 25 2018

Status: Fixed (was: Available)

Sign in to add a comment