summaryrefslogtreecommitdiffstats
path: root/ash/wm/maximize_mode/maximize_mode_window_manager.cc
diff options
context:
space:
mode:
authorskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-12 05:08:03 +0000
committerskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-12 05:08:03 +0000
commit4dd774723032d372a9d70d8888728b508f46b95f (patch)
tree2d1b75cf3e2db9d161004626966cd173f6c52fd2 /ash/wm/maximize_mode/maximize_mode_window_manager.cc
parentd25b41879f7670a2b81499151738ed8fb8572151 (diff)
downloadchromium_src-4dd774723032d372a9d70d8888728b508f46b95f.zip
chromium_src-4dd774723032d372a9d70d8888728b508f46b95f.tar.gz
chromium_src-4dd774723032d372a9d70d8888728b508f46b95f.tar.bz2
Addressing problems with non maximizable windows in always maximized mode as well as windows which get maximized in maximized mode
BUG=353189,359714 TEST=unittest & visual verification Review URL: https://codereview.chromium.org/232023007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263474 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/wm/maximize_mode/maximize_mode_window_manager.cc')
-rw-r--r--ash/wm/maximize_mode/maximize_mode_window_manager.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/ash/wm/maximize_mode/maximize_mode_window_manager.cc b/ash/wm/maximize_mode/maximize_mode_window_manager.cc
index 9514b4f..964f77a 100644
--- a/ash/wm/maximize_mode/maximize_mode_window_manager.cc
+++ b/ash/wm/maximize_mode/maximize_mode_window_manager.cc
@@ -11,6 +11,7 @@
#include "ash/wm/maximize_mode/workspace_backdrop_delegate.h"
#include "ash/wm/mru_window_tracker.h"
#include "ash/wm/overview/window_selector_controller.h"
+#include "ash/wm/wm_event.h"
#include "ash/wm/workspace_controller.h"
#include "ui/aura/window.h"
#include "ui/gfx/screen.h"
@@ -62,12 +63,18 @@ void MaximizeModeWindowManager::OnWindowDestroying(aura::Window* window) {
ForgetWindow(window);
}
-void MaximizeModeWindowManager::OnWindowAdded(
- aura::Window* window) {
+void MaximizeModeWindowManager::OnWindowAdded(aura::Window* window) {
// A window can get removed and then re-added by a drag and drop operation.
if (IsContainerWindow(window->parent()) &&
- window_state_map_.find(window) == window_state_map_.end())
+ window_state_map_.find(window) == window_state_map_.end()) {
MaximizeAndTrackWindow(window);
+ // When the state got added, the "WM_EVENT_ADDED_TO_WORKSPACE" event got
+ // already sent and we have to notify our state again.
+ if (window_state_map_.find(window) != window_state_map_.end()) {
+ wm::WMEvent event(wm::WM_EVENT_ADDED_TO_WORKSPACE);
+ wm::GetWindowState(window)->OnWMEvent(&event);
+ }
+ }
}
void MaximizeModeWindowManager::OnWindowBoundsChanged(