Chromium Code Reviews| Index: ui/views/widget/widget.cc |
| diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc |
| index 48d7f24c1a1a952111e99e4b5874e3a73c2814a8..99491c04e880ced752999acb5d0a465a5624b31c 100644 |
| --- a/ui/views/widget/widget.cc |
| +++ b/ui/views/widget/widget.cc |
| @@ -50,22 +50,12 @@ void BuildRootLayers(View* view, std::vector<ui::Layer*>* layers) { |
| // Create a native widget implementation. |
| // First, use the supplied one if non-NULL. |
| -// Second, ask the delegate. |
| // Finally, make a default one. |
| NativeWidget* CreateNativeWidget(NativeWidget* native_widget, |
| - internal::NativeWidgetDelegate* delegate, |
| - Widget::InitParams::Type type, |
| - gfx::NativeView parent, |
| - gfx::NativeView context) { |
| + internal::NativeWidgetDelegate* delegate) { |
| if (!native_widget) { |
| - if (ViewsDelegate::views_delegate) { |
| - native_widget = ViewsDelegate::views_delegate->CreateNativeWidget( |
| - type, delegate, parent, context); |
| - } |
| - if (!native_widget) { |
| - native_widget = |
| - internal::NativeWidgetPrivate::CreateNativeWidget(delegate); |
| - } |
| + native_widget = |
| + internal::NativeWidgetPrivate::CreateNativeWidget(delegate); |
| } |
| return native_widget; |
| } |
| @@ -255,6 +245,7 @@ Widget* Widget::CreateWindowWithParentAndBounds(WidgetDelegate* delegate, |
| params.delegate = delegate; |
| params.parent = parent; |
| params.bounds = bounds; |
| + params.top_level = true; |
| widget->Init(params); |
| return widget; |
| } |
| @@ -339,7 +330,11 @@ bool Widget::RequiresNonClientView(InitParams::Type type) { |
| type == InitParams::TYPE_BUBBLE; |
| } |
| -void Widget::Init(const InitParams& params) { |
| +void Widget::Init(const InitParams& in_params) { |
| + InitParams params = in_params; |
| + if (ViewsDelegate::views_delegate) |
| + ViewsDelegate::views_delegate->OnWidgetInit(¶ms, this); |
|
Ben Goodger (Google)
2012/12/13 23:47:41
OnBeforeWidgetInit perhaps. OnInit makes it sound
|
| + |
| is_top_level_ = params.top_level || |
| (!params.child && |
| params.type != InitParams::TYPE_CONTROL && |
| @@ -347,9 +342,8 @@ void Widget::Init(const InitParams& params) { |
| widget_delegate_ = params.delegate ? |
| params.delegate : new DefaultWidgetDelegate(this, params); |
| ownership_ = params.ownership; |
| - native_widget_ = CreateNativeWidget( |
| - params.native_widget, this, params.type, params.parent, params.context)-> |
| - AsNativeWidgetPrivate(); |
| + native_widget_ = CreateNativeWidget(params.native_widget, this)-> |
| + AsNativeWidgetPrivate(); |
| GetRootView(); |
| default_theme_provider_.reset(new DefaultThemeProvider); |
| if (params.type == InitParams::TYPE_MENU) { |