Chromium Code Reviews| 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 <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 1577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1588 #endif | 1588 #endif |
| 1589 return false; | 1589 return false; |
| 1590 } | 1590 } |
| 1591 | 1591 |
| 1592 base::string16 BrowserView::GetWindowTitle() const { | 1592 base::string16 BrowserView::GetWindowTitle() const { |
| 1593 return browser_->GetWindowTitleForCurrentTab(true /* include_app_name */); | 1593 return browser_->GetWindowTitleForCurrentTab(true /* include_app_name */); |
| 1594 } | 1594 } |
| 1595 | 1595 |
| 1596 base::string16 BrowserView::GetAccessibleWindowTitle() const { | 1596 base::string16 BrowserView::GetAccessibleWindowTitle() const { |
| 1597 const bool include_app_name = false; | 1597 const bool include_app_name = false; |
| 1598 if (IsIncognito()) { | 1598 int active_index = browser_->tab_strip_model()->active_index(); |
| 1599 return l10n_util::GetStringFUTF16( | 1599 if (active_index > -1) { |
| 1600 IDS_ACCESSIBLE_INCOGNITO_WINDOW_TITLE_FORMAT, | 1600 if (IsIncognito()) { |
| 1601 browser_->GetWindowTitleForCurrentTab(include_app_name)); | 1601 return l10n_util::GetStringFUTF16( |
| 1602 IDS_ACCESSIBLE_INCOGNITO_WINDOW_TITLE_FORMAT, | |
| 1603 GetAccessibleTabLabel(include_app_name, active_index)); | |
| 1604 } | |
| 1605 return GetAccessibleTabLabel(include_app_name, active_index); | |
| 1606 } else { | |
|
sky
2017/01/03 23:11:41
no else after return (see chromium style guide for
edwardjung
2017/01/05 16:59:45
Done.
| |
| 1607 if (IsIncognito()) { | |
| 1608 return l10n_util::GetStringFUTF16( | |
| 1609 IDS_ACCESSIBLE_INCOGNITO_WINDOW_TITLE_FORMAT, | |
| 1610 browser_->GetWindowTitleForCurrentTab(include_app_name)); | |
| 1611 } | |
| 1612 return browser_->GetWindowTitleForCurrentTab(include_app_name); | |
| 1602 } | 1613 } |
| 1603 return browser_->GetWindowTitleForCurrentTab(include_app_name); | 1614 } |
| 1615 | |
| 1616 base::string16 BrowserView::GetAccessibleTabLabel(bool include_app_name, | |
| 1617 int index) const { | |
| 1618 if (index > -1) { | |
|
sky
2017/01/03 23:11:41
When is this called with -1? I think callers shoul
edwardjung
2017/01/05 16:59:45
This was a fix for ChromeVox which would call this
sky
2017/01/05 17:45:17
Ok, fair enough. Can you make 1617 and early retur
edwardjung
2017/01/05 18:41:14
Done. I also added a comment for this check.
| |
| 1619 base::string16 window_title = | |
| 1620 browser_->GetWindowTitleForTab(include_app_name, index); | |
| 1621 TabRendererData data = tabstrip_->tab_at(index)->data(); | |
|
sky
2017/01/03 23:11:41
const TabRendererData&
edwardjung
2017/01/05 16:59:45
Done.
| |
| 1622 | |
| 1623 // Tab has crashed. | |
| 1624 if (data.IsCrashed()) { | |
| 1625 return l10n_util::GetStringFUTF16(IDS_TAB_AX_LABEL_CRASHED_FORMAT, | |
| 1626 window_title); | |
| 1627 } | |
| 1628 // Network error interstitial. | |
| 1629 if (data.network_state == TabRendererData::NETWORK_STATE_ERROR) { | |
| 1630 return l10n_util::GetStringFUTF16(IDS_TAB_AX_LABEL_NETWORK_ERROR_FORMAT, | |
| 1631 window_title); | |
| 1632 } | |
| 1633 // Alert tab states. | |
| 1634 switch (data.alert_state) { | |
| 1635 case TabAlertState::AUDIO_PLAYING: | |
| 1636 return l10n_util::GetStringFUTF16(IDS_TAB_AX_LABEL_AUDIO_PLAYING_FORMAT, | |
| 1637 window_title); | |
| 1638 case TabAlertState::USB_CONNECTED: | |
| 1639 return l10n_util::GetStringFUTF16(IDS_TAB_AX_LABEL_USB_CONNECTED_FORMAT, | |
| 1640 window_title); | |
| 1641 case TabAlertState::BLUETOOTH_CONNECTED: | |
| 1642 return l10n_util::GetStringFUTF16( | |
| 1643 IDS_TAB_AX_LABEL_BLUETOOTH_CONNECTED_FORMAT, window_title); | |
| 1644 case TabAlertState::MEDIA_RECORDING: | |
| 1645 return l10n_util::GetStringFUTF16( | |
| 1646 IDS_TAB_AX_LABEL_MEDIA_RECORDING_FORMAT, window_title); | |
| 1647 case TabAlertState::AUDIO_MUTING: | |
| 1648 return l10n_util::GetStringFUTF16(IDS_TAB_AX_LABEL_AUDIO_MUTING_FORMAT, | |
| 1649 window_title); | |
| 1650 case TabAlertState::TAB_CAPTURING: | |
| 1651 return l10n_util::GetStringFUTF16(IDS_TAB_AX_LABEL_TAB_CAPTURING_FORMAT, | |
| 1652 window_title); | |
| 1653 case TabAlertState::NONE: | |
| 1654 return window_title; | |
| 1655 } | |
| 1656 } | |
| 1657 return base::string16(); | |
| 1604 } | 1658 } |
| 1605 | 1659 |
| 1606 views::View* BrowserView::GetInitiallyFocusedView() { | 1660 views::View* BrowserView::GetInitiallyFocusedView() { |
| 1607 return nullptr; | 1661 return nullptr; |
| 1608 } | 1662 } |
| 1609 | 1663 |
| 1610 bool BrowserView::ShouldShowWindowTitle() const { | 1664 bool BrowserView::ShouldShowWindowTitle() const { |
| 1611 #if defined(USE_ASH) | 1665 #if defined(USE_ASH) |
| 1612 // For Ash only, trusted windows (apps and settings) do not show a title, | 1666 // For Ash only, trusted windows (apps and settings) do not show a title, |
| 1613 // crbug.com/119411. Child windows (i.e. popups) do show a title. | 1667 // crbug.com/119411. Child windows (i.e. popups) do show a title. |
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2014 AddChildView(contents_container_); | 2068 AddChildView(contents_container_); |
| 2015 set_contents_view(contents_container_); | 2069 set_contents_view(contents_container_); |
| 2016 | 2070 |
| 2017 // Top container holds tab strip and toolbar and lives at the front of the | 2071 // Top container holds tab strip and toolbar and lives at the front of the |
| 2018 // view hierarchy. | 2072 // view hierarchy. |
| 2019 top_container_ = new TopContainerView(this); | 2073 top_container_ = new TopContainerView(this); |
| 2020 AddChildView(top_container_); | 2074 AddChildView(top_container_); |
| 2021 | 2075 |
| 2022 // TabStrip takes ownership of the controller. | 2076 // TabStrip takes ownership of the controller. |
| 2023 BrowserTabStripController* tabstrip_controller = | 2077 BrowserTabStripController* tabstrip_controller = |
| 2024 new BrowserTabStripController(browser_.get(), | 2078 new BrowserTabStripController(browser_.get(), browser_->tab_strip_model(), |
| 2025 browser_->tab_strip_model()); | 2079 this); |
| 2026 tabstrip_ = new TabStrip(tabstrip_controller); | 2080 tabstrip_ = new TabStrip(tabstrip_controller); |
| 2027 top_container_->AddChildView(tabstrip_); | 2081 top_container_->AddChildView(tabstrip_); |
| 2028 tabstrip_controller->InitFromModel(tabstrip_); | 2082 tabstrip_controller->InitFromModel(tabstrip_); |
| 2029 | 2083 |
| 2030 toolbar_ = new ToolbarView(browser_.get()); | 2084 toolbar_ = new ToolbarView(browser_.get()); |
| 2031 top_container_->AddChildView(toolbar_); | 2085 top_container_->AddChildView(toolbar_); |
| 2032 toolbar_->Init(); | 2086 toolbar_->Init(); |
| 2033 | 2087 |
| 2034 // The infobar container must come after the toolbar so its arrow paints on | 2088 // The infobar container must come after the toolbar so its arrow paints on |
| 2035 // top. | 2089 // top. |
| (...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2592 } | 2646 } |
| 2593 | 2647 |
| 2594 extensions::ActiveTabPermissionGranter* | 2648 extensions::ActiveTabPermissionGranter* |
| 2595 BrowserView::GetActiveTabPermissionGranter() { | 2649 BrowserView::GetActiveTabPermissionGranter() { |
| 2596 content::WebContents* web_contents = GetActiveWebContents(); | 2650 content::WebContents* web_contents = GetActiveWebContents(); |
| 2597 if (!web_contents) | 2651 if (!web_contents) |
| 2598 return nullptr; | 2652 return nullptr; |
| 2599 return extensions::TabHelper::FromWebContents(web_contents) | 2653 return extensions::TabHelper::FromWebContents(web_contents) |
| 2600 ->active_tab_permission_granter(); | 2654 ->active_tab_permission_granter(); |
| 2601 } | 2655 } |
| OLD | NEW |