blob: 6883a9e5360a9435505ca487b2891396bfb93d3a [file] [log] [blame]
// Copyright 2014 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 "athena/extensions/athena_javascript_native_dialog_factory.h"
#include "base/memory/scoped_ptr.h"
#include "components/app_modal_dialogs/javascript_dialog_manager.h"
#include "components/app_modal_dialogs/javascript_native_dialog_factory.h"
#include "components/app_modal_dialogs/views/javascript_app_modal_dialog_views.h"
#include "components/constrained_window/constrained_window_views.h"
class JavaScriptAppModalDialog;
class NativeAppModalDialog;
namespace athena {
namespace {
class AthenaJavaScriptNativeDialogFactory
: public JavaScriptNativeDialogFactory {
public:
AthenaJavaScriptNativeDialogFactory() {}
~AthenaJavaScriptNativeDialogFactory() override {}
private:
// JavScriptNativeDialogFactory:
NativeAppModalDialog* CreateNativeJavaScriptDialog(
JavaScriptAppModalDialog* dialog,
gfx::NativeWindow parent_window) override{
JavaScriptAppModalDialogViews* d =
new JavaScriptAppModalDialogViews(dialog);
CreateBrowserModalDialogViews(d, parent_window);
return d;
}
DISALLOW_COPY_AND_ASSIGN(AthenaJavaScriptNativeDialogFactory);
};
} // namespace
void InstallJavaScriptNativeDialogFactory() {
SetJavaScriptNativeDialogFactory(
make_scoped_ptr(new AthenaJavaScriptNativeDialogFactory));
}
} // namespace athena