| 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.h" | 5 #include "chrome/browser/ui/views/frame/browser_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 533 BrowserView* BrowserView::GetBrowserViewForBrowser(const Browser* browser) { | 533 BrowserView* BrowserView::GetBrowserViewForBrowser(const Browser* browser) { |
| 534 return static_cast<BrowserView*>(browser->window()); | 534 return static_cast<BrowserView*>(browser->window()); |
| 535 } | 535 } |
| 536 | 536 |
| 537 void BrowserView::InitStatusBubble() { | 537 void BrowserView::InitStatusBubble() { |
| 538 status_bubble_.reset(new StatusBubbleViews(contents_web_view_)); | 538 status_bubble_.reset(new StatusBubbleViews(contents_web_view_)); |
| 539 contents_web_view_->SetStatusBubble(status_bubble_.get()); | 539 contents_web_view_->SetStatusBubble(status_bubble_.get()); |
| 540 } | 540 } |
| 541 | 541 |
| 542 void BrowserView::InitPermissionBubbleView() { | 542 void BrowserView::InitPermissionBubbleView() { |
| 543 std::string languages = | |
| 544 browser_->profile()->GetPrefs()->GetString(prefs::kAcceptLanguages); | |
| 545 permission_bubble_view_.reset(new PermissionBubbleViewViews( | 543 permission_bubble_view_.reset(new PermissionBubbleViewViews( |
| 546 GetLocationBarView()->location_icon_view(), languages)); | 544 browser_->profile()->GetPrefs()->GetString(prefs::kAcceptLanguages))); |
| 545 UpdatePermissionBubbleView(); |
| 546 } |
| 547 |
| 548 void BrowserView::UpdatePermissionBubbleView() { |
| 549 if (browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR)) { |
| 550 permission_bubble_view_->SetAnchor( |
| 551 GetLocationBarView()->location_icon_view(), |
| 552 views::BubbleBorder::TOP_LEFT); |
| 553 } else { |
| 554 permission_bubble_view_->SetAnchor( |
| 555 top_container_, |
| 556 views::BubbleBorder::NONE); |
| 557 } |
| 547 } | 558 } |
| 548 | 559 |
| 549 gfx::Rect BrowserView::GetToolbarBounds() const { | 560 gfx::Rect BrowserView::GetToolbarBounds() const { |
| 550 gfx::Rect toolbar_bounds(toolbar_->bounds()); | 561 gfx::Rect toolbar_bounds(toolbar_->bounds()); |
| 551 if (toolbar_bounds.IsEmpty()) | 562 if (toolbar_bounds.IsEmpty()) |
| 552 return toolbar_bounds; | 563 return toolbar_bounds; |
| 553 // The apparent toolbar edges are outside the "real" toolbar edges. | 564 // The apparent toolbar edges are outside the "real" toolbar edges. |
| 554 toolbar_bounds.Inset(-views::NonClientFrameView::kClientEdgeThickness, 0); | 565 toolbar_bounds.Inset(-views::NonClientFrameView::kClientEdgeThickness, 0); |
| 555 return toolbar_bounds; | 566 return toolbar_bounds; |
| 556 } | 567 } |
| (...skipping 1727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2284 } | 2295 } |
| 2285 | 2296 |
| 2286 // Undo our anti-jankiness hacks and force a re-layout. We also need to | 2297 // Undo our anti-jankiness hacks and force a re-layout. We also need to |
| 2287 // recompute the height of the infobar top arrow because toggling in and out | 2298 // recompute the height of the infobar top arrow because toggling in and out |
| 2288 // of fullscreen changes it. Calling ToolbarSizeChanged() will do both these | 2299 // of fullscreen changes it. Calling ToolbarSizeChanged() will do both these |
| 2289 // things since it computes the arrow height directly and forces a layout | 2300 // things since it computes the arrow height directly and forces a layout |
| 2290 // indirectly via UpdateUIForContents(). Reset |in_process_fullscreen_| in | 2301 // indirectly via UpdateUIForContents(). Reset |in_process_fullscreen_| in |
| 2291 // order to let the layout occur. | 2302 // order to let the layout occur. |
| 2292 in_process_fullscreen_ = false; | 2303 in_process_fullscreen_ = false; |
| 2293 ToolbarSizeChanged(false); | 2304 ToolbarSizeChanged(false); |
| 2305 |
| 2306 UpdatePermissionBubbleView(); |
| 2294 } | 2307 } |
| 2295 | 2308 |
| 2296 bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const { | 2309 bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const { |
| 2297 // Kiosk mode needs the whole screen, and if we're not in an Ash desktop | 2310 // Kiosk mode needs the whole screen, and if we're not in an Ash desktop |
| 2298 // immersive fullscreen doesn't exist. | 2311 // immersive fullscreen doesn't exist. |
| 2299 if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode) || | 2312 if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode) || |
| 2300 browser()->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH) { | 2313 browser()->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH) { |
| 2301 return false; | 2314 return false; |
| 2302 } | 2315 } |
| 2303 | 2316 |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2561 !GetLocationBar()->GetOmniboxView()->model()->popup_model()->IsOpen()) { | 2574 !GetLocationBar()->GetOmniboxView()->model()->popup_model()->IsOpen()) { |
| 2562 gfx::Point icon_bottom( | 2575 gfx::Point icon_bottom( |
| 2563 toolbar_->location_bar()->GetLocationBarAnchorPoint()); | 2576 toolbar_->location_bar()->GetLocationBarAnchorPoint()); |
| 2564 ConvertPointToTarget(toolbar_->location_bar(), this, &icon_bottom); | 2577 ConvertPointToTarget(toolbar_->location_bar(), this, &icon_bottom); |
| 2565 gfx::Point infobar_top(0, infobar_container_->GetVerticalOverlap(nullptr)); | 2578 gfx::Point infobar_top(0, infobar_container_->GetVerticalOverlap(nullptr)); |
| 2566 ConvertPointToTarget(infobar_container_, this, &infobar_top); | 2579 ConvertPointToTarget(infobar_container_, this, &infobar_top); |
| 2567 top_arrow_height = infobar_top.y() - icon_bottom.y(); | 2580 top_arrow_height = infobar_top.y() - icon_bottom.y(); |
| 2568 } | 2581 } |
| 2569 return top_arrow_height; | 2582 return top_arrow_height; |
| 2570 } | 2583 } |
| OLD | NEW |