Closed
Description
Description
Labeling formerly-backgrounded tab with newly created label from another tab, crashes
Steps to Reproduce
- install
1.65.90
- launch Brave
- open one or two tabs
- context-click a tab and choose
Add tab to group
->New group
- name it anything and save it
- open a new window (not tab)
- context click this new-window's tab strip and add it to the group from step 5
Actual result:
💥
Crashes, in:
[ 00 ] views::Widget::ShouldPaintAsActive() const ( widget.cc:1406 )
[ 01 ] SavedTabGroupButton::UpdateButtonData(SavedTabGroup const&) ( saved_tab_group_button.cc:152 )
[ 02 ] SavedTabGroupBar::SavedTabGroupUpdated(base::Uuid const&) ( saved_tab_group_bar.cc:558 )
[ 03 ] SavedTabGroupModel::AddTabToGroupLocally(base::Uuid const&, SavedTabGroupTab) ( saved_tab_group_model.cc:250 )
[ 04 ] LocalTabGroupListener::AddWebContentsFromLocal(content::WebContents*, TabStripModel*, int) ( local_tab_group_listener.cc:127 )
[ 05 ] SavedTabGroupModelListener::TabGroupedStateChanged(std::__Cr::optional<tab_groups::TabGroupId>, content::WebContents*, int) ( saved_tab_group_model_listener.cc:112 )
[ 06 ] TabStripModel::GroupTab(int, tab_groups::TabGroupId const&) ( tab_strip_model.cc:2492 )
[ 07 ] TabStripModel::MoveTabsAndSetGroupImpl(std::__Cr::vector<int, std::__Cr::allocator<int>> const&, int, std::__Cr::optional<tab_groups::TabGroupId>) ( tab_strip_model.cc:2404 )
[ 08 ] TabStripModel::AddToExistingGroupImpl(std::__Cr::vector<int, std::__Cr::allocator<int>> const&, tab_groups::TabGroupId const&) ( tab_strip_model.cc:2373 )
[ 09 ] TabStripModel::AddToExistingGroup(std::__Cr::vector<int, std::__Cr::allocator<int>> const&, tab_groups::TabGroupId const&) ( tab_strip_model.cc:1119 )
[ 10 ] TabStripModel::ExecuteAddToExistingGroupCommand(int, tab_groups::TabGroupId const&) ( tab_strip_model.cc:1675 )
[ 11 ] ExistingTabGroupSubMenuModel::ExecuteExistingCommand(unsigned long) ( existing_tab_group_sub_menu_model.cc:251 )
[ 12 ] ExistingBaseSubMenuModel::ExecuteCommand(int, int) ( existing_base_sub_menu_model.cc:36 )
[ 13 ] non-virtual thunk to ExistingBaseSubMenuModel::ExecuteCommand(int, int) ( existing_base_sub_menu_model.cc:0 )
[ 14 ] ui::SimpleMenuModel::ActivatedAt(unsigned long, int) ( simple_menu_model.cc:549 )
[ 15 ] -[MenuControllerCocoa itemSelected:] ( menu_controller.mm:303 )
[ 16 ] 0x7ff80cb632b6
[ 17 ] __43-[BrowserCrApplication sendAction:to:from:]_block_invoke ( chrome_browser_application_mac.mm:372 )
[ 18 ] base::apple::CallWithEHFrame(void () block_pointer)
[ 19 ] -[BrowserCrApplication sendAction:to:from:] ( chrome_browser_application_mac.mm:371 )
[ 20 ] 0x7ff80cc4fb51
[ 21 ] 0x7ff80d2b590e
[ 22 ] 0x7ff80cc93347
[ 23 ] 0x7ff80cc932cd
[ 24 ] 0x7ff80d2ab8d5
[ 25 ] 0x7ff80d087f07
[ 26 ] 0x7ff80d087bef
[ 27 ] 0x7ff80d8acbbc
[ 28 ] 0x7ff80d03677b
[ 29 ] 0x7ff80d2b75d0
[ 30 ] 0x7ff80d2bbe6e
[ 31 ] 0x7ff80cd296a0
[ 32 ] ui::ShowContextMenu(NSMenu*, NSEvent*, NSView*, bool, ui::ElementContext) ( menu_utils.mm:83 )
[ 33 ] views::internal::MenuRunnerImplCocoa::RunMenuAt(views::Widget*, views::MenuButtonController*, gfx::Rect const&, views::MenuAnchorPosition, int, gfx::NativeView, std::__Cr::optional<gfx::RoundedCornersF>, std::__Cr::optional<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>) ( menu_runner_impl_cocoa.mm:91 )
[ 34 ] views::internal::MenuRunnerImplMac::RunMenuAt(views::Widget*, views::MenuButtonController*, gfx::Rect const&, views::MenuAnchorPosition, int, gfx::NativeView, std::__Cr::optional<gfx::RoundedCornersF>, std::__Cr::optional<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>) ( menu_runner_impl_mac.mm:61 )
[ 35 ] views::MenuRunner::RunMenuAt(views::Widget*, views::MenuButtonController*, gfx::Rect const&, views::MenuAnchorPosition, ui::MenuSourceType, gfx::NativeView, std::__Cr::optional<gfx::RoundedCornersF>, std::__Cr::optional<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>) ( menu_runner.cc:91 )
[ 36 ] BraveTabContextMenuContents::RunMenuAt(gfx::Point const&, ui::MenuSourceType) ( brave_tab_context_menu_contents.cc:68 )
[ 37 ] views::ContextMenuController::ShowContextMenuForView(views::View*, gfx::Point const&, ui::MenuSourceType) ( context_menu_controller.cc:29 )
[ 38 ] views::View::ProcessMousePressed(ui::MouseEvent const&) ( view.cc:3511 )
[ 39 ] views::View::OnMouseEvent(ui::MouseEvent*) ( view.cc:1558 )
[ 40 ] ui::EventDispatcher::ProcessEvent(ui::EventTarget*, ui::Event*) ( event_dispatcher.cc:187 )
[ 41 ] ui::EventDispatcherDelegate::DispatchEventToTarget(ui::EventTarget*, ui::Event*) ( event_dispatcher.cc:82 )
[ 42 ] ui::EventDispatcherDelegate::DispatchEvent(ui::EventTarget*, ui::Event*) ( event_dispatcher.cc:54 )
[ 43 ] views::internal::RootView::OnMousePressed(ui::MouseEvent const&) ( root_view.cc:487 )
[ 44 ] views::Widget::OnMouseEvent(ui::MouseEvent*) ( widget.cc:1779 )
[ 45 ] views::NativeWidgetMacNSWindowHost::OnMouseEvent(std::__Cr::unique_ptr<ui::Event, std::__Cr::default_delete<ui::Event>>) ( native_widget_mac_ns_window_host.mm:984 )
[ 46 ] non-virtual thunk to views::NativeWidgetMacNSWindowHost::OnMouseEvent(std::__Cr::unique_ptr<ui::Event, std::__Cr::default_delete<ui::Event>>) ( native_widget_mac_ns_window_host.mm:0 )
[ 47 ] -[BridgedContentView mouseEvent:] ( bridged_content_view.mm:654 )
[ 48 ] 0x7ff80cb5d2f3
[ 49 ] 0x7ff80cad60ce
[ 50 ] 0x7ff80cad5d1f
[ 51 ] -[NativeWidgetMacNSWindow sendEvent:] ( native_widget_mac_nswindow.mm:473 )
[ 52 ] 0x7ff80d2852b6
[ 53 ] __34-[BrowserCrApplication sendEvent:]_block_invoke ( chrome_browser_application_mac.mm:420 )
[ 54 ] base::apple::CallWithEHFrame(void () block_pointer)
[ 55 ] -[BrowserCrApplication sendEvent:] ( chrome_browser_application_mac.mm:396 )
[ 56 ] 0x7ff80ce405c2
[ 57 ] 0x7ff80c96802a
[ 58 ] base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) ( message_pump_apple.mm:805 )
[ 59 ] base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) ( message_pump_apple.mm:156 )
[ 60 ] base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ( thread_controller_with_message_pump_impl.cc:641 )
[ 61 ] non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ( thread_controller_with_message_pump_impl.cc:0 )
[ 62 ] base::RunLoop::Run(base::Location const&) ( run_loop.cc:134 )
[ 63 ] content::BrowserMainLoop::RunMainMessageLoop() ( browser_main_loop.cc:1095 )
[ 64 ] content::BrowserMainRunnerImpl::Run() ( browser_main_runner_impl.cc:160 )
[ 65 ] content::BrowserMain(content::MainFunctionParams) ( browser_main.cc:34 )
[ 66 ] content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) ( content_main_runner_impl.cc:708 )
[ 67 ] content::ContentMainRunnerImpl::Run() ( content_main_runner_impl.cc:1144 )
[ 68 ] content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) ( content_main.cc:335 )
[ 69 ] content::ContentMain(content::ContentMainParams) ( content_main.cc:348 )
[ 70 ] ChromeMain ( chrome_main.cc:192 )
[ 71 ] main ( chrome_exe_main_mac.cc:216 )
[ 72 ] 0x7ff808ea8366
Expected result:
No crash
Reproduces how often:
100%
Brave version (brave://version info)
Brave 1.65.90 Chromium: 123.0.6312.58 (Official Build) beta (x86_64)
Revision f5ca64cd15d0d5c90f17b7d5213b6e2dd725d66a
OS macOS Version 14.4.1 (Build 23E224)
Version/Channel Information:
- Can you reproduce this issue with the current release?
not sure
- Can you reproduce this issue with the beta channel?
yes
- Can you reproduce this issue with the nightly channel?
yes
cc @rebron @bsclifton @simonhong @brave/qa-team