| Index: trunk/src/chrome/browser/ui/views/frame/browser_view_unittest.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/ui/views/frame/browser_view_unittest.cc (revision 198473)
|
| +++ trunk/src/chrome/browser/ui/views/frame/browser_view_unittest.cc (working copy)
|
| @@ -6,52 +6,17 @@
|
|
|
| #include "base/memory/scoped_ptr.h"
|
|
|
| -#include "chrome/app/chrome_command_ids.h"
|
| -#include "chrome/browser/search_engines/template_url_service.h"
|
| -#include "chrome/browser/search_engines/template_url_service_factory.h"
|
| -#include "chrome/browser/ui/browser_commands.h"
|
| -#include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| -#include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h"
|
| -#include "chrome/browser/ui/views/frame/browser_view_layout.h"
|
| -#include "chrome/browser/ui/views/frame/top_container_view.h"
|
| -#include "chrome/browser/ui/views/infobars/infobar_container_view.h"
|
| -#include "chrome/browser/ui/views/tabs/tab_strip.h"
|
| -#include "chrome/browser/ui/views/toolbar_view.h"
|
| -#include "chrome/common/url_constants.h"
|
| #include "chrome/test/base/browser_with_test_window_test.h"
|
| #include "chrome/test/base/scoped_testing_local_state.h"
|
| #include "chrome/test/base/testing_browser_process.h"
|
| #include "grit/theme_resources.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/views/controls/single_split_view.h"
|
| -#include "ui/views/controls/webview/webview.h"
|
|
|
| #if defined(OS_CHROMEOS)
|
| #include "chrome/browser/chromeos/input_method/input_method_configuration.h"
|
| #include "chrome/browser/chromeos/input_method/mock_input_method_manager.h"
|
| #endif
|
|
|
| -namespace {
|
| -
|
| -// Tab strip bounds depend on the window frame sizes.
|
| -gfx::Point ExpectedTabStripOrigin(BrowserView* browser_view) {
|
| - gfx::Rect tabstrip_bounds(
|
| - browser_view->frame()->GetBoundsForTabStrip(browser_view->tabstrip()));
|
| - gfx::Point tabstrip_origin(tabstrip_bounds.origin());
|
| - views::View::ConvertPointToTarget(browser_view->parent(),
|
| - browser_view,
|
| - &tabstrip_origin);
|
| - return tabstrip_origin;
|
| -}
|
| -
|
| -// Caller owns the returned service.
|
| -ProfileKeyedService* CreateTemplateURLService(
|
| - content::BrowserContext* profile) {
|
| - return new TemplateURLService(static_cast<Profile*>(profile));
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| class BrowserViewTest : public BrowserWithTestWindowTest {
|
| public:
|
| BrowserViewTest();
|
| @@ -60,7 +25,6 @@
|
| // BrowserWithTestWindowTest overrides:
|
| virtual void SetUp() OVERRIDE;
|
| virtual void TearDown() OVERRIDE;
|
| - virtual TestingProfile* CreateProfile() OVERRIDE;
|
| virtual BrowserWindow* CreateBrowserWindow() OVERRIDE;
|
|
|
| BrowserView* browser_view() { return browser_view_; }
|
| @@ -90,8 +54,6 @@
|
| }
|
|
|
| void BrowserViewTest::TearDown() {
|
| - // Clean up any tabs we opened, otherwise Browser crashes in destruction.
|
| - browser_view_->browser()->tab_strip_model()->CloseAllTabs();
|
| // Ensure the Browser is reset before BrowserWithTestWindowTest cleans up
|
| // the Profile.
|
| browser_view_->GetWidget()->CloseNow();
|
| @@ -103,15 +65,6 @@
|
| local_state_.reset(NULL);
|
| }
|
|
|
| -TestingProfile* BrowserViewTest::CreateProfile() {
|
| - TestingProfile* profile = BrowserWithTestWindowTest::CreateProfile();
|
| - // TemplateURLService is normally NULL during testing. Instant extended
|
| - // needs this service so set a custom factory function.
|
| - TemplateURLServiceFactory::GetInstance()->SetTestingFactory(
|
| - profile, &CreateTemplateURLService);
|
| - return profile;
|
| -}
|
| -
|
| BrowserWindow* BrowserViewTest::CreateBrowserWindow() {
|
| // Allow BrowserWithTestWindowTest to use Browser to create the default
|
| // BrowserView and BrowserFrame.
|
| @@ -136,99 +89,8 @@
|
| EXPECT_FALSE(browser_view()->IsFullscreen());
|
| EXPECT_FALSE(browser_view()->IsBookmarkBarVisible());
|
| EXPECT_FALSE(browser_view()->IsBookmarkBarAnimating());
|
| -}
|
|
|
| -// Test layout of the top-of-window UI.
|
| -TEST_F(BrowserViewTest, BrowserViewLayout) {
|
| - BookmarkBarView::DisableAnimationsForTesting(true);
|
| -
|
| - // |browser_view_| owns the Browser, not the test class.
|
| - Browser* browser = browser_view()->browser();
|
| - TopContainerView* top_container = browser_view()->top_container();
|
| - TabStrip* tabstrip = browser_view()->tabstrip();
|
| - ToolbarView* toolbar = browser_view()->toolbar();
|
| - views::SingleSplitView* contents_split =
|
| - browser_view()->GetContentsSplitForTest();
|
| - views::WebView* contents_web_view =
|
| - browser_view()->GetContentsWebViewForTest();
|
| -
|
| - // Start with a single tab open to a normal page.
|
| - AddTab(browser, GURL("about:blank"));
|
| -
|
| - // Verify the view hierarchy.
|
| - EXPECT_EQ(top_container, browser_view()->tabstrip()->parent());
|
| - EXPECT_EQ(top_container, browser_view()->toolbar()->parent());
|
| - EXPECT_EQ(top_container, browser_view()->GetBookmarkBarView()->parent());
|
| - EXPECT_EQ(browser_view(), browser_view()->infobar_container()->parent());
|
| -
|
| - // Top container is at the front of the view hierarchy.
|
| - EXPECT_EQ(browser_view()->child_count() - 1,
|
| - browser_view()->GetIndexOf(top_container));
|
| -
|
| - // Verify basic layout.
|
| - EXPECT_EQ(0, top_container->x());
|
| - EXPECT_EQ(0, top_container->y());
|
| - EXPECT_EQ(browser_view()->width(), top_container->width());
|
| - // Tabstrip layout varies based on window frame sizes.
|
| - gfx::Point expected_tabstrip_origin = ExpectedTabStripOrigin(browser_view());
|
| - EXPECT_EQ(expected_tabstrip_origin.x(), tabstrip->x());
|
| - EXPECT_EQ(expected_tabstrip_origin.y(), tabstrip->y());
|
| - EXPECT_EQ(0, toolbar->x());
|
| - EXPECT_EQ(
|
| - tabstrip->bounds().bottom() -
|
| - BrowserViewLayout::kToolbarTabStripVerticalOverlap,
|
| - toolbar->y());
|
| - EXPECT_EQ(0, contents_split->x());
|
| - EXPECT_EQ(toolbar->bounds().bottom(), contents_split->y());
|
| - EXPECT_EQ(0, contents_web_view->x());
|
| - EXPECT_EQ(0, contents_web_view->y());
|
| -
|
| - // Verify bookmark bar visibility.
|
| - BookmarkBarView* bookmark_bar = browser_view()->GetBookmarkBarView();
|
| - EXPECT_FALSE(bookmark_bar->visible());
|
| - EXPECT_FALSE(bookmark_bar->IsDetached());
|
| - chrome::ExecuteCommand(browser, IDC_SHOW_BOOKMARK_BAR);
|
| - EXPECT_TRUE(bookmark_bar->visible());
|
| - EXPECT_FALSE(bookmark_bar->IsDetached());
|
| - chrome::ExecuteCommand(browser, IDC_SHOW_BOOKMARK_BAR);
|
| - EXPECT_FALSE(bookmark_bar->visible());
|
| - EXPECT_FALSE(bookmark_bar->IsDetached());
|
| -
|
| - // Bookmark bar is reparented to BrowserView on NTP.
|
| - NavigateAndCommitActiveTabWithTitle(browser,
|
| - GURL(chrome::kChromeUINewTabURL),
|
| - string16());
|
| - EXPECT_TRUE(bookmark_bar->visible());
|
| - EXPECT_TRUE(bookmark_bar->IsDetached());
|
| - EXPECT_EQ(browser_view(), bookmark_bar->parent());
|
| - // Top container is still in front.
|
| - EXPECT_EQ(browser_view()->child_count() - 1,
|
| - browser_view()->GetIndexOf(top_container));
|
| -
|
| - // Bookmark bar layout on NTP.
|
| - EXPECT_EQ(0, bookmark_bar->x());
|
| - EXPECT_EQ(
|
| - tabstrip->bounds().bottom() +
|
| - toolbar->height() -
|
| - BrowserViewLayout::kToolbarTabStripVerticalOverlap -
|
| - views::NonClientFrameView::kClientEdgeThickness,
|
| - bookmark_bar->y());
|
| - EXPECT_EQ(toolbar->bounds().bottom(), contents_split->y());
|
| - // Contents view has a "top margin" pushing it below the bookmark bar.
|
| - EXPECT_EQ(bookmark_bar->height() -
|
| - views::NonClientFrameView::kClientEdgeThickness,
|
| - contents_web_view->y());
|
| -
|
| - // Bookmark bar is parented back to top container on normal page.
|
| - NavigateAndCommitActiveTabWithTitle(browser,
|
| - GURL("about:blank"),
|
| - string16());
|
| - EXPECT_FALSE(bookmark_bar->visible());
|
| - EXPECT_FALSE(bookmark_bar->IsDetached());
|
| - EXPECT_EQ(top_container, bookmark_bar->parent());
|
| - // Top container is still in front.
|
| - EXPECT_EQ(browser_view()->child_count() - 1,
|
| - browser_view()->GetIndexOf(top_container));
|
| -
|
| - BookmarkBarView::DisableAnimationsForTesting(false);
|
| + // Ensure we've initialized enough to run Layout().
|
| + browser_view()->Layout();
|
| + // TDOO(jamescook): Layout assertions.
|
| }
|
|
|