Commit a6ed00a4 authored by Alan Cutter's avatar Alan Cutter Committed by Commit Bot

Add BrowserView::IsBrowserTypeHostedApp() helper function

This CL tidies up some verbose callsites to
extensions::HostedAppBrowserController::IsForExperimentalHostedAppBrowser()
by hiding it behind a BrowserView::IsBrowserTypeHostedApp() helper
function.

Bug: 895690
Change-Id: I0cbced2882e4be5dde9107961f3b5a443810869e
Reviewed-on: https://chromium-review.googlesource.com/c/1286236
Commit-Queue: Alan Cutter <alancutter@chromium.org>
Reviewed-by: default avatarBret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600603}
parent dc0a0084
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "chrome/browser/lifetime/application_lifetime.h" #include "chrome/browser/lifetime/application_lifetime.h"
#include "chrome/browser/themes/theme_service.h" #include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h" #include "chrome/browser/themes/theme_service_factory.h"
#include "chrome/browser/ui/extensions/hosted_app_browser_controller.h"
#include "chrome/browser/ui/views/frame/browser_frame.h" #include "chrome/browser/ui/views/frame/browser_frame.h"
#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/frame/browser_window_property_manager_win.h" #include "chrome/browser/ui/views/frame/browser_window_property_manager_win.h"
...@@ -320,8 +319,7 @@ MARGINS BrowserDesktopWindowTreeHostWin::GetDWMFrameMargins() const { ...@@ -320,8 +319,7 @@ MARGINS BrowserDesktopWindowTreeHostWin::GetDWMFrameMargins() const {
bool BrowserDesktopWindowTreeHostWin::IsOpaqueHostedAppFrame() const { bool BrowserDesktopWindowTreeHostWin::IsOpaqueHostedAppFrame() const {
// TODO(https://crbug.com/868239): Support Windows 7 Aero glass for hosted app // TODO(https://crbug.com/868239): Support Windows 7 Aero glass for hosted app
// window titlebar controls. // window titlebar controls.
return extensions::HostedAppBrowserController:: return browser_view_->IsBrowserTypeHostedApp() &&
IsForExperimentalHostedAppBrowser(browser_view_->browser()) &&
base::win::GetVersion() < base::win::VERSION_WIN10; base::win::GetVersion() < base::win::VERSION_WIN10;
} }
......
...@@ -592,10 +592,8 @@ void BrowserNonClientFrameViewAsh::OnTabletModeToggled(bool enabled) { ...@@ -592,10 +592,8 @@ void BrowserNonClientFrameViewAsh::OnTabletModeToggled(bool enabled) {
bool BrowserNonClientFrameViewAsh::ShouldTabIconViewAnimate() const { bool BrowserNonClientFrameViewAsh::ShouldTabIconViewAnimate() const {
// Hosted apps use their app icon and shouldn't show a throbber. // Hosted apps use their app icon and shouldn't show a throbber.
if (extensions::HostedAppBrowserController::IsForExperimentalHostedAppBrowser( if (browser_view()->IsBrowserTypeHostedApp())
browser_view()->browser())) {
return false; return false;
}
// This function is queried during the creation of the window as the // This function is queried during the creation of the window as the
// TabIconView we host is initialized, so we need to null check the selected // TabIconView we host is initialized, so we need to null check the selected
...@@ -789,8 +787,7 @@ BrowserNonClientFrameViewAsh::CreateFrameHeader() { ...@@ -789,8 +787,7 @@ BrowserNonClientFrameViewAsh::CreateFrameHeader() {
} else { } else {
auto default_frame_header = std::make_unique<ash::DefaultFrameHeader>( auto default_frame_header = std::make_unique<ash::DefaultFrameHeader>(
frame(), this, caption_button_container_); frame(), this, caption_button_container_);
if (extensions::HostedAppBrowserController:: if (browser_view()->IsBrowserTypeHostedApp()) {
IsForExperimentalHostedAppBrowser(browser)) {
SetUpForHostedApp(default_frame_header.get()); SetUpForHostedApp(default_frame_header.get());
} else if (!browser->is_app()) { } else if (!browser->is_app()) {
default_frame_header->SetFrameColors(kMdWebUiFrameColor, default_frame_header->SetFrameColors(kMdWebUiFrameColor,
...@@ -836,8 +833,7 @@ void BrowserNonClientFrameViewAsh::UpdateFrameColors() { ...@@ -836,8 +833,7 @@ void BrowserNonClientFrameViewAsh::UpdateFrameColors() {
if (!UsePackagedAppHeaderStyle(browser_view()->browser())) { if (!UsePackagedAppHeaderStyle(browser_view()->browser())) {
active_color = GetFrameColor(kActive); active_color = GetFrameColor(kActive);
inactive_color = GetFrameColor(kInactive); inactive_color = GetFrameColor(kInactive);
} else if (extensions::HostedAppBrowserController:: } else if (browser_view()->IsBrowserTypeHostedApp()) {
IsForExperimentalHostedAppBrowser(browser_view()->browser())) {
active_color = active_color =
browser_view()->browser()->hosted_app_controller()->GetThemeColor(); browser_view()->browser()->hosted_app_controller()->GetThemeColor();
frame_header_->set_button_color_mode( frame_header_->set_button_color_mode(
......
...@@ -625,6 +625,11 @@ WebContents* BrowserView::GetActiveWebContents() const { ...@@ -625,6 +625,11 @@ WebContents* BrowserView::GetActiveWebContents() const {
return browser_->tab_strip_model()->GetActiveWebContents(); return browser_->tab_strip_model()->GetActiveWebContents();
} }
bool BrowserView::IsBrowserTypeHostedApp() const {
return extensions::HostedAppBrowserController::
IsForExperimentalHostedAppBrowser(browser_.get());
}
bool BrowserView::IsTopControlsSlideBehaviorEnabled() const { bool BrowserView::IsTopControlsSlideBehaviorEnabled() const {
return top_controls_slide_controller_ && return top_controls_slide_controller_ &&
top_controls_slide_controller_->IsEnabled(); top_controls_slide_controller_->IsEnabled();
......
...@@ -241,6 +241,10 @@ class BrowserView : public BrowserWindow, ...@@ -241,6 +241,10 @@ class BrowserView : public BrowserWindow,
return browser_->is_type_tabbed(); return browser_->is_type_tabbed();
} }
// Returns true if the Browser object associated with this BrowserView is a
// for an installed hosted app.
bool IsBrowserTypeHostedApp() const;
// Returns true if the top browser controls (a.k.a. top-chrome UIs) are // Returns true if the top browser controls (a.k.a. top-chrome UIs) are
// allowed to slide up and down with the gesture scrolls on the current tab's // allowed to slide up and down with the gesture scrolls on the current tab's
// page. // page.
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include "base/command_line.h" #include "base/command_line.h"
#include "chrome/browser/shell_integration_linux.h" #include "chrome/browser/shell_integration_linux.h"
#include "chrome/browser/ui/extensions/hosted_app_browser_controller.h"
#include "chrome/browser/ui/views/frame/browser_frame.h" #include "chrome/browser/ui/views/frame/browser_frame.h"
#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_switches.h"
...@@ -62,10 +61,8 @@ bool DesktopBrowserFrameAuraX11::UseCustomFrame() const { ...@@ -62,10 +61,8 @@ bool DesktopBrowserFrameAuraX11::UseCustomFrame() const {
// Hosted app windows get a custom frame (if the desktop PWA experimental // Hosted app windows get a custom frame (if the desktop PWA experimental
// feature is enabled). // feature is enabled).
if (extensions::HostedAppBrowserController::IsForExperimentalHostedAppBrowser( if (browser_view()->IsBrowserTypeHostedApp())
browser_view()->browser())) {
return true; return true;
}
return false; return false;
} }
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "chrome/app/chrome_command_ids.h" #include "chrome/app/chrome_command_ids.h"
#include "chrome/app/chrome_dll_resource.h" #include "chrome/app/chrome_dll_resource.h"
#include "chrome/browser/themes/theme_properties.h" #include "chrome/browser/themes/theme_properties.h"
#include "chrome/browser/ui/extensions/hosted_app_browser_controller.h"
#include "chrome/browser/ui/view_ids.h" #include "chrome/browser/ui/view_ids.h"
#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/frame/hosted_app_button_container.h" #include "chrome/browser/ui/views/frame/hosted_app_button_container.h"
...@@ -114,8 +113,7 @@ GlassBrowserFrameView::GlassBrowserFrameView(BrowserFrame* frame, ...@@ -114,8 +113,7 @@ GlassBrowserFrameView::GlassBrowserFrameView(BrowserFrame* frame,
AddChildView(window_title_); AddChildView(window_title_);
} }
if (extensions::HostedAppBrowserController::IsForExperimentalHostedAppBrowser( if (browser_view->IsBrowserTypeHostedApp()) {
browser_view->browser())) {
// TODO(alancutter): Avoid snapshotting GetTitlebarFeatureColor() values // TODO(alancutter): Avoid snapshotting GetTitlebarFeatureColor() values
// here and call it on demand in // here and call it on demand in
// HostedAppButtonContainer::UpdateIconsColor() via a delegate interface. // HostedAppButtonContainer::UpdateIconsColor() via a delegate interface.
......
...@@ -188,9 +188,7 @@ HostedAppButtonContainer::HostedAppButtonContainer(views::Widget* widget, ...@@ -188,9 +188,7 @@ HostedAppButtonContainer::HostedAppButtonContainer(views::Widget* widget,
false /* interactive */)), false /* interactive */)),
app_menu_button_(new HostedAppMenuButton(browser_view)) { app_menu_button_(new HostedAppMenuButton(browser_view)) {
DCHECK(browser_view_); DCHECK(browser_view_);
DCHECK( DCHECK(browser_view_->IsBrowserTypeHostedApp());
extensions::HostedAppBrowserController::IsForExperimentalHostedAppBrowser(
browser_view_->browser()));
views::BoxLayout& layout = views::BoxLayout& layout =
*SetLayoutManager(std::make_unique<views::BoxLayout>( *SetLayoutManager(std::make_unique<views::BoxLayout>(
views::BoxLayout::kHorizontal, views::BoxLayout::kHorizontal,
......
...@@ -175,8 +175,7 @@ OpaqueBrowserFrameView::OpaqueBrowserFrameView( ...@@ -175,8 +175,7 @@ OpaqueBrowserFrameView::OpaqueBrowserFrameView(
window_title_->set_id(VIEW_ID_WINDOW_TITLE); window_title_->set_id(VIEW_ID_WINDOW_TITLE);
AddChildView(window_title_); AddChildView(window_title_);
if (extensions::HostedAppBrowserController::IsForExperimentalHostedAppBrowser( if (browser_view->IsBrowserTypeHostedApp()) {
browser_view->browser())) {
hosted_app_button_container_ = new HostedAppButtonContainer( hosted_app_button_container_ = new HostedAppButtonContainer(
frame, browser_view, GetReadableFrameForegroundColor(kActive), frame, browser_view, GetReadableFrameForegroundColor(kActive),
GetReadableFrameForegroundColor(kInactive)); GetReadableFrameForegroundColor(kInactive));
...@@ -659,8 +658,7 @@ bool OpaqueBrowserFrameView::ShouldShowWindowTitleBar() const { ...@@ -659,8 +658,7 @@ bool OpaqueBrowserFrameView::ShouldShowWindowTitleBar() const {
SkColor OpaqueBrowserFrameView::GetReadableFrameForegroundColor( SkColor OpaqueBrowserFrameView::GetReadableFrameForegroundColor(
ActiveState active_state) const { ActiveState active_state) const {
if (extensions::HostedAppBrowserController::IsForExperimentalHostedAppBrowser( if (browser_view()->IsBrowserTypeHostedApp()) {
browser_view()->browser())) {
base::Optional<SkColor> theme_color = base::Optional<SkColor> theme_color =
browser_view()->browser()->hosted_app_controller()->GetThemeColor(); browser_view()->browser()->hosted_app_controller()->GetThemeColor();
if (theme_color) if (theme_color)
......
...@@ -270,9 +270,7 @@ void Windows10CaptionButton::PaintSymbol(gfx::Canvas* canvas) { ...@@ -270,9 +270,7 @@ void Windows10CaptionButton::PaintSymbol(gfx::Canvas* canvas) {
const ui::ThemeProvider* Windows10CaptionButton::GetFrameThemeProvider() const { const ui::ThemeProvider* Windows10CaptionButton::GetFrameThemeProvider() const {
// TODO(https://crbug.com/891560): Move this check up into // TODO(https://crbug.com/891560): Move this check up into
// BrowserFrame::GetThemeProvider() and have it return the default theme. // BrowserFrame::GetThemeProvider() and have it return the default theme.
if (extensions::HostedAppBrowserController::IsForExperimentalHostedAppBrowser( if (frame_view_->browser_view()->IsBrowserTypeHostedApp())
frame_view_->browser_view()->browser())) {
return nullptr; return nullptr;
}
return GetThemeProvider(); return GetThemeProvider();
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment