Commit 7fc22fc6 authored by Peter Boström's avatar Peter Boström Committed by Commit Bot

Hide browser frame when using WebUITabStrip

When the WebUI-based tab strip replaces the views-based one no caption
buttons are drawn there's no content to be drawn in the browser frame.

The changes are restricted to BrowserView::IsBrowserTypeNormal() as
other window types might need draw something else (like PWA titles).

Bug: chromium:1005563
Change-Id: I5251a002ffd301d30a1db524ec560dd0aa3288c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1854804
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: default avatarTaylor Bergquist <tbergquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#705325}
parent 2b5b9b47
......@@ -22,6 +22,7 @@
#include "base/command_line.h"
#include "base/metrics/user_metrics.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/platform_util.h"
#include "chrome/browser/profiles/profiles_state.h"
......@@ -31,6 +32,7 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_command_controller.h"
#include "chrome/browser/ui/layout_constants.h"
#include "chrome/browser/ui/ui_features.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/immersive_mode_controller.h"
......@@ -649,6 +651,15 @@ int BrowserNonClientFrameViewAsh::GetTabStripRightInset() const {
}
bool BrowserNonClientFrameViewAsh::ShouldPaint() const {
#if BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
// Normal windows that have a WebUI-based tab strip do not need a browser
// frame as no tab strip is drawn on top of the browser frame.
if (base::FeatureList::IsEnabled(features::kWebUITabStrip) &&
browser_view()->IsBrowserTypeNormal()) {
return false;
}
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
// We need to paint when the top-of-window views are revealed in immersive
// fullscreen.
ImmersiveModeController* immersive_mode_controller =
......
......@@ -259,11 +259,6 @@ class TopControlsSlideControllerTest : public InProcessBrowserTest {
}
// InProcessBrowserTest:
void SetUp() override {
scoped_feature_list_.InitAndEnableFeature(features::kWebUITabStrip);
InProcessBrowserTest::SetUp();
}
void SetUpDefaultCommandLine(base::CommandLine* command_line) override {
InProcessBrowserTest::SetUpDefaultCommandLine(command_line);
......@@ -452,8 +447,6 @@ class TopControlsSlideControllerTest : public InProcessBrowserTest {
return std::move(controller);
}
base::test::ScopedFeatureList scoped_feature_list_;
TestController* test_controller_ = nullptr; // Not owned.
DISALLOW_COPY_AND_ASSIGN(TopControlsSlideControllerTest);
......@@ -1209,4 +1202,6 @@ IN_PROC_BROWSER_TEST_F(TopControlsSlideControllerTest, TestToggleChromeVox) {
TopChromeShownState::kFullyHidden);
}
// TODO(crbug.com/989131): Add test coverage that covers using WebUITabStrip.
} // namespace
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