2013-12-07 02:55:22 +01:00
|
|
|
Index: desktop_aura/desktop_screen_win.cc
|
|
|
|
===================================================================
|
2014-02-19 17:27:54 +01:00
|
|
|
--- desktop_aura/desktop_screen_win.cc (revision 251746)
|
2013-12-07 02:55:22 +01:00
|
|
|
+++ desktop_aura/desktop_screen_win.cc (working copy)
|
|
|
|
@@ -54,6 +54,8 @@
|
|
|
|
}
|
|
|
|
|
|
|
|
HWND DesktopScreenWin::GetHWNDFromNativeView(gfx::NativeView window) const {
|
|
|
|
+ if (!window)
|
|
|
|
+ return NULL;
|
|
|
|
aura::WindowEventDispatcher* dispatcher = window->GetDispatcher();
|
|
|
|
return dispatcher ? dispatcher->host()->GetAcceleratedWidget() : NULL;
|
|
|
|
}
|
2014-02-19 17:27:54 +01:00
|
|
|
Index: desktop_aura/desktop_window_tree_host_win.cc
|
|
|
|
===================================================================
|
|
|
|
--- desktop_aura/desktop_window_tree_host_win.cc (revision 251746)
|
|
|
|
+++ desktop_aura/desktop_window_tree_host_win.cc (working copy)
|
|
|
|
@@ -133,7 +133,9 @@
|
|
|
|
native_widget_delegate_);
|
|
|
|
|
|
|
|
HWND parent_hwnd = NULL;
|
|
|
|
- if (params.parent && params.parent->GetDispatcher()) {
|
|
|
|
+ if (params.parent_widget) {
|
|
|
|
+ parent_hwnd = params.parent_widget;
|
|
|
|
+ } else if (params.parent && params.parent->GetDispatcher()) {
|
|
|
|
parent_hwnd =
|
|
|
|
params.parent->GetDispatcher()->host()->GetAcceleratedWidget();
|
|
|
|
}
|
2014-02-06 23:33:18 +01:00
|
|
|
Index: widget.cc
|
|
|
|
===================================================================
|
2014-02-19 17:27:54 +01:00
|
|
|
--- widget.cc (revision 251746)
|
2014-02-06 23:33:18 +01:00
|
|
|
+++ widget.cc (working copy)
|
2014-02-07 00:36:29 +01:00
|
|
|
@@ -124,6 +124,7 @@
|
|
|
|
show_state(ui::SHOW_STATE_DEFAULT),
|
|
|
|
double_buffer(false),
|
|
|
|
parent(NULL),
|
|
|
|
+ parent_widget(NULL),
|
|
|
|
native_widget(NULL),
|
2014-02-19 17:27:54 +01:00
|
|
|
desktop_window_tree_host(NULL),
|
2014-02-07 00:36:29 +01:00
|
|
|
top_level(false),
|
|
|
|
@@ -149,6 +150,7 @@
|
2014-02-06 23:33:18 +01:00
|
|
|
show_state(ui::SHOW_STATE_DEFAULT),
|
|
|
|
double_buffer(false),
|
|
|
|
parent(NULL),
|
|
|
|
+ parent_widget(NULL),
|
|
|
|
native_widget(NULL),
|
2014-02-19 17:27:54 +01:00
|
|
|
desktop_window_tree_host(NULL),
|
2014-02-06 23:33:18 +01:00
|
|
|
top_level(false),
|
2014-03-12 15:36:18 +01:00
|
|
|
@@ -389,7 +391,12 @@
|
|
|
|
Minimize();
|
|
|
|
} else if (params.delegate) {
|
|
|
|
SetContentsView(params.delegate->GetContentsView());
|
|
|
|
- SetInitialBoundsForFramelessWindow(params.bounds);
|
|
|
|
+ if (params.parent_widget) {
|
|
|
|
+ // Set the bounds directly instead of applying an inset.
|
|
|
|
+ SetBounds(params.bounds);
|
|
|
|
+ } else {
|
|
|
|
+ SetInitialBoundsForFramelessWindow(params.bounds);
|
|
|
|
+ }
|
|
|
|
}
|
|
|
|
native_widget_initialized_ = true;
|
|
|
|
}
|
2013-12-07 02:55:22 +01:00
|
|
|
Index: widget.h
|
|
|
|
===================================================================
|
2014-02-19 17:27:54 +01:00
|
|
|
--- widget.h (revision 251746)
|
2013-12-07 02:55:22 +01:00
|
|
|
+++ widget.h (working copy)
|
2014-01-02 23:41:11 +01:00
|
|
|
@@ -197,6 +197,7 @@
|
2013-12-07 02:55:22 +01:00
|
|
|
// Should the widget be double buffered? Default is false.
|
|
|
|
bool double_buffer;
|
|
|
|
gfx::NativeView parent;
|
|
|
|
+ gfx::AcceleratedWidget parent_widget;
|
|
|
|
// Specifies the initial bounds of the Widget. Default is empty, which means
|
|
|
|
// the NativeWidget may specify a default size. If the parent is specified,
|
|
|
|
// |bounds| is in the parent's coordinate system. If the parent is not
|