Index: chrome/browser/ui/views/app_list/app_list_dialog/app_list_dialog_contents_view.cc |
diff --git a/chrome/browser/ui/views/app_list/app_list_dialog/app_list_dialog_contents_view.cc b/chrome/browser/ui/views/app_list/app_list_dialog/app_list_dialog_contents_view.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2130c575479932f515b1c33db2695e71217f1b7b |
--- /dev/null |
+++ b/chrome/browser/ui/views/app_list/app_list_dialog/app_list_dialog_contents_view.cc |
@@ -0,0 +1,83 @@ |
+// 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 "chrome/browser/ui/views/app_list/app_list_dialog/app_list_dialog_contents_view.h" |
+ |
+#include "chrome/browser/ui/views/app_list/app_list_dialog/app_list_dialog_client_view.h" |
+#include "chrome/browser/ui/views/app_list/app_list_dialog/app_list_dialog_non_client_view.h" |
+#include "ui/gfx/geometry/rect.h" |
+ |
+AppListDialogContentsView::AppListDialogContentsView() { |
+} |
+ |
+AppListDialogContentsView::~AppListDialogContentsView() { |
+} |
+ |
+// static |
+views::Widget* AppListDialogContentsView::CreateDialogWidget( |
+ AppListDialogContentsView* dialog, |
+ gfx::NativeView parent, |
+ gfx::Rect bounds) { |
+ views::Widget::InitParams params; |
+ params.delegate = dialog; |
+ params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; |
tapted
2014/06/11 08:34:59
does INFER_OPACITY do the wrong thing?
sashab
2014/06/12 00:13:43
I just copied this from the DialogDelegate equival
|
+ params.remove_standard_frame = true; |
+ params.context = NULL; |
tapted
2014/06/11 08:34:59
nit: no need to assign to the default value
sashab
2014/06/12 00:13:43
Done.
|
+ params.parent = parent; |
+ params.shadow_type = views::Widget::InitParams::SHADOW_TYPE_NONE; |
+ params.bounds = bounds; |
+ // TODO(sashab): Plumb wm::WindowVisibilityAnimationType through to the |
+ // NativeWindow so that widgets can specify custom animations for their |
+ // windows. Then specify a matching animation for this type of widget, |
+ // such as WINDOW_VISIBILITY_ANIMATION_TYPE_VERTICAL. |
+ |
+ views::Widget* widget = new views::Widget(); |
+ widget->Init(params); |
+ return widget; |
+} |
+ |
+void AppListDialogContentsView::OnClosed() { |
+} |
+ |
+views::View* AppListDialogContentsView::GetInitiallyFocusedView() { |
+ return GetContentsView(); |
+} |
+ |
+views::ClientView* AppListDialogContentsView::CreateClientView( |
+ views::Widget* widget) { |
+ return new AppListDialogClientView(widget, GetContentsView()); |
+} |
+ |
+views::NonClientFrameView* AppListDialogContentsView::CreateNonClientFrameView( |
+ views::Widget* widget) { |
+ return new AppListDialogNonClientView(); |
+} |
+ |
+void AppListDialogContentsView::DeleteDelegate() { |
+ delete this; |
+} |
+ |
+views::Widget* AppListDialogContentsView::GetWidget() { |
+ return views::View::GetWidget(); |
+} |
+ |
+const views::Widget* AppListDialogContentsView::GetWidget() const { |
+ return views::View::GetWidget(); |
+} |
+ |
+views::View* AppListDialogContentsView::GetContentsView() { |
+ return this; |
+} |
+ |
+void AppListDialogContentsView::WindowClosing() { |
+ OnClosed(); |
+} |
+ |
+ui::AXRole AppListDialogContentsView::GetAccessibleWindowRole() const { |
+ return ui::AX_ROLE_DIALOG; |
+} |
+ |
+ui::ModalType AppListDialogContentsView::GetModalType() const { |
+ return ui::MODAL_TYPE_WINDOW; |
+} |