| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_layout.h" | 5 #include "chrome/browser/ui/views/frame/browser_view_layout.h" |
| 6 | 6 |
| 7 #include "base/observer_list.h" | 7 #include "base/observer_list.h" |
| 8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
| 9 #include "chrome/browser/ui/browser_finder.h" | 9 #include "chrome/browser/ui/browser_finder.h" |
| 10 #include "chrome/browser/ui/find_bar/find_bar.h" | 10 #include "chrome/browser/ui/find_bar/find_bar.h" |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 | 332 |
| 333 int bottom = LayoutDownloadShelf(browser_view_->height()); | 333 int bottom = LayoutDownloadShelf(browser_view_->height()); |
| 334 int active_top_margin = GetTopMarginForActiveContent(); | 334 int active_top_margin = GetTopMarginForActiveContent(); |
| 335 top -= active_top_margin; | 335 top -= active_top_margin; |
| 336 contents_container_->SetActiveTopMargin(active_top_margin); | 336 contents_container_->SetActiveTopMargin(active_top_margin); |
| 337 LayoutTabContents(top, bottom); | 337 LayoutTabContents(top, bottom); |
| 338 | 338 |
| 339 // Now set the contents to display at their previous origin if we just hid the | 339 // Now set the contents to display at their previous origin if we just hid the |
| 340 // bookmark and/or infobars. | 340 // bookmark and/or infobars. |
| 341 if (active_top_margin == 0 && !old_contents_origin.IsOrigin()) { | 341 if (active_top_margin == 0 && !old_contents_origin.IsOrigin()) { |
| 342 // Retrieve the overlay height again since it may have changed in layouts |
| 343 // triggered in LayoutTabContents(). |
| 344 overlay_height = contents_container_->overlay_height(); |
| 345 // Get the new origin of contents. |
| 342 gfx::Point new_contents_origin(contents->bounds().origin()); | 346 gfx::Point new_contents_origin(contents->bounds().origin()); |
| 343 views::View::ConvertPointToTarget(contents->parent(), browser_view_, | 347 views::View::ConvertPointToTarget(contents->parent(), browser_view_, |
| 344 &new_contents_origin); | 348 &new_contents_origin); |
| 345 active_top_margin = old_contents_origin.y() - new_contents_origin.y(); | 349 active_top_margin = old_contents_origin.y() - new_contents_origin.y(); |
| 346 // Special case: While normally the suggestions appear to "cover" any | 350 // Special case: While normally the suggestions appear to "cover" any |
| 347 // bookmark/infobars, if the suggestions are very short, they might not | 351 // bookmark/infobars, if the suggestions are very short, they might not |
| 348 // fully cover that gap, and leaving the contents at their original height | 352 // fully cover that gap, and leaving the contents at their original height |
| 349 // would leave an odd-looking blank space. In this case, we allow the | 353 // would leave an odd-looking blank space. In this case, we allow the |
| 350 // contents to go ahead and shift upward. | 354 // contents to go ahead and shift upward. |
| 351 if (active_top_margin > 0 && active_top_margin < overlay_height) | 355 if (active_top_margin > 0 && active_top_margin < overlay_height) |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 } | 586 } |
| 583 return bottom; | 587 return bottom; |
| 584 } | 588 } |
| 585 | 589 |
| 586 bool BrowserViewLayout::InfobarVisible() const { | 590 bool BrowserViewLayout::InfobarVisible() const { |
| 587 views::View* infobar_container = browser_view_->infobar_container_; | 591 views::View* infobar_container = browser_view_->infobar_container_; |
| 588 // NOTE: Can't check if the size IsEmpty() since it's always 0-width. | 592 // NOTE: Can't check if the size IsEmpty() since it's always 0-width. |
| 589 return browser()->SupportsWindowFeature(Browser::FEATURE_INFOBAR) && | 593 return browser()->SupportsWindowFeature(Browser::FEATURE_INFOBAR) && |
| 590 (infobar_container->GetPreferredSize().height() != 0); | 594 (infobar_container->GetPreferredSize().height() != 0); |
| 591 } | 595 } |
| OLD | NEW |