diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-07-01 13:23:52 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-07-01 11:25:08 +0000 |
commit | 5d013f5804a0d91fcf6c626b2d6fb6eca5c845b0 (patch) | |
tree | 49758e2556cca8f7d386b49a6c41b3bcb7c20b48 /chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc | |
parent | 189d4fd8fad9e3c776873be51938cd31a42b6177 (diff) | |
download | qtwebengine-chromium-5d013f5804a0d91fcf6c626b2d6fb6eca5c845b0.tar.gz |
BASELINE: Update Chromium to 90.0.4430.228
Change-Id: I2d24c073cefc4842980b84cc7e9c5419c107c501
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc')
-rw-r--r-- | chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc b/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc index efebc9b2638..4934de996d4 100644 --- a/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc +++ b/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc @@ -17,6 +17,7 @@ #include "chrome/browser/extensions/api/tab_groups/tab_groups_event_router.h" #include "chrome/browser/extensions/api/tab_groups/tab_groups_event_router_factory.h" #include "chrome/browser/extensions/api/tab_groups/tab_groups_util.h" +#include "chrome/browser/extensions/api/tabs/tabs_constants.h" #include "chrome/browser/extensions/extension_function_test_utils.h" #include "chrome/browser/extensions/extension_service_test_base.h" #include "chrome/browser/extensions/extension_tab_util.h" @@ -124,13 +125,12 @@ void TabGroupsApiUnitTest::SetUp() { InitializeEmptyExtensionService(); // Create a browser window. - TestBrowserWindow* window = new TestBrowserWindow; + browser_window_ = std::make_unique<TestBrowserWindow>(); // TestBrowserWindowOwner handles its own lifetime, and also cleans up // |window2|. - new TestBrowserWindowOwner(window); Browser::CreateParams params(profile(), /* user_gesture */ true); params.type = Browser::TYPE_NORMAL; - params.window = window; + params.window = browser_window_.get(); browser_ = std::unique_ptr<Browser>(Browser::Create(params)); BrowserList::SetLastActive(browser_.get()); @@ -545,4 +545,32 @@ TEST_F(TabGroupsApiUnitTest, TabGroupsOnMoved) { api::tab_groups::OnMoved::kEventName)); } +// Test that tab groups aren't edited while dragging. +TEST_F(TabGroupsApiUnitTest, IsTabStripEditable) { + scoped_refptr<const Extension> extension = CreateTabGroupsExtension(); + int group_id = tab_groups_util::GetGroupId( + browser()->tab_strip_model()->AddToNewGroup({0})); + const std::string args = + base::StringPrintf(R"([%d, {"index": %d}])", group_id, 1); + + // Succeed moving group in normal case. + { + auto function = base::MakeRefCounted<TabGroupsMoveFunction>(); + function->set_extension(extension); + ASSERT_TRUE(extension_function_test_utils::RunFunction( + function.get(), args, browser(), api_test_utils::NONE)); + } + + // Gracefully cancel group tab drag if tab strip isn't editable. + { + browser_window()->SetIsTabStripEditable(false); + auto function = base::MakeRefCounted<TabGroupsMoveFunction>(); + function->set_extension(extension); + std::string error = + extension_function_test_utils::RunFunctionAndReturnError( + function.get(), args, browser()); + EXPECT_EQ(tabs_constants::kTabStripNotEditableError, error); + } +} + } // namespace extensions |