blob: 7bd20ac8508aba46c5b089efcdf3f4d8a455c792 [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/views/chrome_views_delegate.h"
#include "chrome/browser/ui/views/native_widget_factory.h"
views::NativeWidget* ChromeViewsDelegate::CreateNativeWidget(
views::Widget::InitParams* params,
views::internal::NativeWidgetDelegate* delegate) {
DCHECK(!params->native_widget);
if (params->parent || params->context) {
// TODO(crbug.com/1234748): Until Fuchsia supports sub-window/placement
// APIs, have chrome render everything it can inside a single OS view.
return ::CreateNativeWidget(NativeWidgetType::NATIVE_WIDGET_AURA, params,
delegate);
}
// When no context is given, render as a top level desktop window.
return ::CreateNativeWidget(NativeWidgetType::DESKTOP_NATIVE_WIDGET_AURA,
params, delegate);
}