Commit f291260f authored by Taylor Bergquist's avatar Taylor Bergquist Committed by Commit Bot

Revert "Reland "Tab strip only occupies the space needed for its tabs.""

This reverts commit b25056de.

Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1116917

Original change's description:
> Reland "Tab strip only occupies the space needed for its tabs."
> 
> This is a reland of b6c0ca2a
> 
> The only change is a line in tab_scrubber_browsertest.cc that ensures
> that any invalid layout are laid out after modifying the tabstrip.
> 
> Original change's description:
> > Tab strip only occupies the space needed for its tabs.
> >
> > Bug: 1093972
> > Change-Id: I0ca6cc1a7dad9240b85745fefb39ac4f52eb9355
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2300993
> > Commit-Queue: Taylor Bergquist <tbergquist@chromium.org>
> > Reviewed-by: Connie Wan <connily@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#793270}
> 
> Bug: 1093972
> Change-Id: I4ded68fde336b14b38ad862cd63118ebc9fc7a72
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2336296
> Commit-Queue: Taylor Bergquist <tbergquist@chromium.org>
> Reviewed-by: Connie Wan <connily@chromium.org>
> Reviewed-by: Peter Boström <pbos@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#797853}

TBR=pbos@chromium.org,tbergquist@chromium.org,connily@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 1093972
Change-Id: I3de1d647a4fbba593ce3ef52f59127b6495e5ce6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2358591Reviewed-by: default avatarTaylor Bergquist <tbergquist@chromium.org>
Reviewed-by: default avatarPeter Boström <pbos@chromium.org>
Commit-Queue: Taylor Bergquist <tbergquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798790}
parent d4e25911
...@@ -224,10 +224,6 @@ class TabScrubberTest : public InProcessBrowserTest, ...@@ -224,10 +224,6 @@ class TabScrubberTest : public InProcessBrowserTest,
ASSERT_EQ(num_tabs, browser->tab_strip_model()->active_index()); ASSERT_EQ(num_tabs, browser->tab_strip_model()->active_index());
tab_strip->StopAnimating(true); tab_strip->StopAnimating(true);
ASSERT_FALSE(tab_strip->IsAnimating()); ASSERT_FALSE(tab_strip->IsAnimating());
// Perform any scheduled layouts so the tabstrip is in a steady state.
BrowserView::GetBrowserViewForBrowser(browser)
->GetWidget()
->LayoutRootViewIfNecessary();
} }
// TabStripModelObserver overrides. // TabStripModelObserver overrides.
......
...@@ -10,28 +10,15 @@ ...@@ -10,28 +10,15 @@
#include "ui/views/layout/flex_layout.h" #include "ui/views/layout/flex_layout.h"
#include "ui/views/view_class_properties.h" #include "ui/views/view_class_properties.h"
namespace {
// Size calculation used for tabstrip scroll container. Equivalent to using
// a (kPreferredScaleToMinimum, kPreferred) flex specification on the tabstrip
// itself, bypassing the ScrollView.
gfx::Size TabScrollContainerFlexRule(const views::View* tab_strip,
const views::View* view,
const views::SizeBounds& size_bounds) {
const gfx::Size preferred_size = tab_strip->GetPreferredSize();
int width = preferred_size.width();
if (size_bounds.width().has_value())
width = std::min(width, size_bounds.width().value());
return gfx::Size(width, preferred_size.height());
}
} // namespace
TabStripRegionView::TabStripRegionView(std::unique_ptr<TabStrip> tab_strip) { TabStripRegionView::TabStripRegionView(std::unique_ptr<TabStrip> tab_strip) {
views::FlexLayout* layout_manager = views::FlexLayout* layout_manager =
SetLayoutManager(std::make_unique<views::FlexLayout>()); SetLayoutManager(std::make_unique<views::FlexLayout>());
layout_manager->SetOrientation(views::LayoutOrientation::kHorizontal); layout_manager->SetOrientation(views::LayoutOrientation::kHorizontal)
.SetDefault(
views::kFlexBehaviorKey,
views::FlexSpecification(views::MinimumFlexSizeRule::kScaleToZero,
views::MaximumFlexSizeRule::kUnbounded));
tab_strip_ = tab_strip.get(); tab_strip_ = tab_strip.get();
tab_strip->SetAvailableWidthCallback( tab_strip->SetAvailableWidthCallback(
...@@ -44,16 +31,8 @@ TabStripRegionView::TabStripRegionView(std::unique_ptr<TabStrip> tab_strip) { ...@@ -44,16 +31,8 @@ TabStripRegionView::TabStripRegionView(std::unique_ptr<TabStrip> tab_strip) {
tab_strip_scroll_container->SetHideHorizontalScrollBar(true); tab_strip_scroll_container->SetHideHorizontalScrollBar(true);
tab_strip_container_ = tab_strip_scroll_container; tab_strip_container_ = tab_strip_scroll_container;
tab_strip_scroll_container->SetContents(std::move(tab_strip)); tab_strip_scroll_container->SetContents(std::move(tab_strip));
tab_strip_scroll_container->SetProperty(
views::kFlexBehaviorKey,
views::FlexSpecification(base::BindRepeating(
&TabScrollContainerFlexRule, base::Unretained(tab_strip_))));
} else { } else {
tab_strip_container_ = AddChildView(std::move(tab_strip)); tab_strip_container_ = AddChildView(std::move(tab_strip));
tab_strip_->SetProperty(
views::kFlexBehaviorKey,
views::FlexSpecification(views::MinimumFlexSizeRule::kScaleToZero,
views::MaximumFlexSizeRule::kPreferred));
} }
} }
......
...@@ -254,10 +254,6 @@ void TabDragControllerTest::AddTabsAndResetBrowser(Browser* browser, ...@@ -254,10 +254,6 @@ void TabDragControllerTest::AddTabsAndResetBrowser(Browser* browser,
} }
browser->window()->Show(); browser->window()->Show();
StopAnimating(GetTabStripForBrowser(browser)); StopAnimating(GetTabStripForBrowser(browser));
// Perform any pending layouts happen so the tabstrip is in a steady state.
BrowserView::GetBrowserViewForBrowser(browser)
->GetWidget()
->LayoutRootViewIfNecessary();
ResetIDs(browser->tab_strip_model(), 0); ResetIDs(browser->tab_strip_model(), 0);
} }
......
...@@ -576,8 +576,7 @@ class TabStrip::TabDragContextImpl : public TabDragContext { ...@@ -576,8 +576,7 @@ class TabStrip::TabDragContextImpl : public TabDragContext {
int GetTabAreaWidth() const override { return tab_strip_->GetTabAreaWidth(); } int GetTabAreaWidth() const override { return tab_strip_->GetTabAreaWidth(); }
int GetTabDragAreaWidth() const override { int GetTabDragAreaWidth() const override {
return std::max(tab_strip_->CalculateAvailableWidthForTabs(), return tab_strip_->width() - tab_strip_->FrameGrabWidth();
tab_strip_->GetTabAreaWidth());
} }
int TabDragAreaBeginX() const override { int TabDragAreaBeginX() const override {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment