Index: chrome/browser/ui/views/frame/browser_frame_mus.cc |
diff --git a/chrome/browser/ui/views/frame/browser_frame_mus.cc b/chrome/browser/ui/views/frame/browser_frame_mus.cc |
index 493c5fd01cdda0a9020020d9868273c99899ba62..47bca944eafa567b05ea743869792dc2b9a13ca6 100644 |
--- a/chrome/browser/ui/views/frame/browser_frame_mus.cc |
+++ b/chrome/browser/ui/views/frame/browser_frame_mus.cc |
@@ -10,39 +10,47 @@ |
#include "chrome/browser/ui/views/frame/browser_view.h" |
#include "chrome/common/extensions/extension_constants.h" |
#include "services/ui/public/cpp/property_type_converters.h" |
+#include "services/ui/public/cpp/window.h" |
#include "services/ui/public/interfaces/window_tree.mojom.h" |
-#include "ui/views/mus/desktop_window_tree_host_mus.h" |
-#include "ui/views/mus/mus_client.h" |
+#include "ui/views/mus/window_manager_connection.h" |
#include "ui/views/mus/window_manager_frame_values.h" |
-BrowserFrameMus::BrowserFrameMus(BrowserFrame* browser_frame, |
- BrowserView* browser_view) |
- : views::DesktopNativeWidgetAura(browser_frame), |
- browser_frame_(browser_frame), |
- browser_view_(browser_view) {} |
+namespace { |
-BrowserFrameMus::~BrowserFrameMus() {} |
+views::Widget::InitParams GetWidgetParamsImpl(BrowserView* browser_view) { |
+ views::Widget::InitParams params; |
+ params.bounds = gfx::Rect(10, 10, 640, 480); |
+ params.delegate = browser_view; |
+ return params; |
+} |
-views::Widget::InitParams BrowserFrameMus::GetWidgetParams() { |
- views::Widget::InitParams params; |
- params.native_widget = this; |
- params.bounds = gfx::Rect(10, 10, 640, 480); |
- params.delegate = browser_view_; |
- std::map<std::string, std::vector<uint8_t>> properties = |
- views::MusClient::ConfigurePropertiesFromParams(params); |
+ui::Window* CreateMusWindow(BrowserView* browser_view) { |
+ std::map<std::string, std::vector<uint8_t>> properties; |
+ views::NativeWidgetMus::ConfigurePropertiesForNewWindow( |
+ GetWidgetParamsImpl(browser_view), &properties); |
const std::string chrome_app_id(extension_misc::kChromeAppId); |
// Indicates mash shouldn't handle immersive, rather we will. |
properties[ui::mojom::WindowManager::kDisableImmersive_InitProperty] = |
mojo::ConvertTo<std::vector<uint8_t>>(true); |
properties[ui::mojom::WindowManager::kAppID_Property] = |
mojo::ConvertTo<std::vector<uint8_t>>(chrome_app_id); |
- std::unique_ptr<views::DesktopWindowTreeHostMus> desktop_window_tree_host = |
- base::MakeUnique<views::DesktopWindowTreeHostMus>(browser_frame_, this, |
- &properties); |
- // BrowserNonClientFrameViewMus::OnBoundsChanged() takes care of updating |
- // the insets. |
- desktop_window_tree_host->set_auto_update_client_area(false); |
- SetDesktopWindowTreeHost(std::move(desktop_window_tree_host)); |
+ return views::WindowManagerConnection::Get()->NewTopLevelWindow(properties); |
+} |
+ |
+} // namespace |
+ |
+BrowserFrameMus::BrowserFrameMus(BrowserFrame* browser_frame, |
+ BrowserView* browser_view) |
+ : views::NativeWidgetMus(browser_frame, |
+ CreateMusWindow(browser_view), |
+ ui::mojom::CompositorFrameSinkType::DEFAULT), |
+ browser_view_(browser_view) {} |
+ |
+BrowserFrameMus::~BrowserFrameMus() {} |
+ |
+views::Widget::InitParams BrowserFrameMus::GetWidgetParams() { |
+ views::Widget::InitParams params(GetWidgetParamsImpl(browser_view_)); |
+ params.native_widget = this; |
return params; |
} |
@@ -77,3 +85,8 @@ |
int BrowserFrameMus::GetMinimizeButtonOffset() const { |
return 0; |
} |
+ |
+void BrowserFrameMus::UpdateClientArea() { |
+ // BrowserNonClientFrameViewMus::OnBoundsChanged() takes care of updating |
+ // the insets. |
+} |