Chromium Code Reviews| Index: chrome/browser/ui/views/chrome_views_delegate.cc |
| diff --git a/chrome/browser/ui/views/chrome_views_delegate.cc b/chrome/browser/ui/views/chrome_views_delegate.cc |
| index 96f14b1e5e8cb7e254ffe4a62e89f2e160e8a484..88741a15dc8edce8caa5472b33bda44f58baf480 100644 |
| --- a/chrome/browser/ui/views/chrome_views_delegate.cc |
| +++ b/chrome/browser/ui/views/chrome_views_delegate.cc |
| @@ -450,20 +450,23 @@ void ChromeViewsDelegate::OnBeforeWidgetInit( |
| // While the majority of the time, context wasn't plumbed through due to the |
| // existence of a global WindowParentingClient, if this window is toplevel, |
| // it's possible that there is no contextual state that we can use. |
| - if (params->parent == NULL && params->context == NULL && !params->child) { |
| - params->native_widget = new views::DesktopNativeWidgetAura(delegate); |
| - } else if (use_non_toplevel_window) { |
| + gfx::NativeWindow parent_or_context = |
| + params->parent ? params->parent : params->context; |
| + void* profile = |
| + parent_or_context |
| + ? parent_or_context->GetNativeWindowProperty(Profile::kProfileKey) |
| + : nullptr; |
| + if ((!params->parent && !params->context && !params->child) || |
|
Tom (Use chromium acct)
2017/01/31 20:09:25
For the record, I also had to fix the logic that g
|
| + !use_non_toplevel_window) { |
| + views::DesktopNativeWidgetAura* native_widget = |
| + new views::DesktopNativeWidgetAura(delegate); |
| + params->native_widget = native_widget; |
| + native_widget->SetNativeWindowProperty(Profile::kProfileKey, profile); |
| + } else { |
| views::NativeWidgetAura* native_widget = |
| new views::NativeWidgetAura(delegate); |
| - if (params->parent) { |
| - Profile* parent_profile = reinterpret_cast<Profile*>( |
| - params->parent->GetNativeWindowProperty(Profile::kProfileKey)); |
| - native_widget->SetNativeWindowProperty(Profile::kProfileKey, |
| - parent_profile); |
| - } |
| params->native_widget = native_widget; |
| - } else { |
| - params->native_widget = new views::DesktopNativeWidgetAura(delegate); |
| + native_widget->SetNativeWindowProperty(Profile::kProfileKey, profile); |
| } |
| #endif |
| } |