| 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.h" | 9 #include "chrome/browser/ui/browser.h" |
| 10 #include "chrome/browser/ui/browser_finder.h" | 10 #include "chrome/browser/ui/browser_finder.h" |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 observer_list_, | 69 observer_list_, |
| 70 OnHostDestroying()); | 70 OnHostDestroying()); |
| 71 } | 71 } |
| 72 | 72 |
| 73 void NotifyPositionRequiresUpdate() { | 73 void NotifyPositionRequiresUpdate() { |
| 74 FOR_EACH_OBSERVER(ModalDialogHostObserver, | 74 FOR_EACH_OBSERVER(ModalDialogHostObserver, |
| 75 observer_list_, | 75 observer_list_, |
| 76 OnPositionRequiresUpdate()); | 76 OnPositionRequiresUpdate()); |
| 77 } | 77 } |
| 78 | 78 |
| 79 virtual gfx::Point GetDialogPosition(const gfx::Size& size) OVERRIDE { | 79 virtual gfx::Point GetDialogPosition(const gfx::Size& size) override { |
| 80 views::View* view = browser_view_layout_->contents_container_; | 80 views::View* view = browser_view_layout_->contents_container_; |
| 81 gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds()); | 81 gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds()); |
| 82 const int middle_x = content_area.x() + content_area.width() / 2; | 82 const int middle_x = content_area.x() + content_area.width() / 2; |
| 83 const int top = browser_view_layout_->web_contents_modal_dialog_top_y_; | 83 const int top = browser_view_layout_->web_contents_modal_dialog_top_y_; |
| 84 return gfx::Point(middle_x - size.width() / 2, top); | 84 return gfx::Point(middle_x - size.width() / 2, top); |
| 85 } | 85 } |
| 86 | 86 |
| 87 virtual gfx::Size GetMaximumDialogSize() OVERRIDE { | 87 virtual gfx::Size GetMaximumDialogSize() override { |
| 88 views::View* view = browser_view_layout_->contents_container_; | 88 views::View* view = browser_view_layout_->contents_container_; |
| 89 gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds()); | 89 gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds()); |
| 90 const int top = browser_view_layout_->web_contents_modal_dialog_top_y_; | 90 const int top = browser_view_layout_->web_contents_modal_dialog_top_y_; |
| 91 return gfx::Size(content_area.width(), content_area.bottom() - top); | 91 return gfx::Size(content_area.width(), content_area.bottom() - top); |
| 92 } | 92 } |
| 93 | 93 |
| 94 private: | 94 private: |
| 95 virtual gfx::NativeView GetHostView() const OVERRIDE { | 95 virtual gfx::NativeView GetHostView() const override { |
| 96 gfx::NativeWindow window = | 96 gfx::NativeWindow window = |
| 97 browser_view_layout_->browser()->window()->GetNativeWindow(); | 97 browser_view_layout_->browser()->window()->GetNativeWindow(); |
| 98 return views::Widget::GetWidgetForNativeWindow(window)->GetNativeView(); | 98 return views::Widget::GetWidgetForNativeWindow(window)->GetNativeView(); |
| 99 } | 99 } |
| 100 | 100 |
| 101 // Add/remove observer. | 101 // Add/remove observer. |
| 102 virtual void AddObserver(ModalDialogHostObserver* observer) OVERRIDE { | 102 virtual void AddObserver(ModalDialogHostObserver* observer) override { |
| 103 observer_list_.AddObserver(observer); | 103 observer_list_.AddObserver(observer); |
| 104 } | 104 } |
| 105 virtual void RemoveObserver(ModalDialogHostObserver* observer) OVERRIDE { | 105 virtual void RemoveObserver(ModalDialogHostObserver* observer) override { |
| 106 observer_list_.RemoveObserver(observer); | 106 observer_list_.RemoveObserver(observer); |
| 107 } | 107 } |
| 108 | 108 |
| 109 BrowserViewLayout* const browser_view_layout_; | 109 BrowserViewLayout* const browser_view_layout_; |
| 110 | 110 |
| 111 ObserverList<ModalDialogHostObserver> observer_list_; | 111 ObserverList<ModalDialogHostObserver> observer_list_; |
| 112 | 112 |
| 113 DISALLOW_COPY_AND_ASSIGN(WebContentsModalDialogHostViews); | 113 DISALLOW_COPY_AND_ASSIGN(WebContentsModalDialogHostViews); |
| 114 }; | 114 }; |
| 115 | 115 |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 return bottom; | 540 return bottom; |
| 541 } | 541 } |
| 542 | 542 |
| 543 bool BrowserViewLayout::InfobarVisible() const { | 543 bool BrowserViewLayout::InfobarVisible() const { |
| 544 // Cast to a views::View to access GetPreferredSize(). | 544 // Cast to a views::View to access GetPreferredSize(). |
| 545 views::View* infobar_container = infobar_container_; | 545 views::View* infobar_container = infobar_container_; |
| 546 // NOTE: Can't check if the size IsEmpty() since it's always 0-width. | 546 // NOTE: Can't check if the size IsEmpty() since it's always 0-width. |
| 547 return browser_->SupportsWindowFeature(Browser::FEATURE_INFOBAR) && | 547 return browser_->SupportsWindowFeature(Browser::FEATURE_INFOBAR) && |
| 548 (infobar_container->GetPreferredSize().height() != 0); | 548 (infobar_container->GetPreferredSize().height() != 0); |
| 549 } | 549 } |
| OLD | NEW |