1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/ui/browser_dialogs.h"
6#include "chrome/browser/ui/webui/chrome_web_contents_handler.h"
7#include "ui/views/controls/webview/web_dialog_view.h"
8#include "ui/views/widget/widget.h"
9
10namespace chrome {
11
12// Declared in browser_dialogs.h so that others don't need to depend on our .h.
13gfx::NativeWindow ShowWebDialog(gfx::NativeWindow parent,
14                                content::BrowserContext* context,
15                                ui::WebDialogDelegate* delegate) {
16  views::Widget* widget = NULL;
17  if (parent) {
18    widget = views::Widget::CreateWindowWithParent(
19        new views::WebDialogView(context,
20                                 delegate,
21                                 new ChromeWebContentsHandler),
22        parent);
23  } else {
24    // We shouldn't be called with a NULL parent, but sometimes are.
25    widget = views::Widget::CreateWindow(
26        new views::WebDialogView(context,
27                                 delegate,
28                                 new ChromeWebContentsHandler));
29  }
30
31  widget->Show();
32  return widget->GetNativeWindow();
33}
34
35}  // namespace chrome
36