// Copyright (c) 2018 GitHub, Inc. // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. #include "shell/browser/ui/cocoa/views_delegate_mac.h" #include "content/public/browser/context_factory.h" #include "ui/views/widget/native_widget_mac.h" namespace electron { ViewsDelegateMac::ViewsDelegateMac() = default; ViewsDelegateMac::~ViewsDelegateMac() = default; void ViewsDelegateMac::OnBeforeWidgetInit( views::Widget::InitParams* params, views::internal::NativeWidgetDelegate* delegate) { // If we already have a native_widget, we don't have to try to come // up with one. if (params->native_widget) return; if (!native_widget_factory().is_null()) { params->native_widget = native_widget_factory().Run(*params, delegate); if (params->native_widget) return; } // Setting null here causes Widget to create the default NativeWidget // implementation. params->native_widget = nullptr; } ui::ContextFactory* ViewsDelegateMac::GetContextFactory() { return content::GetContextFactory(); } } // namespace electron