| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/views/frame/browser_view.h" | 5 #include "chrome/browser/ui/views/frame/browser_view.h" |
| 6 | 6 |
| 7 #include "chrome/app/chrome_command_ids.h" | 7 #include "chrome/app/chrome_command_ids.h" |
| 8 #include "chrome/browser/ui/browser_commands.h" | 8 #include "chrome/browser/ui/browser_commands.h" |
| 9 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" | 9 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" |
| 10 #include "chrome/browser/ui/views/frame/browser_view_layout.h" | 10 #include "chrome/browser/ui/views/frame/browser_view_layout.h" |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 gfx::Point expected_tabstrip_origin = ExpectedTabStripOrigin(browser_view()); | 96 gfx::Point expected_tabstrip_origin = ExpectedTabStripOrigin(browser_view()); |
| 97 EXPECT_EQ(expected_tabstrip_origin.x(), tabstrip->x()); | 97 EXPECT_EQ(expected_tabstrip_origin.x(), tabstrip->x()); |
| 98 EXPECT_EQ(expected_tabstrip_origin.y(), tabstrip->y()); | 98 EXPECT_EQ(expected_tabstrip_origin.y(), tabstrip->y()); |
| 99 EXPECT_EQ(0, toolbar->x()); | 99 EXPECT_EQ(0, toolbar->x()); |
| 100 EXPECT_EQ( | 100 EXPECT_EQ( |
| 101 tabstrip->bounds().bottom() - | 101 tabstrip->bounds().bottom() - |
| 102 BrowserViewLayout::kToolbarTabStripVerticalOverlap, | 102 BrowserViewLayout::kToolbarTabStripVerticalOverlap, |
| 103 toolbar->y()); | 103 toolbar->y()); |
| 104 EXPECT_EQ(0, contents_container->x()); | 104 EXPECT_EQ(0, contents_container->x()); |
| 105 EXPECT_EQ(toolbar->bounds().bottom(), contents_container->y()); | 105 EXPECT_EQ(toolbar->bounds().bottom(), contents_container->y()); |
| 106 EXPECT_EQ(top_container->bounds().bottom(), contents_container->y()); |
| 106 EXPECT_EQ(0, devtools_web_view->x()); | 107 EXPECT_EQ(0, devtools_web_view->x()); |
| 107 EXPECT_EQ(0, devtools_web_view->y()); | 108 EXPECT_EQ(0, devtools_web_view->y()); |
| 108 EXPECT_EQ(0, contents_web_view->x()); | 109 EXPECT_EQ(0, contents_web_view->x()); |
| 109 EXPECT_EQ(0, contents_web_view->y()); | 110 EXPECT_EQ(0, contents_web_view->y()); |
| 110 | 111 |
| 111 // Verify bookmark bar visibility. | 112 // Verify bookmark bar visibility. |
| 112 BookmarkBarView* bookmark_bar = browser_view()->GetBookmarkBarView(); | 113 BookmarkBarView* bookmark_bar = browser_view()->GetBookmarkBarView(); |
| 113 EXPECT_FALSE(bookmark_bar->visible()); | 114 EXPECT_FALSE(bookmark_bar->visible()); |
| 114 EXPECT_FALSE(bookmark_bar->IsDetached()); | 115 EXPECT_FALSE(bookmark_bar->IsDetached()); |
| 115 chrome::ExecuteCommand(browser, IDC_SHOW_BOOKMARK_BAR); | 116 chrome::ExecuteCommand(browser, IDC_SHOW_BOOKMARK_BAR); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 EXPECT_FALSE(bookmark_bar->visible()); | 158 EXPECT_FALSE(bookmark_bar->visible()); |
| 158 EXPECT_FALSE(bookmark_bar->IsDetached()); | 159 EXPECT_FALSE(bookmark_bar->IsDetached()); |
| 159 EXPECT_EQ(top_container, bookmark_bar->parent()); | 160 EXPECT_EQ(top_container, bookmark_bar->parent()); |
| 160 // Top container is still second from front. | 161 // Top container is still second from front. |
| 161 EXPECT_EQ(browser_view()->child_count() - 2, | 162 EXPECT_EQ(browser_view()->child_count() - 2, |
| 162 browser_view()->GetIndexOf(top_container)); | 163 browser_view()->GetIndexOf(top_container)); |
| 163 | 164 |
| 164 BookmarkBarView::DisableAnimationsForTesting(false); | 165 BookmarkBarView::DisableAnimationsForTesting(false); |
| 165 } | 166 } |
| 166 | 167 |
| 168 class BrowserViewHostedAppTest : public TestWithBrowserView { |
| 169 public: |
| 170 BrowserViewHostedAppTest() |
| 171 : TestWithBrowserView(Browser::TYPE_POPUP, |
| 172 chrome::HOST_DESKTOP_TYPE_NATIVE, |
| 173 true) { |
| 174 } |
| 175 virtual ~BrowserViewHostedAppTest() { |
| 176 } |
| 177 |
| 178 private: |
| 179 DISALLOW_COPY_AND_ASSIGN(BrowserViewHostedAppTest); |
| 180 }; |
| 181 |
| 182 // Test basic layout for hosted apps. |
| 183 TEST_F(BrowserViewHostedAppTest, Layout) { |
| 184 // Add a tab because the browser starts out without any tabs at all. |
| 185 AddTab(browser(), GURL("about:blank")); |
| 186 |
| 187 views::View* contents_container = |
| 188 browser_view()->GetContentsContainerForTest(); |
| 189 |
| 190 // The tabstrip, toolbar and bookmark bar should not be visible for hosted |
| 191 // apps. |
| 192 EXPECT_FALSE(browser_view()->tabstrip()->visible()); |
| 193 EXPECT_FALSE(browser_view()->toolbar()->visible()); |
| 194 EXPECT_FALSE(browser_view()->IsBookmarkBarVisible()); |
| 195 |
| 196 gfx::Point header_offset; |
| 197 views::View::ConvertPointToTarget( |
| 198 browser_view(), |
| 199 browser_view()->frame()->non_client_view()->frame_view(), |
| 200 &header_offset); |
| 201 |
| 202 // The position of the bottom of the header (the bar with the window |
| 203 // controls) in the coordinates of BrowserView. |
| 204 int bottom_of_header = browser_view()->frame()->GetTopInset() - |
| 205 header_offset.y(); |
| 206 |
| 207 // The web contents should be flush with the bottom of the header. |
| 208 EXPECT_EQ(bottom_of_header, contents_container->y()); |
| 209 |
| 210 // The find bar should overlap the 1px header/web-contents separator at the |
| 211 // bottom of the header. |
| 212 EXPECT_EQ(browser_view()->frame()->GetTopInset() - 1, |
| 213 browser_view()->GetFindBarBoundingBox().y()); |
| 214 } |
| 215 |
| 167 #if defined(OS_WIN) | 216 #if defined(OS_WIN) |
| 168 | 217 |
| 169 // This class provides functionality to test the incognito window/normal window | 218 // This class provides functionality to test the incognito window/normal window |
| 170 // switcher button which is added to Windows 8 metro Chrome. | 219 // switcher button which is added to Windows 8 metro Chrome. |
| 171 // We create the BrowserView ourselves in the | 220 // We create the BrowserView ourselves in the |
| 172 // BrowserWithTestWindowTest::CreateBrowserWindow function override and add the | 221 // BrowserWithTestWindowTest::CreateBrowserWindow function override and add the |
| 173 // switcher button to the view. We also provide an incognito profile to ensure | 222 // switcher button to the view. We also provide an incognito profile to ensure |
| 174 // that the switcher button is visible. | 223 // that the switcher button is visible. |
| 175 class BrowserViewIncognitoSwitcherTest : public TestWithBrowserView { | 224 class BrowserViewIncognitoSwitcherTest : public TestWithBrowserView { |
| 176 public: | 225 public: |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 // Test initial state. | 307 // Test initial state. |
| 259 EXPECT_TRUE(browser_view()->IsTabStripVisible()); | 308 EXPECT_TRUE(browser_view()->IsTabStripVisible()); |
| 260 // Validate whether the window switcher button is the target for the position | 309 // Validate whether the window switcher button is the target for the position |
| 261 // passed in. | 310 // passed in. |
| 262 gfx::Point switcher_point(browser_view()->window_switcher_button()->x() + 2, | 311 gfx::Point switcher_point(browser_view()->window_switcher_button()->x() + 2, |
| 263 browser_view()->window_switcher_button()->y()); | 312 browser_view()->window_switcher_button()->y()); |
| 264 EXPECT_EQ(browser_view()->GetEventHandlerForPoint(switcher_point), | 313 EXPECT_EQ(browser_view()->GetEventHandlerForPoint(switcher_point), |
| 265 browser_view()->window_switcher_button()); | 314 browser_view()->window_switcher_button()); |
| 266 } | 315 } |
| 267 #endif | 316 #endif |
| OLD | NEW |