Commit fb30c93b authored by Junyi Xiao's avatar Junyi Xiao Committed by Commit Bot

WebApps: Fix PWA initial positions in certain configs

Similar to Bug: 783199, when user have two monitors that set to
different scales, PWA may relaunch off the screen.
This change does a similar fix for PWA as the original change did
for devtools.

Bug: 1046481
Change-Id: I63230b01c59c5f277298c5bc5e51c8703cc6f54a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2074799
Commit-Queue: Junyi Xiao <juxiao@microsoft.com>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: default avatarPeter Kasting <pkasting@chromium.org>
Reviewed-by: default avatarLorne Mitchell <lomitch@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#755007}
parent c3fdf09d
...@@ -77,7 +77,8 @@ void BrowserFrame::InitBrowserFrame() { ...@@ -77,7 +77,8 @@ void BrowserFrame::InitBrowserFrame() {
params.name = "BrowserFrame"; params.name = "BrowserFrame";
params.delegate = browser_view_; params.delegate = browser_view_;
if (browser_view_->browser()->is_type_normal() || if (browser_view_->browser()->is_type_normal() ||
browser_view_->browser()->is_type_devtools()) { browser_view_->browser()->is_type_devtools() ||
browser_view_->browser()->is_type_app()) {
// Typed panel/popup can only return a size once the widget has been // Typed panel/popup can only return a size once the widget has been
// created. // created.
// DevTools counts as a popup, but DevToolsWindow::CreateDevToolsBrowser // DevTools counts as a popup, but DevToolsWindow::CreateDevToolsBrowser
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
#include "base/macros.h" #include "base/macros.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "chrome/browser/devtools/devtools_window_testing.h" #include "chrome/browser/devtools/devtools_window_testing.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/views/chrome_views_delegate.h" #include "chrome/browser/ui/views/chrome_views_delegate.h"
#include "chrome/browser/ui/web_applications/test/web_app_browsertest_util.h"
#include "chrome/common/web_application_info.h"
#include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h" #include "chrome/test/base/ui_test_utils.h"
#include "content/public/browser/invalidate_type.h" #include "content/public/browser/invalidate_type.h"
...@@ -40,3 +44,16 @@ IN_PROC_BROWSER_TEST_F(BrowserFrameTest, DevToolsHasBoundsOnOpen) { ...@@ -40,3 +44,16 @@ IN_PROC_BROWSER_TEST_F(BrowserFrameTest, DevToolsHasBoundsOnOpen) {
DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), false); DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), false);
DevToolsWindowTesting::CloseDevToolsWindowSync(devtools_); DevToolsWindowTesting::CloseDevToolsWindowSync(devtools_);
} }
// Verifies that the web app is loaded with initial bounds.
IN_PROC_BROWSER_TEST_F(BrowserFrameTest, WebAppsHasBoundsOnOpen) {
auto web_app_info = std::make_unique<WebApplicationInfo>();
web_app_info->app_url = GURL("http://example.org/");
web_app::AppId app_id =
web_app::InstallWebApp(browser()->profile(), std::move(web_app_info));
Browser* app_browser =
web_app::LaunchWebAppBrowser(browser()->profile(), app_id);
ASSERT_TRUE(app_browser->is_type_app());
app_browser->window()->Close();
}
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