| Index: chrome/browser/ui/views/tabs/tab_unittest.cc
|
| diff --git a/chrome/browser/ui/views/tabs/tab_unittest.cc b/chrome/browser/ui/views/tabs/tab_unittest.cc
|
| index ba7e846c89c7160b1b450e83068ba8d75c8e2dfc..d5641ad4a05ffa5f00f8c0d7d4e693949c1ef48d 100644
|
| --- a/chrome/browser/ui/views/tabs/tab_unittest.cc
|
| +++ b/chrome/browser/ui/views/tabs/tab_unittest.cc
|
| @@ -20,13 +20,12 @@
|
|
|
| class FakeTabController : public TabController {
|
| public:
|
| - FakeTabController() {}
|
| + FakeTabController() : immersive_style_(false), active_tab_(false) {
|
| + }
|
| + ~FakeTabController() override {}
|
|
|
| void set_immersive_style(bool value) { immersive_style_ = value; }
|
| void set_active_tab(bool value) { active_tab_ = value; }
|
| - void set_paint_throbber_to_layer(bool value) {
|
| - paint_throbber_to_layer_ = value;
|
| - }
|
|
|
| const ui::ListSelectionModel& GetSelectionModel() override {
|
| return selection_model_;
|
| @@ -60,18 +59,14 @@
|
| void OnMouseEventInTab(views::View* source,
|
| const ui::MouseEvent& event) override {}
|
| bool ShouldPaintTab(const Tab* tab, gfx::Rect* clip) override { return true; }
|
| - bool CanPaintThrobberToLayer() const override {
|
| - return paint_throbber_to_layer_;
|
| - }
|
| bool IsImmersiveStyle() const override { return immersive_style_; }
|
| void UpdateTabAccessibilityState(const Tab* tab,
|
| ui::AXViewState* state) override{};
|
|
|
| private:
|
| ui::ListSelectionModel selection_model_;
|
| - bool immersive_style_ = false;
|
| - bool active_tab_ = false;
|
| - bool paint_throbber_to_layer_ = true;
|
| + bool immersive_style_;
|
| + bool active_tab_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(FakeTabController);
|
| };
|
| @@ -97,22 +92,6 @@
|
| if (testing_for_rtl_locale())
|
| base::i18n::SetICUDefaultLocale(original_locale_);
|
| }
|
| -
|
| - static views::ImageButton* GetCloseButton(const Tab& tab) {
|
| - return tab.close_button_;
|
| - }
|
| -
|
| - static views::View* GetThrobberView(const Tab& tab) {
|
| - // Reinterpret to keep the definition encapsulated (which works so long as
|
| - // multiple inheritance isn't involved).
|
| - return reinterpret_cast<views::View*>(tab.throbber_);
|
| - }
|
| -
|
| - static gfx::Rect GetFaviconBounds(const Tab& tab) {
|
| - return tab.favicon_bounds_;
|
| - }
|
| -
|
| - static void LayoutTab(Tab* tab) { tab->Layout(); }
|
|
|
| static void CheckForExpectedLayoutAndVisibilityOfElements(const Tab& tab) {
|
| // Check whether elements are visible when they are supposed to be, given
|
| @@ -408,78 +387,17 @@
|
| FakeTabController tab_controller;
|
| Tab tab(&tab_controller);
|
| tab.SetBounds(0, 0, 100, 50);
|
| - LayoutTab(&tab);
|
| - gfx::Insets close_button_insets = GetCloseButton(tab)->GetInsets();
|
| - LayoutTab(&tab);
|
| - gfx::Insets close_button_insets_2 = GetCloseButton(tab)->GetInsets();
|
| + tab.Layout();
|
| + gfx::Insets close_button_insets = tab.close_button_->GetInsets();
|
| + tab.Layout();
|
| + gfx::Insets close_button_insets_2 = tab.close_button_->GetInsets();
|
| EXPECT_EQ(close_button_insets.top(), close_button_insets_2.top());
|
| EXPECT_EQ(close_button_insets.left(), close_button_insets_2.left());
|
| EXPECT_EQ(close_button_insets.bottom(), close_button_insets_2.bottom());
|
| EXPECT_EQ(close_button_insets.right(), close_button_insets_2.right());
|
|
|
| // Also make sure the close button is sized as large as the tab.
|
| - EXPECT_EQ(50, GetCloseButton(tab)->bounds().height());
|
| -}
|
| -
|
| -// Tests expected changes to the ThrobberView state when the WebContents loading
|
| -// state changes or the animation timer (usually in BrowserView) triggers.
|
| -TEST_P(TabTest, LayeredThrobber) {
|
| - if (testing_for_rtl_locale() && !base::i18n::IsRTL()) {
|
| - LOG(WARNING) << "Testing of RTL locale not supported on current platform.";
|
| - return;
|
| - }
|
| -
|
| - Widget widget;
|
| - InitWidget(&widget);
|
| -
|
| - FakeTabController tab_controller;
|
| - Tab tab(&tab_controller);
|
| - widget.GetContentsView()->AddChildView(&tab);
|
| - tab.SetBoundsRect(gfx::Rect(Tab::GetStandardSize()));
|
| -
|
| - views::View* throbber = GetThrobberView(tab);
|
| - EXPECT_FALSE(throbber->visible());
|
| - EXPECT_EQ(TabRendererData::NETWORK_STATE_NONE, tab.data().network_state);
|
| - EXPECT_EQ(throbber->bounds(), GetFaviconBounds(tab));
|
| -
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_NONE);
|
| - EXPECT_FALSE(throbber->visible());
|
| -
|
| - // Simulate a "normal" tab load: should paint to a layer.
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_WAITING);
|
| - EXPECT_TRUE(tab_controller.CanPaintThrobberToLayer());
|
| - EXPECT_TRUE(throbber->visible());
|
| - EXPECT_TRUE(throbber->layer());
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_LOADING);
|
| - EXPECT_TRUE(throbber->visible());
|
| - EXPECT_TRUE(throbber->layer());
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_NONE);
|
| - EXPECT_FALSE(throbber->visible());
|
| -
|
| - // Simulate a drag started and stopped during a load: layer painting stops
|
| - // temporarily.
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_WAITING);
|
| - EXPECT_TRUE(throbber->visible());
|
| - EXPECT_TRUE(throbber->layer());
|
| - tab_controller.set_paint_throbber_to_layer(false);
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_WAITING);
|
| - EXPECT_TRUE(throbber->visible());
|
| - EXPECT_FALSE(throbber->layer());
|
| - tab_controller.set_paint_throbber_to_layer(true);
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_WAITING);
|
| - EXPECT_TRUE(throbber->visible());
|
| - EXPECT_TRUE(throbber->layer());
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_NONE);
|
| - EXPECT_FALSE(throbber->visible());
|
| -
|
| - // Simulate a tab load starting and stopping during tab dragging (or with
|
| - // stacked tabs): no layer painting.
|
| - tab_controller.set_paint_throbber_to_layer(false);
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_WAITING);
|
| - EXPECT_TRUE(throbber->visible());
|
| - EXPECT_FALSE(throbber->layer());
|
| - tab.UpdateLoadingAnimation(TabRendererData::NETWORK_STATE_NONE);
|
| - EXPECT_FALSE(throbber->visible());
|
| + EXPECT_EQ(50, tab.close_button_->bounds().height());
|
| }
|
|
|
| // Test in both a LTR and a RTL locale. Note: The fact that the UI code is
|
|
|